@element-plus/nightly 0.0.20220219 → 0.0.20220220

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 (492) hide show
  1. package/dist/index.full.js +2 -2
  2. package/dist/index.full.min.js +1 -1
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +1 -1
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -2
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/bg.js +1 -1
  16. package/dist/locale/bg.min.js +1 -1
  17. package/dist/locale/bg.min.mjs +1 -1
  18. package/dist/locale/bg.mjs +1 -1
  19. package/dist/locale/bn.js +1 -1
  20. package/dist/locale/bn.min.js +1 -1
  21. package/dist/locale/bn.min.mjs +1 -1
  22. package/dist/locale/bn.mjs +1 -1
  23. package/dist/locale/ca.js +1 -1
  24. package/dist/locale/ca.min.js +1 -1
  25. package/dist/locale/ca.min.mjs +1 -1
  26. package/dist/locale/ca.mjs +1 -1
  27. package/dist/locale/cs.js +1 -1
  28. package/dist/locale/cs.min.js +1 -1
  29. package/dist/locale/cs.min.mjs +1 -1
  30. package/dist/locale/cs.mjs +1 -1
  31. package/dist/locale/da.js +1 -1
  32. package/dist/locale/da.min.js +1 -1
  33. package/dist/locale/da.min.mjs +1 -1
  34. package/dist/locale/da.mjs +1 -1
  35. package/dist/locale/de.js +1 -1
  36. package/dist/locale/de.min.js +1 -1
  37. package/dist/locale/de.min.mjs +1 -1
  38. package/dist/locale/de.mjs +1 -1
  39. package/dist/locale/el.js +1 -1
  40. package/dist/locale/el.min.js +1 -1
  41. package/dist/locale/el.min.mjs +1 -1
  42. package/dist/locale/el.mjs +1 -1
  43. package/dist/locale/en.js +1 -1
  44. package/dist/locale/en.min.js +1 -1
  45. package/dist/locale/en.min.mjs +1 -1
  46. package/dist/locale/en.mjs +1 -1
  47. package/dist/locale/eo.js +1 -1
  48. package/dist/locale/eo.min.js +1 -1
  49. package/dist/locale/eo.min.mjs +1 -1
  50. package/dist/locale/eo.mjs +1 -1
  51. package/dist/locale/es.js +1 -1
  52. package/dist/locale/es.min.js +1 -1
  53. package/dist/locale/es.min.mjs +1 -1
  54. package/dist/locale/es.mjs +1 -1
  55. package/dist/locale/et.js +1 -1
  56. package/dist/locale/et.min.js +1 -1
  57. package/dist/locale/et.min.mjs +1 -1
  58. package/dist/locale/et.mjs +1 -1
  59. package/dist/locale/eu.js +1 -1
  60. package/dist/locale/eu.min.js +1 -1
  61. package/dist/locale/eu.min.mjs +1 -1
  62. package/dist/locale/eu.mjs +1 -1
  63. package/dist/locale/fa.js +1 -1
  64. package/dist/locale/fa.min.js +1 -1
  65. package/dist/locale/fa.min.mjs +1 -1
  66. package/dist/locale/fa.mjs +1 -1
  67. package/dist/locale/fi.js +1 -1
  68. package/dist/locale/fi.min.js +1 -1
  69. package/dist/locale/fi.min.mjs +1 -1
  70. package/dist/locale/fi.mjs +1 -1
  71. package/dist/locale/fr.js +1 -1
  72. package/dist/locale/fr.min.js +1 -1
  73. package/dist/locale/fr.min.mjs +1 -1
  74. package/dist/locale/fr.mjs +1 -1
  75. package/dist/locale/he.js +1 -1
  76. package/dist/locale/he.min.js +1 -1
  77. package/dist/locale/he.min.mjs +1 -1
  78. package/dist/locale/he.mjs +1 -1
  79. package/dist/locale/hr.js +1 -1
  80. package/dist/locale/hr.min.js +1 -1
  81. package/dist/locale/hr.min.mjs +1 -1
  82. package/dist/locale/hr.mjs +1 -1
  83. package/dist/locale/hu.js +1 -1
  84. package/dist/locale/hu.min.js +1 -1
  85. package/dist/locale/hu.min.mjs +1 -1
  86. package/dist/locale/hu.mjs +1 -1
  87. package/dist/locale/hy-am.js +1 -1
  88. package/dist/locale/hy-am.min.js +1 -1
  89. package/dist/locale/hy-am.min.mjs +1 -1
  90. package/dist/locale/hy-am.mjs +1 -1
  91. package/dist/locale/id.js +1 -1
  92. package/dist/locale/id.min.js +1 -1
  93. package/dist/locale/id.min.mjs +1 -1
  94. package/dist/locale/id.mjs +1 -1
  95. package/dist/locale/it.js +1 -1
  96. package/dist/locale/it.min.js +1 -1
  97. package/dist/locale/it.min.mjs +1 -1
  98. package/dist/locale/it.mjs +1 -1
  99. package/dist/locale/ja.js +1 -1
  100. package/dist/locale/ja.min.js +1 -1
  101. package/dist/locale/ja.min.mjs +1 -1
  102. package/dist/locale/ja.mjs +1 -1
  103. package/dist/locale/kk.js +1 -1
  104. package/dist/locale/kk.min.js +1 -1
  105. package/dist/locale/kk.min.mjs +1 -1
  106. package/dist/locale/kk.mjs +1 -1
  107. package/dist/locale/km.js +1 -1
  108. package/dist/locale/km.min.js +1 -1
  109. package/dist/locale/km.min.mjs +1 -1
  110. package/dist/locale/km.mjs +1 -1
  111. package/dist/locale/ko.js +1 -1
  112. package/dist/locale/ko.min.js +1 -1
  113. package/dist/locale/ko.min.mjs +1 -1
  114. package/dist/locale/ko.mjs +1 -1
  115. package/dist/locale/ku.js +1 -1
  116. package/dist/locale/ku.min.js +1 -1
  117. package/dist/locale/ku.min.mjs +1 -1
  118. package/dist/locale/ku.mjs +1 -1
  119. package/dist/locale/ky.js +1 -1
  120. package/dist/locale/ky.min.js +1 -1
  121. package/dist/locale/ky.min.mjs +1 -1
  122. package/dist/locale/ky.mjs +1 -1
  123. package/dist/locale/lt.js +1 -1
  124. package/dist/locale/lt.min.js +1 -1
  125. package/dist/locale/lt.min.mjs +1 -1
  126. package/dist/locale/lt.mjs +1 -1
  127. package/dist/locale/lv.js +1 -1
  128. package/dist/locale/lv.min.js +1 -1
  129. package/dist/locale/lv.min.mjs +1 -1
  130. package/dist/locale/lv.mjs +1 -1
  131. package/dist/locale/mg.js +1 -1
  132. package/dist/locale/mg.min.js +1 -1
  133. package/dist/locale/mg.min.mjs +1 -1
  134. package/dist/locale/mg.mjs +1 -1
  135. package/dist/locale/mn.js +1 -1
  136. package/dist/locale/mn.min.js +1 -1
  137. package/dist/locale/mn.min.mjs +1 -1
  138. package/dist/locale/mn.mjs +1 -1
  139. package/dist/locale/nb-no.js +1 -1
  140. package/dist/locale/nb-no.min.js +1 -1
  141. package/dist/locale/nb-no.min.mjs +1 -1
  142. package/dist/locale/nb-no.mjs +1 -1
  143. package/dist/locale/nl.js +1 -1
  144. package/dist/locale/nl.min.js +1 -1
  145. package/dist/locale/nl.min.mjs +1 -1
  146. package/dist/locale/nl.mjs +1 -1
  147. package/dist/locale/pa.js +1 -1
  148. package/dist/locale/pa.min.js +1 -1
  149. package/dist/locale/pa.min.mjs +1 -1
  150. package/dist/locale/pa.mjs +1 -1
  151. package/dist/locale/pl.js +1 -1
  152. package/dist/locale/pl.min.js +1 -1
  153. package/dist/locale/pl.min.mjs +1 -1
  154. package/dist/locale/pl.mjs +1 -1
  155. package/dist/locale/pt-br.js +1 -1
  156. package/dist/locale/pt-br.min.js +1 -1
  157. package/dist/locale/pt-br.min.mjs +1 -1
  158. package/dist/locale/pt-br.mjs +1 -1
  159. package/dist/locale/pt.js +1 -1
  160. package/dist/locale/pt.min.js +1 -1
  161. package/dist/locale/pt.min.mjs +1 -1
  162. package/dist/locale/pt.mjs +1 -1
  163. package/dist/locale/ro.js +1 -1
  164. package/dist/locale/ro.min.js +1 -1
  165. package/dist/locale/ro.min.mjs +1 -1
  166. package/dist/locale/ro.mjs +1 -1
  167. package/dist/locale/ru.js +1 -1
  168. package/dist/locale/ru.min.js +1 -1
  169. package/dist/locale/ru.min.mjs +1 -1
  170. package/dist/locale/ru.mjs +1 -1
  171. package/dist/locale/sk.js +1 -1
  172. package/dist/locale/sk.min.js +1 -1
  173. package/dist/locale/sk.min.mjs +1 -1
  174. package/dist/locale/sk.mjs +1 -1
  175. package/dist/locale/sl.js +1 -1
  176. package/dist/locale/sl.min.js +1 -1
  177. package/dist/locale/sl.min.mjs +1 -1
  178. package/dist/locale/sl.mjs +1 -1
  179. package/dist/locale/sr.js +1 -1
  180. package/dist/locale/sr.min.js +1 -1
  181. package/dist/locale/sr.min.mjs +1 -1
  182. package/dist/locale/sr.mjs +1 -1
  183. package/dist/locale/sv.js +1 -1
  184. package/dist/locale/sv.min.js +1 -1
  185. package/dist/locale/sv.min.mjs +1 -1
  186. package/dist/locale/sv.mjs +1 -1
  187. package/dist/locale/ta.js +1 -1
  188. package/dist/locale/ta.min.js +1 -1
  189. package/dist/locale/ta.min.mjs +1 -1
  190. package/dist/locale/ta.mjs +1 -1
  191. package/dist/locale/th.js +1 -1
  192. package/dist/locale/th.min.js +1 -1
  193. package/dist/locale/th.min.mjs +1 -1
  194. package/dist/locale/th.mjs +1 -1
  195. package/dist/locale/tk.js +1 -1
  196. package/dist/locale/tk.min.js +1 -1
  197. package/dist/locale/tk.min.mjs +1 -1
  198. package/dist/locale/tk.mjs +1 -1
  199. package/dist/locale/tr.js +1 -1
  200. package/dist/locale/tr.min.js +1 -1
  201. package/dist/locale/tr.min.mjs +1 -1
  202. package/dist/locale/tr.mjs +1 -1
  203. package/dist/locale/ug-cn.js +1 -1
  204. package/dist/locale/ug-cn.min.js +1 -1
  205. package/dist/locale/ug-cn.min.mjs +1 -1
  206. package/dist/locale/ug-cn.mjs +1 -1
  207. package/dist/locale/uk.js +1 -1
  208. package/dist/locale/uk.min.js +1 -1
  209. package/dist/locale/uk.min.mjs +1 -1
  210. package/dist/locale/uk.mjs +1 -1
  211. package/dist/locale/uz-uz.js +1 -1
  212. package/dist/locale/uz-uz.min.js +1 -1
  213. package/dist/locale/uz-uz.min.mjs +1 -1
  214. package/dist/locale/uz-uz.mjs +1 -1
  215. package/dist/locale/vi.js +1 -1
  216. package/dist/locale/vi.min.js +1 -1
  217. package/dist/locale/vi.min.mjs +1 -1
  218. package/dist/locale/vi.mjs +1 -1
  219. package/dist/locale/zh-cn.js +1 -1
  220. package/dist/locale/zh-cn.min.js +1 -1
  221. package/dist/locale/zh-cn.min.mjs +1 -1
  222. package/dist/locale/zh-cn.mjs +1 -1
  223. package/dist/locale/zh-tw.js +1 -1
  224. package/dist/locale/zh-tw.min.js +1 -1
  225. package/dist/locale/zh-tw.min.mjs +1 -1
  226. package/dist/locale/zh-tw.mjs +1 -1
  227. package/es/components/autocomplete/src/index.mjs.map +1 -1
  228. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  229. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  230. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  231. package/es/components/button/src/button-group2.mjs.map +1 -1
  232. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  233. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  234. package/es/components/card/src/card2.mjs.map +1 -1
  235. package/es/components/carousel/src/item.mjs.map +1 -1
  236. package/es/components/carousel/src/main.mjs.map +1 -1
  237. package/es/components/cascader/src/index.mjs.map +1 -1
  238. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  239. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  240. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  241. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  242. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  243. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  244. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  245. package/es/components/collapse/src/collapse.mjs.map +1 -1
  246. package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
  247. package/es/components/collection/src/collection-item.mjs.map +1 -1
  248. package/es/components/collection/src/collection2.mjs.map +1 -1
  249. package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
  250. package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
  251. package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
  252. package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
  253. package/es/components/color-picker/src/index.mjs.map +1 -1
  254. package/es/components/container/src/aside.mjs.map +1 -1
  255. package/es/components/container/src/container.mjs.map +1 -1
  256. package/es/components/container/src/footer.mjs.map +1 -1
  257. package/es/components/container/src/header.mjs.map +1 -1
  258. package/es/components/container/src/main.mjs.map +1 -1
  259. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  260. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  261. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  262. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  263. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  264. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  265. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  266. package/es/components/descriptions/src/index.mjs.map +1 -1
  267. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  268. package/es/components/divider/src/divider2.mjs.map +1 -1
  269. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  270. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  271. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  272. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  273. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  274. package/es/components/empty/src/empty2.mjs.map +1 -1
  275. package/es/components/empty/src/img-empty.mjs.map +1 -1
  276. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  277. package/es/components/form/src/form-item.mjs.map +1 -1
  278. package/es/components/form/src/form.mjs.map +1 -1
  279. package/es/components/image/src/image2.mjs.map +1 -1
  280. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  281. package/es/components/input/src/input2.mjs.map +1 -1
  282. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  283. package/es/components/link/src/link2.mjs.map +1 -1
  284. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  285. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  286. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  287. package/es/components/message/src/message2.mjs.map +1 -1
  288. package/es/components/message-box/src/index.mjs.map +1 -1
  289. package/es/components/notification/src/notification2.mjs.map +1 -1
  290. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  291. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  292. package/es/components/pagination/src/components/next.mjs.map +1 -1
  293. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  294. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  295. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  296. package/es/components/pagination/src/components/total.mjs.map +1 -1
  297. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  298. package/es/components/popover/src/index.mjs.map +1 -1
  299. package/es/components/popper/src/arrow.mjs.map +1 -1
  300. package/es/components/popper/src/content.mjs.map +1 -1
  301. package/es/components/popper/src/popper2.mjs.map +1 -1
  302. package/es/components/popper/src/trigger.mjs.map +1 -1
  303. package/es/components/progress/src/progress2.mjs.map +1 -1
  304. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  305. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  306. package/es/components/radio/src/radio2.mjs.map +1 -1
  307. package/es/components/rate/src/rate2.mjs.map +1 -1
  308. package/es/components/result/src/result2.mjs.map +1 -1
  309. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  310. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  311. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  312. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  313. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  314. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  315. package/es/components/select/src/option-group.mjs.map +1 -1
  316. package/es/components/select/src/option.mjs.map +1 -1
  317. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  318. package/es/components/select/src/select.mjs.map +1 -1
  319. package/es/components/select-v2/src/group-item.mjs.map +1 -1
  320. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  321. package/es/components/select-v2/src/select.mjs.map +1 -1
  322. package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
  323. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  324. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  325. package/es/components/slider/src/button.mjs.map +1 -1
  326. package/es/components/slider/src/index.mjs.map +1 -1
  327. package/es/components/space/src/item.mjs.map +1 -1
  328. package/es/components/steps/src/index.mjs.map +1 -1
  329. package/es/components/steps/src/item.mjs.map +1 -1
  330. package/es/components/switch/src/switch2.mjs.map +1 -1
  331. package/es/components/table/src/filter-panel.mjs.map +1 -1
  332. package/es/components/table/src/table.mjs.map +1 -1
  333. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  334. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  335. package/es/components/tag/src/tag2.mjs.map +1 -1
  336. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  337. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  338. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  339. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  340. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  341. package/es/components/time-select/src/time-select.mjs.map +1 -1
  342. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  343. package/es/components/tooltip/src/content.mjs.map +1 -1
  344. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  345. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  346. package/es/components/transfer/src/index.mjs.map +1 -1
  347. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  348. package/es/components/tree/src/tree-node.mjs.map +1 -1
  349. package/es/components/tree/src/tree.mjs.map +1 -1
  350. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  351. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  352. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  353. package/es/components/upload/src/upload-list.mjs.map +1 -1
  354. package/es/components/upload/src/upload.mjs.map +1 -1
  355. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  356. package/es/version.d.ts +1 -1
  357. package/es/version.mjs +1 -1
  358. package/es/version.mjs.map +1 -1
  359. package/lib/components/autocomplete/src/index.js.map +1 -1
  360. package/lib/components/avatar/src/avatar2.js.map +1 -1
  361. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  362. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  363. package/lib/components/button/src/button-group2.js.map +1 -1
  364. package/lib/components/calendar/src/calendar2.js.map +1 -1
  365. package/lib/components/calendar/src/date-table2.js.map +1 -1
  366. package/lib/components/card/src/card2.js.map +1 -1
  367. package/lib/components/carousel/src/item.js.map +1 -1
  368. package/lib/components/carousel/src/main.js.map +1 -1
  369. package/lib/components/cascader/src/index.js.map +1 -1
  370. package/lib/components/cascader-panel/src/index.js.map +1 -1
  371. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  372. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  373. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  374. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  375. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  376. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  377. package/lib/components/collapse/src/collapse.js.map +1 -1
  378. package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
  379. package/lib/components/collection/src/collection-item.js.map +1 -1
  380. package/lib/components/collection/src/collection2.js.map +1 -1
  381. package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
  382. package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
  383. package/lib/components/color-picker/src/components/predefine.js.map +1 -1
  384. package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
  385. package/lib/components/color-picker/src/index.js.map +1 -1
  386. package/lib/components/container/src/aside.js.map +1 -1
  387. package/lib/components/container/src/container.js.map +1 -1
  388. package/lib/components/container/src/footer.js.map +1 -1
  389. package/lib/components/container/src/header.js.map +1 -1
  390. package/lib/components/container/src/main.js.map +1 -1
  391. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  392. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  393. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  394. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  395. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  396. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  397. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  398. package/lib/components/descriptions/src/index.js.map +1 -1
  399. package/lib/components/dialog/src/dialog2.js.map +1 -1
  400. package/lib/components/divider/src/divider2.js.map +1 -1
  401. package/lib/components/drawer/src/drawer2.js.map +1 -1
  402. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  403. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  404. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  405. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  406. package/lib/components/empty/src/empty2.js.map +1 -1
  407. package/lib/components/empty/src/img-empty.js.map +1 -1
  408. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  409. package/lib/components/form/src/form-item.js.map +1 -1
  410. package/lib/components/form/src/form.js.map +1 -1
  411. package/lib/components/image/src/image2.js.map +1 -1
  412. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  413. package/lib/components/input/src/input2.js.map +1 -1
  414. package/lib/components/input-number/src/input-number2.js.map +1 -1
  415. package/lib/components/link/src/link2.js.map +1 -1
  416. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  417. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  418. package/lib/components/menu/src/menu-item2.js.map +1 -1
  419. package/lib/components/message/src/message2.js.map +1 -1
  420. package/lib/components/message-box/src/index.js.map +1 -1
  421. package/lib/components/notification/src/notification2.js.map +1 -1
  422. package/lib/components/page-header/src/page-header2.js.map +1 -1
  423. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  424. package/lib/components/pagination/src/components/next.js.map +1 -1
  425. package/lib/components/pagination/src/components/pager.js.map +1 -1
  426. package/lib/components/pagination/src/components/prev.js.map +1 -1
  427. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  428. package/lib/components/pagination/src/components/total.js.map +1 -1
  429. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  430. package/lib/components/popover/src/index.js.map +1 -1
  431. package/lib/components/popper/src/arrow.js.map +1 -1
  432. package/lib/components/popper/src/content.js.map +1 -1
  433. package/lib/components/popper/src/popper2.js.map +1 -1
  434. package/lib/components/popper/src/trigger.js.map +1 -1
  435. package/lib/components/progress/src/progress2.js.map +1 -1
  436. package/lib/components/radio/src/radio-button2.js.map +1 -1
  437. package/lib/components/radio/src/radio-group2.js.map +1 -1
  438. package/lib/components/radio/src/radio2.js.map +1 -1
  439. package/lib/components/rate/src/rate2.js.map +1 -1
  440. package/lib/components/result/src/result2.js.map +1 -1
  441. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  442. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  443. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  444. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  445. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  446. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  447. package/lib/components/select/src/option-group.js.map +1 -1
  448. package/lib/components/select/src/option.js.map +1 -1
  449. package/lib/components/select/src/select-dropdown.js.map +1 -1
  450. package/lib/components/select/src/select.js.map +1 -1
  451. package/lib/components/select-v2/src/group-item.js.map +1 -1
  452. package/lib/components/select-v2/src/option-item.js.map +1 -1
  453. package/lib/components/select-v2/src/select.js.map +1 -1
  454. package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
  455. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  456. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  457. package/lib/components/slider/src/button.js.map +1 -1
  458. package/lib/components/slider/src/index.js.map +1 -1
  459. package/lib/components/space/src/item.js.map +1 -1
  460. package/lib/components/steps/src/index.js.map +1 -1
  461. package/lib/components/steps/src/item.js.map +1 -1
  462. package/lib/components/switch/src/switch2.js.map +1 -1
  463. package/lib/components/table/src/filter-panel.js.map +1 -1
  464. package/lib/components/table/src/table.js.map +1 -1
  465. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  466. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  467. package/lib/components/tag/src/tag2.js.map +1 -1
  468. package/lib/components/teleport/src/teleport2.js.map +1 -1
  469. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  470. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  471. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  472. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  473. package/lib/components/time-select/src/time-select.js.map +1 -1
  474. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  475. package/lib/components/tooltip/src/content.js.map +1 -1
  476. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  477. package/lib/components/tooltip/src/trigger.js.map +1 -1
  478. package/lib/components/transfer/src/index.js.map +1 -1
  479. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  480. package/lib/components/tree/src/tree-node.js.map +1 -1
  481. package/lib/components/tree/src/tree.js.map +1 -1
  482. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  483. package/lib/components/tree-v2/src/tree.js.map +1 -1
  484. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  485. package/lib/components/upload/src/upload-list.js.map +1 -1
  486. package/lib/components/upload/src/upload.js.map +1 -1
  487. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  488. package/lib/version.d.ts +1 -1
  489. package/lib/version.js +1 -1
  490. package/lib/version.js.map +1 -1
  491. package/package.json +2 -2
  492. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"compatTeleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n persistent\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button size=\"small\" :type=\"cancelButtonType\" @click=\"cancel\">\n {{ finalCancelButtonText }}\n </el-button>\n <el-button size=\"small\" :type=\"confirmButtonType\" @click=\"confirm\">\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, unref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nconst COMPONENT_NAME = 'ElPopconfirm'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElButton,\n ElTooltip,\n ElIcon,\n },\n\n props: popconfirmProps,\n\n setup(props) {\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n const { t } = useLocale()\n const ns = useNamespace('popconfirm')\n const tooltipRef = ref<{ onClose: () => void }>()\n\n const hidePopper = () => {\n unref(tooltipRef)?.onClose?.()\n }\n\n const handleCallback = () => {\n hidePopper()\n }\n\n const confirm = (e: Event) => {\n props.onConfirm?.(e)\n handleCallback()\n }\n const cancel = (e: Event) => {\n props.onCancel?.(e)\n handleCallback()\n }\n\n const finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n )\n const finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n )\n\n return {\n finalConfirmButtonText,\n finalCancelButtonText,\n tooltipRef,\n ns,\n\n // Deprecation in 2.1.0\n compatTeleported,\n\n confirm,\n cancel,\n }\n },\n})\n</script>\n"],"names":["_normalizeClass"],"mappings":";;;;;;;;;;;;AAiDA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,EAAE,qBAAqB,yBAC3B,gBACA;AAEF,UAAM,EAAE,MAAM;AACd,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa;AAEnB,UAAM,aAAa,MAAM;AACvB,YAAM;AAAa;AAGrB;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF,oBAAgB;AACd;AACA;AAAA;AAGF,mCAA+B,SAC7B,MAAM;AAER;AAIA;AAAO;AACL;AACA;AACA,MACA;AAAA,MAGA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AApGa;AACR;AACN;AAC4B,IAC5B;AAAA,IACA;AAAqB,IACtB,cAAU;AAAA;;AAEC;AAoBH;AAnBO;;AACX;AAAa;;2BACX;iBAEQA;AAAA;AACW;;;AAEjB;;;;AAEF;;AAEF,mCAAa;AAAA;WACX;AAAA;AAAuB;AAAQ;AAA0B;;;;;;;AAK7C;AAFW,YAAE;AAAM,uBAA2B;AAAA;;;;;;;;;;aAMhD;AAAgB,WAC9B;;;;;;;;;;;;"}
