@element-plus/nightly 0.0.20220216 → 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 (570) hide show
  1. package/dist/index.full.js +339 -357
  2. package/dist/index.full.min.js +6 -6
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +6 -6
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +340 -358
  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/affix/index.d.ts +19 -0
  228. package/es/components/affix/index.mjs +2 -2
  229. package/es/components/affix/index.mjs.map +1 -1
  230. package/es/components/affix/src/affix.vue.d.ts +19 -0
  231. package/es/components/affix/src/affix2.mjs +23 -28
  232. package/es/components/affix/src/affix2.mjs.map +1 -1
  233. package/es/components/alert/index.d.ts +55 -2
  234. package/es/components/alert/index.mjs +2 -2
  235. package/es/components/alert/index.mjs.map +1 -1
  236. package/es/components/alert/src/alert.vue.d.ts +55 -2
  237. package/es/components/alert/src/alert2.mjs +70 -80
  238. package/es/components/alert/src/alert2.mjs.map +1 -1
  239. package/es/components/autocomplete/src/index.mjs.map +1 -1
  240. package/es/components/avatar/src/avatar2.mjs.map +1 -1
  241. package/es/components/backtop/index.d.ts +64 -4
  242. package/es/components/backtop/index.mjs +2 -2
  243. package/es/components/backtop/index.mjs.map +1 -1
  244. package/es/components/backtop/src/backtop.vue.d.ts +64 -4
  245. package/es/components/backtop/src/backtop2.mjs +39 -49
  246. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  247. package/es/components/badge/src/badge.vue.d.ts +11 -11
  248. package/es/components/badge/src/badge2.mjs +3 -1
  249. package/es/components/badge/src/badge2.mjs.map +1 -1
  250. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  251. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  252. package/es/components/button/src/button-group2.mjs.map +1 -1
  253. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  254. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  255. package/es/components/card/src/card2.mjs.map +1 -1
  256. package/es/components/carousel/src/item.mjs.map +1 -1
  257. package/es/components/carousel/src/main.mjs.map +1 -1
  258. package/es/components/cascader/index.d.ts +10 -10
  259. package/es/components/cascader/src/index.mjs.map +1 -1
  260. package/es/components/cascader/src/index.vue.d.ts +5 -5
  261. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  262. package/es/components/cascader-panel/src/menu.mjs.map +1 -1
  263. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  264. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  265. package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
  266. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  267. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  268. package/es/components/collapse/src/collapse.mjs.map +1 -1
  269. package/es/components/collapse-transition/src/collapse-transition.mjs.map +1 -1
  270. package/es/components/collection/src/collection-item.mjs.map +1 -1
  271. package/es/components/collection/src/collection2.mjs.map +1 -1
  272. package/es/components/color-picker/src/components/alpha-slider.mjs.map +1 -1
  273. package/es/components/color-picker/src/components/hue-slider.mjs.map +1 -1
  274. package/es/components/color-picker/src/components/predefine.mjs.map +1 -1
  275. package/es/components/color-picker/src/components/sv-panel.mjs.map +1 -1
  276. package/es/components/color-picker/src/index.mjs.map +1 -1
  277. package/es/components/container/src/aside.mjs.map +1 -1
  278. package/es/components/container/src/container.mjs.map +1 -1
  279. package/es/components/container/src/footer.mjs.map +1 -1
  280. package/es/components/container/src/header.mjs.map +1 -1
  281. package/es/components/container/src/main.mjs.map +1 -1
  282. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  283. package/es/components/date-picker/src/date-picker-com/basic-month-table.mjs.map +1 -1
  284. package/es/components/date-picker/src/date-picker-com/basic-year-table.mjs.map +1 -1
  285. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  286. package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
  287. package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
  288. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  289. package/es/components/descriptions/src/index.mjs.map +1 -1
  290. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  291. package/es/components/divider/src/divider2.mjs.map +1 -1
  292. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  293. package/es/components/dropdown/index.d.ts +5 -5
  294. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  295. package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
  296. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  297. package/es/components/dropdown/src/dropdown.vue.d.ts +5 -5
  298. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  299. package/es/components/empty/src/empty2.mjs.map +1 -1
  300. package/es/components/empty/src/img-empty.mjs.map +1 -1
  301. package/es/components/focus-trap/src/focus-trap.mjs.map +1 -1
  302. package/es/components/form/src/form-item.mjs.map +1 -1
  303. package/es/components/form/src/form.mjs.map +1 -1
  304. package/es/components/image/src/image2.mjs.map +1 -1
  305. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  306. package/es/components/input/src/input2.mjs.map +1 -1
  307. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  308. package/es/components/link/src/link2.mjs.map +1 -1
  309. package/es/components/menu/index.d.ts +1 -1
  310. package/es/components/menu/src/menu-collapse-transition.mjs.map +1 -1
  311. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  312. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  313. package/es/components/menu/src/menu.d.ts +1 -1
  314. package/es/components/message/src/message2.mjs.map +1 -1
  315. package/es/components/message-box/src/index.mjs.map +1 -1
  316. package/es/components/notification/src/notification2.mjs.map +1 -1
  317. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  318. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  319. package/es/components/pagination/src/components/next.mjs.map +1 -1
  320. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  321. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  322. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  323. package/es/components/pagination/src/components/total.mjs.map +1 -1
  324. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  325. package/es/components/popover/index.d.ts +12 -12
  326. package/es/components/popover/src/index.mjs.map +1 -1
  327. package/es/components/popover/src/index.vue.d.ts +6 -6
  328. package/es/components/popper/src/arrow.mjs.map +1 -1
  329. package/es/components/popper/src/content.mjs.map +1 -1
  330. package/es/components/popper/src/content.vue.d.ts +1 -1
  331. package/es/components/popper/src/popper2.mjs.map +1 -1
  332. package/es/components/popper/src/trigger.mjs.map +1 -1
  333. package/es/components/progress/src/progress2.mjs.map +1 -1
  334. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  335. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  336. package/es/components/radio/src/radio2.mjs.map +1 -1
  337. package/es/components/rate/src/rate2.mjs.map +1 -1
  338. package/es/components/result/src/result2.mjs.map +1 -1
  339. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs.map +1 -1
  340. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  341. package/es/components/roving-focus-group/src/roving-focus-item.mjs.map +1 -1
  342. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  343. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  344. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  345. package/es/components/select/index.d.ts +5 -5
  346. package/es/components/select/src/option-group.mjs.map +1 -1
  347. package/es/components/select/src/option.mjs.map +1 -1
  348. package/es/components/select/src/select-dropdown.mjs.map +1 -1
  349. package/es/components/select/src/select.mjs.map +1 -1
  350. package/es/components/select/src/select.vue.d.ts +5 -5
  351. package/es/components/select/src/useSelect.d.ts +5 -5
  352. package/es/components/select-v2/index.d.ts +10 -10
  353. package/es/components/select-v2/src/group-item.mjs.map +1 -1
  354. package/es/components/select-v2/src/option-item.mjs.map +1 -1
  355. package/es/components/select-v2/src/select.mjs.map +1 -1
  356. package/es/components/select-v2/src/select.vue.d.ts +5 -5
  357. package/es/components/select-v2/src/useSelect.d.ts +5 -5
  358. package/es/components/skeleton/src/image-placeholder.mjs.map +1 -1
  359. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  360. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  361. package/es/components/slider/src/button.mjs.map +1 -1
  362. package/es/components/slider/src/index.mjs.map +1 -1
  363. package/es/components/space/src/item.mjs.map +1 -1
  364. package/es/components/steps/src/index.mjs.map +1 -1
  365. package/es/components/steps/src/item.mjs.map +1 -1
  366. package/es/components/switch/src/switch2.mjs.map +1 -1
  367. package/es/components/table/src/filter-panel.mjs.map +1 -1
  368. package/es/components/table/src/filter-panel.vue.d.ts +5 -5
  369. package/es/components/table/src/table.mjs.map +1 -1
  370. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  371. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  372. package/es/components/tag/src/tag2.mjs.map +1 -1
  373. package/es/components/teleport/src/teleport2.mjs.map +1 -1
  374. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  375. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  376. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  377. package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
  378. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  379. package/es/components/time-select/src/time-select.mjs.map +1 -1
  380. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  381. package/es/components/tooltip/index.d.ts +2 -2
  382. package/es/components/tooltip/src/content.mjs.map +1 -1
  383. package/es/components/tooltip/src/content.vue.d.ts +5 -5
  384. package/es/components/tooltip/src/tooltip.vue.d.ts +2 -2
  385. package/es/components/tooltip/src/tooltip2.mjs +3 -2
  386. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  387. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  388. package/es/components/transfer/src/index.mjs.map +1 -1
  389. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  390. package/es/components/tree/src/tree-node.mjs.map +1 -1
  391. package/es/components/tree/src/tree.mjs.map +1 -1
  392. package/es/components/tree-v2/src/tree-node.mjs.map +1 -1
  393. package/es/components/tree-v2/src/tree.mjs.map +1 -1
  394. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  395. package/es/components/upload/src/upload-list.mjs.map +1 -1
  396. package/es/components/upload/src/upload.mjs.map +1 -1
  397. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  398. package/es/version.d.ts +1 -1
  399. package/es/version.mjs +1 -1
  400. package/es/version.mjs.map +1 -1
  401. package/lib/components/affix/index.d.ts +19 -0
  402. package/lib/components/affix/src/affix.vue.d.ts +19 -0
  403. package/lib/components/affix/src/affix2.js +22 -27
  404. package/lib/components/affix/src/affix2.js.map +1 -1
  405. package/lib/components/alert/index.d.ts +55 -2
  406. package/lib/components/alert/src/alert.vue.d.ts +55 -2
  407. package/lib/components/alert/src/alert2.js +72 -82
  408. package/lib/components/alert/src/alert2.js.map +1 -1
  409. package/lib/components/autocomplete/src/index.js.map +1 -1
  410. package/lib/components/avatar/src/avatar2.js.map +1 -1
  411. package/lib/components/backtop/index.d.ts +64 -4
  412. package/lib/components/backtop/src/backtop.vue.d.ts +64 -4
  413. package/lib/components/backtop/src/backtop2.js +41 -51
  414. package/lib/components/backtop/src/backtop2.js.map +1 -1
  415. package/lib/components/badge/src/badge.vue.d.ts +11 -11
  416. package/lib/components/badge/src/badge2.js +3 -1
  417. package/lib/components/badge/src/badge2.js.map +1 -1
  418. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  419. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  420. package/lib/components/button/src/button-group2.js.map +1 -1
  421. package/lib/components/calendar/src/calendar2.js.map +1 -1
  422. package/lib/components/calendar/src/date-table2.js.map +1 -1
  423. package/lib/components/card/src/card2.js.map +1 -1
  424. package/lib/components/carousel/src/item.js.map +1 -1
  425. package/lib/components/carousel/src/main.js.map +1 -1
  426. package/lib/components/cascader/index.d.ts +10 -10
  427. package/lib/components/cascader/src/index.js.map +1 -1
  428. package/lib/components/cascader/src/index.vue.d.ts +5 -5
  429. package/lib/components/cascader-panel/src/index.js.map +1 -1
  430. package/lib/components/cascader-panel/src/menu.js.map +1 -1
  431. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  432. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  433. package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
  434. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  435. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  436. package/lib/components/collapse/src/collapse.js.map +1 -1
  437. package/lib/components/collapse-transition/src/collapse-transition.js.map +1 -1
  438. package/lib/components/collection/src/collection-item.js.map +1 -1
  439. package/lib/components/collection/src/collection2.js.map +1 -1
  440. package/lib/components/color-picker/src/components/alpha-slider.js.map +1 -1
  441. package/lib/components/color-picker/src/components/hue-slider.js.map +1 -1
  442. package/lib/components/color-picker/src/components/predefine.js.map +1 -1
  443. package/lib/components/color-picker/src/components/sv-panel.js.map +1 -1
  444. package/lib/components/color-picker/src/index.js.map +1 -1
  445. package/lib/components/container/src/aside.js.map +1 -1
  446. package/lib/components/container/src/container.js.map +1 -1
  447. package/lib/components/container/src/footer.js.map +1 -1
  448. package/lib/components/container/src/header.js.map +1 -1
  449. package/lib/components/container/src/main.js.map +1 -1
  450. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  451. package/lib/components/date-picker/src/date-picker-com/basic-month-table.js.map +1 -1
  452. package/lib/components/date-picker/src/date-picker-com/basic-year-table.js.map +1 -1
  453. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  454. package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
  455. package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
  456. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  457. package/lib/components/descriptions/src/index.js.map +1 -1
  458. package/lib/components/dialog/src/dialog2.js.map +1 -1
  459. package/lib/components/divider/src/divider2.js.map +1 -1
  460. package/lib/components/drawer/src/drawer2.js.map +1 -1
  461. package/lib/components/dropdown/index.d.ts +5 -5
  462. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  463. package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
  464. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  465. package/lib/components/dropdown/src/dropdown.vue.d.ts +5 -5
  466. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  467. package/lib/components/empty/src/empty2.js.map +1 -1
  468. package/lib/components/empty/src/img-empty.js.map +1 -1
  469. package/lib/components/focus-trap/src/focus-trap.js.map +1 -1
  470. package/lib/components/form/src/form-item.js.map +1 -1
  471. package/lib/components/form/src/form.js.map +1 -1
  472. package/lib/components/image/src/image2.js.map +1 -1
  473. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  474. package/lib/components/input/src/input2.js.map +1 -1
  475. package/lib/components/input-number/src/input-number2.js.map +1 -1
  476. package/lib/components/link/src/link2.js.map +1 -1
  477. package/lib/components/menu/index.d.ts +1 -1
  478. package/lib/components/menu/src/menu-collapse-transition.js.map +1 -1
  479. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  480. package/lib/components/menu/src/menu-item2.js.map +1 -1
  481. package/lib/components/menu/src/menu.d.ts +1 -1
  482. package/lib/components/message/src/message2.js.map +1 -1
  483. package/lib/components/message-box/src/index.js.map +1 -1
  484. package/lib/components/notification/src/notification2.js.map +1 -1
  485. package/lib/components/page-header/src/page-header2.js.map +1 -1
  486. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  487. package/lib/components/pagination/src/components/next.js.map +1 -1
  488. package/lib/components/pagination/src/components/pager.js.map +1 -1
  489. package/lib/components/pagination/src/components/prev.js.map +1 -1
  490. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  491. package/lib/components/pagination/src/components/total.js.map +1 -1
  492. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  493. package/lib/components/popover/index.d.ts +12 -12
  494. package/lib/components/popover/src/index.js.map +1 -1
  495. package/lib/components/popover/src/index.vue.d.ts +6 -6
  496. package/lib/components/popper/src/arrow.js.map +1 -1
  497. package/lib/components/popper/src/content.js.map +1 -1
  498. package/lib/components/popper/src/content.vue.d.ts +1 -1
  499. package/lib/components/popper/src/popper2.js.map +1 -1
  500. package/lib/components/popper/src/trigger.js.map +1 -1
  501. package/lib/components/progress/src/progress2.js.map +1 -1
  502. package/lib/components/radio/src/radio-button2.js.map +1 -1
  503. package/lib/components/radio/src/radio-group2.js.map +1 -1
  504. package/lib/components/radio/src/radio2.js.map +1 -1
  505. package/lib/components/rate/src/rate2.js.map +1 -1
  506. package/lib/components/result/src/result2.js.map +1 -1
  507. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js.map +1 -1
  508. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  509. package/lib/components/roving-focus-group/src/roving-focus-item.js.map +1 -1
  510. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  511. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  512. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  513. package/lib/components/select/index.d.ts +5 -5
  514. package/lib/components/select/src/option-group.js.map +1 -1
  515. package/lib/components/select/src/option.js.map +1 -1
  516. package/lib/components/select/src/select-dropdown.js.map +1 -1
  517. package/lib/components/select/src/select.js.map +1 -1
  518. package/lib/components/select/src/select.vue.d.ts +5 -5
  519. package/lib/components/select/src/useSelect.d.ts +5 -5
  520. package/lib/components/select-v2/index.d.ts +10 -10
  521. package/lib/components/select-v2/src/group-item.js.map +1 -1
  522. package/lib/components/select-v2/src/option-item.js.map +1 -1
  523. package/lib/components/select-v2/src/select.js.map +1 -1
  524. package/lib/components/select-v2/src/select.vue.d.ts +5 -5
  525. package/lib/components/select-v2/src/useSelect.d.ts +5 -5
  526. package/lib/components/skeleton/src/image-placeholder.js.map +1 -1
  527. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  528. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  529. package/lib/components/slider/src/button.js.map +1 -1
  530. package/lib/components/slider/src/index.js.map +1 -1
  531. package/lib/components/space/src/item.js.map +1 -1
  532. package/lib/components/steps/src/index.js.map +1 -1
  533. package/lib/components/steps/src/item.js.map +1 -1
  534. package/lib/components/switch/src/switch2.js.map +1 -1
  535. package/lib/components/table/src/filter-panel.js.map +1 -1
  536. package/lib/components/table/src/filter-panel.vue.d.ts +5 -5
  537. package/lib/components/table/src/table.js.map +1 -1
  538. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  539. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  540. package/lib/components/tag/src/tag2.js.map +1 -1
  541. package/lib/components/teleport/src/teleport2.js.map +1 -1
  542. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  543. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  544. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  545. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
  546. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  547. package/lib/components/time-select/src/time-select.js.map +1 -1
  548. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  549. package/lib/components/tooltip/index.d.ts +2 -2
  550. package/lib/components/tooltip/src/content.js.map +1 -1
  551. package/lib/components/tooltip/src/content.vue.d.ts +5 -5
  552. package/lib/components/tooltip/src/tooltip.vue.d.ts +2 -2
  553. package/lib/components/tooltip/src/tooltip2.js +3 -2
  554. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  555. package/lib/components/tooltip/src/trigger.js.map +1 -1
  556. package/lib/components/transfer/src/index.js.map +1 -1
  557. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  558. package/lib/components/tree/src/tree-node.js.map +1 -1
  559. package/lib/components/tree/src/tree.js.map +1 -1
  560. package/lib/components/tree-v2/src/tree-node.js.map +1 -1
  561. package/lib/components/tree-v2/src/tree.js.map +1 -1
  562. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  563. package/lib/components/upload/src/upload-list.js.map +1 -1
  564. package/lib/components/upload/src/upload.js.map +1 -1
  565. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  566. package/lib/version.d.ts +1 -1
  567. package/lib/version.js +1 -1
  568. package/lib/version.js.map +1 -1
  569. package/package.json +2 -2
  570. package/web-types.json +1 -1
