@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":"select.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectWrapper\"\n v-click-outside:[popperPaneRef]=\"handleClose\"\n :class=\"wrapperKls\"\n @click.stop=\"toggleMenu\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"dropMenuVisible\"\n placement=\"bottom-start\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n persistent\n @show=\"handleMenuEnter\"\n >\n <template #default>\n <div class=\"select-trigger\">\n <div\n v-if=\"multiple\"\n ref=\"tags\"\n :class=\"nsSelect.e('tags')\"\n :style=\"selectTagsStyle\"\n >\n <span\n v-if=\"collapseTags && selected.length\"\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n :closable=\"!selectDisabled && !selected[0].isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"selected[0].hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, selected[0])\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 123 + 'px' }\"\n >{{ selected[0].currentLabel }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"selected.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\"\n >+ {{ selected.length - 1 }}</span\n >\n </el-tag>\n </span>\n <!-- <div> -->\n <transition v-if=\"!collapseTags\" @after-leave=\"resetInputHeight\">\n <span\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n v-for=\"item in selected\"\n :key=\"getValueKey(item)\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"item.hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 75 + 'px' }\"\n >{{ item.currentLabel }}</span\n >\n </el-tag>\n </span>\n </transition>\n <!-- </div> -->\n <input\n v-if=\"filterable\"\n ref=\"input\"\n v-model=\"query\"\n type=\"text\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"{\n marginLeft:\n (prefixWidth && !selected.length) || tagInMultiLine\n ? `${prefixWidth}px`\n : '',\n flexGrow: 1,\n width: `${inputLength / (inputWidth - 32)}%`,\n maxWidth: `${inputWidth - 42}px`,\n }\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keyup=\"managePlaceholder\"\n @keydown=\"resetInputState\"\n @keydown.down.prevent=\"navigateOptions('next')\"\n @keydown.up.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete=\"deletePrevTag\"\n @keydown.tab=\"visible = false\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"debouncedQueryChange\"\n />\n </div>\n <el-input\n :id=\"id\"\n ref=\"reference\"\n v-model=\"selectedLabel\"\n type=\"text\"\n :placeholder=\"currentPlaceholder\"\n :name=\"name\"\n :autocomplete=\"autocomplete\"\n :size=\"selectSize\"\n :disabled=\"selectDisabled\"\n :readonly=\"readonly\"\n :validate-event=\"false\"\n :class=\"[nsSelect.is('focus', visible)]\"\n :tabindex=\"multiple && filterable ? -1 : undefined\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"debouncedOnInputChange\"\n @paste=\"debouncedOnInputChange\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.tab=\"visible = false\"\n @mouseenter=\"inputHovering = true\"\n @mouseleave=\"inputHovering = false\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <div\n style=\"\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <slot name=\"prefix\"></slot>\n </div>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon')]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n </div>\n </template>\n <template #content>\n <el-select-menu>\n <el-scrollbar\n v-show=\"options.size > 0 && !loading\"\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[\n nsSelect.is(\n 'empty',\n !allowCreate && query && filteredOptionsCount === 0\n ),\n ]\"\n >\n <el-option v-if=\"showNewOption\" :value=\"query\" :created=\"true\" />\n <slot></slot>\n </el-scrollbar>\n <template\n v-if=\"\n emptyText &&\n (!allowCreate || loading || (allowCreate && options.size === 0))\n \"\n >\n <slot v-if=\"$slots.empty\" name=\"empty\"></slot>\n <p v-else :class=\"nsSelect.be('dropdown', 'empty')\">\n {{ emptyText }}\n </p>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n onMounted,\n onBeforeUnmount,\n nextTick,\n reactive,\n provide,\n computed,\n unref,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useFocus, useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag, { tagProps } from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport { CircleClose, ArrowUp } from '@element-plus/icons-vue'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect, useSelectStates } from './useSelect'\nimport { selectKey } from './token'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElInput,\n ElSelectMenu,\n ElOption,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: {\n name: String,\n id: String,\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n automaticDropdown: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: {\n type: String,\n default: '',\n },\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n placeholder: {\n type: String,\n },\n defaultFirstOption: Boolean,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: ArrowUp,\n },\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, ctx) {\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { t } = useLocale()\n const states = useSelectStates(props)\n const {\n optionsArray,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n setSelected,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n queryChange,\n groupQueryChange,\n } = useSelect(props, states, ctx)\n\n const { focus } = useFocus(reference)\n\n const {\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n cachedOptions,\n optionsCount,\n prefixWidth,\n tagInMultiLine,\n } = toRefs(states)\n\n const wrapperKls = computed(() => {\n const classList = [nsSelect.b()]\n const _selectSize = unref(selectSize)\n if (_selectSize) {\n classList.push(nsSelect.m(_selectSize))\n }\n if (props.disabled) {\n classList.push(nsSelect.m('disabled'))\n }\n return classList\n })\n\n const selectTagsStyle = computed(() => ({\n maxWidth: `${unref(inputWidth) - 32}px`,\n width: '100%',\n }))\n\n provide(\n selectKey,\n reactive({\n props,\n options,\n optionsArray,\n cachedOptions,\n optionsCount,\n filteredOptionsCount,\n hoverIndex,\n handleOptionSelect,\n onOptionCreate,\n onOptionDestroy,\n selectWrapper,\n selected,\n setSelected,\n queryChange,\n groupQueryChange,\n }) as unknown as SelectContext\n )\n\n onMounted(() => {\n states.cachedPlaceHolder = currentPlaceholder.value =\n props.placeholder || t('el.select.placeholder')\n if (\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n ) {\n currentPlaceholder.value = ''\n }\n addResizeListener(selectWrapper.value as any, handleResize)\n if (reference.value && reference.value.$el) {\n const sizeMap = {\n large: 36,\n default: 32,\n small: 28,\n }\n const input = reference.value.input as HTMLInputElement\n states.initialInputHeight =\n input.getBoundingClientRect().height || sizeMap[selectSize.value]\n }\n if (props.remote && props.multiple) {\n resetInputHeight()\n }\n nextTick(() => {\n if (!reference.value) return\n if (reference.value.$el) {\n inputWidth.value = reference.value.$el.getBoundingClientRect().width\n }\n if (ctx.slots.prefix) {\n const inputChildNodes = reference.value.$el.childNodes\n const input = (Array.from(inputChildNodes) as HTMLElement[]).filter(\n (item) => item.tagName === 'INPUT'\n )[0]\n const prefix = reference.value.$el.querySelector(\n `.${nsInput.e('prefix')}`\n )\n prefixWidth.value = Math.max(\n prefix.getBoundingClientRect().width + 5,\n 30\n )\n if (states.prefixWidth) {\n input.style.paddingLeft = `${Math.max(states.prefixWidth, 30)}px`\n }\n }\n })\n setSelected()\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(selectWrapper.value as any, handleResize)\n })\n\n if (props.multiple && !Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, [])\n }\n if (!props.multiple && Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, '')\n }\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n\n return {\n tagInMultiLine,\n prefixWidth,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n focus,\n\n reference,\n input,\n tooltipRef,\n popperPaneRef,\n tags,\n selectWrapper,\n scrollbar,\n\n wrapperKls,\n selectTagsStyle,\n compatTeleported,\n nsSelect,\n }\n },\n})\n</script>\n"],"names":["ElOption","_withDirectives","_withKeys"],"mappings":"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"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectWrapper\"\n v-click-outside:[popperPaneRef]=\"handleClose\"\n :class=\"wrapperKls\"\n @click.stop=\"toggleMenu\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n v-model:visible=\"dropMenuVisible\"\n placement=\"bottom-start\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n persistent\n @show=\"handleMenuEnter\"\n >\n <template #default>\n <div class=\"select-trigger\">\n <div\n v-if=\"multiple\"\n ref=\"tags\"\n :class=\"nsSelect.e('tags')\"\n :style=\"selectTagsStyle\"\n >\n <span\n v-if=\"collapseTags && selected.length\"\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n :closable=\"!selectDisabled && !selected[0].isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"selected[0].hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, selected[0])\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 123 + 'px' }\"\n >{{ selected[0].currentLabel }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"selected.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n disable-transitions\n >\n <span :class=\"nsSelect.e('tags-text')\"\n >+ {{ selected.length - 1 }}</span\n >\n </el-tag>\n </span>\n <!-- <div> -->\n <transition v-if=\"!collapseTags\" @after-leave=\"resetInputHeight\">\n <span\n :style=\"{\n marginLeft:\n prefixWidth && selected.length ? `${prefixWidth}px` : '',\n }\"\n >\n <el-tag\n v-for=\"item in selected\"\n :key=\"getValueKey(item)\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :hit=\"item.hitState\"\n :type=\"tagType\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span\n :class=\"nsSelect.e('tags-text')\"\n :style=\"{ maxWidth: inputWidth - 75 + 'px' }\"\n >{{ item.currentLabel }}</span\n >\n </el-tag>\n </span>\n </transition>\n <!-- </div> -->\n <input\n v-if=\"filterable\"\n ref=\"input\"\n v-model=\"query\"\n type=\"text\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"{\n marginLeft:\n (prefixWidth && !selected.length) || tagInMultiLine\n ? `${prefixWidth}px`\n : '',\n flexGrow: 1,\n width: `${inputLength / (inputWidth - 32)}%`,\n maxWidth: `${inputWidth - 42}px`,\n }\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @keyup=\"managePlaceholder\"\n @keydown=\"resetInputState\"\n @keydown.down.prevent=\"navigateOptions('next')\"\n @keydown.up.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete=\"deletePrevTag\"\n @keydown.tab=\"visible = false\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @input=\"debouncedQueryChange\"\n />\n </div>\n <el-input\n :id=\"id\"\n ref=\"reference\"\n v-model=\"selectedLabel\"\n type=\"text\"\n :placeholder=\"currentPlaceholder\"\n :name=\"name\"\n :autocomplete=\"autocomplete\"\n :size=\"selectSize\"\n :disabled=\"selectDisabled\"\n :readonly=\"readonly\"\n :validate-event=\"false\"\n :class=\"[nsSelect.is('focus', visible)]\"\n :tabindex=\"multiple && filterable ? -1 : undefined\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"debouncedOnInputChange\"\n @paste=\"debouncedOnInputChange\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.esc.stop.prevent=\"visible = false\"\n @keydown.tab=\"visible = false\"\n @mouseenter=\"inputHovering = true\"\n @mouseleave=\"inputHovering = false\"\n >\n <template v-if=\"$slots.prefix\" #prefix>\n <div\n style=\"\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n \"\n >\n <slot name=\"prefix\"></slot>\n </div>\n </template>\n <template #suffix>\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon')]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n </template>\n </el-input>\n </div>\n </template>\n <template #content>\n <el-select-menu>\n <el-scrollbar\n v-show=\"options.size > 0 && !loading\"\n ref=\"scrollbar\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[\n nsSelect.is(\n 'empty',\n !allowCreate && query && filteredOptionsCount === 0\n ),\n ]\"\n >\n <el-option v-if=\"showNewOption\" :value=\"query\" :created=\"true\" />\n <slot></slot>\n </el-scrollbar>\n <template\n v-if=\"\n emptyText &&\n (!allowCreate || loading || (allowCreate && options.size === 0))\n \"\n >\n <slot v-if=\"$slots.empty\" name=\"empty\"></slot>\n <p v-else :class=\"nsSelect.be('dropdown', 'empty')\">\n {{ emptyText }}\n </p>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n toRefs,\n defineComponent,\n onMounted,\n onBeforeUnmount,\n nextTick,\n reactive,\n provide,\n computed,\n unref,\n} from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useFocus, useLocale, useNamespace } from '@element-plus/hooks'\nimport ElInput from '@element-plus/components/input'\nimport ElTooltip, {\n useTooltipContentProps,\n} from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag, { tagProps } from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useDeprecateAppendToBody } from '@element-plus/components/popper'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport {\n addResizeListener,\n removeResizeListener,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport { CircleClose, ArrowUp } from '@element-plus/icons-vue'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect, useSelectStates } from './useSelect'\nimport { selectKey } from './token'\n\nimport type { PropType, Component } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElInput,\n ElSelectMenu,\n ElOption,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: {\n name: String,\n id: String,\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: undefined,\n },\n autocomplete: {\n type: String,\n default: 'off',\n },\n automaticDropdown: Boolean,\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n effect: {\n type: String as PropType<'light' | 'dark' | string>,\n default: 'light',\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: {\n type: String,\n default: '',\n },\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0,\n },\n placeholder: {\n type: String,\n },\n defaultFirstOption: Boolean,\n reserveKeyword: {\n type: Boolean,\n default: true,\n },\n valueKey: {\n type: String,\n default: 'value',\n },\n collapseTags: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: undefined,\n },\n teleported: useTooltipContentProps.teleported,\n clearIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: CircleClose,\n },\n fitInputWidth: {\n type: Boolean,\n default: false,\n },\n suffixIcon: {\n type: [String, Object] as PropType<string | Component>,\n default: ArrowUp,\n },\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n },\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, ctx) {\n const nsSelect = useNamespace('select')\n const nsInput = useNamespace('input')\n const { t } = useLocale()\n const states = useSelectStates(props)\n const {\n optionsArray,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n setSelected,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n onOptionCreate,\n onOptionDestroy,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n\n reference,\n input,\n tooltipRef,\n tags,\n selectWrapper,\n scrollbar,\n queryChange,\n groupQueryChange,\n } = useSelect(props, states, ctx)\n\n const { focus } = useFocus(reference)\n\n const {\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n cachedOptions,\n optionsCount,\n prefixWidth,\n tagInMultiLine,\n } = toRefs(states)\n\n const wrapperKls = computed(() => {\n const classList = [nsSelect.b()]\n const _selectSize = unref(selectSize)\n if (_selectSize) {\n classList.push(nsSelect.m(_selectSize))\n }\n if (props.disabled) {\n classList.push(nsSelect.m('disabled'))\n }\n return classList\n })\n\n const selectTagsStyle = computed(() => ({\n maxWidth: `${unref(inputWidth) - 32}px`,\n width: '100%',\n }))\n\n provide(\n selectKey,\n reactive({\n props,\n options,\n optionsArray,\n cachedOptions,\n optionsCount,\n filteredOptionsCount,\n hoverIndex,\n handleOptionSelect,\n onOptionCreate,\n onOptionDestroy,\n selectWrapper,\n selected,\n setSelected,\n queryChange,\n groupQueryChange,\n }) as unknown as SelectContext\n )\n\n onMounted(() => {\n states.cachedPlaceHolder = currentPlaceholder.value =\n props.placeholder || t('el.select.placeholder')\n if (\n props.multiple &&\n Array.isArray(props.modelValue) &&\n props.modelValue.length > 0\n ) {\n currentPlaceholder.value = ''\n }\n addResizeListener(selectWrapper.value as any, handleResize)\n if (reference.value && reference.value.$el) {\n const sizeMap = {\n large: 36,\n default: 32,\n small: 28,\n }\n const input = reference.value.input as HTMLInputElement\n states.initialInputHeight =\n input.getBoundingClientRect().height || sizeMap[selectSize.value]\n }\n if (props.remote && props.multiple) {\n resetInputHeight()\n }\n nextTick(() => {\n if (!reference.value) return\n if (reference.value.$el) {\n inputWidth.value = reference.value.$el.getBoundingClientRect().width\n }\n if (ctx.slots.prefix) {\n const inputChildNodes = reference.value.$el.childNodes\n const input = (Array.from(inputChildNodes) as HTMLElement[]).filter(\n (item) => item.tagName === 'INPUT'\n )[0]\n const prefix = reference.value.$el.querySelector(\n `.${nsInput.e('prefix')}`\n )\n prefixWidth.value = Math.max(\n prefix.getBoundingClientRect().width + 5,\n 30\n )\n if (states.prefixWidth) {\n input.style.paddingLeft = `${Math.max(states.prefixWidth, 30)}px`\n }\n }\n })\n setSelected()\n })\n\n onBeforeUnmount(() => {\n removeResizeListener(selectWrapper.value as any, handleResize)\n })\n\n if (props.multiple && !Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, [])\n }\n if (!props.multiple && Array.isArray(props.modelValue)) {\n ctx.emit(UPDATE_MODEL_EVENT, '')\n }\n\n const popperPaneRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n })\n\n const { compatTeleported } = useDeprecateAppendToBody(\n COMPONENT_NAME,\n 'popperAppendToBody'\n )\n\n return {\n tagInMultiLine,\n prefixWidth,\n selectSize,\n readonly,\n handleResize,\n collapseTagSize,\n debouncedOnInputChange,\n debouncedQueryChange,\n deletePrevTag,\n deleteTag,\n deleteSelected,\n handleOptionSelect,\n scrollToOption,\n inputWidth,\n selected,\n inputLength,\n filteredOptionsCount,\n visible,\n softFocus,\n selectedLabel,\n hoverIndex,\n query,\n inputHovering,\n currentPlaceholder,\n menuVisibleOnFocus,\n isOnComposition,\n isSilentBlur,\n options,\n resetInputHeight,\n managePlaceholder,\n showClose,\n selectDisabled,\n iconComponent,\n iconReverse,\n showNewOption,\n emptyText,\n toggleLastOptionHitState,\n resetInputState,\n handleComposition,\n handleMenuEnter,\n handleFocus,\n blur,\n handleBlur,\n handleClearClick,\n handleClose,\n toggleMenu,\n selectOption,\n getValueKey,\n navigateOptions,\n dropMenuVisible,\n focus,\n\n reference,\n input,\n tooltipRef,\n popperPaneRef,\n tags,\n selectWrapper,\n scrollbar,\n\n wrapperKls,\n selectTagsStyle,\n compatTeleported,\n nsSelect,\n }\n },\n})\n</script>\n"],"names":["ElOption","_withDirectives","_normalizeClass","_openBlock","_createCommentVNode"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"group-item.mjs","sources":["../../../../../../packages/components/select-v2/src/group-item.vue"],"sourcesContent":["<template>\n <div\n v-if=\"item.isTitle\"\n :class=\"ns.be('group', 'title')\"\n :style=\"[style, { lineHeight: `${height}px` }]\"\n >\n {{ item.label }}\n </div>\n <div v-else :class=\"ns.be('group', 'split')\" :style=\"style\">\n <span\n :class=\"ns.be('group', 'split-dash')\"\n :style=\"{ top: `${height / 2}px` }\"\n ></span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nexport default defineComponent({\n props: {\n item: {\n type: Object,\n required: true,\n },\n style: Object,\n height: Number,\n },\n setup() {\n const ns = useNamespace('select')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_normalizeClass"],"mappings":";;;;;AAoBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,OAAO;AAAA,IACP,QAAQ;AAAA;AAAA,EAEV,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;qBA9BS,MAAO;;IACjB,KAAK;AAAA,IACL,OAAKA,oBAAG,MAAK;AAAA,0BAEX,MAAK,OAAK;AAAA,qBAEf,kBAKM;IALO,KAAK;AAAA,IAA4B,OAAKA,eAAE,WAAK;AAAA;KACxD;AAAA,uBACQ,QAAE;AAAA,MACP,OAAKA,0BAAY;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"group-item.mjs","sources":["../../../../../../packages/components/select-v2/src/group-item.vue"],"sourcesContent":["<template>\n <div\n v-if=\"item.isTitle\"\n :class=\"ns.be('group', 'title')\"\n :style=\"[style, { lineHeight: `${height}px` }]\"\n >\n {{ item.label }}\n </div>\n <div v-else :class=\"ns.be('group', 'split')\" :style=\"style\">\n <span\n :class=\"ns.be('group', 'split-dash')\"\n :style=\"{ top: `${height / 2}px` }\"\n ></span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nexport default defineComponent({\n props: {\n item: {\n type: Object,\n required: true,\n },\n style: Object,\n height: Number,\n },\n setup() {\n const ns = useNamespace('select')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode"],"mappings":";;;;;AAoBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA;AAAA,IAEZ,OAAO;AAAA,IACP,QAAQ;AAAA;AAAA,EAEV,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;SA9BI,UAAK,wBADbA,mBAMM;AAAA;IAJH,OAAKC,eAAE,QAAG,GAAE;AAAA,IACZ,OAAKC,gBAAG,YAAK,iBAAmB;AAAA,qBAE9B,UAAK,QAAK,oBAEfF,mBAKM;AAAA;IALO,OAAKC,eAAE,QAAG,GAAE;AAAA,IAAqB,OAAKC,eAAE;AAAA;IACnDC,mBAGQ;AAAA,MAFL,OAAKF,eAAE,QAAG,GAAE;AAAA,MACZ,OAAKC,yBAAY,cAAM;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"option-item.mjs","sources":["../../../../../../packages/components/select-v2/src/option-item.vue"],"sourcesContent":["<template>\n <li\n :aria-selected=\"selected\"\n :style=\"style\"\n :class=\"[\n ns.be('dropdown', 'option-item'),\n ns.is('selected', selected),\n ns.is('disabled', disabled),\n ns.is('created', created),\n { hover: hovering },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot :item=\"item\" :index=\"index\" :disabled=\"disabled\">\n <span>{{ item.label }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport { OptionProps } from './defaults'\n\nexport default defineComponent({\n props: OptionProps,\n emits: ['select', 'hover'],\n setup(props, { emit }) {\n const ns = useNamespace('select')\n const { hoverItem, selectOptionClick } = useOption(props, { emit })\n return {\n ns,\n hoverItem,\n selectOptionClick,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeStyle","_normalizeClass"],"mappings":";;;;;;;AA0BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,EACP,OAAO,CAAC,UAAU;AAAA,EAClB,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,EAAE,WAAW,sBAAsB,UAAU,OAAO,EAAE;AAC5D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;2BAlCJ,wBAgBK;SAfFA,aAAeC,mBAAQ;AAAA,IACvB,iBAAK;AAAA,IACL,OAAKC;AAAA,WAAUC,eAAK;AAAA,MAAmC,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,YAAY;AAAA,iBAAyB,WAAQ;AAAA;;IAQ/K,cAAK,yDAAO;AAAA;KAEb;AAAA,eAAa,KAAI;AAAA,MAAG,MAAK,KAAE;AAAA,MAAQ,YAAU;AAAA,gBAEtC;AAAA,OADL;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"option-item.mjs","sources":["../../../../../../packages/components/select-v2/src/option-item.vue"],"sourcesContent":["<template>\n <li\n :aria-selected=\"selected\"\n :style=\"style\"\n :class=\"[\n ns.be('dropdown', 'option-item'),\n ns.is('selected', selected),\n ns.is('disabled', disabled),\n ns.is('created', created),\n { hover: hovering },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot :item=\"item\" :index=\"index\" :disabled=\"disabled\">\n <span>{{ item.label }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport { OptionProps } from './defaults'\n\nexport default defineComponent({\n props: OptionProps,\n emits: ['select', 'hover'],\n setup(props, { emit }) {\n const ns = useNamespace('select')\n const { hoverItem, selectOptionClick } = useOption(props, { emit })\n return {\n ns,\n hoverItem,\n selectOptionClick,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeStyle","_normalizeClass","_renderSlot","_createElementVNode"],"mappings":";;;;;;;AA0BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,EACP,OAAO,CAAC,UAAU;AAAA,EAClB,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,EAAE,WAAW,sBAAsB,UAAU,OAAO,EAAE;AAC5D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;sBAlCJA,mBAgBK;AAAA,IAfF,iBAAe;AAAA,IACf,OAAKC,eAAE;AAAA,IACP,OAAKC;AAAA,MAAU,QAAG,GAAE;AAAA,MAAmC,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,YAAa;AAAA,MAAiB,QAAG,GAAE,WAAY;AAAA,eAAyB;AAAA;AAAA,IAOvK,cAAU,uCAAE;AAAA,IACZ,SAAK,qDAAO,2DAAiB;AAAA;IAE9BC,WAEO;AAAA,MAFA,MAAM;AAAA,MAAO,OAAO;AAAA,MAAQ,UAAU;AAAA,OAA7C,MAEO;AAAA,MADLC,mBAA6B,8BAApB,UAAK,QAAK;AAAA;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom-start\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', disabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["ElSelectMenu","_withDirectives","_normalizeClass","_withCtx","_createVNode","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"select.mjs","sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelectV2.b(), nsSelectV2.m(selectSize)]\"\n @click.stop=\"toggleMenu\"\n @mouseenter=\"states.comboBoxHovering = true\"\n @mouseleave=\"states.comboBoxHovering = false\"\n >\n <el-tooltip\n ref=\"popper\"\n v-model:visible=\"dropdownMenuVisible\"\n :teleported=\"compatTeleported\"\n :popper-class=\"[nsSelectV2.e('popper'), popperClass]\"\n :gpu-acceleration=\"false\"\n :stop-popper-mouse-event=\"false\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"['bottom-start', 'top-start', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom-start\"\n pure\n :transition=\"`${nsSelectV2.namespace.value}-zoom-in-top`\"\n trigger=\"click\"\n persistent\n @show=\"handleMenuEnter\"\n @hide=\"states.inputValue = states.displayInputValue\"\n >\n <template #default>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelectV2.e('wrapper'),\n nsSelectV2.is('focused', states.isComposing),\n nsSelectV2.is('hovering', states.comboBoxHovering),\n nsSelectV2.is('filterable', filterable),\n nsSelectV2.is('disabled', disabled),\n ]\"\n >\n <div v-if=\"$slots.prefix\">\n <slot name=\"prefix\"></slot>\n </div>\n <div v-if=\"multiple\" :class=\"nsSelectV2.e('selection')\">\n <template v-if=\"collapseTags && modelValue.length > 0\">\n <div :class=\"nsSelectV2.e('selected-item')\">\n <el-tag\n :closable=\"\n !selectDisabled && !states.cachedOptions[0]?.disable\n \"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, states.cachedOptions[0])\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ states.cachedOptions[0]?.label }}</span\n >\n </el-tag>\n <el-tag\n v-if=\"modelValue.length > 1\"\n :closable=\"false\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >+ {{ modelValue.length - 1 }}</span\n >\n </el-tag>\n </div>\n </template>\n\n <template v-else>\n <div\n v-for=\"(selected, idx) in states.cachedOptions\"\n :key=\"idx\"\n :class=\"nsSelectV2.e('selected-item')\"\n >\n <el-tag\n :key=\"getValueKey(selected)\"\n :closable=\"!selectDisabled && !selected.disabled\"\n :size=\"collapseTagSize\"\n type=\"info\"\n disable-transitions\n @close=\"deleteTag($event, selected)\"\n >\n <span\n :class=\"nsSelectV2.e('tags-text')\"\n :style=\"{\n maxWidth: `${tagMaxWidth}px`,\n }\"\n >{{ getLabel(selected) }}</span\n >\n </el-tag>\n </div>\n </template>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n :style=\"inputWrapperStyle\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n :autocomplete=\"autocomplete\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n autocapitalize=\"off\"\n :aria-expanded=\"expanded\"\n :aria-labelledby=\"label\"\n :class=\"[\n nsSelectV2.is(selectSize),\n nsSelectV2.e('combobox-input'),\n ]\"\n :disabled=\"disabled\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :name=\"name\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @update:modelValue=\"onUpdateInputValue\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.delete.stop=\"handleDel\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelectV2.e('input-calculator')\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </div>\n </div>\n <template v-else>\n <div\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-wrapper'),\n ]\"\n >\n <input\n :id=\"id\"\n ref=\"inputRef\"\n v-model-text=\"states.displayInputValue\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n :aria-labelledby=\"label\"\n :aria-expanded=\"expanded\"\n autocapitalize=\"off\"\n :autocomplete=\"autocomplete\"\n :class=\"nsSelectV2.e('combobox-input')\"\n :disabled=\"disabled\"\n :name=\"name\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n type=\"text\"\n :unselectable=\"expanded ? 'on' : undefined\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @focus=\"handleFocus\"\n @input=\"onInput\"\n @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @update:modelValue=\"onUpdateInputValue\"\n />\n </div>\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"[\n nsSelectV2.e('selected-item'),\n nsSelectV2.e('input-calculator'),\n ]\"\n v-text=\"states.displayInputValue\"\n >\n </span>\n </template>\n <span\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelectV2.e('placeholder'),\n nsSelectV2.is(\n 'transparent',\n states.isComposing ||\n (placeholder && multiple\n ? modelValue.length === 0\n : !hasModelValue)\n ),\n ]\"\n >\n {{ currentPlaceholder }}\n </span>\n <span :class=\"nsSelectV2.e('suffix')\">\n <el-icon\n v-if=\"iconComponent\"\n v-show=\"!showClearBtn\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClearBtn && clearIcon\"\n :class=\"[nsSelectV2.e('caret'), nsInput.e('icon')]\"\n @click.prevent.stop=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </span>\n </div>\n </template>\n <template #content>\n <el-select-menu\n ref=\"menuRef\"\n :data=\"filteredOptions\"\n :width=\"popperSize\"\n :hovering-index=\"states.hoveringIndex\"\n :scrollbar-always-on=\"scrollbarAlwaysOn\"\n >\n <template #default=\"scope\">\n <slot v-bind=\"scope\"></slot>\n </template>\n <template #empty>\n <slot name=\"empty\">\n <p :class=\"nsSelectV2.e('empty')\">\n {{ emptyText ? emptyText : '' }}\n </p>\n </slot>\n </template>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, toRefs, reactive, vModelText } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '@element-plus/constants'\nimport ElSelectMenu from './select-dropdown.vue'\nimport useSelect from './useSelect'\nimport { selectV2InjectionKey } from './token'\nimport { SelectProps } from './defaults'\nexport default defineComponent({\n name: 'ElSelectV2',\n components: {\n ElSelectMenu,\n ElTag,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside, ModelText: vModelText },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n // TODO, remove the any cast to align the actual API.\n provide(selectV2InjectionKey, {\n props: reactive({\n ...toRefs(props),\n height: API.popupHeight,\n }),\n onSelect: API.onSelect,\n onHover: API.onHover,\n onKeyboardNavigate: API.onKeyboardNavigate,\n onKeyboardSelect: API.onKeyboardSelect,\n } as any)\n\n return API\n },\n})\n</script>\n"],"names":["ElSelectMenu","_createElementBlock","_normalizeClass","_createVNode","_withCtx","_createElementVNode","_openBlock","_withDirectives"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-placeholder.mjs","sources":["../../../../../../packages/components/skeleton/src/image-placeholder.vue"],"sourcesContent":["<template>\n <svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z\"\n />\n </svg>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'ImgPlaceholder',\n})\n</script>\n"],"names":[],"mappings":";;;AAWA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA;MAXD,aAAQ;AAAA,EAAgB,SAAM;AAAA;;;MACjC,aAEE;AAAA;;2BAHJ,yCAIM;;;;;;;"}
1
+ {"version":3,"file":"image-placeholder.mjs","sources":["../../../../../../packages/components/skeleton/src/image-placeholder.vue"],"sourcesContent":["<template>\n <svg viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M64 896V128h896v768H64z m64-128l192-192 116.352 116.352L640 448l256 307.2V192H128v576z m224-480a96 96 0 1 1-0.064 192.064A96 96 0 0 1 352 288z\"\n />\n </svg>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'ImgPlaceholder',\n})\n</script>\n"],"names":["_createElementBlock"],"mappings":";;;AAWA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA;;EAXD,SAAQ;AAAA,EAAgB,OAAM;AAAA;sDAG/B,UADA,GAAE,oJAAgJ;;EADpJ;AAAA;;sBADFA,mBAIM,OAJN,YAIM;AAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton-item2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton-item.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.e('item'), ns.e(variant)]\">\n <img-placeholder v-if=\"variant === 'image'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport ImgPlaceholder from './image-placeholder.vue'\nimport { skeletonItemProps } from './skeleton-item'\n\nexport default defineComponent({\n name: 'ElSkeletonItem',\n components: {\n ImgPlaceholder,\n },\n props: skeletonItemProps,\n setup() {\n const ns = useNamespace('skeleton')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;AAYA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;SApBOA,gCAAO,OAAU;AAAA;KACH;AAAA;;;;;;;"}
1
+ {"version":3,"file":"skeleton-item2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton-item.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.e('item'), ns.e(variant)]\">\n <img-placeholder v-if=\"variant === 'image'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport ImgPlaceholder from './image-placeholder.vue'\nimport { skeletonItemProps } from './skeleton-item'\n\nexport default defineComponent({\n name: 'ElSkeletonItem',\n components: {\n ImgPlaceholder,\n },\n props: skeletonItemProps,\n setup() {\n const ns = useNamespace('skeleton')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createBlock"],"mappings":";;;;;;;AAYA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;;sBApBJA,mBAEM;AAAA,IAFA,OAAKC,gBAAG,QAAG,EAAC,SAAU,QAAG,EAAE;AAAA;IACR,iBAAO,wBAA9BC,YAA8C;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.vue"],"sourcesContent":["<template>\n <template v-if=\"uiLoading\">\n <div :class=\"[ns.b(), ns.is('animated', animated)]\" v-bind=\"$attrs\">\n <template v-for=\"i in count\" :key=\"i\">\n <slot v-if=\"loading\" :key=\"i\" name=\"template\">\n <el-skeleton-item :class=\"ns.is('first')\" variant=\"p\" />\n <el-skeleton-item\n v-for=\"item in rows\"\n :key=\"item\"\n :class=\"[\n ns.e('paragraph'),\n ns.is('last', item === rows && rows > 1),\n ]\"\n variant=\"p\"\n />\n </slot>\n </template>\n </div>\n </template>\n <template v-else>\n <slot v-bind=\"$attrs\"></slot>\n </template>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useNamespace, useThrottleRender } from '@element-plus/hooks'\nimport SkeletonItem from './skeleton-item.vue'\nimport { skeletonProps } from './skeleton'\n\nexport default defineComponent({\n name: 'ElSkeleton',\n components: {\n [SkeletonItem.name]: SkeletonItem,\n },\n props: skeletonProps,\n setup(props) {\n const ns = useNamespace('skeleton')\n const innerLoading = computed(() => {\n return props.loading\n })\n\n const uiLoading = useThrottleRender(innerLoading, props.throttle)\n\n return {\n ns,\n uiLoading,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_Fragment","_createBlock"],"mappings":";;;;;;;;AA8BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,aAAa,OAAO;AAAA;AAAA,EAEvB,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM;AAAA;AAGf,UAAM,YAAY,kBAAkB,cAAc,MAAM;AAExD,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;;;IA5CI,KAAK;AAAA,WAAiD,MAAM;AAAA;oEAC5B;aACtBA,aAAOC;AAAA,aAAnB,qBACE,KAAwD;AAAA,sBAAhC,6BAAO;AAAA,YAAW,OAAOC,eAAI;AAAA;sBACrD;AAAA,+CAQEC;mBANMH,aAAII;AAAA,cACT,KAAK;AAAA,cAAqB,OAACF;AAAA,gBAA6B,QAAG,EAAE;AAAA;;;;;;;;KAWtE;;;;;;"}
1
+ {"version":3,"file":"skeleton2.mjs","sources":["../../../../../../packages/components/skeleton/src/skeleton.vue"],"sourcesContent":["<template>\n <template v-if=\"uiLoading\">\n <div :class=\"[ns.b(), ns.is('animated', animated)]\" v-bind=\"$attrs\">\n <template v-for=\"i in count\" :key=\"i\">\n <slot v-if=\"loading\" :key=\"i\" name=\"template\">\n <el-skeleton-item :class=\"ns.is('first')\" variant=\"p\" />\n <el-skeleton-item\n v-for=\"item in rows\"\n :key=\"item\"\n :class=\"[\n ns.e('paragraph'),\n ns.is('last', item === rows && rows > 1),\n ]\"\n variant=\"p\"\n />\n </slot>\n </template>\n </div>\n </template>\n <template v-else>\n <slot v-bind=\"$attrs\"></slot>\n </template>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { useNamespace, useThrottleRender } from '@element-plus/hooks'\nimport SkeletonItem from './skeleton-item.vue'\nimport { skeletonProps } from './skeleton'\n\nexport default defineComponent({\n name: 'ElSkeleton',\n components: {\n [SkeletonItem.name]: SkeletonItem,\n },\n props: skeletonProps,\n setup(props) {\n const ns = useNamespace('skeleton')\n const innerLoading = computed(() => {\n return props.loading\n })\n\n const uiLoading = useThrottleRender(innerLoading, props.throttle)\n\n return {\n ns,\n uiLoading,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_mergeProps","_Fragment","_renderSlot","_createVNode","_normalizeClass","_createBlock"],"mappings":";;;;;;;;AA8BA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,KACT,aAAa,OAAO;AAAA;AAAA,EAEvB,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,eAAe,SAAS,MAAM;AAClC,aAAO,MAAM;AAAA;AAGf,UAAM,YAAY,kBAAkB,cAAc,MAAM;AAExD,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;;SA7CY,+BACdA,mBAeM,OAfNC,WAeM;AAAA;IAfA,OAAK,CAAG,QAAG,KAAK,QAAG,GAAE,YAAa;AAAA,KAAoB,cAAM;AAAA,sBAChED,mBAaWE,2BAbW,YAAK,CAAV,MAAC;8DAAiB,KAAC;AAAA,QACtB,eAAZC,WAWO,2BAXe,KAAK,KAA3B,MAWO;AAAA,UAVLC,YAAwD;AAAA,YAArC,OAAKC,eAAE,QAAG,GAAE;AAAA,YAAW,SAAQ;AAAA;4BAClDL,mBAQEE,2BAPe,WAAI,CAAZ,SAAI;gCADbI,YAQE;AAAA,cANC,KAAK;AAAA,cACL,OAAKD;AAAA,gBAAkB,QAAG,EAAC;AAAA,gBAA6B,QAAG,GAAE,QAAS,SAAS,aAAQ,YAAI;AAAA;AAAA,cAI5F,SAAQ;AAAA;;;;;YAOhBF,WAA6B,8DAAf;AAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.mjs","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n :class=\"[ns.e('button-wrapper'), { hover: hovering, dragging }]\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div :class=\"[ns.e('button'), { hover: hovering, dragging }]\"></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const ns = useNamespace('slider')\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n ns,\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_withCtx"],"mappings":";;;;;;;;;AAyCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,OAAO,CAAC;AAAA,EAER,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,SAAS;AAAA,MACxB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,eAAe;AAAA,MACf,aAAa;AAAA,MACb,UAAU,MAAM;AAAA;AAGlB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,gBAAgB,OAAO,UAAU;AAErC,UAAM,EAAE,UAAU,aAAa,OAAO;AAEtC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;;;SA7GEA,aAAQC;AAAA,IACX,KAAK;AAAA,IACL,OAAKC,eAAE,8BAAY;AAAA,IACpB,sBAAY;AAAA,IACX;AAAA,IACA,cAAU,uCAAE;AAAA,IACZ,cAAS,uCAAE,+CAAY;AAAA,IACvB,aAAU,4CAAE;AAAA,IACZ,cAAK,uCAAE;AAAA,IACP,SAAI,uCAAE;AAAA,IACN,eAAO;AAAA;sDACQ,mDAAc;AAAA,6EACP;AAAA,yEACF,+CAAc;AAAA;;KAEnC;AAAA,gBACM,uBAAS;AAAA,MACL;AAAA;MACR,oBAAe;AAAA,MACd;AAAA,MACA,2BAAc;AAAA,MACd,gBAAW;AAAA,MACZ,UAAU;AAAA;OAEC;AAAA,eACTC,cAA8B;AAAA;;eAEhCA,cAAoE;AAAA,2BAAzD,OAAG;AAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"button.mjs","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n :class=\"[ns.e('button-wrapper'), { hover: hovering, dragging }]\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown.left=\"onLeftKeyDown\"\n @keydown.right=\"onRightKeyDown\"\n @keydown.down.prevent=\"onLeftKeyDown\"\n @keydown.up.prevent=\"onRightKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n placement=\"top\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div :class=\"[ns.e('button'), { hover: hovering, dragging }]\"></div>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n name: 'ElSliderButton',\n\n components: {\n ElTooltip,\n },\n\n props: {\n modelValue: {\n type: Number,\n default: 0,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n tooltipClass: {\n type: String,\n default: '',\n },\n },\n\n emits: [UPDATE_MODEL_EVENT],\n\n setup(props, { emit }) {\n const ns = useNamespace('slider')\n const initData = reactive({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n })\n\n const {\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n } = useSliderButton(props, initData, emit)\n\n const { hovering, dragging } = toRefs(initData)\n\n return {\n ns,\n tooltip,\n tooltipVisible,\n showTooltip,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onLeftKeyDown,\n onRightKeyDown,\n setPosition,\n\n hovering,\n dragging,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_createVNode","_withCtx","_createElementVNode"],"mappings":";;;;;;;;;AAyCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA;AAAA,EAIb,OAAO,CAAC;AAAA,EAER,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,SAAS;AAAA,MACxB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,eAAe;AAAA,MACf,aAAa;AAAA,MACb,UAAU,MAAM;AAAA;AAGlB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,gBAAgB,OAAO,UAAU;AAErC,UAAM,EAAE,UAAU,aAAa,OAAO;AAEtC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;;;sBA9GJA,mBA8BM;AAAA,IA7BJ,KAAI;AAAA,IACH,OAAKC,gBAAG,QAAG,EAAC,4BAA6B,eAAQ,UAAE;AAAA,IACnD,OAAKC,eAAE;AAAA,IACR,UAAS;AAAA,IACR,cAAU,uCAAE;AAAA,IACZ,cAAU,uCAAE;AAAA,IACZ,aAAS,uCAAE;AAAA,IACX,cAAU,uCAAE;AAAA,IACZ,SAAK,uCAAE;AAAA,IACP,QAAI,uCAAE;AAAA,IACN,WAAO;AAAA,sDAAO,mDAAa;AAAA,sDACZ,qDAAc;AAAA,oEACP,mDAAa;AAAA,sEACf,qDAAc;AAAA;AAAA;IAEnCC,YAaa;AAAA,MAZX,KAAI;AAAA,MACI,SAAS;AAAA,sFAAc;AAAA,MAC/B,WAAU;AAAA,MACT,2BAAyB;AAAA,MACzB,gBAAc;AAAA,MACd,UAAQ,CAAG;AAAA,MACZ;AAAA;MAEW,SAAOC,QAChB,MAA8B;AAAA,QAA9BC,mBAA8B,8BAArB,mBAAW;AAAA;AAAA,uBAEtB,MAAoE;AAAA,QAApEA,mBAAoE;AAAA,UAA9D,OAAKJ,gBAAG,QAAG,EAAC,oBAAqB,eAAQ,UAAE;AAAA;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/slider/src/index.vue"],"sourcesContent":["<template>\n <div\n ref=\"sliderWrapper\"\n :class=\"sliderKls\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n >\n <div\n ref=\"slider\"\n :class=\"[\n ns.e('runway'),\n { 'show-input': showInput && !range, disabled: sliderDisabled },\n ]\"\n :style=\"runwayStyle\"\n @click=\"onSliderClick\"\n >\n <div :class=\"ns.e('bar')\" :style=\"barStyle\"></div>\n <slider-button\n ref=\"firstButton\"\n :model-value=\"firstValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n @update:model-value=\"setFirstValue\"\n />\n <slider-button\n v-if=\"range\"\n ref=\"secondButton\"\n :model-value=\"secondValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n @update:model-value=\"setSecondValue\"\n />\n <div v-if=\"showStops\">\n <div\n v-for=\"(item, key) in stops\"\n :key=\"key\"\n :class=\"ns.e('stop')\"\n :style=\"getStopStyle(item)\"\n ></div>\n </div>\n <template v-if=\"markList.length > 0\">\n <div>\n <div\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :style=\"getStopStyle(item.position)\"\n :class=\"[ns.e('stop'), ns.e('marks-stop')]\"\n ></div>\n </div>\n <div :class=\"ns.e('marks')\">\n <slider-marker\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :mark=\"item.mark\"\n :style=\"getStopStyle(item.position)\"\n />\n </div>\n </template>\n </div>\n <el-input-number\n v-if=\"showInput && !range\"\n ref=\"input\"\n :model-value=\"firstValue\"\n :class=\"ns.e('input')\"\n :step=\"step\"\n :disabled=\"sliderDisabled\"\n :controls=\"showInputControls\"\n :min=\"min\"\n :max=\"max\"\n :debounce=\"debounce\"\n :size=\"sliderInputSize\"\n @update:model-value=\"setFirstValue\"\n @change=\"emitChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElInputNumber from '@element-plus/components/input-number'\nimport {\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n INPUT_EVENT,\n} from '@element-plus/constants'\nimport { off, on, throwError, isValidComponentSize } from '@element-plus/utils'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport SliderButton from './button.vue'\nimport SliderMarker from './marker.vue'\nimport { useMarks } from './useMarks'\nimport { useSlide } from './useSlide'\nimport { useStops } from './useStops'\n\nimport type { PropType, Ref } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElSlider',\n\n components: {\n ElInputNumber,\n SliderButton,\n SliderMarker,\n },\n\n props: {\n modelValue: {\n type: [Number, Array] as PropType<number | number[]>,\n default: 0,\n },\n min: {\n type: Number,\n default: 0,\n },\n max: {\n type: Number,\n default: 100,\n },\n step: {\n type: Number,\n default: 1,\n },\n showInput: {\n type: Boolean,\n default: false,\n },\n showInputControls: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n inputSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n showStops: {\n type: Boolean,\n default: false,\n },\n showTooltip: {\n type: Boolean,\n default: true,\n },\n formatTooltip: {\n type: Function as PropType<(val: number) => number | string>,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n range: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n height: {\n type: String,\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n label: {\n type: String,\n default: undefined,\n },\n tooltipClass: {\n type: String,\n default: undefined,\n },\n marks: Object,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, INPUT_EVENT],\n\n setup(props, { emit }) {\n const ns = useNamespace('slider')\n const initData = reactive({\n firstValue: 0,\n secondValue: 0,\n oldValue: 0,\n dragging: false,\n sliderSize: 1,\n })\n\n const {\n elFormItem,\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n minValue,\n maxValue,\n runwayStyle,\n barStyle,\n resetSize,\n emitChange,\n onSliderClick,\n setFirstValue,\n setSecondValue,\n } = useSlide(props, initData, emit)\n\n const { stops, getStopStyle } = useStops(\n props,\n initData,\n minValue,\n maxValue\n )\n\n const sliderWrapperSize = useSize()\n const sliderInputSize = computed(\n () => props.inputSize || sliderWrapperSize.value\n )\n\n const sliderKls = computed(() => [\n ns.b(),\n ns.m(sliderWrapperSize.value),\n ns.is('vertical', props.vertical),\n { [ns.m('with-input')]: props.showInput },\n ])\n\n const markList = useMarks(props)\n\n useWatch(props, initData, minValue, maxValue, emit, elFormItem)\n\n const precision = computed(() => {\n const precisions = [props.min, props.max, props.step].map((item) => {\n const decimal = `${item}`.split('.')[1]\n return decimal ? decimal.length : 0\n })\n return Math.max.apply(null, precisions)\n })\n\n const { sliderWrapper } = useLifecycle(props, initData, resetSize)\n\n const { firstValue, secondValue, oldValue, dragging, sliderSize } =\n toRefs(initData)\n\n const updateDragging = (val: boolean) => {\n initData.dragging = val\n }\n\n provide('SliderProvider', {\n ...toRefs(props),\n sliderSize,\n disabled: sliderDisabled,\n precision,\n emitChange,\n resetSize,\n updateDragging,\n })\n\n return {\n ns,\n firstValue,\n secondValue,\n oldValue,\n dragging,\n sliderSize,\n\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n runwayStyle,\n barStyle,\n emitChange,\n onSliderClick,\n getStopStyle,\n setFirstValue,\n setSecondValue,\n\n stops,\n markList,\n\n sliderWrapper,\n sliderWrapperSize,\n sliderInputSize,\n sliderKls,\n }\n },\n})\n\nconst useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {\n const _emit = (val: number | number[]) => {\n emit(UPDATE_MODEL_EVENT, val)\n emit(INPUT_EVENT, val)\n }\n\n const valueChanged = () => {\n if (props.range) {\n return ![minValue.value, maxValue.value].every(\n (item, index) => item === initData.oldValue[index]\n )\n } else {\n return props.modelValue !== initData.oldValue\n }\n }\n\n const setValues = () => {\n if (props.min > props.max) {\n throwError('Slider', 'min should not be greater than max.')\n return\n }\n const val = props.modelValue\n if (props.range && Array.isArray(val)) {\n if (val[1] < props.min) {\n _emit([props.min, props.min])\n } else if (val[0] > props.max) {\n _emit([props.max, props.max])\n } else if (val[0] < props.min) {\n _emit([props.min, val[1]])\n } else if (val[1] > props.max) {\n _emit([val[0], props.max])\n } else {\n initData.firstValue = val[0]\n initData.secondValue = val[1]\n if (valueChanged()) {\n elFormItem.validate?.('change')\n initData.oldValue = val.slice()\n }\n }\n } else if (!props.range && typeof val === 'number' && !isNaN(val)) {\n if (val < props.min) {\n _emit(props.min)\n } else if (val > props.max) {\n _emit(props.max)\n } else {\n initData.firstValue = val\n if (valueChanged()) {\n elFormItem.validate?.('change')\n initData.oldValue = val\n }\n }\n }\n }\n\n setValues()\n\n watch(\n () => initData.dragging,\n (val) => {\n if (!val) {\n setValues()\n }\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (\n initData.dragging ||\n (Array.isArray(val) &&\n Array.isArray(oldVal) &&\n val.every((item, index) => item === oldVal[index]) &&\n initData.firstValue === val[0] &&\n initData.secondValue === val[1])\n ) {\n return\n }\n setValues()\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => [props.min, props.max],\n () => {\n setValues()\n }\n )\n}\n\nconst useLifecycle = (props, initData, resetSize) => {\n const sliderWrapper: Ref<Nullable<HTMLElement>> = ref(null)\n\n onMounted(async () => {\n let valuetext\n if (props.range) {\n if (Array.isArray(props.modelValue)) {\n initData.firstValue = Math.max(props.min, props.modelValue[0])\n initData.secondValue = Math.min(props.max, props.modelValue[1])\n } else {\n initData.firstValue = props.min\n initData.secondValue = props.max\n }\n initData.oldValue = [initData.firstValue, initData.secondValue]\n valuetext = `${initData.firstValue}-${initData.secondValue}`\n } else {\n if (typeof props.modelValue !== 'number' || isNaN(props.modelValue)) {\n initData.firstValue = props.min\n } else {\n initData.firstValue = Math.min(\n props.max,\n Math.max(props.min, props.modelValue)\n )\n }\n initData.oldValue = initData.firstValue\n valuetext = initData.firstValue\n }\n\n sliderWrapper.value.setAttribute('aria-valuetext', valuetext)\n\n // label screen reader\n sliderWrapper.value.setAttribute(\n 'aria-label',\n props.label ? props.label : `slider between ${props.min} and ${props.max}`\n )\n\n on(window, 'resize', resetSize)\n\n await nextTick()\n resetSize()\n })\n\n onBeforeUnmount(() => {\n off(window, 'resize', resetSize)\n })\n\n return {\n sliderWrapper,\n }\n}\n</script>\n"],"names":["SliderMarker","_openBlock"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/slider/src/index.vue"],"sourcesContent":["<template>\n <div\n ref=\"sliderWrapper\"\n :class=\"sliderKls\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuemax=\"max\"\n :aria-orientation=\"vertical ? 'vertical' : 'horizontal'\"\n :aria-disabled=\"sliderDisabled\"\n >\n <div\n ref=\"slider\"\n :class=\"[\n ns.e('runway'),\n { 'show-input': showInput && !range, disabled: sliderDisabled },\n ]\"\n :style=\"runwayStyle\"\n @click=\"onSliderClick\"\n >\n <div :class=\"ns.e('bar')\" :style=\"barStyle\"></div>\n <slider-button\n ref=\"firstButton\"\n :model-value=\"firstValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n @update:model-value=\"setFirstValue\"\n />\n <slider-button\n v-if=\"range\"\n ref=\"secondButton\"\n :model-value=\"secondValue\"\n :vertical=\"vertical\"\n :tooltip-class=\"tooltipClass\"\n @update:model-value=\"setSecondValue\"\n />\n <div v-if=\"showStops\">\n <div\n v-for=\"(item, key) in stops\"\n :key=\"key\"\n :class=\"ns.e('stop')\"\n :style=\"getStopStyle(item)\"\n ></div>\n </div>\n <template v-if=\"markList.length > 0\">\n <div>\n <div\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :style=\"getStopStyle(item.position)\"\n :class=\"[ns.e('stop'), ns.e('marks-stop')]\"\n ></div>\n </div>\n <div :class=\"ns.e('marks')\">\n <slider-marker\n v-for=\"(item, key) in markList\"\n :key=\"key\"\n :mark=\"item.mark\"\n :style=\"getStopStyle(item.position)\"\n />\n </div>\n </template>\n </div>\n <el-input-number\n v-if=\"showInput && !range\"\n ref=\"input\"\n :model-value=\"firstValue\"\n :class=\"ns.e('input')\"\n :step=\"step\"\n :disabled=\"sliderDisabled\"\n :controls=\"showInputControls\"\n :min=\"min\"\n :max=\"max\"\n :debounce=\"debounce\"\n :size=\"sliderInputSize\"\n @update:model-value=\"setFirstValue\"\n @change=\"emitChange\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n watch,\n} from 'vue'\nimport ElInputNumber from '@element-plus/components/input-number'\nimport {\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n INPUT_EVENT,\n} from '@element-plus/constants'\nimport { off, on, throwError, isValidComponentSize } from '@element-plus/utils'\nimport { useNamespace, useSize } from '@element-plus/hooks'\nimport SliderButton from './button.vue'\nimport SliderMarker from './marker.vue'\nimport { useMarks } from './useMarks'\nimport { useSlide } from './useSlide'\nimport { useStops } from './useStops'\n\nimport type { PropType, Ref } from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\n\nexport default defineComponent({\n name: 'ElSlider',\n\n components: {\n ElInputNumber,\n SliderButton,\n SliderMarker,\n },\n\n props: {\n modelValue: {\n type: [Number, Array] as PropType<number | number[]>,\n default: 0,\n },\n min: {\n type: Number,\n default: 0,\n },\n max: {\n type: Number,\n default: 100,\n },\n step: {\n type: Number,\n default: 1,\n },\n showInput: {\n type: Boolean,\n default: false,\n },\n showInputControls: {\n type: Boolean,\n default: true,\n },\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n inputSize: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n showStops: {\n type: Boolean,\n default: false,\n },\n showTooltip: {\n type: Boolean,\n default: true,\n },\n formatTooltip: {\n type: Function as PropType<(val: number) => number | string>,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n range: {\n type: Boolean,\n default: false,\n },\n vertical: {\n type: Boolean,\n default: false,\n },\n height: {\n type: String,\n default: '',\n },\n debounce: {\n type: Number,\n default: 300,\n },\n label: {\n type: String,\n default: undefined,\n },\n tooltipClass: {\n type: String,\n default: undefined,\n },\n marks: Object,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, INPUT_EVENT],\n\n setup(props, { emit }) {\n const ns = useNamespace('slider')\n const initData = reactive({\n firstValue: 0,\n secondValue: 0,\n oldValue: 0,\n dragging: false,\n sliderSize: 1,\n })\n\n const {\n elFormItem,\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n minValue,\n maxValue,\n runwayStyle,\n barStyle,\n resetSize,\n emitChange,\n onSliderClick,\n setFirstValue,\n setSecondValue,\n } = useSlide(props, initData, emit)\n\n const { stops, getStopStyle } = useStops(\n props,\n initData,\n minValue,\n maxValue\n )\n\n const sliderWrapperSize = useSize()\n const sliderInputSize = computed(\n () => props.inputSize || sliderWrapperSize.value\n )\n\n const sliderKls = computed(() => [\n ns.b(),\n ns.m(sliderWrapperSize.value),\n ns.is('vertical', props.vertical),\n { [ns.m('with-input')]: props.showInput },\n ])\n\n const markList = useMarks(props)\n\n useWatch(props, initData, minValue, maxValue, emit, elFormItem)\n\n const precision = computed(() => {\n const precisions = [props.min, props.max, props.step].map((item) => {\n const decimal = `${item}`.split('.')[1]\n return decimal ? decimal.length : 0\n })\n return Math.max.apply(null, precisions)\n })\n\n const { sliderWrapper } = useLifecycle(props, initData, resetSize)\n\n const { firstValue, secondValue, oldValue, dragging, sliderSize } =\n toRefs(initData)\n\n const updateDragging = (val: boolean) => {\n initData.dragging = val\n }\n\n provide('SliderProvider', {\n ...toRefs(props),\n sliderSize,\n disabled: sliderDisabled,\n precision,\n emitChange,\n resetSize,\n updateDragging,\n })\n\n return {\n ns,\n firstValue,\n secondValue,\n oldValue,\n dragging,\n sliderSize,\n\n slider,\n firstButton,\n secondButton,\n sliderDisabled,\n runwayStyle,\n barStyle,\n emitChange,\n onSliderClick,\n getStopStyle,\n setFirstValue,\n setSecondValue,\n\n stops,\n markList,\n\n sliderWrapper,\n sliderWrapperSize,\n sliderInputSize,\n sliderKls,\n }\n },\n})\n\nconst useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {\n const _emit = (val: number | number[]) => {\n emit(UPDATE_MODEL_EVENT, val)\n emit(INPUT_EVENT, val)\n }\n\n const valueChanged = () => {\n if (props.range) {\n return ![minValue.value, maxValue.value].every(\n (item, index) => item === initData.oldValue[index]\n )\n } else {\n return props.modelValue !== initData.oldValue\n }\n }\n\n const setValues = () => {\n if (props.min > props.max) {\n throwError('Slider', 'min should not be greater than max.')\n return\n }\n const val = props.modelValue\n if (props.range && Array.isArray(val)) {\n if (val[1] < props.min) {\n _emit([props.min, props.min])\n } else if (val[0] > props.max) {\n _emit([props.max, props.max])\n } else if (val[0] < props.min) {\n _emit([props.min, val[1]])\n } else if (val[1] > props.max) {\n _emit([val[0], props.max])\n } else {\n initData.firstValue = val[0]\n initData.secondValue = val[1]\n if (valueChanged()) {\n elFormItem.validate?.('change')\n initData.oldValue = val.slice()\n }\n }\n } else if (!props.range && typeof val === 'number' && !isNaN(val)) {\n if (val < props.min) {\n _emit(props.min)\n } else if (val > props.max) {\n _emit(props.max)\n } else {\n initData.firstValue = val\n if (valueChanged()) {\n elFormItem.validate?.('change')\n initData.oldValue = val\n }\n }\n }\n }\n\n setValues()\n\n watch(\n () => initData.dragging,\n (val) => {\n if (!val) {\n setValues()\n }\n }\n )\n\n watch(\n () => props.modelValue,\n (val, oldVal) => {\n if (\n initData.dragging ||\n (Array.isArray(val) &&\n Array.isArray(oldVal) &&\n val.every((item, index) => item === oldVal[index]) &&\n initData.firstValue === val[0] &&\n initData.secondValue === val[1])\n ) {\n return\n }\n setValues()\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => [props.min, props.max],\n () => {\n setValues()\n }\n )\n}\n\nconst useLifecycle = (props, initData, resetSize) => {\n const sliderWrapper: Ref<Nullable<HTMLElement>> = ref(null)\n\n onMounted(async () => {\n let valuetext\n if (props.range) {\n if (Array.isArray(props.modelValue)) {\n initData.firstValue = Math.max(props.min, props.modelValue[0])\n initData.secondValue = Math.min(props.max, props.modelValue[1])\n } else {\n initData.firstValue = props.min\n initData.secondValue = props.max\n }\n initData.oldValue = [initData.firstValue, initData.secondValue]\n valuetext = `${initData.firstValue}-${initData.secondValue}`\n } else {\n if (typeof props.modelValue !== 'number' || isNaN(props.modelValue)) {\n initData.firstValue = props.min\n } else {\n initData.firstValue = Math.min(\n props.max,\n Math.max(props.min, props.modelValue)\n )\n }\n initData.oldValue = initData.firstValue\n valuetext = initData.firstValue\n }\n\n sliderWrapper.value.setAttribute('aria-valuetext', valuetext)\n\n // label screen reader\n sliderWrapper.value.setAttribute(\n 'aria-label',\n props.label ? props.label : `slider between ${props.min} and ${props.max}`\n )\n\n on(window, 'resize', resetSize)\n\n await nextTick()\n resetSize()\n })\n\n onBeforeUnmount(() => {\n off(window, 'resize', resetSize)\n })\n\n return {\n sliderWrapper,\n }\n}\n</script>\n"],"names":["SliderMarker","_openBlock","_normalizeClass","_normalizeStyle"],"mappings":";;;;;;;;;;;;;;;;;;AA+GA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,kBACAA;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAEb,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA;AAAA,EAGT,OAAO,CAAC,oBAAoB,cAAc;AAAA,EAE1C,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,WAAW,SAAS;AAAA,MACxB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAY;AAAA;AAGd,UAAM;AAAA,MACJ;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,QACE,SAAS,OAAO,UAAU;AAE9B,UAAM,EAAE,OAAO,iBAAiB,SAC9B,OACA,UACA,UACA;AAGF,UAAM,oBAAoB;AAC1B,UAAM,kBAAkB,SACtB,MAAM,MAAM,aAAa,kBAAkB;AAG7C,UAAM,YAAY,SAAS,MAAM;AAAA,MAC/B,GAAG;AAAA,MACH,GAAG,EAAE,kBAAkB;AAAA,MACvB,GAAG,GAAG,YAAY,MAAM;AAAA,MACxB,GAAG,GAAG,EAAE,gBAAgB,MAAM;AAAA;AAGhC,UAAM,WAAW,SAAS;AAE1B,aAAS,OAAO,UAAU,UAAU,UAAU,MAAM;AAEpD,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,aAAa,CAAC,MAAM,KAAK,MAAM,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS;AAClE,cAAM,UAAU,GAAG,OAAO,MAAM,KAAK;AACrC,eAAO,UAAU,QAAQ,SAAS;AAAA;AAEpC,aAAO,KAAK,IAAI,MAAM,MAAM;AAAA;AAG9B,UAAM,EAAE,kBAAkB,aAAa,OAAO,UAAU;AAExD,UAAM,EAAE,YAAY,aAAa,UAAU,UAAU,eACnD,OAAO;AAET,UAAM,iBAAiB,CAAC,QAAiB;AACvC,eAAS,WAAW;AAAA;AAGtB,YAAQ,kBAAkB;AAAA,SACrB,OAAO;AAAA,MACV;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAGF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;AAKN,MAAM,WAAW,CAAC,OAAO,UAAU,UAAU,UAAU,MAAM,eAAe;AAC1E,QAAM,QAAQ,CAAC,QAA2B;AACxC,SAAK,oBAAoB;AACzB,SAAK,aAAa;AAAA;AAGpB,QAAM,eAAe,MAAM;AACzB,QAAI,MAAM,OAAO;AACf,aAAO,CAAC,CAAC,SAAS,OAAO,SAAS,OAAO,MACvC,CAAC,MAAM,UAAU,SAAS,SAAS,SAAS;AAAA,WAEzC;AACL,aAAO,MAAM,eAAe,SAAS;AAAA;AAAA;AAIzC,QAAM,YAAY,MAAM;AACtB,QAAI,MAAM;AACR,iBAAW;AACX;AAAA;AAEF;AACA;AACE,cAAQ,KAAK;AACX,cAAM,CAAC;AAAiB,qBACX,KAAK,MAAM,KAAK;AAC7B,qBAAa,KAAK,MAAM;AAAA,qBACX,KAAK,MAAM,KAAK;AAC7B,qBAAa,KAAK;AAAI,qBACT,KAAK,MAAM;AACxB,uBAAe;AAAM,aAChB;AACL;AACA,iBAAS,kBAAkB;AAC3B,4BAAoB;AAClB;AACA;AAAwB;AAAA;AAAA;AAI5B,gBAAU,MAAM,KAAK;AACnB;AAAY,uBACG;AACf,oBAAY;AAAA,aACP;AACL;AACA;AACE;AACA;AAAoB;AAAA;AAAA;AAAA;AAM5B;AAEA,cACQ;AAEJ,QAAI,MAAM;AACR;AAAA;AAAA;AAKN;AAGI,QACE;AAOA;AAAA;AAEF;AAAA;AAEF;AACQ;AAIV;AAGI;AAAA;AAAA;AAKN;AACE;AAEA,wBAAsB;AACpB;AACA,QAAI;AACF;AACE,8BAAsB;AACtB,iBAAS,mDAAmD;AAAA;AAE5D;AACA,iBAAS;AAAoB;AAE/B;AACA;AAA+C;AAE/C;AACE,iBAAS;AAAmB;AAE5B;AAE4B;AAG9B;AACA;AAAqB;AAGvB;AAGA,kBAAc,MAAM,aAClB,4BACc;AAGhB;AAEA;AACA;AAAA;AAGF;AACE;AAAsB;AAGxB;AAAO;AACL;AAAA;;;;;;;;AAjXI,SA3EAC;AAAA,IACH;AAAO,IACR;AAAK,IACJ;AAAe,IACf,iBAAe;AAAA,IACf;AAA0B,IAC1B;AAAe;;AAqDV;AAlDA,MACH;AAAK;AAAgB;AAAmE;AAAA;AAIjF,MACP;AAAO;;AAE0C,8BAArC;AAAI,QAAU,OAAKC,eAAE;AAAA;;AAOhC;AALI,QACH;AAAa,QACb;AAAU,QACV;AAAe,QACf;AAAoB;kCAEvB;AAOE;QALA,KAAI;AAAA,QACH;AAAa,QACb;AAAU,QACV;AAAe,QACf;AAAoB;;AASjB;;AADG;AAHJ,YACA;AAAW,YACX,OAAKA,eAAE,kBAAa;AAAA;;;;AAoBd;AATH;;AADG;AAHJ,cACA;AAAyB,cACzB,OAAKC;AAAqB;;;;AAUzB,gCAPO;AAAI;;;AAMb;AAHC,cACA;AAAW,cACX;AAAyB;;;;;;AAmBhC;MAZA,KAAI;AAAA,MACH;AAAa,MACb;AAAW,MACX;AAAM,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAK,MACL,KAAK;AAAA,MACL,UAAU;AAAA,MACV;AAAM,MACN;AAAoB,MACpB;AAAQ;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/space/src/item.vue"],"sourcesContent":["<template>\n <div :class=\"classes\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { buildProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\n\nconst spaceItem = buildProps({\n prefixCls: {\n type: String,\n default: '',\n },\n} as const)\n\nexport default defineComponent({\n props: spaceItem,\n\n setup(props) {\n const ns = useNamespace('space')\n\n const classes = computed(() => `${props.prefixCls || ns.b()}__item`)\n\n return {\n classes,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;AAWA,MAAM,YAAY,WAAW;AAAA,EAC3B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;AAIb,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AAExB,UAAM,UAAU,SAAS,MAAM,GAAG,MAAM,aAAa,GAAG;AAExD,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;2BA1BJ,wBAEM;SAFKA,gCAAS;AAAA;KAClB;AAAA;;;;;;;"}
1
+ {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/space/src/item.vue"],"sourcesContent":["<template>\n <div :class=\"classes\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { buildProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\n\nconst spaceItem = buildProps({\n prefixCls: {\n type: String,\n default: '',\n },\n} as const)\n\nexport default defineComponent({\n props: spaceItem,\n\n setup(props) {\n const ns = useNamespace('space')\n\n const classes = computed(() => `${props.prefixCls || ns.b()}__item`)\n\n return {\n classes,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;AAWA,MAAM,YAAY,WAAW;AAAA,EAC3B,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AAAA;AAIb,MAAK,YAAa,gBAAa;AAAA,EAC7B,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AAExB,UAAM,UAAU,SAAS,MAAM,GAAG,MAAM,aAAa,GAAG;AAExD,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;sBA1BJA,mBAEM;AAAA,IAFA,OAAKC,eAAE;AAAA;IACXC,WAAQ;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/steps/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.m(simple ? 'simple' : direction)]\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, ref, provide } from 'vue'\n\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nexport default defineComponent({\n name: 'ElSteps',\n props: {\n space: {\n type: [Number, String],\n default: '',\n },\n active: {\n type: Number,\n default: 0,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: (val: string): boolean =>\n ['horizontal', 'vertical'].includes(val),\n },\n alignCenter: {\n type: Boolean,\n default: false,\n },\n simple: {\n type: Boolean,\n default: false,\n },\n finishStatus: {\n type: String,\n default: 'finish',\n validator: (val: string): boolean =>\n ['wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n processStatus: {\n type: String,\n default: 'process',\n validator: (val: string): boolean =>\n ['wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n },\n emits: [CHANGE_EVENT],\n setup(props, { emit }) {\n const ns = useNamespace('steps')\n const steps = ref([])\n\n watch(steps, () => {\n steps.value.forEach((instance, index) => {\n instance.setIndex(index)\n })\n })\n\n provide('ElSteps', { props, steps })\n\n watch(\n () => props.active,\n (newVal, oldVal) => {\n emit(CHANGE_EVENT, newVal, oldVal)\n }\n )\n\n return {\n steps,\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;AAYA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,cAAc,YAAY,SAAS;AAAA;AAAA,IAExC,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,QAAQ,WAAW,UAAU,SAAS,WAAW,SAAS;AAAA;AAAA,IAE/D,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,QAAQ,WAAW,UAAU,SAAS,WAAW,SAAS;AAAA;AAAA;AAAA,EAGjE,OAAO,CAAC;AAAA,EACR,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,QAAQ,IAAI;AAElB,UAAM,OAAO,MAAM;AACjB,YAAM,MAAM,QAAQ,CAAC,UAAU,UAAU;AACvC,iBAAS,SAAS;AAAA;AAAA;AAItB,YAAQ,WAAW,EAAE,OAAO;AAE5B,UACE,MAAM,MAAM,QACZ,CAAC,QAAQ,WAAW;AAClB,WAAK,cAAc,QAAQ;AAAA;AAI/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BAvEJ,wBAEM;SAFKA,gCAAW,OAAK;AAAA;KACzB;AAAA;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/steps/src/index.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.m(simple ? 'simple' : direction)]\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, watch, ref, provide } from 'vue'\n\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nexport default defineComponent({\n name: 'ElSteps',\n props: {\n space: {\n type: [Number, String],\n default: '',\n },\n active: {\n type: Number,\n default: 0,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: (val: string): boolean =>\n ['horizontal', 'vertical'].includes(val),\n },\n alignCenter: {\n type: Boolean,\n default: false,\n },\n simple: {\n type: Boolean,\n default: false,\n },\n finishStatus: {\n type: String,\n default: 'finish',\n validator: (val: string): boolean =>\n ['wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n processStatus: {\n type: String,\n default: 'process',\n validator: (val: string): boolean =>\n ['wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n },\n emits: [CHANGE_EVENT],\n setup(props, { emit }) {\n const ns = useNamespace('steps')\n const steps = ref([])\n\n watch(steps, () => {\n steps.value.forEach((instance, index) => {\n instance.setIndex(index)\n })\n })\n\n provide('ElSteps', { props, steps })\n\n watch(\n () => props.active,\n (newVal, oldVal) => {\n emit(CHANGE_EVENT, newVal, oldVal)\n }\n )\n\n return {\n steps,\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;AAYA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,cAAc,YAAY,SAAS;AAAA;AAAA,IAExC,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,QAAQ,WAAW,UAAU,SAAS,WAAW,SAAS;AAAA;AAAA,IAE/D,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,QACV,CAAC,QAAQ,WAAW,UAAU,SAAS,WAAW,SAAS;AAAA;AAAA;AAAA,EAGjE,OAAO,CAAC;AAAA,EACR,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,QAAQ,IAAI;AAElB,UAAM,OAAO,MAAM;AACjB,YAAM,MAAM,QAAQ,CAAC,UAAU,UAAU;AACvC,iBAAS,SAAS;AAAA;AAAA;AAItB,YAAQ,WAAW,EAAE,OAAO;AAE5B,UACE,MAAM,MAAM,QACZ,CAAC,QAAQ,WAAW;AAClB,WAAK,cAAc,QAAQ;AAAA;AAI/B,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;sBAvEJA,mBAEM;AAAA,IAFA,OAAKC,gBAAG,QAAG,KAAK,QAAG,EAAE,cAAM,WAAc;AAAA;IAC7CC,WAAa;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/steps/src/item.vue"],"sourcesContent":["<template>\n <div\n :style=\"style\"\n :class=\"[\n ns.b(),\n ns.is(isSimple ? 'simple' : parent.props.direction),\n ns.is('flex', isLast && !space && !isCenter),\n ns.is('center', isCenter && !isVertical && !isSimple),\n ]\"\n >\n <!-- icon & line -->\n <div :class=\"[ns.e('head'), ns.is(currentStatus)]\">\n <div v-if=\"!isSimple\" :class=\"ns.e('line')\">\n <i :class=\"ns.e('line-inner')\" :style=\"lineStyle\"></i>\n </div>\n\n <div :class=\"[ns.e('icon'), ns.is(icon ? 'icon' : 'text')]\">\n <slot\n v-if=\"currentStatus !== 'success' && currentStatus !== 'error'\"\n name=\"icon\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon-inner')\">\n <component :is=\"icon\" />\n </el-icon>\n <div v-if=\"!icon && !isSimple\" :class=\"ns.e('icon-inner')\">\n {{ index + 1 }}\n </div>\n </slot>\n <el-icon v-else :class=\"[ns.e('icon-inner'), ns.is('status')]\">\n <check v-if=\"currentStatus === 'success'\" />\n <close v-else />\n </el-icon>\n </div>\n </div>\n <!-- title & description -->\n <div :class=\"ns.e('main')\">\n <div :class=\"[ns.e('title'), ns.is(currentStatus)]\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"isSimple\" :class=\"ns.e('arrow')\"></div>\n <div v-else :class=\"[ns.e('description'), ns.is(currentStatus)]\">\n <slot name=\"description\">{{ description }}</slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n ref,\n reactive,\n watch,\n} from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Close, Check } from '@element-plus/icons-vue'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport type { Ref, PropType, Component } from 'vue'\n\nexport interface IStepsProps {\n space: number | string\n active: number\n direction: string\n alignCenter: boolean\n simple: boolean\n finishStatus: string\n processStatus: string\n}\n\nexport interface StepItemState {\n uid: number\n currentStatus: string\n setIndex: (val: number) => void\n calcProgress: (status: string) => void\n}\n\nexport interface IStepsInject {\n props: IStepsProps\n steps: Ref<StepItemState[]>\n}\n\nexport default defineComponent({\n name: 'ElStep',\n components: {\n ElIcon,\n Close,\n Check,\n },\n props: {\n title: {\n type: String,\n default: '',\n },\n icon: {\n type: [String, Object] as PropType<string | Component>,\n default: '',\n },\n description: {\n type: String,\n default: '',\n },\n status: {\n type: String,\n default: '',\n validator: (val: string): boolean =>\n ['', 'wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n },\n setup(props) {\n const ns = useNamespace('step')\n const index = ref(-1)\n const lineStyle = ref({})\n const internalStatus = ref('')\n const parent: IStepsInject = inject('ElSteps')\n const currentInstance = getCurrentInstance()\n\n onMounted(() => {\n watch(\n [\n () => parent.props.active,\n () => parent.props.processStatus,\n () => parent.props.finishStatus,\n ],\n ([active]) => {\n updateStatus(active)\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n parent.steps.value = parent.steps.value.filter(\n (instance) => instance.uid !== currentInstance.uid\n )\n })\n\n const currentStatus = computed(() => {\n return props.status || internalStatus.value\n })\n const prevStatus = computed(() => {\n const prevStep = parent.steps.value[index.value - 1]\n return prevStep ? prevStep.currentStatus : 'wait'\n })\n const isCenter = computed(() => {\n return parent.props.alignCenter\n })\n const isVertical = computed(() => {\n return parent.props.direction === 'vertical'\n })\n const isSimple = computed(() => {\n return parent.props.simple\n })\n const stepsCount = computed(() => {\n return parent.steps.value.length\n })\n const isLast = computed(() => {\n return (\n parent.steps.value[stepsCount.value - 1]?.uid === currentInstance.uid\n )\n })\n const space = computed(() => {\n return isSimple.value ? '' : parent.props.space\n })\n const style = computed(() => {\n const style: Record<string, unknown> = {\n flexBasis:\n typeof space.value === 'number'\n ? `${space.value}px`\n : space.value\n ? space.value\n : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`,\n }\n if (isVertical.value) return style\n if (isLast.value) {\n style.maxWidth = `${100 / stepsCount.value}%`\n }\n return style\n })\n\n const setIndex = (val) => {\n index.value = val\n }\n const calcProgress = (status) => {\n let step = 100\n const style: Record<string, unknown> = {}\n\n style.transitionDelay = `${150 * index.value}ms`\n if (status === parent.props.processStatus) {\n step = 0\n } else if (status === 'wait') {\n step = 0\n style.transitionDelay = `${-150 * index.value}ms`\n }\n style.borderWidth = step && !isSimple.value ? '1px' : 0\n style[\n parent.props.direction === 'vertical' ? 'height' : 'width'\n ] = `${step}%`\n lineStyle.value = style\n }\n const updateStatus = (activeIndex) => {\n if (activeIndex > index.value) {\n internalStatus.value = parent.props.finishStatus\n } else if (activeIndex === index.value && prevStatus.value !== 'error') {\n internalStatus.value = parent.props.processStatus\n } else {\n internalStatus.value = 'wait'\n }\n const prevChild = parent.steps.value[stepsCount.value - 1]\n if (prevChild) prevChild.calcProgress(internalStatus.value)\n }\n\n const stepItemState = reactive({\n uid: computed(() => currentInstance.uid),\n currentStatus,\n setIndex,\n calcProgress,\n })\n parent.steps.value = [...parent.steps.value, stepItemState]\n\n return {\n ns,\n index,\n lineStyle,\n currentStatus,\n isCenter,\n isVertical,\n isSimple,\n isLast,\n space,\n style,\n parent,\n setIndex,\n calcProgress,\n updateStatus,\n }\n },\n})\n</script>\n"],"names":["_normalizeStyle","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/steps/src/item.vue"],"sourcesContent":["<template>\n <div\n :style=\"style\"\n :class=\"[\n ns.b(),\n ns.is(isSimple ? 'simple' : parent.props.direction),\n ns.is('flex', isLast && !space && !isCenter),\n ns.is('center', isCenter && !isVertical && !isSimple),\n ]\"\n >\n <!-- icon & line -->\n <div :class=\"[ns.e('head'), ns.is(currentStatus)]\">\n <div v-if=\"!isSimple\" :class=\"ns.e('line')\">\n <i :class=\"ns.e('line-inner')\" :style=\"lineStyle\"></i>\n </div>\n\n <div :class=\"[ns.e('icon'), ns.is(icon ? 'icon' : 'text')]\">\n <slot\n v-if=\"currentStatus !== 'success' && currentStatus !== 'error'\"\n name=\"icon\"\n >\n <el-icon v-if=\"icon\" :class=\"ns.e('icon-inner')\">\n <component :is=\"icon\" />\n </el-icon>\n <div v-if=\"!icon && !isSimple\" :class=\"ns.e('icon-inner')\">\n {{ index + 1 }}\n </div>\n </slot>\n <el-icon v-else :class=\"[ns.e('icon-inner'), ns.is('status')]\">\n <check v-if=\"currentStatus === 'success'\" />\n <close v-else />\n </el-icon>\n </div>\n </div>\n <!-- title & description -->\n <div :class=\"ns.e('main')\">\n <div :class=\"[ns.e('title'), ns.is(currentStatus)]\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div v-if=\"isSimple\" :class=\"ns.e('arrow')\"></div>\n <div v-else :class=\"[ns.e('description'), ns.is(currentStatus)]\">\n <slot name=\"description\">{{ description }}</slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onBeforeUnmount,\n onMounted,\n ref,\n reactive,\n watch,\n} from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { Close, Check } from '@element-plus/icons-vue'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport type { Ref, PropType, Component } from 'vue'\n\nexport interface IStepsProps {\n space: number | string\n active: number\n direction: string\n alignCenter: boolean\n simple: boolean\n finishStatus: string\n processStatus: string\n}\n\nexport interface StepItemState {\n uid: number\n currentStatus: string\n setIndex: (val: number) => void\n calcProgress: (status: string) => void\n}\n\nexport interface IStepsInject {\n props: IStepsProps\n steps: Ref<StepItemState[]>\n}\n\nexport default defineComponent({\n name: 'ElStep',\n components: {\n ElIcon,\n Close,\n Check,\n },\n props: {\n title: {\n type: String,\n default: '',\n },\n icon: {\n type: [String, Object] as PropType<string | Component>,\n default: '',\n },\n description: {\n type: String,\n default: '',\n },\n status: {\n type: String,\n default: '',\n validator: (val: string): boolean =>\n ['', 'wait', 'process', 'finish', 'error', 'success'].includes(val),\n },\n },\n setup(props) {\n const ns = useNamespace('step')\n const index = ref(-1)\n const lineStyle = ref({})\n const internalStatus = ref('')\n const parent: IStepsInject = inject('ElSteps')\n const currentInstance = getCurrentInstance()\n\n onMounted(() => {\n watch(\n [\n () => parent.props.active,\n () => parent.props.processStatus,\n () => parent.props.finishStatus,\n ],\n ([active]) => {\n updateStatus(active)\n },\n { immediate: true }\n )\n })\n\n onBeforeUnmount(() => {\n parent.steps.value = parent.steps.value.filter(\n (instance) => instance.uid !== currentInstance.uid\n )\n })\n\n const currentStatus = computed(() => {\n return props.status || internalStatus.value\n })\n const prevStatus = computed(() => {\n const prevStep = parent.steps.value[index.value - 1]\n return prevStep ? prevStep.currentStatus : 'wait'\n })\n const isCenter = computed(() => {\n return parent.props.alignCenter\n })\n const isVertical = computed(() => {\n return parent.props.direction === 'vertical'\n })\n const isSimple = computed(() => {\n return parent.props.simple\n })\n const stepsCount = computed(() => {\n return parent.steps.value.length\n })\n const isLast = computed(() => {\n return (\n parent.steps.value[stepsCount.value - 1]?.uid === currentInstance.uid\n )\n })\n const space = computed(() => {\n return isSimple.value ? '' : parent.props.space\n })\n const style = computed(() => {\n const style: Record<string, unknown> = {\n flexBasis:\n typeof space.value === 'number'\n ? `${space.value}px`\n : space.value\n ? space.value\n : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`,\n }\n if (isVertical.value) return style\n if (isLast.value) {\n style.maxWidth = `${100 / stepsCount.value}%`\n }\n return style\n })\n\n const setIndex = (val) => {\n index.value = val\n }\n const calcProgress = (status) => {\n let step = 100\n const style: Record<string, unknown> = {}\n\n style.transitionDelay = `${150 * index.value}ms`\n if (status === parent.props.processStatus) {\n step = 0\n } else if (status === 'wait') {\n step = 0\n style.transitionDelay = `${-150 * index.value}ms`\n }\n style.borderWidth = step && !isSimple.value ? '1px' : 0\n style[\n parent.props.direction === 'vertical' ? 'height' : 'width'\n ] = `${step}%`\n lineStyle.value = style\n }\n const updateStatus = (activeIndex) => {\n if (activeIndex > index.value) {\n internalStatus.value = parent.props.finishStatus\n } else if (activeIndex === index.value && prevStatus.value !== 'error') {\n internalStatus.value = parent.props.processStatus\n } else {\n internalStatus.value = 'wait'\n }\n const prevChild = parent.steps.value[stepsCount.value - 1]\n if (prevChild) prevChild.calcProgress(internalStatus.value)\n }\n\n const stepItemState = reactive({\n uid: computed(() => currentInstance.uid),\n currentStatus,\n setIndex,\n calcProgress,\n })\n parent.steps.value = [...parent.steps.value, stepItemState]\n\n return {\n ns,\n index,\n lineStyle,\n currentStatus,\n isCenter,\n isVertical,\n isSimple,\n isLast,\n space,\n style,\n parent,\n setIndex,\n calcProgress,\n updateStatus,\n }\n },\n})\n</script>\n"],"names":["_normalizeStyle","_createCommentVNode","_normalizeClass"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div\n :class=\"switchKls\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n @click.prevent=\"switchValue\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked),\n ]\"\n >\n <el-icon v-if=\"inactiveIcon\"><component :is=\"inactiveIcon\" /></el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span\n ref=\"core\"\n :class=\"ns.e('core')\"\n :style=\"{ width: (width || 40) + 'px' }\"\n >\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon\n v-if=\"activeIcon\"\n :class=\"[ns.is('icon'), checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"activeIcon\" />\n </el-icon>\n <el-icon\n v-if=\"inactiveIcon\"\n :class=\"[ns.is('icon'), !checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveIcon\">\n <span\n v-if=\"activeText\"\n :class=\"[ns.is('text'), checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"!checked\"\n >\n {{ activeText.substr(0, 1) }}\n </span>\n <span\n v-if=\"inactiveText\"\n :class=\"[ns.is('text'), !checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"checked\"\n >\n {{ inactiveText.substr(0, 1) }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\"><loading /></el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked),\n ]\"\n >\n <el-icon v-if=\"activeIcon\"><component :is=\"activeIcon\" /></el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, onMounted, ref, nextTick, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { isBoolean, throwError, debugWarn } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n INPUT_EVENT,\n} from '@element-plus/constants'\nimport {\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { switchProps, switchEmits } from './switch'\n\nconst COMPONENT_NAME = 'ElSwitch'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: { ElIcon, Loading },\n\n props: switchProps,\n emits: switchEmits,\n\n setup(props, { emit }) {\n const { formItem } = useFormItem()\n const switchDisabled = useDisabled(computed(() => props.loading))\n const ns = useNamespace('switch')\n\n const switchSize = useSize()\n const isModelValue = ref(props.modelValue !== false)\n const input = ref<HTMLInputElement>()\n const core = ref<HTMLSpanElement>()\n\n const switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n ])\n\n watch(\n () => props.modelValue,\n () => {\n isModelValue.value = true\n }\n )\n\n watch(\n () => props.value,\n () => {\n isModelValue.value = false\n }\n )\n\n const actualValue = computed(() => {\n return isModelValue.value ? props.modelValue : props.value\n })\n\n const checked = computed(() => actualValue.value === props.activeValue)\n\n if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n }\n\n watch(checked, () => {\n input.value!.checked = checked.value\n\n if (props.activeColor || props.inactiveColor) {\n setBackgroundColor()\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('change')\n }\n })\n\n const handleChange = (): void => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n }\n\n const switchValue = (): void => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isExpectType = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].some((i) => i)\n if (!isExpectType) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n }\n\n const setBackgroundColor = (): void => {\n const newColor = checked.value ? props.activeColor : props.inactiveColor\n const coreEl = core.value\n if (props.borderColor) coreEl!.style.borderColor = props.borderColor\n else if (!props.borderColor) coreEl!.style.borderColor = newColor\n coreEl!.style.backgroundColor = newColor\n ;(coreEl!.children[0] as HTMLDivElement).style.color = newColor\n }\n\n const focus = (): void => {\n input.value?.focus?.()\n }\n\n onMounted(() => {\n if (props.activeColor || props.inactiveColor || props.borderColor) {\n setBackgroundColor()\n }\n\n input.value!.checked = checked.value\n })\n\n return {\n ns,\n input,\n core,\n switchDisabled,\n checked,\n switchKls,\n handleChange,\n switchValue,\n focus,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA6GA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY,EAAE,QAAQ;AAAA,EAEtB,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,aAAa;AACrB,UAAM,iBAAiB,YAAY,SAAS,MAAM,MAAM;AACxD,UAAM,KAAK,aAAa;AAExB,UAAM,aAAa;AACnB,UAAM,eAAe,IAAI,MAAM,eAAe;AAC9C,UAAM,QAAQ;AACd,UAAM,OAAO;AAEb,UAAM,YAAY,SAAS,MAAM;AAAA,MAC/B,GAAG;AAAA,MACH,GAAG,EAAE,WAAW;AAAA,MAChB,GAAG,GAAG,YAAY,eAAe;AAAA,MACjC,GAAG,GAAG,WAAW,QAAQ;AAAA;AAG3B,UACE,MAAM,MAAM,YACZ,MAAM;AACJ,mBAAa,QAAQ;AAAA;AAIzB,UACE,MAAM,MAAM,OACZ,MAAM;AACJ,mBAAa,QAAQ;AAAA;AAIzB,UAAM,cAAc,SAAS,MAAM;AACjC,aAAO,aAAa,QAAQ,MAAM,aAAa,MAAM;AAAA;AAGvD,UAAM,UAAU,SAAS,MAAM,YAAY,UAAU,MAAM;AAE3D,QAAI,CAAC,CAAC,MAAM,aAAa,MAAM,eAAe,SAAS,YAAY,QAAQ;AACzE,WAAK,oBAAoB,MAAM;AAC/B,WAAK,cAAc,MAAM;AACzB,WAAK,aAAa,MAAM;AAAA;AAG1B,UAAM,SAAS,MAAM;AACnB,YAAM;AAEN;AACE;AAAA;AAGF;AACE,6BAAqB;AAAA;AAAA;AAIzB;AACE;AACA,+BAAyB;AACzB,WAAK;AACL,WAAK;AACL;AACE,cAAM;AAAyB;AAAA;AAInC;AACE,UAAI;AAAsB;AAE1B;AACA;AACE;AACA;AAAA;AAGF;AAEA,YAAM,eAAe;AAAA;AACT,QACV,UAAU;AAAA,QACV;AACF;AACE;AAEE;AAIJ;AACE;AAEI;AACE;AAAA;AAAA,WAGH;AACC;AAAkD;AAAA;AAGtD;AAAA;AAAA;AAIJ;AACE,+BAAyB;AACzB,YAAM;AACN;AAAuB,eAAQ;AAA0B,eAChD;AAAoB,eAAQ,MAAM;AAC3C;AACC,MAAC,OAAQ;AAA6C;AAGzD;AACE;AAAa;AAGf;AACE;AACE;AAAA;AAGF,4BAAuB;AAAQ;AAGjC,WAAO;AAAA,MACL;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;AAxPe;AACJ;AACZ,IACA;AAAe,IACf;AAAK;;AAEN;AACS;AACH;AACE,MACN;AAAe,MACd;AAAM,MACN;AAAA,MACA;AAAa,MACb,eAAU;AAAA,MACV;AAAM,MACN;AAAe;;AAGwB,0BAD1C;WAEQ;AAAA;AAAgB;AAAwB;AAAgC;;;AAM/D;AAA8C;AAAhC;;;;AACA;QAAe;AAAA,4BAC1C;AAAA;;AA2CG;AAvCK;AACJ;AACY;;AAEP;;AAAoB;;AACb;AAEI;YACf;AAAK;;;AAEN;;;;AAGkB;iBACZ;AAAA;;;AAEN;;;;;AAKgB;;AACV,wCACgB;AAAA;AAEnB,mGAGe;AAAA;;AACZ,wCACe;AAAA;AAElB;;kCAMH;AAAA;AAFO;;AACI;;AAAe;;;AAA+B;;;;;;AAIxD;;AACD;AAAgB;AAAwB;AAAiC;;;AAMhE;AAA0C;AAA9B;;;;AACA;QAAa;AAAA;AACtC;;;;;;;;;;"}
1
+ {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div\n :class=\"switchKls\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n @click.prevent=\"switchValue\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked),\n ]\"\n >\n <el-icon v-if=\"inactiveIcon\"><component :is=\"inactiveIcon\" /></el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span\n ref=\"core\"\n :class=\"ns.e('core')\"\n :style=\"{ width: (width || 40) + 'px' }\"\n >\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon\n v-if=\"activeIcon\"\n :class=\"[ns.is('icon'), checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"activeIcon\" />\n </el-icon>\n <el-icon\n v-if=\"inactiveIcon\"\n :class=\"[ns.is('icon'), !checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveIcon\">\n <span\n v-if=\"activeText\"\n :class=\"[ns.is('text'), checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"!checked\"\n >\n {{ activeText.substr(0, 1) }}\n </span>\n <span\n v-if=\"inactiveText\"\n :class=\"[ns.is('text'), !checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"checked\"\n >\n {{ inactiveText.substr(0, 1) }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\"><loading /></el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked),\n ]\"\n >\n <el-icon v-if=\"activeIcon\"><component :is=\"activeIcon\" /></el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, onMounted, ref, nextTick, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { isBoolean, throwError, debugWarn } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n INPUT_EVENT,\n} from '@element-plus/constants'\nimport {\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { switchProps, switchEmits } from './switch'\n\nconst COMPONENT_NAME = 'ElSwitch'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: { ElIcon, Loading },\n\n props: switchProps,\n emits: switchEmits,\n\n setup(props, { emit }) {\n const { formItem } = useFormItem()\n const switchDisabled = useDisabled(computed(() => props.loading))\n const ns = useNamespace('switch')\n\n const switchSize = useSize()\n const isModelValue = ref(props.modelValue !== false)\n const input = ref<HTMLInputElement>()\n const core = ref<HTMLSpanElement>()\n\n const switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n ])\n\n watch(\n () => props.modelValue,\n () => {\n isModelValue.value = true\n }\n )\n\n watch(\n () => props.value,\n () => {\n isModelValue.value = false\n }\n )\n\n const actualValue = computed(() => {\n return isModelValue.value ? props.modelValue : props.value\n })\n\n const checked = computed(() => actualValue.value === props.activeValue)\n\n if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n }\n\n watch(checked, () => {\n input.value!.checked = checked.value\n\n if (props.activeColor || props.inactiveColor) {\n setBackgroundColor()\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('change')\n }\n })\n\n const handleChange = (): void => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n }\n\n const switchValue = (): void => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isExpectType = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].some((i) => i)\n if (!isExpectType) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n }\n\n const setBackgroundColor = (): void => {\n const newColor = checked.value ? props.activeColor : props.inactiveColor\n const coreEl = core.value\n if (props.borderColor) coreEl!.style.borderColor = props.borderColor\n else if (!props.borderColor) coreEl!.style.borderColor = newColor\n coreEl!.style.backgroundColor = newColor\n ;(coreEl!.children[0] as HTMLDivElement).style.color = newColor\n }\n\n const focus = (): void => {\n input.value?.focus?.()\n }\n\n onMounted(() => {\n if (props.activeColor || props.inactiveColor || props.borderColor) {\n setBackgroundColor()\n }\n\n input.value!.checked = checked.value\n })\n\n return {\n ns,\n input,\n core,\n switchDisabled,\n checked,\n switchKls,\n handleChange,\n switchValue,\n focus,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createCommentVNode","_openBlock"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-panel.mjs","sources":["../../../../../../packages/components/table/src/filter-panel.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n :popper-class=\"ns.b()\"\n persistent\n >\n <template #content>\n <div v-if=\"multiple\">\n <div :class=\"ns.e('content')\">\n <el-scrollbar :wrap-class=\"ns.e('wrap')\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n :class=\"ns.e('checkbox-group')\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div :class=\"ns.e('bottom')\">\n <button\n :class=\"{ [ns.is('disabled')]: filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else :class=\"ns.e('list')\">\n <li\n :class=\"[\n ns.e('list-item'),\n {\n [ns.is('active')]:\n filterValue === undefined || filterValue === null,\n },\n ]\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"[ns.e('list-item'), ns.is('active', isActive(filter))]\"\n :label=\"filter.value\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n :class=\"[\n `${ns.namespace.value}-table__column-filter-trigger`,\n `${ns.namespace.value}-none-outline`,\n ]\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const ns = useNamespace('table-filter')\n const parent = instance?.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column?.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n ns,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;;;;;;AAwGA,MAAM,EAAE,eAAe,oBAAoB;AAE3C,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY,EAAE;AAAA,EACd,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA;AAAA,IAER,QAAQ;AAAA,MACN,MAAM;AAAA;AAAA,IAER,cAAc;AAAA,MACZ,MAAM;AAAA;AAAA;AAAA,EAGV,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,EAAE,MAAM;AACd,UAAM,KAAK,aAAa;AACxB,UAAM,SAAS;AACf,QAAI,CAAC,OAAO,aAAa,MAAM,MAAM,OAAO,KAAK;AAC/C,aAAO,aAAa,MAAM,MAAM,OAAO,MAAM;AAAA;AAE/C,UAAM,iBAAiB,IAAI;AAC3B,UAAM,UAAU,IAA2C;AAC3D,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,MAAM,UAAU,MAAM,OAAO;AAAA;AAEtC,UAAM,cAAc,SAAS;AAAA,MAC3B,KAAK,MAAO;AAAmC,YACzC;AACJ;AACE;AACE;AAAiC;AAEjC,0BAAc,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAKtC;AAA+D;AAE3D;AACE,uBAAa;AAAwB;AAEvC;AAAO;AAAA;AAGP,kBAAU;AACR;AAAoC;AAAA;AAAA;AAI1C;AACE;AACE;AAAoB;AAEtB;AAAO;AAET;AACE,aAAO;AAA6B;AAEtC,UAAM;AACJ;AAAuB;AAEzB,UAAM;AACJ;AACA;AAAuC;AAEzC;AACE,qBAAe,QAAQ;AAAA;AAEzB,UAAM;AACJ,oBAAc,cAAc;AAC5B;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACE,sBAAc;AAAc;AAE5B;AAAc;AAEhB;AAAA;AAEF;AACE,YAAM;AAA6B;AACnB;AACN;AAEV;AAAY;AAEd;AAII;AACE;AAAmC;AAAA;AAGvC;AACa;AAIf;AACE,qBAAe;AAAkB;AAGnC;AAAO,MACL;AAAA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;AArPW;AACL;;AACE;AACT,IACA;AAAY,IACZ;AAAA,IACD,2BAAc;AAAA,IACd;AAAc,IACd;AAAI,IACH;AAAA,IACD;AAAU;;AAEC;AACU;AAgBX;AAfO;WACX;AAAA,uBAAeA;AAAgB;;;AAYT;AAVI;;AACV;;;AAEZ;;AAEoB;AACV;;;;;;;;;;;;;;;AAOhB;AAAa;WACX;AAAA;AACa,kCACA;AAAoB;AAClB;AACZ;AAEG;AAIG;AAFY,YAAE;AAAA,0CACjB;AAAA;;;;AAIO;SACf;AAAA;AACQ;AAAoB;;;;;;AAStB;AAUD;;AANe,iBACZ;AAAA,kCACc;AAAA,kBACd;AAAA,iDAEQ;AAAA;;;;;;AAOV;AAA8B;AAAgE;;;;AAMpG;AACyC;AAAhB;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"filter-panel.mjs","sources":["../../../../../../packages/components/table/src/filter-panel.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltip\"\n v-model:visible=\"tooltipVisible\"\n :offset=\"0\"\n :placement=\"placement\"\n :show-arrow=\"false\"\n :stop-popper-mouse-event=\"false\"\n append-to-body\n effect=\"light\"\n pure\n :popper-class=\"ns.b()\"\n persistent\n >\n <template #content>\n <div v-if=\"multiple\">\n <div :class=\"ns.e('content')\">\n <el-scrollbar :wrap-class=\"ns.e('wrap')\">\n <el-checkbox-group\n v-model=\"filteredValue\"\n :class=\"ns.e('checkbox-group')\"\n >\n <el-checkbox\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :label=\"filter.value\"\n >\n {{ filter.text }}\n </el-checkbox>\n </el-checkbox-group>\n </el-scrollbar>\n </div>\n <div :class=\"ns.e('bottom')\">\n <button\n :class=\"{ [ns.is('disabled')]: filteredValue.length === 0 }\"\n :disabled=\"filteredValue.length === 0\"\n type=\"button\"\n @click=\"handleConfirm\"\n >\n {{ t('el.table.confirmFilter') }}\n </button>\n <button type=\"button\" @click=\"handleReset\">\n {{ t('el.table.resetFilter') }}\n </button>\n </div>\n </div>\n <ul v-else :class=\"ns.e('list')\">\n <li\n :class=\"[\n ns.e('list-item'),\n {\n [ns.is('active')]:\n filterValue === undefined || filterValue === null,\n },\n ]\"\n @click=\"handleSelect(null)\"\n >\n {{ t('el.table.clearFilter') }}\n </li>\n <li\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n :class=\"[ns.e('list-item'), ns.is('active', isActive(filter))]\"\n :label=\"filter.value\"\n @click=\"handleSelect(filter.value)\"\n >\n {{ filter.text }}\n </li>\n </ul>\n </template>\n <template #default>\n <span\n v-click-outside:[popperPaneRef]=\"hideFilterPanel\"\n :class=\"[\n `${ns.namespace.value}-table__column-filter-trigger`,\n `${ns.namespace.value}-none-outline`,\n ]\"\n @click=\"showFilterPanel\"\n >\n <el-icon>\n <arrow-up v-if=\"column.filterOpened\" />\n <arrow-down v-else />\n </el-icon>\n </span>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, getCurrentInstance, watch } from 'vue'\nimport ElCheckbox from '@element-plus/components/checkbox'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport type { Placement } from '@element-plus/components/popper'\n\nimport type { WritableComputedRef, PropType } from 'vue'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { TableHeader } from './table-header'\nimport type { Store } from './store'\n\nconst { CheckboxGroup: ElCheckboxGroup } = ElCheckbox\n\nexport default defineComponent({\n name: 'ElTableFilterPanel',\n components: {\n ElCheckbox,\n ElCheckboxGroup,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n ArrowDown,\n ArrowUp,\n },\n directives: { ClickOutside },\n props: {\n placement: {\n type: String as PropType<Placement>,\n default: 'bottom-start',\n },\n store: {\n type: Object as PropType<Store<unknown>>,\n },\n column: {\n type: Object as PropType<TableColumnCtx<unknown>>,\n },\n upDataColumn: {\n type: Function,\n },\n },\n setup(props) {\n const instance = getCurrentInstance()\n const { t } = useLocale()\n const ns = useNamespace('table-filter')\n const parent = instance?.parent as TableHeader\n if (!parent.filterPanels.value[props.column.id]) {\n parent.filterPanels.value[props.column.id] = instance\n }\n const tooltipVisible = ref(false)\n const tooltip = ref<InstanceType<typeof ElTooltip> | null>(null)\n const filters = computed(() => {\n return props.column && props.column.filters\n })\n const filterValue = computed({\n get: () => (props.column?.filteredValue || [])[0],\n set: (value: string) => {\n if (filteredValue.value) {\n if (typeof value !== 'undefined' && value !== null) {\n filteredValue.value.splice(0, 1, value)\n } else {\n filteredValue.value.splice(0, 1)\n }\n }\n },\n })\n const filteredValue: WritableComputedRef<unknown[]> = computed({\n get() {\n if (props.column) {\n return props.column.filteredValue || []\n }\n return []\n },\n set(value: unknown[]) {\n if (props.column) {\n props.upDataColumn('filteredValue', value)\n }\n },\n })\n const multiple = computed(() => {\n if (props.column) {\n return props.column.filterMultiple\n }\n return true\n })\n const isActive = (filter) => {\n return filter.value === filterValue.value\n }\n const hidden = () => {\n tooltipVisible.value = false\n }\n const showFilterPanel = (e: MouseEvent) => {\n e.stopPropagation()\n tooltipVisible.value = !tooltipVisible.value\n }\n const hideFilterPanel = () => {\n tooltipVisible.value = false\n }\n const handleConfirm = () => {\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleReset = () => {\n filteredValue.value = []\n confirmFilter(filteredValue.value)\n hidden()\n }\n const handleSelect = (_filterValue?: string) => {\n filterValue.value = _filterValue\n if (typeof _filterValue !== 'undefined' && _filterValue !== null) {\n confirmFilter(filteredValue.value)\n } else {\n confirmFilter([])\n }\n hidden()\n }\n const confirmFilter = (filteredValue: unknown[]) => {\n props.store.commit('filterChange', {\n column: props.column,\n values: filteredValue,\n })\n props.store.updateAllSelected()\n }\n watch(\n tooltipVisible,\n (value) => {\n // todo\n if (props.column) {\n props.upDataColumn('filterOpened', value)\n }\n },\n {\n immediate: true,\n }\n )\n\n const popperPaneRef = computed(() => {\n return tooltip.value?.popperRef?.contentRef\n })\n\n return {\n tooltipVisible,\n multiple,\n filteredValue,\n filterValue,\n filters,\n handleConfirm,\n handleReset,\n handleSelect,\n isActive,\n t,\n ns,\n showFilterPanel,\n hideFilterPanel,\n popperPaneRef,\n tooltip,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_toDisplayString","_withCtx"],"mappings":";;;;;;;;;;;;;AAwGA,MAAM,EAAE,eAAe,oBAAoB;AAE3C,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAEF,YAAY,EAAE;AAAA,EACd,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,OAAO;AAAA,MACL,MAAM;AAAA;AAAA,IAER,QAAQ;AAAA,MACN,MAAM;AAAA;AAAA,IAER,cAAc;AAAA,MACZ,MAAM;AAAA;AAAA;AAAA,EAGV,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,EAAE,MAAM;AACd,UAAM,KAAK,aAAa;AACxB,UAAM,SAAS;AACf,QAAI,CAAC,OAAO,aAAa,MAAM,MAAM,OAAO,KAAK;AAC/C,aAAO,aAAa,MAAM,MAAM,OAAO,MAAM;AAAA;AAE/C,UAAM,iBAAiB,IAAI;AAC3B,UAAM,UAAU,IAA2C;AAC3D,UAAM,UAAU,SAAS,MAAM;AAC7B,aAAO,MAAM,UAAU,MAAM,OAAO;AAAA;AAEtC,UAAM,cAAc,SAAS;AAAA,MAC3B,KAAK,MAAO;AAAmC,YACzC;AACJ;AACE;AACE;AAAiC;AAEjC,0BAAc,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAKtC;AAA+D;AAE3D;AACE,uBAAa;AAAwB;AAEvC;AAAO;AAAA;AAGP,kBAAU;AACR;AAAoC;AAAA;AAAA;AAI1C;AACE;AACE;AAAoB;AAEtB;AAAO;AAET;AACE,aAAO;AAA6B;AAEtC,UAAM;AACJ;AAAuB;AAEzB,UAAM;AACJ;AACA;AAAuC;AAEzC;AACE,qBAAe,QAAQ;AAAA;AAEzB,UAAM;AACJ,oBAAc,cAAc;AAC5B;AAAA;AAEF;AACE;AACA;AACA;AAAA;AAEF;AACE;AACA;AACE,sBAAc;AAAc;AAE5B;AAAc;AAEhB;AAAA;AAEF;AACE,YAAM;AAA6B;AACnB;AACN;AAEV;AAAY;AAEd;AAII;AACE;AAAmC;AAAA;AAGvC;AACa;AAIf;AACE,qBAAe;AAAkB;AAGnC;AAAO,MACL;AAAA,MACA;AAAA,MACA;AAAA;AACA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;AAlKS;AAnFP;AACa;AAAc;AACtB,IACR;AAAW,IACX,cAAY;AAAA,IACZ,2BAAyB;AAAA,IAC1B;AAAA,IACA;AAAO,IACP;AAAA,IACC;AAAiB,IAClB;AAAA;IAEW;AA+BH;AAAA;AAdE;AAfW;UACf,aAaeA;AAAA;AAbgB;;AAYT;AAAA;AAVT;AAAa;AACV;;AAGe,qCAD3B;;AAMc;AAJC;AACE;;AAEE;AAAH;AAAA;;;;;;;;;;;AAiBhB;AAZW;;AAQN;AAN4C,wCAC1B,WAAM;AAAA;AAC1B;AACG,oCAEJ;AAAA;AAIG,YAFD,MAAK;AAAA,YAAU,SAAK,uCAAE;AAAA,6BACzB,OAAC;AAAA;;AA0BL;;AAtBkB;QACrB;AAWK;AAVG;AAAoB;;AAAsH;AAAA;AAAA;AAO5H,mCAEhB;AAAA;;AAUD,iBANG;AAAO;AACwC,kBAC7C;AAAO,iDACM;AAAO;AAEd;;;aAIFC;AAaT;AAAA;AAVC;AAA8B,aAAmDC,OAAG;AAAU;AAAA,QAInG;AAAO;qBAKE;AAAA;AAF+B,wBAAhB;AACF;AAAA;;;;AATP;AAAA;AAAA;;;;;;;;;;;"}