1
+ {"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"compatTeleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n persistent\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button size=\"small\" :type=\"cancelButtonType\" @click=\"cancel\">\n {{ finalCancelButtonText }}\n </el-button>\n <el-button size=\"small\" :type=\"confirmButtonType\" @click=\"confirm\">\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, unref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nconst COMPONENT_NAME = 'ElPopconfirm'\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElButton,\n ElTooltip,\n ElIcon,\n },\n\n props: popconfirmProps,\n\n setup(props) {\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n const { t } = useLocale()\n const ns = useNamespace('popconfirm')\n const tooltipRef = ref<{ onClose: () => void }>()\n\n const hidePopper = () => {\n unref(tooltipRef)?.onClose?.()\n }\n\n const handleCallback = () => {\n hidePopper()\n }\n\n const confirm = (e: Event) => {\n props.onConfirm?.(e)\n handleCallback()\n }\n const cancel = (e: Event) => {\n props.onCancel?.(e)\n handleCallback()\n }\n\n const finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n )\n const finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n )\n\n return {\n finalConfirmButtonText,\n finalCancelButtonText,\n tooltipRef,\n ns,\n\n // Deprecation in 2.1.0\n compatTeleported,\n\n confirm,\n cancel,\n }\n },\n})\n</script>\n"],"names":["_createBlock","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;AAiDA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,EAAE,qBAAqB,yBAC3B,gBACA;AAEF,UAAM,EAAE,MAAM;AACd,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa;AAEnB,UAAM,aAAa,MAAM;AACvB,YAAM;AAAa;AAGrB;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF,oBAAgB;AACd;AACA;AAAA;AAGF,mCAA+B,SAC7B,MAAM;AAER;AAIA;AAAO;AACL;AACA;AACA,MACA;AAAA,MAGA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;AArGY;AACN;AACD,sBACWA;AAAa,IAC9B;AAAY,IACZ;AAAqB,IACrB,cAAY;AAAA,IACb;AAAA;IAEW,kBACT;AAmBM;AAAA;AAnBU;;AAUR,0CATW;AAAA;2BAEM;AAKX;;AAJI;AACK;;AAEO,yCAAA;AAAR;AAAA;;;AAEV;;AASJ,UAPAC,sBAAOC;AAAI;;AAGH;AAFI;AAAe;AAA0B;;AAC5B;AAAH;AAAA;;;AAId,YAFD;AAAK;AAAe;AAA2B;;AAC5B;AAAH;AAAA;;;;;;AAOtB;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n persistent\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = ['update:visible', 'after-enter', 'after-leave']\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n style,\n tooltipRef,\n popperRef,\n hide,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":["_withCtx"],"mappings":";;;;;;;;;;;AAoDA,MAAM,QAAQ,CAAC,kBAAkB,eAAe;AAEhD,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB,uBAAmB;AACjB;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SA/GD;AAAgB;AACL;AACD,IACV;AAAS,IACT;AAAY,IACZ;AAAc,IACd;AAAkB,IAClB;AAAA,IACA,kBAAS,KAAO;AAAA,IAChB;AAAQ,IACR;AAAU,IACV,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAQ,KAAM;AAAA,IACd;AAAW,IACX;AAAc,IACd;AAAc,IACd,gBAAY;AAAA,IACb;AAAU,IACT;AAAM,IACN;AAAM;;AAMI;AACO;aAAQA;AAAA;AAA6B;;AAK9C;AADF;;;;AATyB;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/popover/src/index.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n v-bind=\"$attrs\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :disabled=\"disabled\"\n :visible=\"visible\"\n :transition=\"transition\"\n :popper-options=\"popperOptions\"\n :tabindex=\"tabindex\"\n :append-to-body=\"appendToBody\"\n :content=\"content\"\n :offset=\"offset\"\n :show-after=\"showAfter\"\n :hide-after=\"hideAfter\"\n :auto-close=\"autoClose\"\n :show-arrow=\"showArrow\"\n :aria-label=\"title\"\n :effect=\"effect\"\n :enterable=\"enterable\"\n :popper-class=\"kls\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n persistent\n @show=\"afterEnter\"\n @hide=\"afterLeave\"\n >\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n\n <template #content>\n <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n {{ title }}\n </div>\n <slot>\n {{ content }}\n </slot>\n </template>\n </el-tooltip>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, computed, ref, unref } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopoverProps } from './popover'\n\nimport type { StyleValue } from 'vue'\n\nconst emits = ['update:visible', 'after-enter', 'after-leave']\n\nconst COMPONENT_NAME = 'ElPopover'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip,\n },\n props: usePopoverProps,\n emits,\n setup(props, { emit }) {\n const ns = useNamespace('popover')\n const tooltipRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const popperRef = computed(() => {\n return unref(tooltipRef)?.popperRef\n })\n const width = computed(() => {\n if (isString(props.width)) {\n return props.width as string\n }\n return `${props.width}px`\n })\n\n const style = computed(() => {\n return [\n {\n width: width.value,\n },\n props.popperStyle,\n ] as StyleValue\n })\n\n const kls = computed(() => {\n return [ns.b(), props.popperClass, { [ns.m('plain')]: !!props.content }]\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'appendToBody'\n )\n\n const hide = () => {\n tooltipRef.value?.hide()\n }\n\n const afterEnter = () => {\n emit('after-enter')\n }\n\n const afterLeave = () => {\n emit('after-leave')\n }\n\n return {\n compatTeleported,\n ns,\n kls,\n style,\n tooltipRef,\n popperRef,\n hide,\n afterEnter,\n afterLeave,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAoDA,MAAM,QAAQ,CAAC,kBAAkB,eAAe;AAEhD,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP;AAAA,EACA,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa,IAA2C;AAC9D,UAAM,YAAY,SAAS,MAAM;AAC/B,aAAO;AAAmB;AAE5B;AACE,UAAI,uBAAuB;AACzB;AAAa;AAEf;AAAgB;AAGlB;AACE;AAAO;AACL;AACe;AAAA;AAET;AAAA;AAIV;AACE,aAAO;AAAuD;AAGhE;AAKA,UAAM;AACJ,iBAAW;AAAO;AAGpB,uBAAmB;AACjB;AAAK;AAGP,UAAM;AACJ;AAAK;AAGP,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;AAhHY;AACJ;AACE,IACX;AAAU,IACV,SAAS;AAAA,IACT;AAAY,IACZ;AAAgB,IAChB,UAAU;AAAA,IACV,kBAAgB;AAAA,IAChB;AAAS,IACT;AAAQ,IACR,cAAY;AAAA,IACZ;AAAY,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ,cAAY;AAAA,IACZ;AAAQ,IACR;AAAW,IACX;AAAc,IACd,gBAAc;AAAA,IACd;AAAY,IACb;AAAA,IACC;AAAM,IACN;AAAM;IAMI;AAGH,MAFK;AAEL;;AAFwB,QAAW,MAAK;AAAA,sCACpC;;AAIH;AADK;AAAA;AAAA;AAPH,MAFK;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"arrow.mjs","sources":["../../../../../../packages/components/popper/src/arrow.vue"],"sourcesContent":["<template>\n <span ref=\"arrowRef\" :class=\"ns.e('arrow')\" data-popper-arrow=\"\" />\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n onBeforeUnmount,\n watch,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopperArrowProps } from './popper'\nimport { POPPER_CONTENT_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElPopperArrow',\n props: usePopperArrowProps,\n setup(props) {\n const ns = useNamespace('popper')\n const arrowRef = ref<HTMLSpanElement | null>(null)\n const popperContentInjection = inject(\n POPPER_CONTENT_INJECTION_KEY,\n undefined\n )!\n\n watch(\n () => props.arrowOffset,\n (val) => {\n popperContentInjection.arrowOffset.value = val\n }\n )\n\n onMounted(() => {\n popperContentInjection.arrowRef.value = unref(arrowRef)\n })\n\n onBeforeUnmount(() => {\n popperContentInjection.arrowRef.value = null\n })\n\n return {\n ns,\n arrowRef,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,IAA4B;AAC7C,UAAM,yBAAyB,OAC7B,8BACA;AAGF,UACE,MAAM,MAAM,aACZ,CAAC,QAAQ;AACP,6BAAuB,YAAY,QAAQ;AAAA;AAI/C,cAAU,MAAM;AACd,6BAAuB,SAAS,QAAQ,MAAM;AAAA;AAGhD,oBAAgB,MAAM;AACpB,6BAAuB,SAAS,QAAQ;AAAA;AAG1C,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BA7CJ,wBAAmE;SAAzDA,aAAUC;AAAA,IAAE,KAAK;AAAA,IAAiB,sBAAoB;AAAA;;;;;;;"}
1
+ {"version":3,"file":"arrow.mjs","sources":["../../../../../../packages/components/popper/src/arrow.vue"],"sourcesContent":["<template>\n <span ref=\"arrowRef\" :class=\"ns.e('arrow')\" data-popper-arrow=\"\" />\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n onBeforeUnmount,\n watch,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { usePopperArrowProps } from './popper'\nimport { POPPER_CONTENT_INJECTION_KEY } from './tokens'\n\nexport default defineComponent({\n name: 'ElPopperArrow',\n props: usePopperArrowProps,\n setup(props) {\n const ns = useNamespace('popper')\n const arrowRef = ref<HTMLSpanElement | null>(null)\n const popperContentInjection = inject(\n POPPER_CONTENT_INJECTION_KEY,\n undefined\n )!\n\n watch(\n () => props.arrowOffset,\n (val) => {\n popperContentInjection.arrowOffset.value = val\n }\n )\n\n onMounted(() => {\n popperContentInjection.arrowRef.value = unref(arrowRef)\n })\n\n onBeforeUnmount(() => {\n popperContentInjection.arrowRef.value = null\n })\n\n return {\n ns,\n arrowRef,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass"],"mappings":";;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,IAA4B;AAC7C,UAAM,yBAAyB,OAC7B,8BACA;AAGF,UACE,MAAM,MAAM,aACZ,CAAC,QAAQ;AACP,6BAAuB,YAAY,QAAQ;AAAA;AAI/C,cAAU,MAAM;AACd,6BAAuB,SAAS,QAAQ,MAAM;AAAA;AAGhD,oBAAgB,MAAM;AACpB,6BAAuB,SAAS,QAAQ;AAAA;AAG1C,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;sBA7CJA,mBAAmE;AAAA,IAA7D,KAAI;AAAA,IAAY,OAAKC,eAAE,QAAG,EAAC;AAAA,IAAW,qBAAkB;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/popper/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"popperContentRef\"\n :style=\"contentStyle\"\n :class=\"contentClass\"\n role=\"tooltip\"\n @mouseenter=\"(e) => $emit('mouseenter', e)\"\n @mouseleave=\"(e) => $emit('mouseleave', e)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n ref,\n inject,\n provide,\n unref,\n onMounted,\n watch,\n} from 'vue'\nimport { createPopper } from '@popperjs/core'\nimport { useZIndex, useNamespace } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY, POPPER_CONTENT_INJECTION_KEY } from './tokens'\nimport { usePopperContentProps } from './popper'\nimport { buildPopperOptions, unwrapMeasurableEl } from './utils'\n\nexport default defineComponent({\n name: 'ElPopperContent',\n props: usePopperContentProps,\n emits: ['mouseenter', 'mouseleave'],\n setup(props) {\n const { triggerRef, popperInstanceRef, contentRef } = inject(\n POPPER_INJECTION_KEY,\n undefined\n )!\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n const popperContentRef = ref<HTMLElement | null>(null)\n const arrowRef = ref<HTMLElement | null>(null)\n const arrowOffset = ref<number>()\n provide(POPPER_CONTENT_INJECTION_KEY, {\n arrowRef,\n arrowOffset,\n })\n const contentZIndex = ref(props.zIndex || nextZIndex())\n\n const contentStyle = computed(\n () => [{ zIndex: unref(contentZIndex) }, props.popperStyle] as any\n )\n\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n ])\n\n const createPopperInstance = ({\n referenceEl,\n popperContentEl,\n arrowEl,\n }) => {\n const options = buildPopperOptions(props, {\n arrowEl,\n arrowOffset: unref(arrowOffset),\n })\n\n return createPopper(referenceEl, popperContentEl, options)\n }\n\n const updatePopper = () => {\n unref(popperInstanceRef)?.update()\n contentZIndex.value = props.zIndex || nextZIndex()\n }\n\n onMounted(() => {\n let updateHandle: ReturnType<typeof watch>\n watch(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef),\n (val) => {\n updateHandle?.()\n if (val) {\n popperInstanceRef.value?.destroy()\n const popperContentEl = unref(popperContentRef)!\n contentRef.value = popperContentEl\n const arrowEl = unref(arrowRef)\n\n const newInstance = createPopperInstance({\n referenceEl: val,\n popperContentEl: unref(popperContentRef)!,\n arrowEl,\n })\n popperInstanceRef.value = newInstance\n\n updateHandle = watch(\n () => val!.getBoundingClientRect(),\n () => {\n updatePopper()\n },\n {\n immediate: true,\n }\n )\n } else {\n popperInstanceRef.value = null\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () =>\n buildPopperOptions(props, {\n arrowEl: unref(arrowRef),\n arrowOffset: unref(arrowOffset),\n }),\n (option) => popperInstanceRef.value?.setOptions(option)\n )\n })\n\n return {\n ns,\n popperContentRef,\n popperInstanceRef,\n contentStyle,\n contentClass,\n updatePopper,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AA8BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,cAAc;AAAA,EACtB,MAAM,OAAO;AACX,UAAM,EAAE,YAAY,mBAAmB,eAAe,OACpD,sBACA;AAEF,UAAM,EAAE,eAAe;AACvB,UAAM,KAAK,aAAa;AACxB,UAAM,mBAAmB,IAAwB;AACjD,UAAM,WAAW,IAAwB;AACzC,UAAM,cAAc;AACpB,YAAQ,8BAA8B;AAAA,MACpC;AAAA,MACA;AAAA;AAEF,UAAM,gBAAgB,IAAI,MAAM,UAAU;AAE1C,UAAM,eAAe,SACnB,MAAM,CAAC,EAAE,QAAQ,MAAM,kBAAkB,MAAM;AAGjD,UAAM,eAAe,SAAS,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,GAAG,GAAG,QAAQ,MAAM;AAAA,MACpB,GAAG,GAAG,MAAM;AAAA,MACZ,MAAM;AAAA;AAGR,UAAM,uBAAuB,CAAC;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,UACI;AACJ,YAAM,UAAU,mBAAmB,OAAO;AAAA,QACxC;AAAA,QACA,aAAa,MAAM;AAAA;AAGrB,aAAO,aAAa,aAAa,iBAAiB;AAAA;AAGpD,UAAM,eAAe,MAAM;AACzB,YAAM;AACN;AAAsC;AAGxC;AACE;AACA;AAGI;AACA,YAAI;AACF,4BAAkB;AAClB;AACA;AACA,gBAAM;AAEN;AAAyC;AAC1B;AACU,YACvB;AAAA;AAEF;AAEA;AAGI;AAAA;AAEF,YACE;AAAW;AAAA;AAIf;AAA0B;AAAA;AAG9B;AACa;AAIf;AAE8B,QACxB;AAAe;AACI,sBAEX;AAAoC;AAIpD,WAAO;AAAA;AACL;AACA;AACA,MACA;AAAA;AACA,MACA;AAAA;AAAA;AAAA;;;;AAlIoB;AAChB;AAEQ;AACb;AACuC;;AAExC;;;;;;;;;;;;"}
1
+ {"version":3,"file":"content.mjs","sources":["../../../../../../packages/components/popper/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"popperContentRef\"\n :style=\"contentStyle\"\n :class=\"contentClass\"\n role=\"tooltip\"\n @mouseenter=\"(e) => $emit('mouseenter', e)\"\n @mouseleave=\"(e) => $emit('mouseleave', e)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n ref,\n inject,\n provide,\n unref,\n onMounted,\n watch,\n} from 'vue'\nimport { createPopper } from '@popperjs/core'\nimport { useZIndex, useNamespace } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY, POPPER_CONTENT_INJECTION_KEY } from './tokens'\nimport { usePopperContentProps } from './popper'\nimport { buildPopperOptions, unwrapMeasurableEl } from './utils'\n\nexport default defineComponent({\n name: 'ElPopperContent',\n props: usePopperContentProps,\n emits: ['mouseenter', 'mouseleave'],\n setup(props) {\n const { triggerRef, popperInstanceRef, contentRef } = inject(\n POPPER_INJECTION_KEY,\n undefined\n )!\n const { nextZIndex } = useZIndex()\n const ns = useNamespace('popper')\n const popperContentRef = ref<HTMLElement | null>(null)\n const arrowRef = ref<HTMLElement | null>(null)\n const arrowOffset = ref<number>()\n provide(POPPER_CONTENT_INJECTION_KEY, {\n arrowRef,\n arrowOffset,\n })\n const contentZIndex = ref(props.zIndex || nextZIndex())\n\n const contentStyle = computed(\n () => [{ zIndex: unref(contentZIndex) }, props.popperStyle] as any\n )\n\n const contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n ])\n\n const createPopperInstance = ({\n referenceEl,\n popperContentEl,\n arrowEl,\n }) => {\n const options = buildPopperOptions(props, {\n arrowEl,\n arrowOffset: unref(arrowOffset),\n })\n\n return createPopper(referenceEl, popperContentEl, options)\n }\n\n const updatePopper = () => {\n unref(popperInstanceRef)?.update()\n contentZIndex.value = props.zIndex || nextZIndex()\n }\n\n onMounted(() => {\n let updateHandle: ReturnType<typeof watch>\n watch(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef),\n (val) => {\n updateHandle?.()\n if (val) {\n popperInstanceRef.value?.destroy()\n const popperContentEl = unref(popperContentRef)!\n contentRef.value = popperContentEl\n const arrowEl = unref(arrowRef)\n\n const newInstance = createPopperInstance({\n referenceEl: val,\n popperContentEl: unref(popperContentRef)!,\n arrowEl,\n })\n popperInstanceRef.value = newInstance\n\n updateHandle = watch(\n () => val!.getBoundingClientRect(),\n () => {\n updatePopper()\n },\n {\n immediate: true,\n }\n )\n } else {\n popperInstanceRef.value = null\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () =>\n buildPopperOptions(props, {\n arrowEl: unref(arrowRef),\n arrowOffset: unref(arrowOffset),\n }),\n (option) => popperInstanceRef.value?.setOptions(option)\n )\n })\n\n return {\n ns,\n popperContentRef,\n popperInstanceRef,\n contentStyle,\n contentClass,\n updatePopper,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;AA8BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,cAAc;AAAA,EACtB,MAAM,OAAO;AACX,UAAM,EAAE,YAAY,mBAAmB,eAAe,OACpD,sBACA;AAEF,UAAM,EAAE,eAAe;AACvB,UAAM,KAAK,aAAa;AACxB,UAAM,mBAAmB,IAAwB;AACjD,UAAM,WAAW,IAAwB;AACzC,UAAM,cAAc;AACpB,YAAQ,8BAA8B;AAAA,MACpC;AAAA,MACA;AAAA;AAEF,UAAM,gBAAgB,IAAI,MAAM,UAAU;AAE1C,UAAM,eAAe,SACnB,MAAM,CAAC,EAAE,QAAQ,MAAM,kBAAkB,MAAM;AAGjD,UAAM,eAAe,SAAS,MAAM;AAAA,MAClC,GAAG;AAAA,MACH,GAAG,GAAG,QAAQ,MAAM;AAAA,MACpB,GAAG,GAAG,MAAM;AAAA,MACZ,MAAM;AAAA;AAGR,UAAM,uBAAuB,CAAC;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,UACI;AACJ,YAAM,UAAU,mBAAmB,OAAO;AAAA,QACxC;AAAA,QACA,aAAa,MAAM;AAAA;AAGrB,aAAO,aAAa,aAAa,iBAAiB;AAAA;AAGpD,UAAM,eAAe,MAAM;AACzB,YAAM;AACN;AAAsC;AAGxC;AACE;AACA;AAGI;AACA,YAAI;AACF,4BAAkB;AAClB;AACA;AACA,gBAAM;AAEN;AAAyC;AAC1B;AACU,YACvB;AAAA;AAEF;AAEA;AAGI;AAAA;AAEF,YACE;AAAW;AAAA;AAIf;AAA0B;AAAA;AAG9B;AACa;AAIf;AAE8B,QACxB;AAAe;AACI,sBAEX;AAAoC;AAIpD,WAAO;AAAA;AACL;AACA;AACA,MACA;AAAA;AACA,MACA;AAAA;AAAA;AAAA;;;;AA1HE;AARA;AAEI;AACH;AACmC,IACvC;AAAuC;IAExC;AAAQ;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"popper2.mjs","sources":["../../../../../../packages/components/popper/src/popper.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref } from 'vue'\nimport { POPPER_INJECTION_KEY } from './tokens'\n\nimport type { ElPopperInjectionContext } from './tokens'\n\nexport default defineComponent({\n name: 'ElPopperProvider',\n inheritAttrs: false,\n setup() {\n const popperProvides = {\n triggerRef: ref<HTMLElement | null>(null),\n popperInstanceRef: ref(null),\n contentRef: ref(null),\n } as ElPopperInjectionContext\n\n provide(POPPER_INJECTION_KEY, popperProvides)\n\n return popperProvides\n },\n})\n</script>\n"],"names":[],"mappings":";;;;AAUA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,QAAQ;AACN,UAAM,iBAAiB;AAAA,MACrB,YAAY,IAAwB;AAAA,MACpC,mBAAmB,IAAI;AAAA,MACvB,YAAY,IAAI;AAAA;AAGlB,YAAQ,sBAAsB;AAE9B,WAAO;AAAA;AAAA;qBArBD;;;;;;;"}
1
+ {"version":3,"file":"popper2.mjs","sources":["../../../../../../packages/components/popper/src/popper.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref } from 'vue'\nimport { POPPER_INJECTION_KEY } from './tokens'\n\nimport type { ElPopperInjectionContext } from './tokens'\n\nexport default defineComponent({\n name: 'ElPopperProvider',\n inheritAttrs: false,\n setup() {\n const popperProvides = {\n triggerRef: ref<HTMLElement | null>(null),\n popperInstanceRef: ref(null),\n contentRef: ref(null),\n } as ElPopperInjectionContext\n\n provide(POPPER_INJECTION_KEY, popperProvides)\n\n return popperProvides\n },\n})\n</script>\n"],"names":["_renderSlot"],"mappings":";;;;AAUA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,QAAQ;AACN,UAAM,iBAAiB;AAAA,MACrB,YAAY,IAAwB;AAAA,MACpC,mBAAmB,IAAI;AAAA,MACvB,YAAY,IAAI;AAAA;AAGlB,YAAQ,sBAAsB;AAE9B,WAAO;AAAA;AAAA;;SArBTA,WAAQ;AAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.mjs","sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["<template>\n <el-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-describedby=\"open ? id : undefined\"\n >\n <slot />\n </el-only-child>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, watch } from 'vue'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useForwardRef } from '@element-plus/hooks'\nimport { usePopperTriggerProps } from './popper'\nimport { POPPER_INJECTION_KEY } from './tokens'\nimport { unwrapMeasurableEl } from './utils'\n\nexport default defineComponent({\n name: 'ElPopperTrigger',\n components: { ElOnlyChild },\n inheritAttrs: false,\n props: {\n ...usePopperTriggerProps,\n onMouseenter: Function,\n onMouseleave: Function,\n onClick: Function,\n onKeydown: Function,\n onFocus: Function,\n onBlur: Function,\n onContextmenu: Function,\n id: String,\n open: Boolean,\n },\n setup(props) {\n const { triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!\n useForwardRef(triggerRef)\n\n watch(\n () => props.virtualRef,\n (val) => {\n if (val) {\n triggerRef.value = unwrapMeasurableEl(val)\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => triggerRef.value,\n (el, prevEl) => {\n if (el && el instanceof HTMLElement) {\n ;[\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu',\n ].forEach((eventName) => {\n const handler = props[eventName]\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n }\n })\n }\n },\n {\n immediate: true,\n }\n )\n\n return {\n triggerRef,\n }\n },\n})\n</script>\n"],"names":["ElOnlyChild","_createBlock","_mergeProps","_withCtx"],"mappings":";;;;;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,eAAEA;AAAA,EACd,cAAc;AAAA,EACd,OAAO;AAAA,OACF;AAAA,IACH,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,IAAI;AAAA,IACJ,MAAM;AAAA;AAAA,EAER,MAAM,OAAO;AACX,UAAM,EAAE,eAAe,OAAO,sBAAsB;AACpD,kBAAc;AAEd,UACE,MAAM,MAAM,YACZ,CAAC,QAAQ;AACP,UAAI,KAAK;AACP,mBAAW,QAAQ,mBAAmB;AAAA;AAAA,OAG1C;AAAA,MACE,WAAW;AAAA;AAIf,UACE,MAAM,WAAW,OACjB,CAAC,IAAI,WAAW;AACd,UAAI,MAAM,cAAc,aAAa;AACnC;AAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ,CAAC,cAAc;AACvB,gBAAM,UAAU,MAAM;AACtB,cAAI,SAAS;AACX;AAAC,YAAC,GAAmB,iBACnB,UAAU,MAAM,GAAG,eACnB;AAED,YAAC,8DAEA;AAAA;AAAA;AAAA;AAAA,OAMV;AAAA,MACE,WAAW;AAAA;AAIf,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;iDA/EDC,YAAkB,0BAAqBC;AAAA;;aAExCC,QAAQ;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"trigger.mjs","sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["<template>\n <el-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-describedby=\"open ? id : undefined\"\n >\n <slot />\n </el-only-child>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, inject, watch } from 'vue'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useForwardRef } from '@element-plus/hooks'\nimport { usePopperTriggerProps } from './popper'\nimport { POPPER_INJECTION_KEY } from './tokens'\nimport { unwrapMeasurableEl } from './utils'\n\nexport default defineComponent({\n name: 'ElPopperTrigger',\n components: { ElOnlyChild },\n inheritAttrs: false,\n props: {\n ...usePopperTriggerProps,\n onMouseenter: Function,\n onMouseleave: Function,\n onClick: Function,\n onKeydown: Function,\n onFocus: Function,\n onBlur: Function,\n onContextmenu: Function,\n id: String,\n open: Boolean,\n },\n setup(props) {\n const { triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!\n useForwardRef(triggerRef)\n\n watch(\n () => props.virtualRef,\n (val) => {\n if (val) {\n triggerRef.value = unwrapMeasurableEl(val)\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => triggerRef.value,\n (el, prevEl) => {\n if (el && el instanceof HTMLElement) {\n ;[\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu',\n ].forEach((eventName) => {\n const handler = props[eventName]\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n }\n })\n }\n },\n {\n immediate: true,\n }\n )\n\n return {\n triggerRef,\n }\n },\n})\n</script>\n"],"names":["ElOnlyChild","_createBlock","_mergeProps","_renderSlot"],"mappings":";;;;;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,eAAEA;AAAA,EACd,cAAc;AAAA,EACd,OAAO;AAAA,OACF;AAAA,IACH,cAAc;AAAA,IACd,cAAc;AAAA,IACd,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,IAAI;AAAA,IACJ,MAAM;AAAA;AAAA,EAER,MAAM,OAAO;AACX,UAAM,EAAE,eAAe,OAAO,sBAAsB;AACpD,kBAAc;AAEd,UACE,MAAM,MAAM,YACZ,CAAC,QAAQ;AACP,UAAI,KAAK;AACP,mBAAW,QAAQ,mBAAmB;AAAA;AAAA,OAG1C;AAAA,MACE,WAAW;AAAA;AAIf,UACE,MAAM,WAAW,OACjB,CAAC,IAAI,WAAW;AACd,UAAI,MAAM,cAAc,aAAa;AACnC;AAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QAAQ,CAAC,cAAc;AACvB,gBAAM,UAAU,MAAM;AACtB,cAAI,SAAS;AACX;AAAC,YAAC,GAAmB,iBACnB,UAAU,MAAM,GAAG,eACnB;AAED,YAAC,8DAEA;AAAA;AAAA;AAAA;AAAA,OAMV;AAAA,MACE,WAAW;AAAA;AAIf,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;UAjFK,uCADTC,YAMgB,0BANhBC,WAMgB,YAJN,aAAM;AAAA,IACb,oBAAkB,YAAO,UAAK;AAAA;qBAE/B,MAAQ;AAAA,MAARC,WAAQ;AAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
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 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=\"#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 <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n WarningFilled,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElProgress',\n components: {\n ElIcon,\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 parseInt(`${50 - parseFloat(relativeStrokeWidth.value) / 2}`, 10)\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":["_normalizeClass","_guardReactiveProps"],"mappings":"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"}
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 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=\"#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 <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n WarningFilled,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElProgress',\n components: {\n ElIcon,\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 parseInt(`${50 - parseFloat(relativeStrokeWidth.value) / 2}`, 10)\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":["_normalizeClass","_guardReactiveProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button2.mjs","sources":["../../../../../../packages/components/radio/src/radio-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.is('active', modelValue === label),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.bm('button', size),\n ]\"\n role=\"radio\"\n :aria-checked=\"modelValue === label\"\n :aria-disabled=\"disabled\"\n :tabindex=\"tabIndex\"\n @keydown.space.stop.prevent=\"modelValue = disabled ? modelValue : label\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.be('button', 'original-radio')\"\n :value=\"label\"\n type=\"radio\"\n :name=\"name\"\n :disabled=\"disabled\"\n tabindex=\"-1\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n <span\n :class=\"ns.be('button', 'inner')\"\n :style=\"modelValue === label ? activeStyle : {}\"\n @keydown.stop\n >\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio } from './radio'\nimport { radioButtonProps } from './radio-button'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElRadioButton',\n props: radioButtonProps,\n\n setup(props, { emit }) {\n const ns = useNamespace('radio')\n const {\n radioRef,\n isGroup,\n focus,\n size,\n disabled,\n tabIndex,\n modelValue,\n radioGroup,\n } = useRadio(props, emit)\n\n const activeStyle = computed<CSSProperties>(() => {\n return {\n backgroundColor: radioGroup?.fill || '',\n borderColor: radioGroup?.fill || '',\n boxShadow: radioGroup?.fill ? `-1px 0 0 0 ${radioGroup.fill}` : '',\n color: radioGroup?.textColor || '',\n }\n })\n\n return {\n ns,\n isGroup,\n size,\n disabled,\n tabIndex,\n modelValue,\n focus,\n activeStyle,\n radioRef,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass","_createElementVNode"],"mappings":";;;;;;;AA6CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS,OAAO;AAEpB,UAAM,cAAc,SAAwB,MAAM;AAChD,aAAO;AAAA,QACL,iBAAiB;AAAoB,QACrC,aAAa;AAAoB,QACjC,WAAW,mBAAmB;AAAkC,QAChE,OAAO;AAAyB;AAAA;AAIpC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;2BA/EJ,wBAmCQ;SAlCAA;AAAA,WAAUC,eAAI;AAAA,MAAkB,QAAG,EAAE;AAAA,MAAwC,QAAG,GAAE,eAAa,eAAQ;AAAA,MAAS,QAAG,GAAE,YAAU;AAAA,MAAc,QAAG,GAAE,cAAW;AAAA;;IAQlK;AAAA,IACA,gBAAa,KAAE,eAAQ;AAAA,IACvB,iBAAU;AAAA,IACV,UAAO;AAAA;;mBAGFC,mBAAU;AAAA;MAEb,uBAAO,OAAE;AAAG,MACZ,OAAOD,eAAK;AAAA,MACb,OAAK;AAAA,MACJ,MAAM;AAAA,MACN,WAAU;AAAA,MACX,UAAS,KAAI;AAAA,MACZ,UAAK;AAAA,MACL,SAAI,sCAAE,aAAK;AAAA;iBARO;AAAA;;uBAWb,QAAE;AAAA,MACP,OAAKA,eAAE,qBAAe;AAAA,MACtB,sBAAO,iCAAR,KAAa;AAAA;;OAEb;AAAA,yCACK,UAAK;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"radio-button2.mjs","sources":["../../../../../../packages/components/radio/src/radio-button.vue"],"sourcesContent":["<template>\n <label\n :class=\"[\n ns.b('button'),\n ns.is('active', modelValue === label),\n ns.is('disabled', disabled),\n ns.is('focus', focus),\n ns.bm('button', size),\n ]\"\n role=\"radio\"\n :aria-checked=\"modelValue === label\"\n :aria-disabled=\"disabled\"\n :tabindex=\"tabIndex\"\n @keydown.space.stop.prevent=\"modelValue = disabled ? modelValue : label\"\n >\n <input\n ref=\"radioRef\"\n v-model=\"modelValue\"\n :class=\"ns.be('button', 'original-radio')\"\n :value=\"label\"\n type=\"radio\"\n :name=\"name\"\n :disabled=\"disabled\"\n tabindex=\"-1\"\n @focus=\"focus = true\"\n @blur=\"focus = false\"\n />\n <span\n :class=\"ns.be('button', 'inner')\"\n :style=\"modelValue === label ? activeStyle : {}\"\n @keydown.stop\n >\n <slot>\n {{ label }}\n </slot>\n </span>\n </label>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio } from './radio'\nimport { radioButtonProps } from './radio-button'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElRadioButton',\n props: radioButtonProps,\n\n setup(props, { emit }) {\n const ns = useNamespace('radio')\n const {\n radioRef,\n isGroup,\n focus,\n size,\n disabled,\n tabIndex,\n modelValue,\n radioGroup,\n } = useRadio(props, emit)\n\n const activeStyle = computed<CSSProperties>(() => {\n return {\n backgroundColor: radioGroup?.fill || '',\n borderColor: radioGroup?.fill || '',\n boxShadow: radioGroup?.fill ? `-1px 0 0 0 ${radioGroup.fill}` : '',\n color: radioGroup?.textColor || '',\n }\n })\n\n return {\n ns,\n isGroup,\n size,\n disabled,\n tabIndex,\n modelValue,\n focus,\n activeStyle,\n radioRef,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot"],"mappings":";;;;;;;AA6CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,SAAS,OAAO;AAEpB,UAAM,cAAc,SAAwB,MAAM;AAChD,aAAO;AAAA,QACL,iBAAiB;AAAoB,QACrC,aAAa;AAAoB,QACjC,WAAW,mBAAmB;AAAkC,QAChE,OAAO;AAAyB;AAAA;AAIpC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;sBA/EJA,mBAmCQ;AAAA,IAlCL,OAAKC;AAAA,MAAU,QAAG,EAAC;AAAA,MAAkB,QAAG,GAAE,UAAW,oBAAe;AAAA,MAAc,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,SAAU;AAAA,MAAc,QAAG,GAAE,UAAW;AAAA;AAAA,IAOnK,MAAK;AAAA,IACJ,gBAAc,oBAAe;AAAA,IAC7B,iBAAe;AAAA,IACf,UAAU;AAAA,IACV,WAAO,6DAAqB,kBAAa,gBAAW,kBAAa,YAAK;AAAA;mBAEvEC,mBAWE;AAAA,MAVA,KAAI;AAAA,mEACK,kBAAU;AAAA,MAClB,OAAKD,eAAE,QAAG,GAAE;AAAA,MACZ,OAAO;AAAA,MACR,MAAK;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACX,UAAS;AAAA,MACR,SAAK,sCAAE,aAAK;AAAA,MACZ,QAAI,sCAAE,aAAK;AAAA;oBARH;AAAA;AAAA,IAUXC,mBAQO;AAAA,MAPJ,OAAKD,eAAE,QAAG,GAAE;AAAA,MACZ,OAAKE,eAAE,oBAAe,aAAQ,mBAAW;AAAA,MACzC,WAAO,wCAAR;AAAA,SAAa;AAAA;MAEbC,WAEO,4BAFP,MAEO;AAAA,wCADF,aAAK;AAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change')\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;AA4BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,gBAAgB;AACtB,UAAM,EAAE,aAAa;AAErB,UAAM,cAAc,CAAC,UAAyC;AAC5D,UAAI,KAAK,oBAAoB;AAC7B,eAAS,MAAM,IAAI,KAAK,UAAU;AAAA;AAGpC,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,CAAC,cAAc;AAAO;AAG1B,YAAM,SAAS,EAAE;AACjB,YAAM,YACJ,OAAO,aAAa,UAAU,iBAAiB;AACjD,YAAM,SACJ,cAAc,MAAM,iBAAmC;AACzD,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ;AACzC,YAAM,aACJ,cAAc,MAAM,iBAAmC;AAEzD,UAAI,YAA2B;AAC/B,cAAQ,EAAE;AAAA,aACH,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC/C;AAAA,aACG,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,SAAS,IAAI,IAAI,QAAQ;AAC/C;AAAA;AAEA;AAAA;AAEJ,UAAI,cAAc;AAAM;AACxB,iBAAW,WAAW;AACtB,iBAAW,WAAW;AAAA;AAGxB,cAAU,MAAM;AACd,YAAM,SACJ,cAAc,MAAO,iBAAmC;AAC1D,YAAM,aAAa,OAAO;AAC1B,UAAI,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,UAAU,MAAM,YAAY,YAAY;AACpE,mBAAW,WAAW;AAAA;AAAA;AAI1B,YACE,eACA,SAAS;AAAA,SACJ,OAAO;AAAA,MACV;AAAA;AAIJ,UACE,MAAM,MAAM,YACZ,MAAM,mBAAmB;AAG3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;2BAvGJ,wBAOM;SANAA,aAAeC;AAAA,IAClB,KAAK;AAAA,IACN,OAAKC,eAAY;AAAA,IAChB;AAAA;KAED;AAAA;;;;;;;"}
1
+ {"version":3,"file":"radio-group2.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n <div\n ref=\"radioGroupRef\"\n :class=\"ns.b('group')\"\n role=\"radiogroup\"\n @keydown=\"handleKeydown\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n nextTick,\n provide,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n} from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { radioGroupKey } from '@element-plus/tokens'\nimport { useFormItem, useNamespace } from '@element-plus/hooks'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\nexport default defineComponent({\n name: 'ElRadioGroup',\n props: radioGroupProps,\n emits: radioGroupEmits,\n\n setup(props, ctx) {\n const ns = useNamespace('radio')\n const radioGroupRef = ref<HTMLDivElement>()\n const { formItem } = useFormItem()\n\n const changeEvent = (value: RadioGroupProps['modelValue']) => {\n ctx.emit(UPDATE_MODEL_EVENT, value)\n nextTick(() => ctx.emit('change', value))\n }\n\n const handleKeydown = (e: KeyboardEvent) => {\n if (!radioGroupRef.value) return\n\n // 左右上下按键 可以在 radio 组内切换不同选项\n const target = e.target as HTMLInputElement\n const className =\n target.nodeName === 'INPUT' ? '[type=radio]' : '[role=radio]'\n const radios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>(className)\n const length = radios.length\n const index = Array.from(radios).indexOf(target)\n const roleRadios =\n radioGroupRef.value.querySelectorAll<HTMLInputElement>('[role=radio]')\n\n let nextIndex: number | null = null\n switch (e.code) {\n case EVENT_CODE.left:\n case EVENT_CODE.up:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === 0 ? length - 1 : index - 1\n break\n case EVENT_CODE.right:\n case EVENT_CODE.down:\n e.stopPropagation()\n e.preventDefault()\n nextIndex = index === length - 1 ? 0 : index + 1\n break\n default:\n break\n }\n if (nextIndex === null) return\n roleRadios[nextIndex].click()\n roleRadios[nextIndex].focus()\n }\n\n onMounted(() => {\n const radios =\n radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n const firstLabel = radios[0]\n if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n firstLabel.tabIndex = 0\n }\n })\n\n provide(\n radioGroupKey,\n reactive({\n ...toRefs(props),\n changeEvent,\n })\n )\n\n watch(\n () => props.modelValue,\n () => formItem?.validate('change')\n )\n\n return {\n ns,\n radioGroupRef,\n handleKeydown,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;;;;;AA4BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,KAAK;AAChB,UAAM,KAAK,aAAa;AACxB,UAAM,gBAAgB;AACtB,UAAM,EAAE,aAAa;AAErB,UAAM,cAAc,CAAC,UAAyC;AAC5D,UAAI,KAAK,oBAAoB;AAC7B,eAAS,MAAM,IAAI,KAAK,UAAU;AAAA;AAGpC,UAAM,gBAAgB,CAAC,MAAqB;AAC1C,UAAI,CAAC,cAAc;AAAO;AAG1B,YAAM,SAAS,EAAE;AACjB,YAAM,YACJ,OAAO,aAAa,UAAU,iBAAiB;AACjD,YAAM,SACJ,cAAc,MAAM,iBAAmC;AACzD,YAAM,SAAS,OAAO;AACtB,YAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ;AACzC,YAAM,aACJ,cAAc,MAAM,iBAAmC;AAEzD,UAAI,YAA2B;AAC/B,cAAQ,EAAE;AAAA,aACH,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,IAAI,SAAS,IAAI,QAAQ;AAC/C;AAAA,aACG,WAAW;AAAA,aACX,WAAW;AACd,YAAE;AACF,YAAE;AACF,sBAAY,UAAU,SAAS,IAAI,IAAI,QAAQ;AAC/C;AAAA;AAEA;AAAA;AAEJ,UAAI,cAAc;AAAM;AACxB,iBAAW,WAAW;AACtB,iBAAW,WAAW;AAAA;AAGxB,cAAU,MAAM;AACd,YAAM,SACJ,cAAc,MAAO,iBAAmC;AAC1D,YAAM,aAAa,OAAO;AAC1B,UAAI,CAAC,MAAM,KAAK,QAAQ,KAAK,CAAC,UAAU,MAAM,YAAY,YAAY;AACpE,mBAAW,WAAW;AAAA;AAAA;AAI1B,YACE,eACA,SAAS;AAAA,SACJ,OAAO;AAAA,MACV;AAAA;AAIJ,UACE,MAAM,MAAM,YACZ,MAAM,mBAAmB;AAG3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;sBAvGJA,mBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,eAAE,QAAG,EAAC;AAAA,IACZ,MAAK;AAAA,IACJ,WAAO,uCAAE;AAAA;IAEVC,WAAa;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"radio2.mjs","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 @keydown.space.stop.prevent=\"modelValue = disabled ? modelValue : label\"\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')\"></span>\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 @focus=\"focus = true\"\n @blur=\"focus = false\"\n @change=\"handleChange\"\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, nextTick } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio, radioEmits, radioProps } from './radio'\n\nexport default defineComponent({\n name: 'ElRadio',\n props: radioProps,\n emits: radioEmits,\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 function handleChange() {\n nextTick(() => emit('change', modelValue.value))\n }\n\n return {\n ns,\n focus,\n isGroup,\n modelValue,\n tabIndex,\n size,\n disabled,\n radioRef,\n\n handleChange,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass","_createElementVNode"],"mappings":";;;;;;AAoDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,EAAE,UAAU,SAAS,OAAO,MAAM,UAAU,UAAU,eAC1D,SAAS,OAAO;AAElB,4BAAwB;AACtB,eAAS,MAAM,KAAK,UAAU,WAAW;AAAA;AAG3C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA;AAAA;;;2BA3EJ,wBA2CQ;SA1CAA;AAAA,WAAUC,eAAI;AAAA,MAAU,QAAG;AAAA,MAAgC,QAAG,GAAE,YAAU;AAAA,MAAc,QAAG,GAAE,cAAa;AAAA,MAAe,QAAG,GAAE,YAAY;AAAA,MAA6B,QAAG,GAAE,WAAI;AAAA;;IASrL;AAAA,IACA,gBAAa,KAAE,eAAQ;AAAA,IACvB,iBAAU;AAAA,IACV,UAAO;AAAA;KAER;AAAA,uBACQ;AAAA,aAAYA,eAAI;AAAA,QAAmB,QAAG,EAAE;AAAA,QAAgC,QAAG,GAAE,YAAY;AAAA;;OAM/F;AAAA,yBAAY,QAAE;AAAA;;qBAERC,mBAAU;AAAA;QAEb,uBAAO,OAAE;AAAE,QACX,OAAOD,eAAK;AAAA,QACb,OAAK;AAAA,QACL;AAAA,QACC,eAAU;AAAA,QACV,WAAU;AAAA,QACX,UAAS,KAAI;AAAA,QACZ,UAAK;AAAA,QACL,SAAI,sCAAE,aAAK;AAAA,QACX,QAAM,2CAAE;AAAA;mBAVU;AAAA;;OAavB;AAAA,uBAAY,QAAE;AAAA,MAAgB,sBAAO;AAAA;;OACnC;AAAA,yCACK,UAAK;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"radio2.mjs","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 @keydown.space.stop.prevent=\"modelValue = disabled ? modelValue : label\"\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')\"></span>\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 @focus=\"focus = true\"\n @blur=\"focus = false\"\n @change=\"handleChange\"\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, nextTick } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useRadio, radioEmits, radioProps } from './radio'\n\nexport default defineComponent({\n name: 'ElRadio',\n props: radioProps,\n emits: radioEmits,\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 function handleChange() {\n nextTick(() => emit('change', modelValue.value))\n }\n\n return {\n ns,\n focus,\n isGroup,\n modelValue,\n tabIndex,\n size,\n disabled,\n radioRef,\n\n handleChange,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot"],"mappings":";;;;;;AAoDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,EAAE,UAAU,SAAS,OAAO,MAAM,UAAU,UAAU,eAC1D,SAAS,OAAO;AAElB,4BAAwB;AACtB,eAAS,MAAM,KAAK,UAAU,WAAW;AAAA;AAG3C,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA;AAAA;;;;sBA3EJA,mBA2CQ;AAAA,IA1CL,OAAKC;AAAA,MAAU,QAAG;AAAA,MAAW,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,SAAU;AAAA,MAAc,QAAG,GAAE,YAAa;AAAA,MAAe,QAAG,GAAE,WAAY,oBAAe;AAAA,MAAc,QAAG,EAAE;AAAA;AAAA,IAQlL,MAAK;AAAA,IACJ,gBAAc,oBAAe;AAAA,IAC7B,iBAAe;AAAA,IACf,UAAU;AAAA,IACV,WAAO,6DAAqB,kBAAa,gBAAW,kBAAa,YAAK;AAAA;IAEvEC,mBAsBO;AAAA,MArBJ,OAAKD;AAAA,QAAY,QAAG,EAAC;AAAA,QAAmB,QAAG,GAAE,YAAa;AAAA,QAAmB,QAAG,GAAE,WAAY,oBAAe;AAAA;AAAA;MAM9GC,mBAAoC;AAAA,QAA7B,OAAKD,eAAE,QAAG,EAAC;AAAA;qBAClBC,mBAaE;AAAA,QAZA,KAAI;AAAA,qEACK,kBAAU;AAAA,QAClB,OAAKD,eAAE,QAAG,EAAC;AAAA,QACX,OAAO;AAAA,QACR,MAAK;AAAA,QACL,eAAY;AAAA,QACX,MAAM;AAAA,QACN,UAAU;AAAA,QACX,UAAS;AAAA,QACR,SAAK,sCAAE,aAAK;AAAA,QACZ,QAAI,sCAAE,aAAK;AAAA,QACX,UAAM,uCAAE;AAAA;sBAVA;AAAA;AAAA;IAabC,mBAIO;AAAA,MAJA,OAAKD,eAAE,QAAG,EAAC;AAAA,MAAY,WAAO,wCAAR;AAAA,SAAa;AAAA;MACxCE,WAEO,4BAFP,MAEO;AAAA,wCADF,aAAK;AAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass","_Fragment","_createElementBlock","_withCtx","_createCommentVNode","_normalizeStyle"],"mappings":"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"}
1
+ {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"rateKls\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[ns.e('icon'), { hover: hoverIndex === item }]\"\n :style=\"getIconStyle(item)\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n :class=\"ns.e('text')\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-plus/tokens'\nimport { hasClass } from '@element-plus/utils'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons-vue'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-plus/tokens'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\nexport default defineComponent({\n name: 'ElRate',\n components: {\n ElIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n emits: rateEmits,\n\n setup(props, { emit }) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n const rateSize = useSize()\n const ns = useNamespace('rate')\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateKls = computed(() => [ns.b(), ns.m(rateSize.value)])\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n })\n const componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(props.max)\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n })\n\n function showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n }\n\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n function selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n }\n\n function handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n }\n\n function setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n }\n\n function resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n }\n\n watch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value =\n props.modelValue !== Math.floor(props.modelValue)\n }\n )\n\n if (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n }\n\n return {\n ns,\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n rateKls,\n\n showDecimalIcon,\n getIconStyle,\n selectValue,\n handleKey,\n setCurrentValue,\n resetCurrentValue,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_normalizeStyle","_createVNode","_createBlock","_resolveDynamicComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result2.mjs","sources":["../../../../../../packages/components/result/src/result.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('icon')\">\n <slot name=\"icon\">\n <component\n :is=\"resultIcon.component\"\n v-if=\"resultIcon.component\"\n :class=\"resultIcon.class\"\n />\n </slot>\n </div>\n <div v-if=\"title || $slots.title\" :class=\"ns.e('title')\">\n <slot name=\"title\">\n <p>{{ title }}</p>\n </slot>\n </div>\n <div v-if=\"subTitle || $slots.subTitle\" :class=\"ns.e('subtitle')\">\n <slot name=\"subTitle\">\n <p>{{ subTitle }}</p>\n </slot>\n </div>\n <div v-if=\"$slots.extra\" :class=\"ns.e('extra')\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { resultProps, IconComponentMap, IconMap } from './result'\n\nexport default defineComponent({\n name: 'ElResult',\n props: resultProps,\n setup(props) {\n const ns = useNamespace('result')\n\n const resultIcon = computed(() => {\n const icon = props.icon\n const iconClass = icon && IconMap[icon] ? IconMap[icon] : 'icon-info'\n const iconComponent =\n IconComponentMap[iconClass] || IconComponentMap['icon-info']\n\n return {\n class: iconClass,\n component: iconComponent,\n }\n })\n\n return {\n ns,\n resultIcon,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createCommentVNode"],"mappings":";;;;;;AA+BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AAExB,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,OAAO,MAAM;AACnB,YAAM,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ;AAC1D,YAAM,gBACJ,iBAAiB,cAAc,iBAAiB;AAElD,aAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA;AAAA;AAIf,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BAlDJ,wBAuBM;SAvBKA,gCAAM;AAAA;KACf;AAAA,uBAAW,OAAE;AAAA;OACX;AAAA,iBAGU,aAAW,QAAS;AAAA;UACzB,KAAK;AAAA;;;OAID;AAAA,uBAAX;MAAmC,KAAK;AAAA;OACtC;AAAA,iBACE,aAAkB;AAAA;;aAGXC,mBAAY,QAAO;AAAA,0BAA9B;MAAyC,KAAK;AAAA;OAC5C;AAAA,iBACE,aAAqB;AAAA;;aAGdA,mBAAY;AAAA;MAAG,KAAK;AAAA;OAC7B;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"result2.mjs","sources":["../../../../../../packages/components/result/src/result.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('icon')\">\n <slot name=\"icon\">\n <component\n :is=\"resultIcon.component\"\n v-if=\"resultIcon.component\"\n :class=\"resultIcon.class\"\n />\n </slot>\n </div>\n <div v-if=\"title || $slots.title\" :class=\"ns.e('title')\">\n <slot name=\"title\">\n <p>{{ title }}</p>\n </slot>\n </div>\n <div v-if=\"subTitle || $slots.subTitle\" :class=\"ns.e('subtitle')\">\n <slot name=\"subTitle\">\n <p>{{ subTitle }}</p>\n </slot>\n </div>\n <div v-if=\"$slots.extra\" :class=\"ns.e('extra')\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { resultProps, IconComponentMap, IconMap } from './result'\n\nexport default defineComponent({\n name: 'ElResult',\n props: resultProps,\n setup(props) {\n const ns = useNamespace('result')\n\n const resultIcon = computed(() => {\n const icon = props.icon\n const iconClass = icon && IconMap[icon] ? IconMap[icon] : 'icon-info'\n const iconComponent =\n IconComponentMap[iconClass] || IconComponentMap['icon-info']\n\n return {\n class: iconClass,\n component: iconComponent,\n }\n })\n\n return {\n ns,\n resultIcon,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;AA+BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AAExB,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,OAAO,MAAM;AACnB,YAAM,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ;AAC1D,YAAM,gBACJ,iBAAiB,cAAc,iBAAiB;AAElD,aAAO;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA;AAAA;AAIf,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;sBAlDJA,mBAuBM;AAAA,IAvBA,OAAKC,eAAE,QAAG;AAAA;IACdC,mBAQM;AAAA,MARA,OAAKD,eAAE,QAAG,EAAC;AAAA;MACfE,WAMO,yBANP,MAMO;AAAA,QAHG,gBAAW,0BAFnBC,YAIEC,wBAHK,gBAAW,YAAS;AAAA;UAExB,OAAKJ,eAAE,gBAAW;AAAA;;;IAId,cAAS,YAAO,sBAA3BD,mBAIM;AAAA;MAJ6B,OAAKC,eAAE,QAAG,EAAC;AAAA;MAC5CE,WAEO,0BAFP,MAEO;AAAA,QADLD,mBAAkB,2BAAZ,aAAK;AAAA;AAAA;IAGJ,iBAAY,YAAO,yBAA9BF,mBAIM;AAAA;MAJmC,OAAKC,eAAE,QAAG,EAAC;AAAA;MAClDE,WAEO,6BAFP,MAEO;AAAA,QADLD,mBAAqB,2BAAf,gBAAQ;AAAA;AAAA;IAGP,YAAO,sBAAlBF,mBAEM;AAAA;MAFoB,OAAKC,eAAE,QAAG,EAAC;AAAA;MACnCE,WAA0B;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"roving-focus-group-impl.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group-impl.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n provide,\n onBeforeUnmount,\n onMounted,\n ref,\n unref,\n inject,\n watch,\n readonly,\n toRef,\n} from 'vue'\nimport { composeEventHandlers, on, off } from '@element-plus/utils'\nimport {\n rovingFocusGroupProps,\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n} from './roving-focus-group'\nimport { ROVING_FOCUS_GROUP_INJECTION_KEY } from './tokens'\nimport { focusFirst } from './utils'\n\nimport type { StyleValue } from 'vue'\n\nconst CURRENT_TAB_ID_CHANGE_EVT = 'currentTabIdChange'\n\nconst ENTRY_FOCUS_EVT = 'rovingFocusGroup.entryFocus'\nconst EVT_OPTS: EventInit = { bubbles: false, cancelable: true }\nexport default defineComponent({\n name: 'ElRovingFocusGroupImpl',\n inheritAttrs: false,\n props: rovingFocusGroupProps,\n emits: [CURRENT_TAB_ID_CHANGE_EVT, 'entryFocus'],\n setup(props, { emit }) {\n const currentTabbedId = ref<string | null>(\n (props.currentTabId || props.defaultCurrentTabId) ?? null\n )\n const isBackingOut = ref(false)\n const isClickFocus = ref(false)\n const rovingFocusGroupRef = ref<HTMLElement | null>(null)\n const { getItems } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n const rovingFocusGroupRootStyle = computed(() => {\n // casting to any for fix compiler error since HTMLElement.StyleValue does not\n // support CSSProperties\n return [\n {\n outline: 'none',\n },\n props.style as StyleValue,\n ] as any\n })\n\n const onItemFocus = (tabbedId: string) => {\n emit(CURRENT_TAB_ID_CHANGE_EVT, tabbedId)\n }\n\n const onItemShiftTab = () => {\n isBackingOut.value = true\n }\n\n const onMousedown = composeEventHandlers(\n (e: Event) => {\n props.onMousedown?.(e)\n },\n () => {\n isClickFocus.value = true\n }\n )\n\n const onFocus = composeEventHandlers(\n (e: FocusEvent) => {\n props.onFocus?.(e)\n },\n (e) => {\n const isKeyboardFocus = !unref(isClickFocus)\n const { target, currentTarget } = e\n if (\n target === currentTarget &&\n isKeyboardFocus &&\n !unref(isBackingOut)\n ) {\n const entryFocusEvt = new Event(ENTRY_FOCUS_EVT, EVT_OPTS)\n currentTarget?.dispatchEvent(entryFocusEvt)\n\n if (!entryFocusEvt.defaultPrevented) {\n const items = getItems<{\n id: string\n focusable: boolean\n active: boolean\n }>().filter((item) => item.focusable)\n const activeItem = items.find((item) => item.active)\n const currentItem = items.find(\n (item) => item.id === unref(currentTabbedId)\n )\n const candidates = [activeItem!, currentItem!, ...items].filter(\n Boolean\n )\n const candidateNodes = candidates.map((item) => item.ref!)\n focusFirst(candidateNodes)\n }\n }\n\n isClickFocus.value = false\n }\n )\n\n const onBlur = composeEventHandlers(\n (e: Event) => {\n props.onBlur?.(e)\n },\n () => {\n isBackingOut.value = false\n }\n )\n\n const handleEntryFocus = (...args: any[]) => {\n emit('entryFocus', ...args)\n }\n\n provide(ROVING_FOCUS_GROUP_INJECTION_KEY, {\n currentTabbedId: readonly(currentTabbedId),\n loop: toRef(props, 'loop'),\n tabIndex: computed(() => {\n return unref(isBackingOut) ? -1 : 0\n }),\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n orientation: toRef(props, 'orientation'),\n dir: toRef(props, 'dir'),\n onItemFocus,\n onItemShiftTab,\n onBlur,\n onFocus,\n onMousedown,\n })\n\n watch(\n () => props.currentTabId,\n (val) => {\n currentTabbedId.value = val ?? null\n }\n )\n\n onMounted(() => {\n const rovingFocusGroupEl = unref(rovingFocusGroupRef)!\n on(rovingFocusGroupEl, ENTRY_FOCUS_EVT, handleEntryFocus)\n })\n\n onBeforeUnmount(() => {\n const rovingFocusGroupEl = unref(rovingFocusGroupRef)!\n off(rovingFocusGroupEl, ENTRY_FOCUS_EVT, handleEntryFocus)\n })\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AA4BA,MAAM,4BAA4B;AAElC,MAAM,kBAAkB;AACxB,MAAM,WAAsB,EAAE,SAAS,OAAO,YAAY;AAC1D,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO,CAAC,2BAA2B;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM;AAGN,UAAM,eAAe;AACrB,UAAM,eAAe,IAAI;AACzB,UAAM,0BAA8C;AACpD,UAAM,sBACJ;AAGF,UAAM;AAGJ;AAAO;AACL;AACW;AAAA;AAEL;AAAA;AAIV;AACE,sCAAgC;AAAA;AAGlC;AACE,2BAAqB;AAAA;AAGvB;AAEI;AAAoB,aAEhB;AACJ,mBAAa;AAAQ;AAIzB;AAEI;AAAgB;AAGhB;AACA;AACA;AAKE,8BAAsB;AACtB,qCAA6B;AAE7B;AACE,yDAI2B;AAC3B,6BAAmB,YAAY,cAAc;AAC7C;AAGA,gBAAM,0BAA2B;AAGjC,gBAAM,+CAA+C;AACrD;AAAW;AAAA;AAIf;AAAqB;AAIzB;AAEI;AAAe,OAEjB;AACE,mBAAa;AAAQ;AAIzB,UAAM,gCAAuC;AAC3C;AAAsB;AAGxB;AAA0C;AACd,MAC1B,mBAAmB;AAAA,MACnB;AACE;AAAkC;AAAA,MAEpC;AAAA,MACA;AAAA;AAC0B;AACR,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAGF;AAGI;AAA+B;AAInC;AACE;AACA;AAAwC;AAG1C,oBAAgB;AACd,YAAM,qBAAqB,MAAM;AACjC;AAAyC;AAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"roving-focus-group-impl.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group-impl.vue"],"sourcesContent":["<template>\n <slot />\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n provide,\n onBeforeUnmount,\n onMounted,\n ref,\n unref,\n inject,\n watch,\n readonly,\n toRef,\n} from 'vue'\nimport { composeEventHandlers, on, off } from '@element-plus/utils'\nimport {\n rovingFocusGroupProps,\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n} from './roving-focus-group'\nimport { ROVING_FOCUS_GROUP_INJECTION_KEY } from './tokens'\nimport { focusFirst } from './utils'\n\nimport type { StyleValue } from 'vue'\n\nconst CURRENT_TAB_ID_CHANGE_EVT = 'currentTabIdChange'\n\nconst ENTRY_FOCUS_EVT = 'rovingFocusGroup.entryFocus'\nconst EVT_OPTS: EventInit = { bubbles: false, cancelable: true }\nexport default defineComponent({\n name: 'ElRovingFocusGroupImpl',\n inheritAttrs: false,\n props: rovingFocusGroupProps,\n emits: [CURRENT_TAB_ID_CHANGE_EVT, 'entryFocus'],\n setup(props, { emit }) {\n const currentTabbedId = ref<string | null>(\n (props.currentTabId || props.defaultCurrentTabId) ?? null\n )\n const isBackingOut = ref(false)\n const isClickFocus = ref(false)\n const rovingFocusGroupRef = ref<HTMLElement | null>(null)\n const { getItems } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n const rovingFocusGroupRootStyle = computed(() => {\n // casting to any for fix compiler error since HTMLElement.StyleValue does not\n // support CSSProperties\n return [\n {\n outline: 'none',\n },\n props.style as StyleValue,\n ] as any\n })\n\n const onItemFocus = (tabbedId: string) => {\n emit(CURRENT_TAB_ID_CHANGE_EVT, tabbedId)\n }\n\n const onItemShiftTab = () => {\n isBackingOut.value = true\n }\n\n const onMousedown = composeEventHandlers(\n (e: Event) => {\n props.onMousedown?.(e)\n },\n () => {\n isClickFocus.value = true\n }\n )\n\n const onFocus = composeEventHandlers(\n (e: FocusEvent) => {\n props.onFocus?.(e)\n },\n (e) => {\n const isKeyboardFocus = !unref(isClickFocus)\n const { target, currentTarget } = e\n if (\n target === currentTarget &&\n isKeyboardFocus &&\n !unref(isBackingOut)\n ) {\n const entryFocusEvt = new Event(ENTRY_FOCUS_EVT, EVT_OPTS)\n currentTarget?.dispatchEvent(entryFocusEvt)\n\n if (!entryFocusEvt.defaultPrevented) {\n const items = getItems<{\n id: string\n focusable: boolean\n active: boolean\n }>().filter((item) => item.focusable)\n const activeItem = items.find((item) => item.active)\n const currentItem = items.find(\n (item) => item.id === unref(currentTabbedId)\n )\n const candidates = [activeItem!, currentItem!, ...items].filter(\n Boolean\n )\n const candidateNodes = candidates.map((item) => item.ref!)\n focusFirst(candidateNodes)\n }\n }\n\n isClickFocus.value = false\n }\n )\n\n const onBlur = composeEventHandlers(\n (e: Event) => {\n props.onBlur?.(e)\n },\n () => {\n isBackingOut.value = false\n }\n )\n\n const handleEntryFocus = (...args: any[]) => {\n emit('entryFocus', ...args)\n }\n\n provide(ROVING_FOCUS_GROUP_INJECTION_KEY, {\n currentTabbedId: readonly(currentTabbedId),\n loop: toRef(props, 'loop'),\n tabIndex: computed(() => {\n return unref(isBackingOut) ? -1 : 0\n }),\n rovingFocusGroupRef,\n rovingFocusGroupRootStyle,\n orientation: toRef(props, 'orientation'),\n dir: toRef(props, 'dir'),\n onItemFocus,\n onItemShiftTab,\n onBlur,\n onFocus,\n onMousedown,\n })\n\n watch(\n () => props.currentTabId,\n (val) => {\n currentTabbedId.value = val ?? null\n }\n )\n\n onMounted(() => {\n const rovingFocusGroupEl = unref(rovingFocusGroupRef)!\n on(rovingFocusGroupEl, ENTRY_FOCUS_EVT, handleEntryFocus)\n })\n\n onBeforeUnmount(() => {\n const rovingFocusGroupEl = unref(rovingFocusGroupRef)!\n off(rovingFocusGroupEl, ENTRY_FOCUS_EVT, handleEntryFocus)\n })\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AA4BA,MAAM,4BAA4B;AAElC,MAAM,kBAAkB;AACxB,MAAM,WAAsB,EAAE,SAAS,OAAO,YAAY;AAC1D,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,OAAO,CAAC,2BAA2B;AAAA,EACnC,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM;AAGN,UAAM,eAAe;AACrB,UAAM,eAAe,IAAI;AACzB,UAAM,0BAA8C;AACpD,UAAM,sBACJ;AAGF,UAAM;AAGJ;AAAO;AACL;AACW;AAAA;AAEL;AAAA;AAIV;AACE,sCAAgC;AAAA;AAGlC;AACE,2BAAqB;AAAA;AAGvB;AAEI;AAAoB,aAEhB;AACJ,mBAAa;AAAQ;AAIzB;AAEI;AAAgB;AAGhB;AACA;AACA;AAKE,8BAAsB;AACtB,qCAA6B;AAE7B;AACE,yDAI2B;AAC3B,6BAAmB,YAAY,cAAc;AAC7C;AAGA,gBAAM,0BAA2B;AAGjC,gBAAM,+CAA+C;AACrD;AAAW;AAAA;AAIf;AAAqB;AAIzB;AAEI;AAAe,OAEjB;AACE,mBAAa;AAAQ;AAIzB,UAAM,gCAAuC;AAC3C;AAAsB;AAGxB;AAA0C;AACd,MAC1B,mBAAmB;AAAA,MACnB;AACE;AAAkC;AAAA,MAEpC;AAAA,MACA;AAAA;AAC0B;AACR,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAGF;AAGI;AAA+B;AAInC;AACE;AACA;AAAwC;AAG1C,oBAAgB;AACd,YAAM,qBAAqB,MAAM;AACjC;AAAyC;AAAA;AAAA;;;;AA5JrC;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"roving-focus-group2.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.vue"],"sourcesContent":["<template>\n <el-focus-group-collection>\n <el-roving-focus-group-impl v-bind=\"$attrs\">\n <slot />\n </el-roving-focus-group-impl>\n </el-focus-group-collection>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport ElRovingFocusGroupImpl from './roving-focus-group-impl.vue'\nimport { ElCollection as ElFocusGroupCollection } from './roving-focus-group'\n\nexport default defineComponent({\n name: 'ElRovingFocusGroup',\n components: {\n ElFocusGroupCollection,\n ElRovingFocusGroupImpl,\n },\n})\n</script>\n"],"names":["ElFocusGroupCollection","_createBlock","_withCtx","_normalizeProps"],"mappings":";;;;;AAaA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,4BACVA;AAAA,IACA;AAAA;AAAA;;;;sBAb6BC;AAAA,aAF7BC,QAE6B;AAAA,yDADnBC;AAAA,iBAARD,QAAQ;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"roving-focus-group2.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-group.vue"],"sourcesContent":["<template>\n <el-focus-group-collection>\n <el-roving-focus-group-impl v-bind=\"$attrs\">\n <slot />\n </el-roving-focus-group-impl>\n </el-focus-group-collection>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport ElRovingFocusGroupImpl from './roving-focus-group-impl.vue'\nimport { ElCollection as ElFocusGroupCollection } from './roving-focus-group'\n\nexport default defineComponent({\n name: 'ElRovingFocusGroup',\n components: {\n ElFocusGroupCollection,\n ElRovingFocusGroupImpl,\n },\n})\n</script>\n"],"names":["ElFocusGroupCollection","_createBlock","_createVNode","_renderSlot"],"mappings":";;;;;AAaA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,4BACVA;AAAA,IACA;AAAA;AAAA;;;;sBAhBFC,YAI4B;AAAA,qBAH1B,MAE6B;AAAA,MAF7BC,YAE6B,yEAFO,eAAM;AAAA,yBACxC,MAAQ;AAAA,UAARC,WAAQ;AAAA;AAAA;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"roving-focus-item.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-item.vue"],"sourcesContent":["<template>\n <el-roving-focus-collection-item\n :id=\"id\"\n :focusable=\"focusable\"\n :active=\"active\"\n >\n <slot />\n </el-roving-focus-collection-item>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n ref,\n unref,\n nextTick,\n provide,\n} from 'vue'\nimport { useId } from '@element-plus/hooks'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ElCollectionItem as ElRovingFocusCollectionItem,\n} from './roving-focus-group'\nimport {\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n} from './tokens'\nimport { getFocusIntent, reorderArray, focusFirst } from './utils'\n\nexport default defineComponent({\n components: {\n ElRovingFocusCollectionItem,\n },\n props: {\n focusable: {\n type: Boolean,\n default: true,\n },\n active: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['mousedown', 'focus', 'keydown'],\n setup(props, { emit }) {\n const { currentTabbedId, loop, onItemFocus, onItemShiftTab } = inject(\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n undefined\n )!\n\n const { getItems } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const id = useId()\n const rovingFocusGroupItemRef = ref<HTMLElement | null>(null)\n\n const handleMousedown = composeEventHandlers(\n (e: Event) => {\n emit('mousedown', e)\n },\n (e) => {\n if (!props.focusable) {\n e.preventDefault()\n } else {\n onItemFocus(unref(id))\n }\n }\n )\n\n const handleFocus = composeEventHandlers(\n (e: Event) => {\n emit('focus', e)\n },\n () => {\n onItemFocus(unref(id))\n }\n )\n\n const handleKeydown = composeEventHandlers(\n (e: Event) => {\n emit('keydown', e)\n },\n (e) => {\n const { key, shiftKey, target, currentTarget } = e as KeyboardEvent\n if (key === EVENT_CODE.tab && shiftKey) {\n onItemShiftTab()\n return\n }\n if (target !== currentTarget) return\n const focusIntent = getFocusIntent(e as KeyboardEvent)\n\n if (focusIntent) {\n e.preventDefault()\n const items = getItems<typeof props>().filter(\n (item) => item.focusable\n )\n\n let elements = items.map((item) => item.ref!)\n\n switch (focusIntent) {\n case 'last': {\n elements.reverse()\n break\n }\n case 'prev':\n case 'next': {\n if (focusIntent === 'prev') {\n elements.reverse()\n }\n const currentIdx = elements.indexOf(currentTarget as HTMLElement)\n elements = loop.value\n ? reorderArray(elements, currentIdx + 1)\n : elements.slice(currentIdx + 1)\n break\n }\n default: {\n break\n }\n }\n\n nextTick(() => {\n focusFirst(elements)\n })\n }\n }\n )\n\n const isCurrentTab = computed(() => currentTabbedId.value === unref(id))\n\n provide(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, {\n rovingFocusGroupItemRef,\n tabIndex: computed(() => (unref(isCurrentTab) ? 0 : -1)),\n handleMousedown,\n handleFocus,\n handleKeydown,\n })\n\n return {\n id,\n handleKeydown,\n handleFocus,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["ElRovingFocusCollectionItem","ROVING_FOCUS_COLLECTION_INJECTION_KEY","_openBlock","_createBlock","_withCtx"],"mappings":";;;;;;;;;;;;AAiCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,iCACVA;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,OAAO,CAAC,aAAa,SAAS;AAAA,EAC9B,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,iBAAiB,MAAM,aAAa,mBAAmB,OAC7D,kCACA;AAGF,UAAM,EAAE,aAAa,OACnBC,0BACA;AAGF,UAAM,KAAK;AACX,UAAM,0BAA0B,IAAwB;AAExD,UAAM,kBAAkB,qBACtB,CAAC,MAAa;AACZ,WAAK,aAAa;AAAA,OAEpB,CAAC,MAAM;AACL,UAAI,CAAC,MAAM,WAAW;AACpB,UAAE;AAAA,aACG;AACL,oBAAY,MAAM;AAAA;AAAA;AAKxB,UAAM,cAAc,qBAClB,CAAC,MAAa;AACZ,WAAK,SAAS;AAAA,OAEhB,MAAM;AACJ,kBAAY,MAAM;AAAA;AAItB,UAAM,gBAAgB,qBACpB,CAAC,MAAa;AACZ,WAAK,WAAW;AAAA,OAElB,CAAC,MAAM;AACL,YAAM,EAAE,KAAK,UAAU,QAAQ,kBAAkB;AACjD,UAAI,QAAQ,WAAW,OAAO,UAAU;AACtC;AACA;AAAA;AAEF,UAAI,WAAW;AAAe;AAC9B,YAAM,cAAc,eAAe;AAEnC,UAAI,aAAa;AACf,UAAE;AACF,cAAM,QAAQ,WAAyB,OACrC,CAAC,SAAS,KAAK;AAGjB,YAAI,WAAW,MAAM,IAAI,CAAC,SAAS,KAAK;AAExC,gBAAQ;AAAA,eACD,QAAQ;AACX,qBAAS;AACT;AAAA;AAAA,eAEG;AAAA,eACA,QAAQ;AACX,gBAAI,gBAAgB,QAAQ;AAC1B,uBAAS;AAAA;AAEX,kBAAM,aAAa,SAAS,QAAQ;AACpC,uBAAW,KAAK,QACZ,aAAa,UAAU,aAAa,KACpC,SAAS,MAAM,aAAa;AAChC;AAAA;AAAA,mBAEO;AACP;AAAA;AAAA;AAIJ,iBAAS,MAAM;AACb,qBAAW;AAAA;AAAA;AAAA;AAMnB,UAAM,eAAe,SAAS,MAAM,gBAAgB,UAAU,MAAM;AAEpE,YAAQ,uCAAuC;AAAA,MAC7C;AAAA,MACA,UAAU,SAAS,MAAO,MAAM,gBAAgB,IAAI;AAAA,MACpD;AAAA,MACA;AAAA,MACA;AAAA;AAGF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SAjJGC,aAAEC;AAAA,IACN,SAAS;AAAA,IACT,WAAQ;AAAA;;aAETC,QAAQ;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"roving-focus-item.mjs","sources":["../../../../../../packages/components/roving-focus-group/src/roving-focus-item.vue"],"sourcesContent":["<template>\n <el-roving-focus-collection-item\n :id=\"id\"\n :focusable=\"focusable\"\n :active=\"active\"\n >\n <slot />\n </el-roving-focus-collection-item>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n ref,\n unref,\n nextTick,\n provide,\n} from 'vue'\nimport { useId } from '@element-plus/hooks'\nimport { composeEventHandlers } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport {\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n ElCollectionItem as ElRovingFocusCollectionItem,\n} from './roving-focus-group'\nimport {\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,\n} from './tokens'\nimport { getFocusIntent, reorderArray, focusFirst } from './utils'\n\nexport default defineComponent({\n components: {\n ElRovingFocusCollectionItem,\n },\n props: {\n focusable: {\n type: Boolean,\n default: true,\n },\n active: {\n type: Boolean,\n default: false,\n },\n },\n emits: ['mousedown', 'focus', 'keydown'],\n setup(props, { emit }) {\n const { currentTabbedId, loop, onItemFocus, onItemShiftTab } = inject(\n ROVING_FOCUS_GROUP_INJECTION_KEY,\n undefined\n )!\n\n const { getItems } = inject(\n ROVING_FOCUS_COLLECTION_INJECTION_KEY,\n undefined\n )!\n\n const id = useId()\n const rovingFocusGroupItemRef = ref<HTMLElement | null>(null)\n\n const handleMousedown = composeEventHandlers(\n (e: Event) => {\n emit('mousedown', e)\n },\n (e) => {\n if (!props.focusable) {\n e.preventDefault()\n } else {\n onItemFocus(unref(id))\n }\n }\n )\n\n const handleFocus = composeEventHandlers(\n (e: Event) => {\n emit('focus', e)\n },\n () => {\n onItemFocus(unref(id))\n }\n )\n\n const handleKeydown = composeEventHandlers(\n (e: Event) => {\n emit('keydown', e)\n },\n (e) => {\n const { key, shiftKey, target, currentTarget } = e as KeyboardEvent\n if (key === EVENT_CODE.tab && shiftKey) {\n onItemShiftTab()\n return\n }\n if (target !== currentTarget) return\n const focusIntent = getFocusIntent(e as KeyboardEvent)\n\n if (focusIntent) {\n e.preventDefault()\n const items = getItems<typeof props>().filter(\n (item) => item.focusable\n )\n\n let elements = items.map((item) => item.ref!)\n\n switch (focusIntent) {\n case 'last': {\n elements.reverse()\n break\n }\n case 'prev':\n case 'next': {\n if (focusIntent === 'prev') {\n elements.reverse()\n }\n const currentIdx = elements.indexOf(currentTarget as HTMLElement)\n elements = loop.value\n ? reorderArray(elements, currentIdx + 1)\n : elements.slice(currentIdx + 1)\n break\n }\n default: {\n break\n }\n }\n\n nextTick(() => {\n focusFirst(elements)\n })\n }\n }\n )\n\n const isCurrentTab = computed(() => currentTabbedId.value === unref(id))\n\n provide(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY, {\n rovingFocusGroupItemRef,\n tabIndex: computed(() => (unref(isCurrentTab) ? 0 : -1)),\n handleMousedown,\n handleFocus,\n handleKeydown,\n })\n\n return {\n id,\n handleKeydown,\n handleFocus,\n handleMousedown,\n }\n },\n})\n</script>\n"],"names":["ElRovingFocusCollectionItem","ROVING_FOCUS_COLLECTION_INJECTION_KEY","_createBlock","_renderSlot"],"mappings":";;;;;;;;;;;;AAiCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,iCACVA;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,OAAO,CAAC,aAAa,SAAS;AAAA,EAC9B,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,iBAAiB,MAAM,aAAa,mBAAmB,OAC7D,kCACA;AAGF,UAAM,EAAE,aAAa,OACnBC,0BACA;AAGF,UAAM,KAAK;AACX,UAAM,0BAA0B,IAAwB;AAExD,UAAM,kBAAkB,qBACtB,CAAC,MAAa;AACZ,WAAK,aAAa;AAAA,OAEpB,CAAC,MAAM;AACL,UAAI,CAAC,MAAM,WAAW;AACpB,UAAE;AAAA,aACG;AACL,oBAAY,MAAM;AAAA;AAAA;AAKxB,UAAM,cAAc,qBAClB,CAAC,MAAa;AACZ,WAAK,SAAS;AAAA,OAEhB,MAAM;AACJ,kBAAY,MAAM;AAAA;AAItB,UAAM,gBAAgB,qBACpB,CAAC,MAAa;AACZ,WAAK,WAAW;AAAA,OAElB,CAAC,MAAM;AACL,YAAM,EAAE,KAAK,UAAU,QAAQ,kBAAkB;AACjD,UAAI,QAAQ,WAAW,OAAO,UAAU;AACtC;AACA;AAAA;AAEF,UAAI,WAAW;AAAe;AAC9B,YAAM,cAAc,eAAe;AAEnC,UAAI,aAAa;AACf,UAAE;AACF,cAAM,QAAQ,WAAyB,OACrC,CAAC,SAAS,KAAK;AAGjB,YAAI,WAAW,MAAM,IAAI,CAAC,SAAS,KAAK;AAExC,gBAAQ;AAAA,eACD,QAAQ;AACX,qBAAS;AACT;AAAA;AAAA,eAEG;AAAA,eACA,QAAQ;AACX,gBAAI,gBAAgB,QAAQ;AAC1B,uBAAS;AAAA;AAEX,kBAAM,aAAa,SAAS,QAAQ;AACpC,uBAAW,KAAK,QACZ,aAAa,UAAU,aAAa,KACpC,SAAS,MAAM,aAAa;AAChC;AAAA;AAAA,mBAEO;AACP;AAAA;AAAA;AAIJ,iBAAS,MAAM;AACb,qBAAW;AAAA;AAAA;AAAA;AAMnB,UAAM,eAAe,SAAS,MAAM,gBAAgB,UAAU,MAAM;AAEpE,YAAQ,uCAAuC;AAAA,MAC7C;AAAA,MACA,UAAU,SAAS,MAAO,MAAM,gBAAgB,IAAI;AAAA,MACpD;AAAA,MACA;AAAA,MACA;AAAA;AAGF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;sBAlJJC,YAMkC;AAAA,IAL/B,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,QAAQ;AAAA;qBAET,MAAQ;AAAA,MAARC,WAAQ;AAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb :move=\"moveX\" :ratio=\"ratioX\" :size=\"width\" :always=\"always\" />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"height\"\n vertical\n :always=\"always\"\n />\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\n\nexport default defineComponent({\n components: {\n Thumb,\n },\n props: barProps,\n setup(props) {\n const moveX = ref(0)\n const moveY = ref(0)\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const handleScroll = (wrap: HTMLDivElement) => {\n if (wrap) {\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * props.ratioY\n moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * props.ratioX\n }\n }\n\n return {\n handleScroll,\n moveX,\n moveY,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;AAeA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQ,IAAI;AAClB,UAAM,QAAQ,IAAI;AAClB,UAAM,MAAM;AAEZ,UAAM,eAAe,CAAC,SAAyB;AAC7C,UAAI,MAAM;AACR,cAAM,eAAe,KAAK,eAAe;AACzC,cAAM,cAAc,KAAK,cAAc;AAEvC,cAAM,QAAU,KAAK,YAAY,MAAO,eAAgB,MAAM;AAC9D,cAAM,QAAU,KAAK,aAAa,MAAO,cAAe,MAAM;AAAA;AAAA;AAIlE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SArCJA,aAAsEC;AAAA,gBAAxD,kBAAK;AAAA,MAAG,MAAK,KAAE;AAAA,MAAS,OAAM;AAAA,MAAQ,MAAM,KAAE;AAAA;OAC5D,SAME;AAAA,gBALO,kBAAK;AAAA,MACX,MAAK,KAAE;AAAA,MACP,OAAM;AAAA,MACP;AAAA,MACC,UAAQ;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb :move=\"moveX\" :ratio=\"ratioX\" :size=\"width\" :always=\"always\" />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"height\"\n vertical\n :always=\"always\"\n />\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\n\nexport default defineComponent({\n components: {\n Thumb,\n },\n props: barProps,\n setup(props) {\n const moveX = ref(0)\n const moveY = ref(0)\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const handleScroll = (wrap: HTMLDivElement) => {\n if (wrap) {\n const offsetHeight = wrap.offsetHeight - GAP\n const offsetWidth = wrap.offsetWidth - GAP\n\n moveY.value = ((wrap.scrollTop * 100) / offsetHeight) * props.ratioY\n moveX.value = ((wrap.scrollLeft * 100) / offsetWidth) * props.ratioX\n }\n }\n\n return {\n handleScroll,\n moveX,\n moveY,\n }\n },\n})\n</script>\n"],"names":["_createVNode"],"mappings":";;;;;AAeA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,QAAQ,IAAI;AAClB,UAAM,QAAQ,IAAI;AAClB,UAAM,MAAM;AAEZ,UAAM,eAAe,CAAC,SAAyB;AAC7C,UAAI,MAAM;AACR,cAAM,eAAe,KAAK,eAAe;AACzC,cAAM,cAAc,KAAK,cAAc;AAEvC,cAAM,QAAU,KAAK,YAAY,MAAO,eAAgB,MAAM;AAC9D,cAAM,QAAU,KAAK,aAAa,MAAO,cAAe,MAAM;AAAA;AAAA;AAIlE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;IArCJA,YAAsE;AAAA,MAA9D,MAAM;AAAA,MAAQ,OAAO;AAAA,MAAS,MAAM;AAAA,MAAQ,QAAQ;AAAA;IAC5DA,YAME;AAAA,MALC,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACP;AAAA,MACC,QAAQ;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"scrollbar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n ></bar>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onMounted,\n provide,\n ref,\n watch,\n reactive,\n} from 'vue'\nimport { useResizeObserver, useEventListener } from '@vueuse/core'\nimport { isNumber, debugWarn, addUnit } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport Bar from './bar.vue'\n\nimport { scrollbarProps, scrollbarEmits } from './scrollbar'\nimport type { StyleValue, CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElScrollbar',\n components: {\n Bar,\n },\n props: scrollbarProps,\n emits: scrollbarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('scrollbar')\n\n let stopResizeObserver: (() => void) | undefined = undefined\n let stopResizeListener: (() => void) | undefined = undefined\n\n const scrollbar$ = ref<HTMLDivElement>()\n const wrap$ = ref<HTMLDivElement>()\n const resize$ = ref<HTMLElement>()\n\n const sizeWidth = ref('0')\n const sizeHeight = ref('0')\n const barRef = ref()\n const moveX = ref(0)\n const moveY = ref(0)\n const ratioY = ref(1)\n const ratioX = ref(1)\n const SCOPE = 'ElScrollbar'\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n })\n\n const handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n }\n\n const setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n }\n\n const setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n }\n\n const update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n }\n\n watch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n )\n\n watch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n )\n\n provide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n )\n\n onMounted(() => {\n if (!props.native) nextTick(() => update())\n })\n\n return {\n ns,\n scrollbar$,\n wrap$,\n resize$,\n barRef,\n moveX,\n moveY,\n ratioX,\n ratioY,\n sizeWidth,\n sizeHeight,\n style,\n update,\n handleScroll,\n setScrollTop,\n setScrollLeft,\n }\n },\n})\n</script>\n"],"names":["_normalizeClass"],"mappings":";;;;;;;;;;;;;AAqDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AAExB,QAAI,qBAA+C;AACnD,QAAI,qBAA+C;AAEnD,UAAM,aAAa;AACnB,UAAM,QAAQ;AACd,UAAM,UAAU;AAEhB,UAAM,YAAY,IAAI;AACtB,UAAM,aAAa,IAAI;AACvB,UAAM,SAAS;AACf,UAAM,QAAQ,IAAI;AAClB,UAAM,QAAQ,IAAI;AAClB,UAAM,SAAS,IAAI;AACnB,UAAM,SAAS,IAAI;AACnB,UAAM,QAAQ;AACd,UAAM,MAAM;AAEZ,UAAM,QAAQ,SAAqB,MAAM;AACvC,YAAM,SAAuB;AAC7B,UAAI,MAAM;AAAQ,eAAM,SAAS,QAAQ,MAAM;AAC/C,UAAI,MAAM;AAAW,eAAM,YAAY,QAAQ,MAAM;AACrD,aAAO,CAAC,MAAM,WAAW;AAAA;AAG3B,UAAM,eAAe,MAAM;AACzB,UAAI;AACF,eAAO;AAEP;AAAe,qBACF;AAAY,UACvB;AAAwB;AAAA;AAAA;AAK9B;AACE,UAAI;AACF,yBAAiB;AACjB;AAAA;AAEF;AAAyB;AAG3B;AACE,UAAI;AACF,yBAAiB;AACjB;AAAA;AAEF;AAA0B;AAG5B;AACE,UAAI;AAAc;AAClB;AACA,YAAM,oBAAoB,MAAM;AAEhC,YAAM,qCAAqC,MAAM;AACjD,YAAM;AACN,YAAM,wCAAwC;AAC9C,YAAM,aAAa,IAAI,eAAe;AAEtC;AAIA,aAAO,QACL,gDAEC;AAEH,kCAA4B;AAC5B,gBAAU,oCAAoC,GAAG,YAAY;AAAA;AAG/D;AAGI,UAAI;AACF;AACA;AAAA;AAEA;AAAC,QAAC;AACF;AAAgD;AAAA,OAGpD;AAGF;AAGI,UAAI,OAAO;AACT,iBAAS,MAAM;AACb;AACA,cAAI;AACF,mBAAO;AAA0B;AAAA;AAAA;AAM3C;AAEW,MACP;AAAkB;AACL;AAIjB;AACE;AAAmB;AAAe;AAGpC;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;SAhMK;AAAY;AAAO;;AAC1B;AACa;AACL,4BAAqB;AAAA;AAAU,aAAyBA;AAAE;;;AAMzD;;;AAIQ;AACP;AACW;;;AAET;;;;;AAGK;;AAET;AACH,MACA;AAAO,MACP;AAAQ,MACR,aAAS;AAAA,MACT,WAAS;AAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"scrollbar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n ></bar>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onMounted,\n provide,\n ref,\n watch,\n reactive,\n} from 'vue'\nimport { useResizeObserver, useEventListener } from '@vueuse/core'\nimport { isNumber, debugWarn, addUnit } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport Bar from './bar.vue'\n\nimport { scrollbarProps, scrollbarEmits } from './scrollbar'\nimport type { StyleValue, CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElScrollbar',\n components: {\n Bar,\n },\n props: scrollbarProps,\n emits: scrollbarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('scrollbar')\n\n let stopResizeObserver: (() => void) | undefined = undefined\n let stopResizeListener: (() => void) | undefined = undefined\n\n const scrollbar$ = ref<HTMLDivElement>()\n const wrap$ = ref<HTMLDivElement>()\n const resize$ = ref<HTMLElement>()\n\n const sizeWidth = ref('0')\n const sizeHeight = ref('0')\n const barRef = ref()\n const moveX = ref(0)\n const moveY = ref(0)\n const ratioY = ref(1)\n const ratioX = ref(1)\n const SCOPE = 'ElScrollbar'\n const GAP = 4 // top 2 + bottom 2 of bar instance\n\n const style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n })\n\n const handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n }\n\n const setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n }\n\n const setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n }\n\n const update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n }\n\n watch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n )\n\n watch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n )\n\n provide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n )\n\n onMounted(() => {\n if (!props.native) nextTick(() => update())\n })\n\n return {\n ns,\n scrollbar$,\n wrap$,\n resize$,\n barRef,\n moveX,\n moveY,\n ratioX,\n ratioY,\n sizeWidth,\n sizeHeight,\n style,\n update,\n handleScroll,\n setScrollTop,\n setScrollLeft,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAqDA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AAExB,QAAI,qBAA+C;AACnD,QAAI,qBAA+C;AAEnD,UAAM,aAAa;AACnB,UAAM,QAAQ;AACd,UAAM,UAAU;AAEhB,UAAM,YAAY,IAAI;AACtB,UAAM,aAAa,IAAI;AACvB,UAAM,SAAS;AACf,UAAM,QAAQ,IAAI;AAClB,UAAM,QAAQ,IAAI;AAClB,UAAM,SAAS,IAAI;AACnB,UAAM,SAAS,IAAI;AACnB,UAAM,QAAQ;AACd,UAAM,MAAM;AAEZ,UAAM,QAAQ,SAAqB,MAAM;AACvC,YAAM,SAAuB;AAC7B,UAAI,MAAM;AAAQ,eAAM,SAAS,QAAQ,MAAM;AAC/C,UAAI,MAAM;AAAW,eAAM,YAAY,QAAQ,MAAM;AACrD,aAAO,CAAC,MAAM,WAAW;AAAA;AAG3B,UAAM,eAAe,MAAM;AACzB,UAAI;AACF,eAAO;AAEP;AAAe,qBACF;AAAY,UACvB;AAAwB;AAAA;AAAA;AAK9B;AACE,UAAI;AACF,yBAAiB;AACjB;AAAA;AAEF;AAAyB;AAG3B;AACE,UAAI;AACF,yBAAiB;AACjB;AAAA;AAEF;AAA0B;AAG5B;AACE,UAAI;AAAc;AAClB;AACA,YAAM,oBAAoB,MAAM;AAEhC,YAAM,qCAAqC,MAAM;AACjD,YAAM;AACN,YAAM,wCAAwC;AAC9C,YAAM,aAAa,IAAI,eAAe;AAEtC;AAIA,aAAO,QACL,gDAEC;AAEH,kCAA4B;AAC5B,gBAAU,oCAAoC,GAAG,YAAY;AAAA;AAG/D;AAGI,UAAI;AACF;AACA;AAAA;AAEA;AAAC,QAAC;AACF;AAAgD;AAAA,OAGpD;AAGF;AAGI,UAAI,OAAO;AACT,iBAAS,MAAM;AACb;AACA,cAAI;AACF,mBAAO;AAA0B;AAAA;AAAA;AAM3C;AAEW,MACP;AAAkB;AACL;AAIjB;AACE;AAAmB;AAAe;AAGpC;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;2CAlKE;AAAA;AA9BG;AAAwB;IAC/B;AAkBM;AAjBA;AACE;AAAY;AAAuB,sBAA0B;AAA8B;AAAA;AAKzF;AACC;2DAGF;AAAG;AACJ;AACmB,QACtB;AAAO;;AAEA;AAAA;AAAA;;;;AAWH;;AAND,MACH;AAAQ,MACR;AAAO,MACP,QAAQ;AAAA,MACR,WAAS;AAAA,MACT;AAAS;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"thumb2.mjs","sources":["../../../../../../packages/components/scrollbar/src/thumb.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"always || visible\"\n ref=\"instance\"\n :class=\"[ns.e('bar'), ns.is(bar.key)]\"\n @mousedown=\"clickTrackHandler\"\n >\n <div\n ref=\"thumb\"\n :class=\"ns.e('thumb')\"\n :style=\"thumbStyle\"\n @mousedown=\"clickThumbHandler\"\n ></div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n ref,\n toRef,\n} from 'vue'\nimport { useEventListener, isClient } from '@vueuse/core'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { BAR_MAP, renderThumbStyle } from './util'\n\nimport { thumbProps } from './thumb'\n\nconst COMPONENT_NAME = 'Thumb'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: thumbProps,\n\n setup(props) {\n const scrollbar = inject(scrollbarContextKey)\n const ns = useNamespace('scrollbar')\n\n if (!scrollbar)\n throwError(COMPONENT_NAME, 'can not inject scrollbar context')\n\n const instance = ref<HTMLDivElement>()\n const thumb = ref<HTMLDivElement>()\n\n const thumbState = ref({})\n const visible = ref(false)\n\n let cursorDown = false\n let cursorLeave = false\n let originalOnSelectStart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = isClient ? document.onselectstart : null\n\n const bar = computed(\n () => BAR_MAP[props.vertical ? 'vertical' : 'horizontal']\n )\n\n const thumbStyle = computed(() =>\n renderThumbStyle({\n size: props.size,\n move: props.move,\n bar: bar.value,\n })\n )\n\n const offsetRatio = computed(\n () =>\n // offsetRatioX = original width of thumb / current width of thumb / ratioX\n // offsetRatioY = original height of thumb / current height of thumb / ratioY\n // instance height = wrap height - GAP\n instance.value![bar.value.offset] ** 2 /\n scrollbar.wrapElement![bar.value.scrollSize] /\n props.ratio /\n thumb.value![bar.value.offset]\n )\n\n const clickThumbHandler = (e: MouseEvent) => {\n // prevent click event of middle and right button\n e.stopPropagation()\n if (e.ctrlKey || [1, 2].includes(e.button)) return\n\n window.getSelection()?.removeAllRanges()\n startDrag(e)\n\n const el = e.currentTarget as HTMLDivElement\n if (!el) return\n thumbState.value[bar.value.axis] =\n el[bar.value.offset] -\n (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction])\n }\n\n const clickTrackHandler = (e: MouseEvent) => {\n if (!thumb.value || !instance.value || !scrollbar.wrapElement) return\n\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumb.value[bar.value.offset] / 2\n const thumbPositionPercentage =\n ((offset - thumbHalf) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage *\n scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n }\n\n const startDrag = (e: MouseEvent) => {\n e.stopImmediatePropagation()\n cursorDown = true\n document.addEventListener('mousemove', mouseMoveDocumentHandler)\n document.addEventListener('mouseup', mouseUpDocumentHandler)\n originalOnSelectStart = document.onselectstart\n document.onselectstart = () => false\n }\n\n const mouseMoveDocumentHandler = (e: MouseEvent) => {\n if (!instance.value || !thumb.value) return\n if (cursorDown === false) return\n\n const prevPage = thumbState.value[bar.value.axis]\n if (!prevPage) return\n\n const offset =\n (instance.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n const thumbClickPosition = thumb.value[bar.value.offset] - prevPage\n const thumbPositionPercentage =\n ((offset - thumbClickPosition) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage *\n scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n }\n\n const mouseUpDocumentHandler = () => {\n cursorDown = false\n thumbState.value[bar.value.axis] = 0\n document.removeEventListener('mousemove', mouseMoveDocumentHandler)\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n restoreOnselectstart()\n if (cursorLeave) visible.value = false\n }\n\n const mouseMoveScrollbarHandler = () => {\n cursorLeave = false\n visible.value = !!props.size\n }\n\n const mouseLeaveScrollbarHandler = () => {\n cursorLeave = true\n visible.value = cursorDown\n }\n\n onBeforeUnmount(() => {\n restoreOnselectstart()\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n })\n\n const restoreOnselectstart = () => {\n if (document.onselectstart !== originalOnSelectStart)\n document.onselectstart = originalOnSelectStart\n }\n\n useEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mousemove',\n mouseMoveScrollbarHandler\n )\n useEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mouseleave',\n mouseLeaveScrollbarHandler\n )\n\n return {\n ns,\n instance,\n thumb,\n bar,\n thumbStyle,\n visible,\n clickTrackHandler,\n clickThumbHandler,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AAmCA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,YAAY,OAAO;AACzB,UAAM,KAAK,aAAa;AAExB,QAAI,CAAC;AACH,iBAAW,gBAAgB;AAE7B,UAAM,WAAW;AACjB,UAAM,QAAQ;AAEd,UAAM,aAAa,IAAI;AACvB,UAAM,UAAU,IAAI;AAEpB,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,wBAEO,WAAW,SAAS,gBAAgB;AAE/C,UAAM,MAAM,SACV,MAAM,QAAQ,MAAM,WAAW,aAAa;AAG9C,UAAM,aAAa,SAAS,MAC1B,iBAAiB;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,MAAM,MAAM;AAAA,MACZ,KAAK,IAAI;AAAA;AAIb,UAAM,cAAc,SAClB,MAIE,SAAS,MAAO,IAAI,MAAM,WAAW,IACrC,UAAU,YAAa,IAAI,MAAM,cACjC,MAAM,QACN,MAAM,MAAO,IAAI,MAAM;AAG3B,UAAM,oBAAoB,CAAC,MAAkB;AAE3C;AACA,uBAAiB;AAA2B;AAE5C;AACA;AAEA,iBAAW,EAAE;AACb;AAAS;AACT;AAE8D;AAGhE;AACE,UAAI,iBAAiB;AAA0C;AAE/D;AAIA,YAAM,kBAAkB;AACxB,YAAM;AAIN,sCAAgC,UAC7B,oCACW,YAAY,UAAU,cAClC;AAAA;AAGJ;AACE;AACA;AACA;AACA,eAAS,iBAAiB,WAAW;AACrC;AACA;AAA+B;AAGjC;AACE,UAAI;AAAiC;AACrC;AAA0B;AAE1B;AACA;AAAe;AAEf;AAIA,YAAM,qDAAqD;AAC3D,YAAM,0BACF,UAAS;AAEb,sCAAgC,UAC7B,gDACuB,wBACxB;AAAA;AAGJ;AACE;AACA;AACA;AACA,eAAS,oBAAoB,WAAW;AACxC;AACA;AAAiB;AAAgB;AAGnC;AACE;AACA;AAAwB;AAG1B;AACE;AACA;AAAgB;AAGlB;AACE;AACA;AAAwC;AAG1C;AACE,UAAI;AACF;AAAyB;AAG7B;AAKA,qBACE,MAAM,WAAW,qBACjB;AAIF;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;SAhMe;AAAI;;;AACrB,qBAEM;AAAU;AACR,QACL;AAAW;;AAEZ;AACa;AACL,UACL;AAAO,UACP,sBAAS;AAAA;;;AATM;;;;;;;;;;;"}
1
+ {"version":3,"file":"thumb2.mjs","sources":["../../../../../../packages/components/scrollbar/src/thumb.vue"],"sourcesContent":["<template>\n <transition :name=\"ns.b('fade')\">\n <div\n v-show=\"always || visible\"\n ref=\"instance\"\n :class=\"[ns.e('bar'), ns.is(bar.key)]\"\n @mousedown=\"clickTrackHandler\"\n >\n <div\n ref=\"thumb\"\n :class=\"ns.e('thumb')\"\n :style=\"thumbStyle\"\n @mousedown=\"clickThumbHandler\"\n ></div>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n inject,\n onBeforeUnmount,\n ref,\n toRef,\n} from 'vue'\nimport { useEventListener, isClient } from '@vueuse/core'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { BAR_MAP, renderThumbStyle } from './util'\n\nimport { thumbProps } from './thumb'\n\nconst COMPONENT_NAME = 'Thumb'\nexport default defineComponent({\n name: COMPONENT_NAME,\n props: thumbProps,\n\n setup(props) {\n const scrollbar = inject(scrollbarContextKey)\n const ns = useNamespace('scrollbar')\n\n if (!scrollbar)\n throwError(COMPONENT_NAME, 'can not inject scrollbar context')\n\n const instance = ref<HTMLDivElement>()\n const thumb = ref<HTMLDivElement>()\n\n const thumbState = ref({})\n const visible = ref(false)\n\n let cursorDown = false\n let cursorLeave = false\n let originalOnSelectStart:\n | ((this: GlobalEventHandlers, ev: Event) => any)\n | null = isClient ? document.onselectstart : null\n\n const bar = computed(\n () => BAR_MAP[props.vertical ? 'vertical' : 'horizontal']\n )\n\n const thumbStyle = computed(() =>\n renderThumbStyle({\n size: props.size,\n move: props.move,\n bar: bar.value,\n })\n )\n\n const offsetRatio = computed(\n () =>\n // offsetRatioX = original width of thumb / current width of thumb / ratioX\n // offsetRatioY = original height of thumb / current height of thumb / ratioY\n // instance height = wrap height - GAP\n instance.value![bar.value.offset] ** 2 /\n scrollbar.wrapElement![bar.value.scrollSize] /\n props.ratio /\n thumb.value![bar.value.offset]\n )\n\n const clickThumbHandler = (e: MouseEvent) => {\n // prevent click event of middle and right button\n e.stopPropagation()\n if (e.ctrlKey || [1, 2].includes(e.button)) return\n\n window.getSelection()?.removeAllRanges()\n startDrag(e)\n\n const el = e.currentTarget as HTMLDivElement\n if (!el) return\n thumbState.value[bar.value.axis] =\n el[bar.value.offset] -\n (e[bar.value.client] - el.getBoundingClientRect()[bar.value.direction])\n }\n\n const clickTrackHandler = (e: MouseEvent) => {\n if (!thumb.value || !instance.value || !scrollbar.wrapElement) return\n\n const offset = Math.abs(\n (e.target as HTMLElement).getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]\n )\n const thumbHalf = thumb.value[bar.value.offset] / 2\n const thumbPositionPercentage =\n ((offset - thumbHalf) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage *\n scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n }\n\n const startDrag = (e: MouseEvent) => {\n e.stopImmediatePropagation()\n cursorDown = true\n document.addEventListener('mousemove', mouseMoveDocumentHandler)\n document.addEventListener('mouseup', mouseUpDocumentHandler)\n originalOnSelectStart = document.onselectstart\n document.onselectstart = () => false\n }\n\n const mouseMoveDocumentHandler = (e: MouseEvent) => {\n if (!instance.value || !thumb.value) return\n if (cursorDown === false) return\n\n const prevPage = thumbState.value[bar.value.axis]\n if (!prevPage) return\n\n const offset =\n (instance.value.getBoundingClientRect()[bar.value.direction] -\n e[bar.value.client]) *\n -1\n const thumbClickPosition = thumb.value[bar.value.offset] - prevPage\n const thumbPositionPercentage =\n ((offset - thumbClickPosition) * 100 * offsetRatio.value) /\n instance.value[bar.value.offset]\n scrollbar.wrapElement[bar.value.scroll] =\n (thumbPositionPercentage *\n scrollbar.wrapElement[bar.value.scrollSize]) /\n 100\n }\n\n const mouseUpDocumentHandler = () => {\n cursorDown = false\n thumbState.value[bar.value.axis] = 0\n document.removeEventListener('mousemove', mouseMoveDocumentHandler)\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n restoreOnselectstart()\n if (cursorLeave) visible.value = false\n }\n\n const mouseMoveScrollbarHandler = () => {\n cursorLeave = false\n visible.value = !!props.size\n }\n\n const mouseLeaveScrollbarHandler = () => {\n cursorLeave = true\n visible.value = cursorDown\n }\n\n onBeforeUnmount(() => {\n restoreOnselectstart()\n document.removeEventListener('mouseup', mouseUpDocumentHandler)\n })\n\n const restoreOnselectstart = () => {\n if (document.onselectstart !== originalOnSelectStart)\n document.onselectstart = originalOnSelectStart\n }\n\n useEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mousemove',\n mouseMoveScrollbarHandler\n )\n useEventListener(\n toRef(scrollbar, 'scrollbarElement'),\n 'mouseleave',\n mouseLeaveScrollbarHandler\n )\n\n return {\n ns,\n instance,\n thumb,\n bar,\n thumbStyle,\n visible,\n clickTrackHandler,\n clickThumbHandler,\n }\n },\n})\n</script>\n"],"names":["_normalizeClass"],"mappings":";;;;;;;;;;;;AAmCA,MAAM,iBAAiB;AACvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,YAAY,OAAO;AACzB,UAAM,KAAK,aAAa;AAExB,QAAI,CAAC;AACH,iBAAW,gBAAgB;AAE7B,UAAM,WAAW;AACjB,UAAM,QAAQ;AAEd,UAAM,aAAa,IAAI;AACvB,UAAM,UAAU,IAAI;AAEpB,QAAI,aAAa;AACjB,QAAI,cAAc;AAClB,QAAI,wBAEO,WAAW,SAAS,gBAAgB;AAE/C,UAAM,MAAM,SACV,MAAM,QAAQ,MAAM,WAAW,aAAa;AAG9C,UAAM,aAAa,SAAS,MAC1B,iBAAiB;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,MAAM,MAAM;AAAA,MACZ,KAAK,IAAI;AAAA;AAIb,UAAM,cAAc,SAClB,MAIE,SAAS,MAAO,IAAI,MAAM,WAAW,IACrC,UAAU,YAAa,IAAI,MAAM,cACjC,MAAM,QACN,MAAM,MAAO,IAAI,MAAM;AAG3B,UAAM,oBAAoB,CAAC,MAAkB;AAE3C;AACA,uBAAiB;AAA2B;AAE5C;AACA;AAEA,iBAAW,EAAE;AACb;AAAS;AACT;AAE8D;AAGhE;AACE,UAAI,iBAAiB;AAA0C;AAE/D;AAIA,YAAM,kBAAkB;AACxB,YAAM;AAIN,sCAAgC,UAC7B,oCACW,YAAY,UAAU,cAClC;AAAA;AAGJ;AACE;AACA;AACA;AACA,eAAS,iBAAiB,WAAW;AACrC;AACA;AAA+B;AAGjC;AACE,UAAI;AAAiC;AACrC;AAA0B;AAE1B;AACA;AAAe;AAEf;AAIA,YAAM,qDAAqD;AAC3D,YAAM,0BACF,UAAS;AAEb,sCAAgC,UAC7B,gDACuB,wBACxB;AAAA;AAGJ;AACE;AACA;AACA;AACA,eAAS,oBAAoB,WAAW;AACxC;AACA;AAAiB;AAAgB;AAGnC;AACE;AACA;AAAwB;AAG1B;AACE;AACA;AAAgB;AAGlB;AACE;AACA;AAAwC;AAG1C;AACE,UAAI;AACF;AAAyB;AAG7B;AAKA,qBACE,MAAM,WAAW,qBACjB;AAIF;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;AAlLS;AAdU;;AAaf,qBAZN;AAYM;AAVA,QACH;AAA+B,QAC/B,mDAAW;AAAA;;AAOL;AAJD,UACH;AAAW,UACX,OAAKA,eAAE;AAAA,UACP;AAAW;;;AATI;AAAA;AAAA;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"option-group.mjs","sources":["../../../../../../packages/components/select/src/option-group.vue"],"sourcesContent":["<template>\n <ul v-show=\"visible\" :class=\"ns.be('group', 'wrap')\">\n <li :class=\"ns.be('group', 'title')\">{{ label }}</li>\n <li>\n <ul :class=\"ns.b('group')\">\n <slot></slot>\n </ul>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n inject,\n ref,\n reactive,\n toRefs,\n getCurrentInstance,\n onMounted,\n watch,\n toRaw,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { selectGroupKey, selectKey } from './token'\n\nexport default defineComponent({\n name: 'ElOptionGroup',\n componentName: 'ElOptionGroup',\n\n props: {\n label: String,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const ns = useNamespace('select')\n const visible = ref(true)\n const instance = getCurrentInstance()\n const children = ref([])\n\n provide(\n selectGroupKey,\n reactive({\n ...toRefs(props),\n })\n )\n\n const select = inject(selectKey)\n\n onMounted(() => {\n children.value = flattedChildren(instance.subTree)\n })\n\n // get all instances of options\n const flattedChildren = (node) => {\n const children = []\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n if (\n child.type &&\n child.type.name === 'ElOption' &&\n child.component &&\n child.component.proxy\n ) {\n children.push(child.component.proxy)\n } else if (child.children?.length) {\n children.push(...flattedChildren(child))\n }\n })\n }\n return children\n }\n\n const { groupQueryChange } = toRaw(select)\n watch(groupQueryChange, () => {\n visible.value = children.value.some((option) => option.visible === true)\n })\n\n return {\n visible,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;AA2BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EAEf,OAAO;AAAA,IACL,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW;AACjB,UAAM,WAAW,IAAI;AAErB,YACE,gBACA,SAAS;AAAA,SACJ,OAAO;AAAA;AAId,UAAM,SAAS,OAAO;AAEtB,cAAU,MAAM;AACd,eAAS,QAAQ,gBAAgB,SAAS;AAAA;AAI5C,UAAM,kBAAkB,CAAC,SAAS;AAChC,YAAM,YAAW;AACjB,UAAI,MAAM,QAAQ,KAAK,WAAW;AAChC,aAAK,SAAS,QAAQ,CAAC,UAAU;AAC/B,cACE;AAKA,iCAAoB,UAAU;AAAA,qBACrB,MAAM;AACf,sBAAS,KAAK,mBAAmB;AAAA;AAAA;AAAA;AAIvC;AAAO;AAGT;AACA,UAAM,kBAAkB;AACtB;AAAmE;AAGrE;AAAO;AACL,MACA;AAAA;AAAA;AAAA;;SAnFuB;AAAO;;AAChC;AAAY;AAAiC;AAKxC,uBAHH;AAEK;AAFO;;AACV;;;;AAJM;;;;;;;;"}
1
+ {"version":3,"file":"option-group.mjs","sources":["../../../../../../packages/components/select/src/option-group.vue"],"sourcesContent":["<template>\n <ul v-show=\"visible\" :class=\"ns.be('group', 'wrap')\">\n <li :class=\"ns.be('group', 'title')\">{{ label }}</li>\n <li>\n <ul :class=\"ns.b('group')\">\n <slot></slot>\n </ul>\n </li>\n </ul>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n provide,\n inject,\n ref,\n reactive,\n toRefs,\n getCurrentInstance,\n onMounted,\n watch,\n toRaw,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { selectGroupKey, selectKey } from './token'\n\nexport default defineComponent({\n name: 'ElOptionGroup',\n componentName: 'ElOptionGroup',\n\n props: {\n label: String,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const ns = useNamespace('select')\n const visible = ref(true)\n const instance = getCurrentInstance()\n const children = ref([])\n\n provide(\n selectGroupKey,\n reactive({\n ...toRefs(props),\n })\n )\n\n const select = inject(selectKey)\n\n onMounted(() => {\n children.value = flattedChildren(instance.subTree)\n })\n\n // get all instances of options\n const flattedChildren = (node) => {\n const children = []\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n if (\n child.type &&\n child.type.name === 'ElOption' &&\n child.component &&\n child.component.proxy\n ) {\n children.push(child.component.proxy)\n } else if (child.children?.length) {\n children.push(...flattedChildren(child))\n }\n })\n }\n return children\n }\n\n const { groupQueryChange } = toRaw(select)\n watch(groupQueryChange, () => {\n visible.value = children.value.some((option) => option.visible === true)\n })\n\n return {\n visible,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;AA2BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EAEf,OAAO;AAAA,IACL,OAAO;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,UAAU,IAAI;AACpB,UAAM,WAAW;AACjB,UAAM,WAAW,IAAI;AAErB,YACE,gBACA,SAAS;AAAA,SACJ,OAAO;AAAA;AAId,UAAM,SAAS,OAAO;AAEtB,cAAU,MAAM;AACd,eAAS,QAAQ,gBAAgB,SAAS;AAAA;AAI5C,UAAM,kBAAkB,CAAC,SAAS;AAChC,YAAM,YAAW;AACjB,UAAI,MAAM,QAAQ,KAAK,WAAW;AAChC,aAAK,SAAS,QAAQ,CAAC,UAAU;AAC/B,cACE;AAKA,iCAAoB,UAAU;AAAA,qBACrB,MAAM;AACf,sBAAS,KAAK,mBAAmB;AAAA;AAAA;AAAA;AAIvC;AAAO;AAGT;AACA,UAAM,kBAAkB;AACtB;AAAmE;AAGrE;AAAO;AACL,MACA;AAAA;AAAA;AAAA;;;AA5EC,oCAP6B;AAAA;;AACqB;AAApC,oCAA4B;AAAA,uBAKxC;AAAA;AADE;AAFW;;AACD;;;;AAJP;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"option.mjs","sources":["../../../../../../packages/components/select/src/option.vue"],"sourcesContent":["<template>\n <li\n v-show=\"visible\"\n :class=\"[\n ns.be('dropdown', 'item'),\n ns.is('disabled', isDisabled),\n {\n selected: itemSelected,\n hover,\n },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot>\n <span>{{ currentLabel }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n reactive,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport type { SelectOptionProxy } from './token'\n\nexport default defineComponent({\n name: 'ElOption',\n componentName: 'ElOption',\n\n props: {\n value: {\n required: true,\n type: [String, Number, Boolean, Object],\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup(props) {\n const ns = useNamespace('select')\n const states = reactive({\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false,\n })\n\n const { currentLabel, itemSelected, isDisabled, select, hoverItem } =\n useOption(props, states)\n\n const { visible, hover } = toRefs(states)\n\n const vm = getCurrentInstance().proxy\n const key = (vm as unknown as SelectOptionProxy).value\n select.onOptionCreate(vm as unknown as SelectOptionProxy)\n\n onBeforeUnmount(() => {\n const { selected } = select\n const selectedOptions = select.props.multiple ? selected : [selected]\n const doesExist = select.cachedOptions.has(key)\n const doesSelected = selectedOptions.some((item) => {\n return item.value === (vm as unknown as SelectOptionProxy).value\n })\n // if option is not selected, remove it from cache\n if (doesExist && !doesSelected) {\n select.cachedOptions.delete(key)\n }\n select.onOptionDestroy(key)\n })\n\n function selectOptionClick() {\n if (props.disabled !== true && states.groupDisabled !== true) {\n select.handleOptionSelect(vm, true)\n }\n }\n\n return {\n ns,\n currentLabel,\n itemSelected,\n isDisabled,\n select,\n hoverItem,\n visible,\n hover,\n selectOptionClick,\n states,\n }\n },\n})\n</script>\n"],"names":["_withDirectives","_normalizeClass"],"mappings":";;;;;;AAgCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EAEf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAM,CAAC,QAAQ,QAAQ,SAAS;AAAA;AAAA,IAElC,OAAO,CAAC,QAAQ;AAAA,IAChB,SAAS;AAAA,IACT,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,SAAS,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe;AAAA,MACf,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA;AAGT,UAAM,EAAE,cAAc,cAAc,YAAY,QAAQ,cACtD,UAAU,OAAO;AAEnB,UAAM,EAAE,SAAS,UAAU,OAAO;AAElC,UAAM,KAAK,qBAAqB;AAChC,UAAM,MAAO,GAAoC;AACjD,WAAO,eAAe;AAEtB,oBAAgB,MAAM;AACpB,YAAM,EAAE,aAAa;AACrB,YAAM,kBAAkB,OAAO,MAAM,WAAW,WAAW,CAAC;AAC5D,YAAM,YAAY,OAAO,cAAc,IAAI;AAC3C,YAAM,eAAe,gBAAgB,KAAK,CAAC,SAAS;AAClD,eAAO,KAAK,UAAW,GAAoC;AAAA;AAG7D,UAAI,aAAa,CAAC,cAAc;AAC9B,eAAO,cAAc,OAAO;AAAA;AAE9B,aAAO,gBAAgB;AAAA;AAGzB,iCAA6B;AAC3B,UAAI,MAAM,aAAa,QAAQ,OAAO,kBAAkB,MAAM;AAC5D,eAAO,mBAAmB,IAAI;AAAA;AAAA;AAIlC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;2CAjGJ,yBAgBK;SAdGA;AAAA,WAAUC,eAAK;AAAA,MAA4B,QAAG,GAAE,YAAa;AAAA;;kBAA6D;AAAA;;;IAS/H,cAAK,yDAAO;AAAA;KAEb;AAAA,eACE,aAA+B;AAAA;;WAblB;AAAA;;;;;;;"}
1
+ {"version":3,"file":"option.mjs","sources":["../../../../../../packages/components/select/src/option.vue"],"sourcesContent":["<template>\n <li\n v-show=\"visible\"\n :class=\"[\n ns.be('dropdown', 'item'),\n ns.is('disabled', isDisabled),\n {\n selected: itemSelected,\n hover,\n },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot>\n <span>{{ currentLabel }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n reactive,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport type { SelectOptionProxy } from './token'\n\nexport default defineComponent({\n name: 'ElOption',\n componentName: 'ElOption',\n\n props: {\n value: {\n required: true,\n type: [String, Number, Boolean, Object],\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup(props) {\n const ns = useNamespace('select')\n const states = reactive({\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false,\n })\n\n const { currentLabel, itemSelected, isDisabled, select, hoverItem } =\n useOption(props, states)\n\n const { visible, hover } = toRefs(states)\n\n const vm = getCurrentInstance().proxy\n const key = (vm as unknown as SelectOptionProxy).value\n select.onOptionCreate(vm as unknown as SelectOptionProxy)\n\n onBeforeUnmount(() => {\n const { selected } = select\n const selectedOptions = select.props.multiple ? selected : [selected]\n const doesExist = select.cachedOptions.has(key)\n const doesSelected = selectedOptions.some((item) => {\n return item.value === (vm as unknown as SelectOptionProxy).value\n })\n // if option is not selected, remove it from cache\n if (doesExist && !doesSelected) {\n select.cachedOptions.delete(key)\n }\n select.onOptionDestroy(key)\n })\n\n function selectOptionClick() {\n if (props.disabled !== true && states.groupDisabled !== true) {\n select.handleOptionSelect(vm, true)\n }\n }\n\n return {\n ns,\n currentLabel,\n itemSelected,\n isDisabled,\n select,\n hoverItem,\n visible,\n hover,\n selectOptionClick,\n states,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode"],"mappings":";;;;;;AAgCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,eAAe;AAAA,EAEf,OAAO;AAAA,IACL,OAAO;AAAA,MACL,UAAU;AAAA,MACV,MAAM,CAAC,QAAQ,QAAQ,SAAS;AAAA;AAAA,IAElC,OAAO,CAAC,QAAQ;AAAA,IAChB,SAAS;AAAA,IACT,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,SAAS,SAAS;AAAA,MACtB,OAAO;AAAA,MACP,eAAe;AAAA,MACf,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA;AAGT,UAAM,EAAE,cAAc,cAAc,YAAY,QAAQ,cACtD,UAAU,OAAO;AAEnB,UAAM,EAAE,SAAS,UAAU,OAAO;AAElC,UAAM,KAAK,qBAAqB;AAChC,UAAM,MAAO,GAAoC;AACjD,WAAO,eAAe;AAEtB,oBAAgB,MAAM;AACpB,YAAM,EAAE,aAAa;AACrB,YAAM,kBAAkB,OAAO,MAAM,WAAW,WAAW,CAAC;AAC5D,YAAM,YAAY,OAAO,cAAc,IAAI;AAC3C,YAAM,eAAe,gBAAgB,KAAK,CAAC,SAAS;AAClD,eAAO,KAAK,UAAW,GAAoC;AAAA;AAG7D,UAAI,aAAa,CAAC,cAAc;AAC9B,eAAO,cAAc,OAAO;AAAA;AAE9B,aAAO,gBAAgB;AAAA;AAGzB,iCAA6B;AAC3B,UAAI,MAAM,aAAa,QAAQ,OAAO,kBAAkB,MAAM;AAC5D,eAAO,mBAAmB,IAAI;AAAA;AAAA;AAIlC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;sCAjGJA,mBAgBK;AAAA,IAdF,OAAKC;AAAA,MAAU,QAAG,GAAE;AAAA,MAA4B,QAAG,GAAE,YAAa;AAAA;kBAAuC;AAAA,eAAsB;AAAA;AAAA;AAAA,IAQ/H,cAAU,uCAAE;AAAA,IACZ,SAAK,qDAAO,2DAAiB;AAAA;IAE9BC,WAEO,4BAFP,MAEO;AAAA,MADLC,mBAA+B,8BAAtB,oBAAY;AAAA;AAAA;YAbf;AAAA;AAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select/src/select-dropdown.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dropdown'), ns.is('multiple', isMultiple), popperClass]\"\n :style=\"{ [isFitInputWidth ? 'width' : 'minWidth']: minWidth }\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n onMounted,\n onBeforeUnmount,\n inject,\n ref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addResizeListener, removeResizeListener } from '@element-plus/utils'\nimport { selectKey } from './token'\nimport type { ResizableElement } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n setup() {\n const select = inject(selectKey)!\n const ns = useNamespace('select')\n\n // computed\n const popperClass = computed(() => select.props.popperClass)\n const isMultiple = computed(() => select.props.multiple)\n const isFitInputWidth = computed(() => select.props.fitInputWidth)\n const minWidth = ref('')\n\n function updateMinWidth() {\n minWidth.value = `${\n select.selectWrapper?.getBoundingClientRect().width\n }px`\n }\n\n onMounted(() => {\n // TODO: updatePopper\n // popper.value.update()\n updateMinWidth()\n addResizeListener(\n select.selectWrapper as ResizableElement,\n updateMinWidth\n )\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(\n select.selectWrapper as ResizableElement,\n updateMinWidth\n )\n })\n\n return {\n ns,\n minWidth,\n popperClass,\n isMultiple,\n isFitInputWidth,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;AAuBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,eAAe;AAAA,EAEf,QAAQ;AACN,UAAM,SAAS,OAAO;AACtB,UAAM,KAAK,aAAa;AAGxB,UAAM,cAAc,SAAS,MAAM,OAAO,MAAM;AAChD,UAAM,aAAa,SAAS,MAAM,OAAO,MAAM;AAC/C,UAAM,kBAAkB,SAAS,MAAM,OAAO,MAAM;AACpD,UAAM,WAAW,IAAI;AAErB,8BAA0B;AACxB;AACgD;AAIlD;AAGE;AACA;AAEE;AAIJ;AACE;AAEE;AAIJ;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;SAhEI,kCAAO;AAAc;AACiC;;AAE5D;;;;;;;;"}
1
+ {"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select/src/select-dropdown.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dropdown'), ns.is('multiple', isMultiple), popperClass]\"\n :style=\"{ [isFitInputWidth ? 'width' : 'minWidth']: minWidth }\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n computed,\n onMounted,\n onBeforeUnmount,\n inject,\n ref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { addResizeListener, removeResizeListener } from '@element-plus/utils'\nimport { selectKey } from './token'\nimport type { ResizableElement } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElSelectDropdown',\n\n componentName: 'ElSelectDropdown',\n\n setup() {\n const select = inject(selectKey)!\n const ns = useNamespace('select')\n\n // computed\n const popperClass = computed(() => select.props.popperClass)\n const isMultiple = computed(() => select.props.multiple)\n const isFitInputWidth = computed(() => select.props.fitInputWidth)\n const minWidth = ref('')\n\n function updateMinWidth() {\n minWidth.value = `${\n select.selectWrapper?.getBoundingClientRect().width\n }px`\n }\n\n onMounted(() => {\n // TODO: updatePopper\n // popper.value.update()\n updateMinWidth()\n addResizeListener(\n select.selectWrapper as ResizableElement,\n updateMinWidth\n )\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(\n select.selectWrapper as ResizableElement,\n updateMinWidth\n )\n })\n\n return {\n ns,\n minWidth,\n popperClass,\n isMultiple,\n isFitInputWidth,\n }\n },\n})\n</script>\n"],"names":["_normalizeClass"],"mappings":";;;;;;;;AAuBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,eAAe;AAAA,EAEf,QAAQ;AACN,UAAM,SAAS,OAAO;AACtB,UAAM,KAAK,aAAa;AAGxB,UAAM,cAAc,SAAS,MAAM,OAAO,MAAM;AAChD,UAAM,aAAa,SAAS,MAAM,OAAO,MAAM;AAC/C,UAAM,kBAAkB,SAAS,MAAM,OAAO,MAAM;AACpD,UAAM,WAAW,IAAI;AAErB,8BAA0B;AACxB;AACgD;AAIlD;AAGE;AACA;AAEE;AAIJ;AACE;AAEE;AAIJ;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;2CA5DE;AAAA;AAJsD,IACzD,OAAKA;AAA8C;;AAEvC;;;;;;;"}