@@ -16,10 +16,28 @@ declare const _default: import("vue").DefineComponent<{
16
16
  readonly default: 40;
17
17
  };
18
18
  }, {
19
- visible: import("vue").Ref<boolean>;
20
- styleBottom: import("vue").ComputedRef<string>;
21
- styleRight: import("vue").ComputedRef<string>;
22
- handleClick: (event: MouseEvent) => void;
19
+ COMPONENT_NAME: string;
20
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
21
+ readonly visibilityHeight: {
22
+ readonly type: NumberConstructor;
23
+ readonly default: 200;
24
+ };
25
+ readonly target: {
26
+ readonly type: StringConstructor;
27
+ readonly default: "";
28
+ };
29
+ readonly right: {
30
+ readonly type: NumberConstructor;
31
+ readonly default: 40;
32
+ };
33
+ readonly bottom: {
34
+ readonly type: NumberConstructor;
35
+ readonly default: 40;
36
+ };
37
+ }>> & {
38
+ onClick?: ((evt: MouseEvent) => any) | undefined;
39
+ }>>;
40
+ emit: (event: "click", evt: MouseEvent) => void;
23
41
  ns: {
24
42
  namespace: import("vue").ComputedRef<string>;
25
43
  b: (blockSuffix?: string) => string;
@@ -34,6 +52,48 @@ declare const _default: import("vue").DefineComponent<{
34
52
  (name: string): string;
35
53
  };
36
54
  };
55
+ el: import("vue").ShallowRef<HTMLElement | undefined>;
56
+ container: import("vue").ShallowRef<HTMLElement> | import("vue").ShallowRef<Document>;
57
+ visible: import("vue").Ref<boolean>;
58
+ styleBottom: import("vue").ComputedRef<string>;
59
+ styleRight: import("vue").ComputedRef<string>;
60
+ scrollToTop: () => void;
61
+ handleScroll: () => void;
62
+ handleClick: (event: MouseEvent) => void;
63
+ handleScrollThrottled: () => void;
64
+ ElIcon: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
65
+ readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
66
+ readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
67
+ }, {
68
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
69
+ readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
70
+ readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
71
+ }>> & {
72
+ [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
73
+ }>>;
74
+ ns: {
75
+ namespace: import("vue").ComputedRef<string>;
76
+ b: (blockSuffix?: string) => string;
77
+ e: (element?: string | undefined) => string;
78
+ m: (modifier?: string | undefined) => string;
79
+ be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
80
+ em: (element?: string | undefined, modifier?: string | undefined) => string;
81
+ bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
82
+ bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
83
+ is: {
84
+ (name: string, state: boolean | undefined): string;
85
+ (name: string): string;
86
+ };
87
+ };
88
+ style: import("vue").ComputedRef<import("vue").CSSProperties>;
89
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
90
+ readonly size: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
91
+ readonly color: import("element-plus/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
92
+ }>>, {
93
+ size: import("element-plus/es/utils").BuildPropType<import("element-plus/es/utils").PropWrapper<string | number>, unknown, unknown>;
94
+ color: string;
95
+ }>> & Record<string, any>;
96
+ CaretTop: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
37
97
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
98
  click: (evt: MouseEvent) => boolean;
39
99
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -1,25 +1,25 @@
1
- import { defineComponent, shallowRef, ref, computed, onMounted, resolveComponent, openBlock, createBlock, Transition, withCtx, createElementBlock, normalizeStyle, normalizeClass, withModifiers, renderSlot, createVNode, createCommentVNode } from 'vue';
1
+ import { defineComponent, shallowRef, ref, computed, onMounted, openBlock, createBlock, Transition, unref, withCtx, createElementBlock, normalizeStyle, normalizeClass, withModifiers, renderSlot, createVNode, createCommentVNode } from 'vue';
2
2
  import { useThrottleFn, useEventListener } from '@vueuse/core';
3
3
  import { ElIcon } from '../../icon/index.mjs';
4
4
  import '../../../utils/index.mjs';
5
5
  import { CaretTop } from '@element-plus/icons-vue';
6
6
  import '../../../hooks/index.mjs';
7
7
  import { backtopProps, backtopEmits } from './backtop.mjs';
8
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
9
  import { easeInOutCubic } from '../../../utils/animation.mjs';
11
10
  import { throwError } from '../../../utils/error.mjs';
12
11
 
13
- const COMPONENT_NAME = "ElBacktop";
14
- const _sfc_main = defineComponent({
15
- name: COMPONENT_NAME,
16
- components: {
17
- ElIcon,
18
- CaretTop
19
- },
12
+ const _hoisted_1 = ["onClick"];
13
+ const __default__ = {
14
+ name: "ElBacktop"
15
+ };
16
+ const _sfc_main = /* @__PURE__ */ defineComponent({
17
+ ...__default__,
20
18
  props: backtopProps,
21
19
  emits: backtopEmits,
22
- setup(props, { emit }) {
20
+ setup(__props, { emit }) {
21
+ const props = __props;
22
+ const COMPONENT_NAME = "ElBacktop";
23
23
  const ns = useNamespace("backtop");
24
24
  const el = shallowRef(document.documentElement);
25
25
  const container = shallowRef(document);
@@ -64,47 +64,37 @@ const _sfc_main = defineComponent({
64
64
  }
65
65
  useEventListener(container, "scroll", handleScrollThrottled);
66
66
  });
67
- return {
68
- visible,
69
- styleBottom,
70
- styleRight,
71
- handleClick,
72
- ns
67
+ return (_ctx, _cache) => {
68
+ return openBlock(), createBlock(Transition, {
69
+ name: `${unref(ns).namespace.value}-fade-in`
70
+ }, {
71
+ default: withCtx(() => [
72
+ visible.value ? (openBlock(), createElementBlock("div", {
73
+ key: 0,
74
+ style: normalizeStyle({
75
+ right: unref(styleRight),
76
+ bottom: unref(styleBottom)
77
+ }),
78
+ class: normalizeClass(unref(ns).b()),
79
+ onClick: withModifiers(handleClick, ["stop"])
80
+ }, [
81
+ renderSlot(_ctx.$slots, "default", {}, () => [
82
+ createVNode(unref(ElIcon), {
83
+ class: normalizeClass(unref(ns).e("icon"))
84
+ }, {
85
+ default: withCtx(() => [
86
+ createVNode(unref(CaretTop))
87
+ ]),
88
+ _: 1
89
+ }, 8, ["class"])
90
+ ])
91
+ ], 14, _hoisted_1)) : createCommentVNode("v-if", true)
92
+ ]),
93
+ _: 3
94
+ }, 8, ["name"]);
73
95
  };
74
96
  }
75
97
  });
76
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
77
- const _component_caret_top = resolveComponent("caret-top");
78
- const _component_el_icon = resolveComponent("el-icon");
79
- return openBlock(), createBlock(Transition, {
80
- name: `${_ctx.ns.namespace.value}-fade-in`
81
- }, {
82
- default: withCtx(() => [
83
- _ctx.visible ? (openBlock(), createElementBlock("div", {
84
- key: 0,
85
- style: normalizeStyle({
86
- right: _ctx.styleRight,
87
- bottom: _ctx.styleBottom
88
- }),
89
- class: normalizeClass(_ctx.ns.b()),
90
- onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.handleClick && _ctx.handleClick(...args), ["stop"]))
91
- }, [
92
- renderSlot(_ctx.$slots, "default", {}, () => [
93
- createVNode(_component_el_icon, {
94
- class: normalizeClass(_ctx.ns.e("icon"))
95
- }, {
96
- default: withCtx(() => [
97
- createVNode(_component_caret_top)
98
- ]),
99
- _: 1
100
- }, 8, ["class"])
101
- ])
102
- ], 6)) : createCommentVNode("v-if", true)
103
- ]),
104
- _: 3
105
- }, 8, ["name"]);
106
- }
107
- var Backtop = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
108
98
 
109
- export { Backtop as default };
99
+ export { _sfc_main as default };
110
100
  //# sourceMappingURL=backtop2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"backtop2.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElIcon,\n CaretTop,\n },\n props: backtopProps,\n emits: backtopEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('backtop')\n const el = shallowRef<HTMLElement | undefined>(document.documentElement)\n const container = shallowRef<Document | HTMLElement>(document)\n const visible = ref(false)\n const styleBottom = computed(() => `${props.bottom}px`)\n const styleRight = computed(() => `${props.right}px`)\n\n const scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n }\n const handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n }\n const handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n }\n\n const handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\n onMounted(() => {\n if (props.target) {\n el.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n })\n\n return {\n visible,\n styleBottom,\n styleRight,\n handleClick,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;AA4BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,EACP,OAAO;AAAA,EAEP,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,KAAK,aAAa;AACxB,UAAM,KAAK,WAAoC,SAAS;AACxD,UAAM,YAAY,WAAmC;AACrD,UAAM,UAAU,IAAI;AACpB,UAAM,cAAc,SAAS,MAAM,GAAG,MAAM;AAC5C,UAAM,aAAa,SAAS,MAAM,GAAG,MAAM;AAE3C,UAAM,cAAc,MAAM;AACxB,UAAI,CAAC,GAAG;AAAO;AACf,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,GAAG,MAAM;AAC5B,YAAM,YAAY,MAAM;AACtB,YAAI,CAAC,GAAG;AAAO;AACf,cAAM,WAAY,MAAK,QAAQ,aAAa;AAC5C,YAAI,WAAW,GAAG;AAChB,aAAG,MAAM,YAAY,kBAAkB,eAAe;AACtD,gCAAsB;AAAA,eACjB;AACL,aAAG,MAAM,YAAY;AAAA;AAAA;AAGzB,4BAAsB;AAAA;AAExB,UAAM,eAAe,MAAM;AACzB,UAAI,GAAG;AAAO,gBAAQ,QAAQ,GAAG,MAAM,aAAa,MAAM;AAAA;AAE5D,UAAM,cAAc,CAAC,UAAsB;AACzC;AACA,WAAK,SAAS;AAAA;AAGhB,UAAM,wBAAwB,cAAc,cAAc;AAE1D,cAAU,MAAM;AACd,UAAI;AACF;AAEA,gBAAQ;AACN,qBAAW;AAAgD;AAE7D;AAAqB;AAGvB;AAAsC;AAGxC;AAAO;AACL,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;AA1FoC;;;AAEvB;;AACP;AAA6B;AAAkB;;;AAK/C;;AAEN;AACwD;AAAlC;;;AAAwB;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"backtop2.mjs","sources":["../../../../../../packages/components/backtop/src/backtop.vue"],"sourcesContent":["<template>\n <transition :name=\"`${ns.namespace.value}-fade-in`\">\n <div\n v-if=\"visible\"\n :style=\"{\n right: styleRight,\n bottom: styleBottom,\n }\"\n :class=\"ns.b()\"\n @click.stop=\"handleClick\"\n >\n <slot>\n <el-icon :class=\"ns.e('icon')\"><caret-top /></el-icon>\n </slot>\n </div>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, onMounted, shallowRef } from 'vue'\nimport { useEventListener, useThrottleFn } from '@vueuse/core'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { easeInOutCubic, throwError } from '@element-plus/utils'\nimport { CaretTop } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { backtopEmits, backtopProps } from './backtop'\n\nconst COMPONENT_NAME = 'ElBacktop'\n\ndefineOptions({\n name: 'ElBacktop',\n})\n\nconst props = defineProps(backtopProps)\nconst emit = defineEmits(backtopEmits)\n\nconst ns = useNamespace('backtop')\nconst el = shallowRef<HTMLElement | undefined>(document.documentElement)\nconst container = shallowRef<Document | HTMLElement>(document)\nconst visible = ref(false)\nconst styleBottom = computed(() => `${props.bottom}px`)\nconst styleRight = computed(() => `${props.right}px`)\n\nconst scrollToTop = () => {\n if (!el.value) return\n const beginTime = Date.now()\n const beginValue = el.value.scrollTop\n const frameFunc = () => {\n if (!el.value) return\n const progress = (Date.now() - beginTime) / 500\n if (progress < 1) {\n el.value.scrollTop = beginValue * (1 - easeInOutCubic(progress))\n requestAnimationFrame(frameFunc)\n } else {\n el.value.scrollTop = 0\n }\n }\n requestAnimationFrame(frameFunc)\n}\nconst handleScroll = () => {\n if (el.value) visible.value = el.value.scrollTop >= props.visibilityHeight\n}\nconst handleClick = (event: MouseEvent) => {\n scrollToTop()\n emit('click', event)\n}\n\nconst handleScrollThrottled = useThrottleFn(handleScroll, 300)\n\nonMounted(() => {\n if (props.target) {\n el.value = document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!el.value) {\n throwError(COMPONENT_NAME, `target is not existed: ${props.target}`)\n }\n container.value = el.value\n }\n\n useEventListener(container, 'scroll', handleScrollThrottled)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA;AASA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;AAgBA;;;;AAGA;;;;AAKA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,16 +1,16 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly value: import("../../../utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
3
- readonly max: import("../../../utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
2
+ readonly value: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
3
+ readonly max: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
4
4
  readonly isDot: BooleanConstructor;
5
5
  readonly hidden: BooleanConstructor;
6
- readonly type: import("../../../utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
6
+ readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
7
7
  }, {
8
8
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
9
- readonly value: import("../../../utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
10
- readonly max: import("../../../utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
9
+ readonly value: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
10
+ readonly max: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
11
11
  readonly isDot: BooleanConstructor;
12
12
  readonly hidden: BooleanConstructor;
13
- readonly type: import("../../../utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
13
+ readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
14
14
  }>> & {
15
15
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
16
16
  }>>;
@@ -30,15 +30,15 @@ declare const _default: import("vue").DefineComponent<{
30
30
  };
31
31
  content: import("vue").ComputedRef<string>;
32
32
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
- readonly value: import("../../../utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
34
- readonly max: import("../../../utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
33
+ readonly value: import("element-plus/es/utils").BuildPropReturn<readonly [StringConstructor, NumberConstructor], "", unknown, unknown, unknown>;
34
+ readonly max: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, 99, unknown, unknown, unknown>;
35
35
  readonly isDot: BooleanConstructor;
36
36
  readonly hidden: BooleanConstructor;
37
- readonly type: import("../../../utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
37
+ readonly type: import("element-plus/es/utils").BuildPropReturn<StringConstructor, "danger", unknown, "primary" | "success" | "warning" | "info" | "danger", unknown>;
38
38
  }>>, {
39
- type: import("../../../utils").BuildPropType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
39
+ type: import("element-plus/es/utils").BuildPropType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
40
40
  hidden: boolean;
41
- value: import("../../../utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
41
+ value: import("element-plus/es/utils").BuildPropType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
42
42
  max: number;
43
43
  isDot: boolean;
44
44
  }>;
@@ -1,7 +1,9 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createVNode, Transition, withCtx, withDirectives, createElementVNode, toDisplayString, vShow } from 'vue';
2
2
  import '../../../hooks/index.mjs';
3
+ import '../../../utils/index.mjs';
3
4
  import { badgeProps } from './badge.mjs';
4
5
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
6
+ import { isNumber } from '@vueuse/core';
5
7
 
6
8
  const _hoisted_1 = ["textContent"];
7
9
  const __default__ = {
@@ -16,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
18
  const content = computed(() => {
17
19
  if (props.isDot)
18
20
  return "";
19
- if (typeof props.value === "number" && typeof props.max === "number") {
21
+ if (isNumber(props.value) && isNumber(props.max)) {
20
22
  return props.max < props.value ? `${props.max}+` : `${props.value}`;
21
23
  }
22
24
  return `${props.value}`;
@@ -1 +1 @@
1
- {"version":3,"file":"badge2.mjs","sources":["../../../../../../packages/components/badge/src/badge.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <slot></slot>\n <transition :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <sup\n v-show=\"!hidden && (content || content === '0' || isDot)\"\n :class=\"[\n ns.e('content'),\n ns.em('content', type),\n ns.is('fixed', !!$slots.default),\n ns.is('dot', isDot),\n ]\"\n v-text=\"content\"\n >\n </sup>\n </transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { badgeProps } from './badge'\n\ndefineOptions({\n name: 'ElBadge',\n})\n\nconst props = defineProps(badgeProps)\n\nconst ns = useNamespace('badge')\n\nconst content = computed<string>(() => {\n if (props.isDot) return ''\n\n if (typeof props.value === 'number' && typeof props.max === 'number') {\n return props.max < props.value ? `${props.max}+` : `${props.value}`\n }\n return `${props.value}`\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA8BA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"badge2.mjs","sources":["../../../../../../packages/components/badge/src/badge.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <slot></slot>\n <transition :name=\"`${ns.namespace.value}-zoom-in-center`\">\n <sup\n v-show=\"!hidden && (content || content === '0' || isDot)\"\n :class=\"[\n ns.e('content'),\n ns.em('content', type),\n ns.is('fixed', !!$slots.default),\n ns.is('dot', isDot),\n ]\"\n v-text=\"content\"\n >\n </sup>\n </transition>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber } from '@element-plus/utils'\nimport { badgeProps } from './badge'\n\ndefineOptions({\n name: 'ElBadge',\n})\n\nconst props = defineProps(badgeProps)\n\nconst ns = useNamespace('badge')\n\nconst content = computed<string>(() => {\n if (props.isDot) return ''\n\n if (isNumber(props.value) && isNumber(props.max)) {\n return props.max < props.value ? `${props.max}+` : `${props.value}`\n }\n return `${props.value}`\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA+BA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-item2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_normalizeClass"],"mappings":";;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAAS,OAAO,iBAAiB;AACvC,UAAM,KAAK,aAAa;AAExB,UAAM,OAAO;AAEb,cAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW;AAAQ,MACnB,eAAe;AAAQ;AAAA;AAAA;;;SA3DfA,gCAAM;AAAA;KAChB;AAAA,uBAAgB;AAAA,MAAE,KAAK;AAAA,MAAwC,OAAKC,eAAM;AAAA;OACxE;AAAA;OAEa;AAAA;MAAgB,KAAK;AAAA;;uBAClC;AAAA;;;UAEF;MAAc,KAAK;AAAA,MAAqB,OAAKA,eAAc;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"breadcrumb-item2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb-item.vue"],"sourcesContent":["<template>\n <span :class=\"ns.e('item')\">\n <span ref=\"link\" :class=\"[ns.e('inner'), ns.is('link', !!to)]\" role=\"link\">\n <slot></slot>\n </span>\n <el-icon v-if=\"separatorIcon\" :class=\"ns.e('separator')\">\n <component :is=\"separatorIcon\" />\n </el-icon>\n <span v-else :class=\"ns.e('separator')\" role=\"presentation\">\n {{ separator }}\n </span>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n inject,\n ref,\n onMounted,\n getCurrentInstance,\n} from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbItemProps } from './breadcrumb-item'\n\nimport type { Router } from 'vue-router'\n\nconst COMPONENT_NAME = 'ElBreadcrumbItem'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n\n components: {\n ElIcon,\n },\n\n props: breadcrumbItemProps,\n\n setup(props) {\n const instance = getCurrentInstance()!\n const router = instance.appContext.config.globalProperties.$router as Router\n const parent = inject(elBreadcrumbKey, undefined)\n const ns = useNamespace('breadcrumb')\n\n const link = ref<HTMLSpanElement>()\n\n onMounted(() => {\n link.value!.setAttribute('role', 'link')\n link.value!.addEventListener('click', () => {\n if (!props.to || !router) return\n props.replace ? router.replace(props.to) : router.push(props.to)\n })\n })\n\n return {\n ns,\n link,\n separator: parent?.separator,\n separatorIcon: parent?.separatorIcon,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;AA6BA,MAAM,iBAAiB;AAEvB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA;AAAA,EAGF,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,WAAW;AACjB,UAAM,SAAS,SAAS,WAAW,OAAO,iBAAiB;AAC3D,UAAM,SAAS,OAAO,iBAAiB;AACvC,UAAM,KAAK,aAAa;AAExB,UAAM,OAAO;AAEb,cAAU,MAAM;AACd,WAAK,MAAO,aAAa,QAAQ;AACjC,WAAK,MAAO,iBAAiB,SAAS,MAAM;AAC1C,YAAI,CAAC,MAAM,MAAM,CAAC;AAAQ;AAC1B,cAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,OAAO,KAAK,MAAM;AAAA;AAAA;AAIjE,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW;AAAQ,MACnB,eAAe;AAAQ;AAAA;AAAA;;;sBA3D3BA,mBAUO;AAAA,IAVA,OAAKC,eAAE,QAAG,EAAC;AAAA;IAChBC,mBAEO;AAAA,MAFD,KAAI;AAAA,MAAQ,OAAKD,gBAAG,QAAG,EAAC,UAAW,QAAG,GAAE,UAAW;AAAA,MAAM,MAAK;AAAA;MAClEE,WAAa;AAAA;IAEA,mCAAfC,YAEU;AAAA;MAFqB,OAAKH,eAAE,QAAG,EAAC;AAAA;uBACxC,MAAiC;AAAA,sBAAjCG,YAAiCC,wBAAjB;AAAA;AAAA;sCAElBL,mBAEO;AAAA;MAFO,OAAKC,eAAE,QAAG,EAAC;AAAA,MAAe,MAAK;AAAA,uBACxC,iBAAS;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb.vue"],"sourcesContent":["<template>\n <div\n ref=\"breadcrumb\"\n :class=\"ns.b()\"\n aria-label=\"Breadcrumb\"\n role=\"navigation\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted } from 'vue'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbProps } from './breadcrumb'\n\nexport default defineComponent({\n name: 'ElBreadcrumb',\n props: breadcrumbProps,\n\n setup(props) {\n const ns = useNamespace('breadcrumb')\n const breadcrumb = ref<HTMLDivElement>()\n\n provide(elBreadcrumbKey, props)\n\n onMounted(() => {\n const items = breadcrumb.value!.querySelectorAll(`.${ns.e('item')}`)\n if (items.length) {\n items[items.length - 1].setAttribute('aria-current', 'page')\n }\n })\n\n return {\n ns,\n breadcrumb,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa;AAEnB,YAAQ,iBAAiB;AAEzB,cAAU,MAAM;AACd,YAAM,QAAQ,WAAW,MAAO,iBAAiB,IAAI,GAAG,EAAE;AAC1D,UAAI,MAAM,QAAQ;AAChB,cAAM,MAAM,SAAS,GAAG,aAAa,gBAAgB;AAAA;AAAA;AAIzD,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;2BApCJ,wBAOM;SANAA,aAAYC;AAAA,IACf,KAAK;AAAA,IACN,sBAAW,KAAY;AAAA,IACvB,cAAK;AAAA;KAEL;AAAA;;;;;;;"}
1
+ {"version":3,"file":"breadcrumb2.mjs","sources":["../../../../../../packages/components/breadcrumb/src/breadcrumb.vue"],"sourcesContent":["<template>\n <div\n ref=\"breadcrumb\"\n :class=\"ns.b()\"\n aria-label=\"Breadcrumb\"\n role=\"navigation\"\n >\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, provide, ref, onMounted } from 'vue'\nimport { elBreadcrumbKey } from '@element-plus/tokens'\n\nimport { useNamespace } from '@element-plus/hooks'\nimport { breadcrumbProps } from './breadcrumb'\n\nexport default defineComponent({\n name: 'ElBreadcrumb',\n props: breadcrumbProps,\n\n setup(props) {\n const ns = useNamespace('breadcrumb')\n const breadcrumb = ref<HTMLDivElement>()\n\n provide(elBreadcrumbKey, props)\n\n onMounted(() => {\n const items = breadcrumb.value!.querySelectorAll(`.${ns.e('item')}`)\n if (items.length) {\n items[items.length - 1].setAttribute('aria-current', 'page')\n }\n })\n\n return {\n ns,\n breadcrumb,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;AAkBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,UAAM,KAAK,aAAa;AACxB,UAAM,aAAa;AAEnB,YAAQ,iBAAiB;AAEzB,cAAU,MAAM;AACd,YAAM,QAAQ,WAAW,MAAO,iBAAiB,IAAI,GAAG,EAAE;AAC1D,UAAI,MAAM,QAAQ;AAChB,cAAM,MAAM,SAAS,GAAG,aAAa,gBAAgB;AAAA;AAAA;AAIzD,WAAO;AAAA,MACL;AAAA,MACA;AAAA;AAAA;AAAA;;sBApCJA,mBAOM;AAAA,IANJ,KAAI;AAAA,IACH,OAAKC,eAAE,QAAG;AAAA,IACX,cAAW;AAAA,IACX,MAAK;AAAA;IAELC,WAAa;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"button-group2.mjs","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div :class=\"`${ns.b('group')}`\">\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRef } from 'vue'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { buttonGroupProps } from './button-group'\n\nexport default defineComponent({\n name: 'ElButtonGroup',\n props: buttonGroupProps,\n\n setup(props) {\n provide(\n buttonGroupContextKey,\n reactive({\n size: toRef(props, 'size'),\n type: toRef(props, 'type'),\n })\n )\n const ns = useNamespace('button')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock"],"mappings":";;;;;;;;AAWA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,YACE,uBACA,SAAS;AAAA,MACP,MAAM,MAAM,OAAO;AAAA,MACnB,MAAM,MAAM,OAAO;AAAA;AAGvB,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;2BAxBJ,wBAEM;SAFKA,gCAAS;AAAA;KAClB;AAAA;;;;;;;"}
1
+ {"version":3,"file":"button-group2.mjs","sources":["../../../../../../packages/components/button/src/button-group.vue"],"sourcesContent":["<template>\n <div :class=\"`${ns.b('group')}`\">\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, provide, reactive, toRef } from 'vue'\nimport { buttonGroupContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { buttonGroupProps } from './button-group'\n\nexport default defineComponent({\n name: 'ElButtonGroup',\n props: buttonGroupProps,\n\n setup(props) {\n provide(\n buttonGroupContextKey,\n reactive({\n size: toRef(props, 'size'),\n type: toRef(props, 'type'),\n })\n )\n const ns = useNamespace('button')\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;;;;;;AAWA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EAEP,MAAM,OAAO;AACX,YACE,uBACA,SAAS;AAAA,MACP,MAAM,MAAM,OAAO;AAAA,MACnB,MAAM,MAAM,OAAO;AAAA;AAGvB,UAAM,KAAK,aAAa;AACxB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;sBAxBJA,mBAEM;AAAA,IAFA,OAAKC,kBAAK,QAAG,EAAC;AAAA;IAClBC,WAAa;AAAA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_toDisplayString","_withCtx","_createSlots","_Fragment","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\"></slot>\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { ref, computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport DateTable from './date-table.vue'\nimport { calendarProps, calendarEmits } from './calendar'\n\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\ntype DateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nexport default defineComponent({\n name: 'ElCalendar',\n\n components: {\n DateTable,\n ElButton,\n ElButtonGroup,\n },\n\n props: calendarProps,\n emits: calendarEmits,\n\n setup(props, { emit }) {\n const ns = useNamespace('calendar')\n\n const { t, lang } = useLocale()\n const selectedDay = ref<Dayjs>()\n const now = dayjs().locale(lang.value)\n\n const prevMonthDayjs = computed(() => {\n return date.value.subtract(1, 'month').date(1)\n })\n const curMonthDatePrefix = computed(() => {\n return dayjs(date.value).locale(lang.value).format('YYYY-MM')\n })\n\n const nextMonthDayjs = computed(() => {\n return date.value.add(1, 'month').date(1)\n })\n\n const prevYearDayjs = computed(() => {\n return date.value.subtract(1, 'year').date(1)\n })\n\n const nextYearDayjs = computed(() => {\n return date.value.add(1, 'year').date(1)\n })\n\n const i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n })\n\n const realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit('input', result)\n emit('update:modelValue', result)\n },\n })\n\n const date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n })\n\n // https://github.com/element-plus/element-plus/issues/3155\n // Calculate the validate date range according to the start and end dates\n const calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n ): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (firstMonth + 2 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n }\n\n // if range is valid, we get a two-digit array\n const validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn('ElCalendar', 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n 'ElCalendar',\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n })\n\n const pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n }\n\n const selectDate = (type: DateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n }\n\n return {\n selectedDay,\n curMonthDatePrefix,\n i18nDate,\n realSelectedDay,\n date,\n validatedRange,\n pickDay,\n selectDate,\n t,\n\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_Fragment","_createBlock"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-table2.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_Fragment","_renderList","_createCommentVNode","_createElementBlock","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"date-table2.mjs","sources":["../../../../../../packages/components/calendar/src/date-table.vue"],"sourcesContent":["<template>\n <table\n :class=\"[nsTable.b(), nsTable.is('range', isInRange)]\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead v-if=\"!hideHeader\">\n <th v-for=\"day in weekDays\" :key=\"day\">{{ day }}</th>\n </thead>\n\n <tbody>\n <tr\n v-for=\"(row, index) in rows\"\n :key=\"index\"\n :class=\"{\n [nsTable.e('row')]: true,\n [nsTable.em('row', 'hide-border')]: index === 0 && hideHeader,\n }\"\n >\n <td\n v-for=\"(cell, key) in row\"\n :key=\"key\"\n :class=\"getCellClass(cell)\"\n @click=\"handlePickDay(cell)\"\n >\n <div :class=\"nsDay.b()\">\n <slot name=\"dateCell\" :data=\"getSlotData(cell)\">\n <span>{{ cell.text }}</span>\n </slot>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport dayjs from 'dayjs'\nimport localeData from 'dayjs/plugin/localeData'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { rangeArr } from '@element-plus/components/time-picker'\nimport { dateTableProps, dateTableEmits } from './date-table'\nimport type { Dayjs } from 'dayjs'\ndayjs.extend(localeData)\n\ntype CellType = 'next' | 'prev' | 'current'\ninterface Cell {\n text: number\n type: CellType\n}\n\nconst WEEK_DAYS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] as const\n\nexport const getPrevMonthLastDays = (date: Dayjs, count: number) => {\n const lastDay = date.subtract(1, 'month').endOf('month').date()\n return rangeArr(count).map((_, index) => lastDay - (count - index - 1))\n}\n\nexport const getMonthDays = (date: Dayjs) => {\n const days = date.daysInMonth()\n return rangeArr(days).map((_, index) => index + 1)\n}\n\nconst toNestedArr = (days: Cell[]) =>\n rangeArr(days.length / 7).map((index) => {\n const start = index * 7\n return days.slice(start, start + 7)\n })\n\nexport default defineComponent({\n props: dateTableProps,\n emits: dateTableEmits,\n\n setup(props, { emit }) {\n const { t, lang } = useLocale()\n const nsTable = useNamespace('calendar-table')\n const nsDay = useNamespace('calendar-day')\n\n const now = dayjs().locale(lang.value)\n // todo better way to get Day.js locale object\n const firstDayOfWeek: number = (now as any).$locale().weekStart || 0\n\n const isInRange = computed(() => !!props.range && !!props.range.length)\n\n const rows = computed(() => {\n let days: Cell[] = []\n if (isInRange.value) {\n const [start, end] = props.range!\n const currentMonthRange: Cell[] = rangeArr(\n end.date() - start.date() + 1\n ).map((index) => ({\n text: start.date() + index,\n type: 'current',\n }))\n\n let remaining = currentMonthRange.length % 7\n remaining = remaining === 0 ? 0 : 7 - remaining\n const nextMonthRange: Cell[] = rangeArr(remaining).map((_, index) => ({\n text: index + 1,\n type: 'next',\n }))\n days = currentMonthRange.concat(nextMonthRange)\n } else {\n const firstDay = props.date.startOf('month').day() || 7\n const prevMonthDays: Cell[] = getPrevMonthLastDays(\n props.date,\n firstDay - firstDayOfWeek\n ).map((day) => ({\n text: day,\n type: 'prev',\n }))\n const currentMonthDays: Cell[] = getMonthDays(props.date).map(\n (day) => ({\n text: day,\n type: 'current',\n })\n )\n days = [...prevMonthDays, ...currentMonthDays]\n const nextMonthDays: Cell[] = rangeArr(42 - days.length).map(\n (_, index) => ({\n text: index + 1,\n type: 'next',\n })\n )\n days = days.concat(nextMonthDays)\n }\n return toNestedArr(days)\n })\n\n const weekDays = computed(() => {\n const start = firstDayOfWeek\n if (start === 0) {\n return WEEK_DAYS.map((_) => t(`el.datepicker.weeks.${_}`))\n } else {\n return WEEK_DAYS.slice(start)\n .concat(WEEK_DAYS.slice(0, start))\n .map((_) => t(`el.datepicker.weeks.${_}`))\n }\n })\n\n const getFormattedDate = (day: number, type: CellType): Dayjs => {\n switch (type) {\n case 'prev':\n return props.date.startOf('month').subtract(1, 'month').date(day)\n case 'next':\n return props.date.startOf('month').add(1, 'month').date(day)\n case 'current':\n return props.date.date(day)\n }\n }\n\n const getCellClass = ({ text, type }: Cell) => {\n const classes: string[] = [type]\n if (type === 'current') {\n const date = getFormattedDate(text, type)\n if (date.isSame(props.selectedDay, 'day')) {\n classes.push('is-selected')\n }\n if (date.isSame(now, 'day')) {\n classes.push('is-today')\n }\n }\n return classes\n }\n\n const handlePickDay = ({ text, type }: Cell) => {\n const date = getFormattedDate(text, type)\n emit('pick', date)\n }\n\n const getSlotData = ({ text, type }: Cell) => {\n const day = getFormattedDate(text, type)\n return {\n isSelected: day.isSame(props.selectedDay),\n type: `${type}-month`,\n day: day.format('YYYY-MM-DD'),\n date: day.toDate(),\n }\n }\n\n return {\n isInRange,\n weekDays,\n rows,\n getCellClass,\n handlePickDay,\n getSlotData,\n\n nsTable,\n nsDay,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_Fragment","_toDisplayString","_createElementVNode","_renderSlot"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"card2.mjs","sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is(`${shadow}-shadow`)]\">\n <div v-if=\"$slots.header || header\" :class=\"ns.e('header')\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"ns.e('body')\" :style=\"bodyStyle\">\n <slot></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { cardProps } from './card'\n\nexport default defineComponent({\n name: 'ElCard',\n props: cardProps,\n setup() {\n const ns = useNamespace('card')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createCommentVNode","_normalizeClass"],"mappings":";;;;;;AAeA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AAExB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;2BArBJ,wBAOM;SAPKA,gCAAW,OAAK;AAAA;KACd;AAAA,0BAAX;MAAqC,KAAK;AAAA;OACxC;AAAA,4CAAuB;AAAA;;aAEzBC,mBAEM;AAAA,uBAFK,OAAE;AAAA,MAAe,OAAKC,eAAE;AAAA;OACjC;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"card2.mjs","sources":["../../../../../../packages/components/card/src/card.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is(`${shadow}-shadow`)]\">\n <div v-if=\"$slots.header || header\" :class=\"ns.e('header')\">\n <slot name=\"header\">{{ header }}</slot>\n </div>\n <div :class=\"ns.e('body')\" :style=\"bodyStyle\">\n <slot></slot>\n </div>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { cardProps } from './card'\n\nexport default defineComponent({\n name: 'ElCard',\n props: cardProps,\n setup() {\n const ns = useNamespace('card')\n\n return {\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode","_normalizeStyle"],"mappings":";;;;;;AAeA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACN,UAAM,KAAK,aAAa;AAExB,WAAO;AAAA,MACL;AAAA;AAAA;AAAA;;sBArBJA,mBAOM;AAAA,IAPA,OAAKC,gBAAG,QAAG,KAAK,QAAG,GAAE,GAAI;AAAA;IAClB,YAAO,UAAU,4BAA5BD,mBAEM;AAAA;MAF+B,OAAKC,eAAE,QAAG,EAAC;AAAA;MAC9CC,WAAuC,2BAAvC,MAAuC;AAAA,wCAAhB,cAAM;AAAA;AAAA;IAE/BC,mBAEM;AAAA,MAFA,OAAKF,eAAE,QAAG,EAAC;AAAA,MAAW,OAAKG,eAAE;AAAA;MACjCF,WAAa;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n :class=\"[\n ns.e('item'),\n ns.is('active', data.active),\n ns.is('in-stage', data.inStage),\n ns.is('hover', data.hover),\n ns.is('animating', data.animating),\n { [ns.em('item', 'card')]: type === 'card' },\n ]\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n :class=\"ns.e('mask')\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n const ns = useNamespace('carousel')\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return style\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAC/B,UAAM,KAAK,aAAa;AAExB,UAAM,WAAW;AAGjB,UAAM,OAAO,SAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2C,OAC/C;AAIF,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAO;AAAA;AAKT,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA,MACA;AAAA;AAAA;AAAA;;;AAtLI,2BAAc;AAAA;AAAqB;AAAiD,MAAqB,QAAG;AAAiB,MAAc,QAAG,GAAE,cAAc;AAAA,WAA0B,MAAG;AAAqB;;;AAShN;;AAGE;;AAEA;;AADQ;;AAGH;;AAjBK;;;;;;;;;"}
1
+ {"version":3,"file":"item.mjs","sources":["../../../../../../packages/components/carousel/src/item.vue"],"sourcesContent":["<template>\n <div\n v-show=\"data.ready\"\n :class=\"[\n ns.e('item'),\n ns.is('active', data.active),\n ns.is('in-stage', data.inStage),\n ns.is('hover', data.hover),\n ns.is('animating', data.animating),\n { [ns.em('item', 'card')]: type === 'card' },\n ]\"\n :style=\"itemStyle\"\n @click=\"handleItemClick\"\n >\n <div\n v-if=\"type === 'card'\"\n v-show=\"!data.active\"\n :class=\"ns.e('mask')\"\n ></div>\n <slot></slot>\n </div>\n</template>\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n onMounted,\n inject,\n computed,\n toRefs,\n getCurrentInstance,\n onUnmounted,\n} from 'vue'\nimport { debugWarn } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport type { CSSProperties } from 'vue'\nimport type { InjectCarouselScope, ICarouselItemProps } from './carousel'\n\nconst CARD_SCALE = 0.83\nexport default defineComponent({\n name: 'ElCarouselItem',\n props: {\n name: { type: String, default: '' },\n label: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props: ICarouselItemProps) {\n const ns = useNamespace('carousel')\n // instance\n const instance = getCurrentInstance()\n\n // data\n const data = reactive({\n hover: false,\n translate: 0,\n scale: 1,\n active: false,\n ready: false,\n inStage: false,\n animating: false,\n })\n\n // inject\n const injectCarouselScope: InjectCarouselScope = inject(\n 'injectCarouselScope'\n )\n\n // computed\n const parentDirection = computed(() => {\n return injectCarouselScope.direction\n })\n\n const itemStyle = computed(() => {\n const translateType =\n parentDirection.value === 'vertical' ? 'translateY' : 'translateX'\n const value = `${translateType}(${data.translate}px) scale(${data.scale})`\n const style: CSSProperties = {\n transform: value,\n }\n return style\n })\n\n // methods\n\n function processIndex(index, activeIndex, length) {\n if (activeIndex === 0 && index === length - 1) {\n return -1\n } else if (activeIndex === length - 1 && index === 0) {\n return length\n } else if (index < activeIndex - 1 && activeIndex - index >= length / 2) {\n return length + 1\n } else if (index > activeIndex + 1 && index - activeIndex >= length / 2) {\n return -2\n }\n return index\n }\n\n function calcCardTranslate(index, activeIndex) {\n const parentWidth = injectCarouselScope.root.value?.offsetWidth || 0\n if (data.inStage) {\n return (\n (parentWidth * ((2 - CARD_SCALE) * (index - activeIndex) + 1)) / 4\n )\n } else if (index < activeIndex) {\n return (-(1 + CARD_SCALE) * parentWidth) / 4\n } else {\n return ((3 + CARD_SCALE) * parentWidth) / 4\n }\n }\n\n function calcTranslate(index, activeIndex, isVertical) {\n const distance =\n (isVertical\n ? injectCarouselScope.root.value?.offsetHeight\n : injectCarouselScope.root.value?.offsetWidth) || 0\n return distance * (index - activeIndex)\n }\n\n const translateItem = (\n index: number,\n activeIndex: number,\n oldIndex: number\n ) => {\n const parentType = injectCarouselScope.type\n const length = injectCarouselScope.items.value.length\n if (parentType !== 'card' && oldIndex !== undefined) {\n data.animating = index === activeIndex || index === oldIndex\n }\n if (index !== activeIndex && length > 2 && injectCarouselScope.loop) {\n index = processIndex(index, activeIndex, length)\n }\n if (parentType === 'card') {\n if (parentDirection.value === 'vertical') {\n debugWarn(\n 'Carousel',\n 'vertical direction is not supported in card mode'\n )\n }\n data.inStage = Math.round(Math.abs(index - activeIndex)) <= 1\n data.active = index === activeIndex\n data.translate = calcCardTranslate(index, activeIndex)\n data.scale = data.active ? 1 : CARD_SCALE\n } else {\n data.active = index === activeIndex\n const isVertical = parentDirection.value === 'vertical'\n data.translate = calcTranslate(index, activeIndex, isVertical)\n }\n data.ready = true\n }\n\n function handleItemClick() {\n if (injectCarouselScope && injectCarouselScope.type === 'card') {\n const index = injectCarouselScope.items.value\n .map((d) => d.uid)\n .indexOf(instance.uid)\n injectCarouselScope.setActiveItem(index)\n }\n }\n\n // lifecycle\n onMounted(() => {\n if (injectCarouselScope.addItem) {\n injectCarouselScope.addItem({\n uid: instance.uid,\n ...props,\n ...toRefs(data),\n translateItem,\n })\n }\n })\n\n onUnmounted(() => {\n if (injectCarouselScope.removeItem) {\n injectCarouselScope.removeItem(instance.uid)\n }\n })\n\n return {\n data,\n itemStyle,\n translateItem,\n type: injectCarouselScope.type,\n handleItemClick,\n ns,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AAsCA,MAAM,aAAa;AACnB,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,SAAS;AAAA,IAC/B,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA;AAAA;AAAA,EAGb,MAAM,OAA2B;AAC/B,UAAM,KAAK,aAAa;AAExB,UAAM,WAAW;AAGjB,UAAM,OAAO,SAAS;AAAA,MACpB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA;AAIb,UAAM,sBAA2C,OAC/C;AAIF,UAAM,kBAAkB,SAAS,MAAM;AACrC,aAAO,oBAAoB;AAAA;AAG7B,UAAM,YAAY,SAAS,MAAM;AAC/B,YAAM,gBACJ,gBAAgB,UAAU,aAAa,eAAe;AACxD,YAAM,QAAQ,GAAG,iBAAiB,KAAK,sBAAsB,KAAK;AAClE,YAAM,QAAuB;AAAA,QAC3B,WAAW;AAAA;AAEb,aAAO;AAAA;AAKT,0BAAsB,OAAO,aAAa,QAAQ;AAChD,UAAI,gBAAgB,KAAK,UAAU,SAAS,GAAG;AAC7C,eAAO;AAAA,iBACE,gBAAgB,SAAS,KAAK,UAAU,GAAG;AACpD,eAAO;AAAA,iBACE,QAAQ,cAAc,KAAK,cAAc,SAAS,SAAS,GAAG;AACvE,eAAO,SAAS;AAAA,iBACP,QAAQ,cAAc,KAAK,QAAQ,eAAe,SAAS,GAAG;AACvE,eAAO;AAAA;AAET,aAAO;AAAA;AAGT,+BAA2B,OAAO,aAAa;AAC7C,YAAM;AACN;AACE,eACG;AAAgE;AAGnE;AAA2C;AAE3C;AAA0C;AAAA;AAI9C;AACE,yDAE0B;AAE1B;AAA2B;AAG7B;AAKE;AACA,+CAAyC;AACzC,yBAAmB;AACjB,4DAAoD;AAAA;AAEtD,mCAA6B,kCAAkC;AAC7D;AAAyC;AAE3C;AACE;AACE,oBACE;AACA;AAGJ;AACA;AACA,aAAK,8BAA8B;AACnC,aAAK;AAA0B,aAC1B;AACL,aAAK,mBAAmB;AACxB;AACA,aAAK;AAA8C;AAErD;AAAa;AAGf;AACE;AACE;AAGA;AAAkC;AAAA;AAKtC;AACE;AACE;AAA4B,UAC1B;AAAc;AACX,aACA;AAAO,UACV;AAAA;AAAA;AAAA;AAKN;AACE;AACE;AAAwC;AAAA;AAI5C;AAAO,MACL;AAAA;AACA,MACA;AAAA,MACA;AAA0B,MAC1B;AAAA,MACA;AAAA;AAAA;AAAA;;;AArKE;AAjBE;AAAc,0BAAgC;AAAK,MAAe,QAAG;AAAoB,MAAgB,QAAG,GAAE,mBAAe;AAAA,MAAc,QAAG,GAAE;AAAmB,iBAAwB;AAAyB;AAAA;AAQlN;AACA;IAGA;AAGD;aADC;AAAM;;AADE;eAGH;AAAA;;AAjBA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.mjs","sources":["../../../../../../packages/components/carousel/src/main.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex - 1)\"\n >\n <el-icon>\n <arrow-left />\n </el-icon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex + 1)\"\n >\n <el-icon>\n <arrow-right />\n </el-icon>\n </button>\n </transition>\n <slot></slot>\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === data.activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n computed,\n ref,\n provide,\n onMounted,\n onBeforeUnmount,\n watch,\n nextTick,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport {\n addResizeListener,\n removeResizeListener,\n debugWarn,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type {\n ICarouselProps,\n CarouselItem,\n InjectCarouselScope,\n} from './carousel'\n\nexport default defineComponent({\n name: 'ElCarousel',\n components: {\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n props: {\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: { type: String, default: '' },\n trigger: {\n type: String,\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: { type: String, default: '' },\n indicator: {\n type: Boolean,\n default: true,\n },\n arrow: {\n type: String,\n default: 'hover',\n },\n type: { type: String, default: '' },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator(val: string) {\n return ['horizontal', 'vertical'].includes(val)\n },\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['change'],\n setup(props: ICarouselProps, { emit }) {\n const ns = useNamespace('carousel')\n // data\n const data = reactive<{\n activeIndex: number\n containerWidth: number\n timer: null | ReturnType<typeof setInterval>\n hover: boolean\n }>({\n activeIndex: -1,\n containerWidth: 0,\n timer: null,\n hover: false,\n })\n\n // refs\n const root = ref(null)\n const items = ref<CarouselItem[]>([])\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && props.direction !== 'vertical'\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.label.toString().length > 0)\n })\n\n const carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (props.type === 'card') {\n classes.push(ns.m('card'))\n }\n return classes\n })\n\n const indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || props.type === 'card') {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index) => {\n setActiveItem(index)\n },\n 300,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index) => {\n handleIndicatorHover(index)\n }, 300)\n\n function pauseTimer() {\n if (data.timer) {\n clearInterval(data.timer)\n data.timer = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || data.timer) return\n data.timer = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (data.activeIndex < items.value.length - 1) {\n data.activeIndex = data.activeIndex + 1\n } else if (props.loop) {\n data.activeIndex = 0\n }\n }\n\n function setActiveItem(index) {\n if (typeof index === 'string') {\n const filteredItems = items.value.filter((item) => item.name === index)\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (isNaN(index) || index !== Math.floor(index)) {\n debugWarn('Carousel', 'index must be an integer.')\n return\n }\n const length = items.value.length\n const oldIndex = data.activeIndex\n if (index < 0) {\n data.activeIndex = props.loop ? length - 1 : 0\n } else if (index >= length) {\n data.activeIndex = props.loop ? 0 : length - 1\n } else {\n data.activeIndex = index\n }\n if (oldIndex === data.activeIndex) {\n resetItemPosition(oldIndex)\n }\n }\n\n function resetItemPosition(oldIndex) {\n items.value.forEach((item, index) => {\n item.translateItem(index, data.activeIndex, oldIndex)\n })\n }\n\n function addItem(item) {\n items.value.push(item)\n }\n\n function removeItem(uid) {\n const index = items.value.findIndex((item) => item.uid === uid)\n if (index !== -1) {\n items.value.splice(index, 1)\n if (data.activeIndex === index) next()\n }\n }\n\n function itemInStage(item, index) {\n const length = items.value.length\n if (\n (index === length - 1 && item.inStage && items.value[0].active) ||\n (item.inStage &&\n items.value[index + 1] &&\n items.value[index + 1].active)\n ) {\n return 'left'\n } else if (\n (index === 0 && item.inStage && items.value[length - 1].active) ||\n (item.inStage &&\n items.value[index - 1] &&\n items.value[index - 1].active)\n ) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n data.hover = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n data.hover = false\n startTimer()\n }\n\n function handleButtonEnter(arrow) {\n if (props.direction === 'vertical') return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (props.direction === 'vertical') return\n items.value.forEach((item) => {\n item.hover = false\n })\n }\n\n function handleIndicatorClick(index) {\n data.activeIndex = index\n }\n\n function handleIndicatorHover(index) {\n if (props.trigger === 'hover' && index !== data.activeIndex) {\n data.activeIndex = index\n }\n }\n\n function prev() {\n setActiveItem(data.activeIndex - 1)\n }\n\n function next() {\n setActiveItem(data.activeIndex + 1)\n }\n\n // watch\n watch(\n () => data.activeIndex,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (current) => {\n current ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(data.activeIndex)\n }\n )\n\n // lifecycle\n onMounted(() => {\n nextTick(() => {\n addResizeListener(root.value, resetItemPosition)\n if (\n props.initialIndex < items.value.length &&\n props.initialIndex >= 0\n ) {\n data.activeIndex = props.initialIndex\n }\n startTimer()\n })\n })\n\n onBeforeUnmount(() => {\n if (root.value) removeResizeListener(root.value, resetItemPosition)\n pauseTimer()\n })\n\n // provide\n provide<InjectCarouselScope>('injectCarouselScope', {\n root,\n direction: props.direction,\n type: props.type,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n })\n\n return {\n data,\n props,\n items,\n\n arrowDisplay,\n carouselClasses,\n indicatorsClasses,\n hasLabel,\n\n handleMouseEnter,\n handleMouseLeave,\n handleIndicatorClick,\n throttledArrowClick,\n throttledIndicatorHover,\n handleButtonEnter,\n handleButtonLeave,\n\n prev,\n next,\n setActiveItem,\n\n root,\n ns,\n }\n },\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_withCtx","_createCommentVNode","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"main.mjs","sources":["../../../../../../packages/components/carousel/src/main.vue"],"sourcesContent":["<template>\n <div\n ref=\"root\"\n :class=\"carouselClasses\"\n @mouseenter.stop=\"handleMouseEnter\"\n @mouseleave.stop=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('container')\" :style=\"{ height: height }\">\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-left\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex > 0)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'left')]\"\n @mouseenter=\"handleButtonEnter('left')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex - 1)\"\n >\n <el-icon>\n <arrow-left />\n </el-icon>\n </button>\n </transition>\n <transition v-if=\"arrowDisplay\" name=\"carousel-arrow-right\">\n <button\n v-show=\"\n (arrow === 'always' || data.hover) &&\n (props.loop || data.activeIndex < items.length - 1)\n \"\n type=\"button\"\n :class=\"[ns.e('arrow'), ns.em('arrow', 'right')]\"\n @mouseenter=\"handleButtonEnter('right')\"\n @mouseleave=\"handleButtonLeave\"\n @click.stop=\"throttledArrowClick(data.activeIndex + 1)\"\n >\n <el-icon>\n <arrow-right />\n </el-icon>\n </button>\n </transition>\n <slot></slot>\n </div>\n <ul v-if=\"indicatorPosition !== 'none'\" :class=\"indicatorsClasses\">\n <li\n v-for=\"(item, index) in items\"\n :key=\"index\"\n :class=\"[\n ns.e('indicator'),\n ns.em('indicator', direction),\n ns.is('active', index === data.activeIndex),\n ]\"\n @mouseenter=\"throttledIndicatorHover(index)\"\n @click.stop=\"handleIndicatorClick(index)\"\n >\n <button :class=\"ns.e('button')\">\n <span v-if=\"hasLabel\">{{ item.label }}</span>\n </button>\n </li>\n </ul>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n defineComponent,\n reactive,\n computed,\n ref,\n provide,\n onMounted,\n onBeforeUnmount,\n watch,\n nextTick,\n} from 'vue'\nimport { throttle } from 'lodash-unified'\nimport {\n addResizeListener,\n removeResizeListener,\n debugWarn,\n} from '@element-plus/utils'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport type {\n ICarouselProps,\n CarouselItem,\n InjectCarouselScope,\n} from './carousel'\n\nexport default defineComponent({\n name: 'ElCarousel',\n components: {\n ElIcon,\n ArrowLeft,\n ArrowRight,\n },\n props: {\n initialIndex: {\n type: Number,\n default: 0,\n },\n height: { type: String, default: '' },\n trigger: {\n type: String,\n default: 'hover',\n },\n autoplay: {\n type: Boolean,\n default: true,\n },\n interval: {\n type: Number,\n default: 3000,\n },\n indicatorPosition: { type: String, default: '' },\n indicator: {\n type: Boolean,\n default: true,\n },\n arrow: {\n type: String,\n default: 'hover',\n },\n type: { type: String, default: '' },\n loop: {\n type: Boolean,\n default: true,\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator(val: string) {\n return ['horizontal', 'vertical'].includes(val)\n },\n },\n pauseOnHover: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['change'],\n setup(props: ICarouselProps, { emit }) {\n const ns = useNamespace('carousel')\n // data\n const data = reactive<{\n activeIndex: number\n containerWidth: number\n timer: null | ReturnType<typeof setInterval>\n hover: boolean\n }>({\n activeIndex: -1,\n containerWidth: 0,\n timer: null,\n hover: false,\n })\n\n // refs\n const root = ref(null)\n const items = ref<CarouselItem[]>([])\n\n // computed\n const arrowDisplay = computed(\n () => props.arrow !== 'never' && props.direction !== 'vertical'\n )\n\n const hasLabel = computed(() => {\n return items.value.some((item) => item.label.toString().length > 0)\n })\n\n const carouselClasses = computed(() => {\n const classes = [ns.b(), ns.m(props.direction)]\n if (props.type === 'card') {\n classes.push(ns.m('card'))\n }\n return classes\n })\n\n const indicatorsClasses = computed(() => {\n const classes = [ns.e('indicators'), ns.em('indicators', props.direction)]\n if (hasLabel.value) {\n classes.push(ns.em('indicators', 'labels'))\n }\n if (props.indicatorPosition === 'outside' || props.type === 'card') {\n classes.push(ns.em('indicators', 'outside'))\n }\n return classes\n })\n\n // methods\n const throttledArrowClick = throttle(\n (index) => {\n setActiveItem(index)\n },\n 300,\n { trailing: true }\n )\n\n const throttledIndicatorHover = throttle((index) => {\n handleIndicatorHover(index)\n }, 300)\n\n function pauseTimer() {\n if (data.timer) {\n clearInterval(data.timer)\n data.timer = null\n }\n }\n\n function startTimer() {\n if (props.interval <= 0 || !props.autoplay || data.timer) return\n data.timer = setInterval(() => playSlides(), props.interval)\n }\n\n const playSlides = () => {\n if (data.activeIndex < items.value.length - 1) {\n data.activeIndex = data.activeIndex + 1\n } else if (props.loop) {\n data.activeIndex = 0\n }\n }\n\n function setActiveItem(index) {\n if (typeof index === 'string') {\n const filteredItems = items.value.filter((item) => item.name === index)\n if (filteredItems.length > 0) {\n index = items.value.indexOf(filteredItems[0])\n }\n }\n index = Number(index)\n if (isNaN(index) || index !== Math.floor(index)) {\n debugWarn('Carousel', 'index must be an integer.')\n return\n }\n const length = items.value.length\n const oldIndex = data.activeIndex\n if (index < 0) {\n data.activeIndex = props.loop ? length - 1 : 0\n } else if (index >= length) {\n data.activeIndex = props.loop ? 0 : length - 1\n } else {\n data.activeIndex = index\n }\n if (oldIndex === data.activeIndex) {\n resetItemPosition(oldIndex)\n }\n }\n\n function resetItemPosition(oldIndex) {\n items.value.forEach((item, index) => {\n item.translateItem(index, data.activeIndex, oldIndex)\n })\n }\n\n function addItem(item) {\n items.value.push(item)\n }\n\n function removeItem(uid) {\n const index = items.value.findIndex((item) => item.uid === uid)\n if (index !== -1) {\n items.value.splice(index, 1)\n if (data.activeIndex === index) next()\n }\n }\n\n function itemInStage(item, index) {\n const length = items.value.length\n if (\n (index === length - 1 && item.inStage && items.value[0].active) ||\n (item.inStage &&\n items.value[index + 1] &&\n items.value[index + 1].active)\n ) {\n return 'left'\n } else if (\n (index === 0 && item.inStage && items.value[length - 1].active) ||\n (item.inStage &&\n items.value[index - 1] &&\n items.value[index - 1].active)\n ) {\n return 'right'\n }\n return false\n }\n\n function handleMouseEnter() {\n data.hover = true\n if (props.pauseOnHover) {\n pauseTimer()\n }\n }\n\n function handleMouseLeave() {\n data.hover = false\n startTimer()\n }\n\n function handleButtonEnter(arrow) {\n if (props.direction === 'vertical') return\n items.value.forEach((item, index) => {\n if (arrow === itemInStage(item, index)) {\n item.hover = true\n }\n })\n }\n\n function handleButtonLeave() {\n if (props.direction === 'vertical') return\n items.value.forEach((item) => {\n item.hover = false\n })\n }\n\n function handleIndicatorClick(index) {\n data.activeIndex = index\n }\n\n function handleIndicatorHover(index) {\n if (props.trigger === 'hover' && index !== data.activeIndex) {\n data.activeIndex = index\n }\n }\n\n function prev() {\n setActiveItem(data.activeIndex - 1)\n }\n\n function next() {\n setActiveItem(data.activeIndex + 1)\n }\n\n // watch\n watch(\n () => data.activeIndex,\n (current, prev) => {\n resetItemPosition(prev)\n if (prev > -1) {\n emit('change', current, prev)\n }\n }\n )\n watch(\n () => props.autoplay,\n (current) => {\n current ? startTimer() : pauseTimer()\n }\n )\n watch(\n () => props.loop,\n () => {\n setActiveItem(data.activeIndex)\n }\n )\n\n // lifecycle\n onMounted(() => {\n nextTick(() => {\n addResizeListener(root.value, resetItemPosition)\n if (\n props.initialIndex < items.value.length &&\n props.initialIndex >= 0\n ) {\n data.activeIndex = props.initialIndex\n }\n startTimer()\n })\n })\n\n onBeforeUnmount(() => {\n if (root.value) removeResizeListener(root.value, resetItemPosition)\n pauseTimer()\n })\n\n // provide\n provide<InjectCarouselScope>('injectCarouselScope', {\n root,\n direction: props.direction,\n type: props.type,\n items,\n loop: props.loop,\n addItem,\n removeItem,\n setActiveItem,\n })\n\n return {\n data,\n props,\n items,\n\n arrowDisplay,\n carouselClasses,\n indicatorsClasses,\n hasLabel,\n\n handleMouseEnter,\n handleMouseLeave,\n handleIndicatorClick,\n throttledArrowClick,\n throttledIndicatorHover,\n handleButtonEnter,\n handleButtonLeave,\n\n prev,\n next,\n setActiveItem,\n\n root,\n ns,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_createBlock","_Transition","_createVNode","_renderSlot","_Fragment","_withModifiers"],"mappings":"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"}