element-plus 2.3.2 → 2.3.4

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 (701) hide show
  1. package/README.md +1 -1
  2. package/attributes.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +225 -193
  5. package/dist/index.full.min.js +14 -14
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +15 -15
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +225 -194
  10. package/dist/locale/af.js +1 -1
  11. package/dist/locale/af.min.js +1 -1
  12. package/dist/locale/af.min.mjs +1 -1
  13. package/dist/locale/af.mjs +1 -1
  14. package/dist/locale/ar.js +1 -1
  15. package/dist/locale/ar.min.js +1 -1
  16. package/dist/locale/ar.min.mjs +1 -1
  17. package/dist/locale/ar.mjs +1 -1
  18. package/dist/locale/az.js +1 -1
  19. package/dist/locale/az.min.js +1 -1
  20. package/dist/locale/az.min.mjs +1 -1
  21. package/dist/locale/az.mjs +1 -1
  22. package/dist/locale/bg.js +1 -1
  23. package/dist/locale/bg.min.js +1 -1
  24. package/dist/locale/bg.min.mjs +1 -1
  25. package/dist/locale/bg.mjs +1 -1
  26. package/dist/locale/bn.js +1 -1
  27. package/dist/locale/bn.min.js +1 -1
  28. package/dist/locale/bn.min.mjs +1 -1
  29. package/dist/locale/bn.mjs +1 -1
  30. package/dist/locale/ca.js +1 -1
  31. package/dist/locale/ca.min.js +1 -1
  32. package/dist/locale/ca.min.mjs +1 -1
  33. package/dist/locale/ca.mjs +1 -1
  34. package/dist/locale/ckb.js +1 -1
  35. package/dist/locale/ckb.min.js +1 -1
  36. package/dist/locale/ckb.min.mjs +1 -1
  37. package/dist/locale/ckb.mjs +1 -1
  38. package/dist/locale/cs.js +1 -1
  39. package/dist/locale/cs.min.js +1 -1
  40. package/dist/locale/cs.min.mjs +1 -1
  41. package/dist/locale/cs.mjs +1 -1
  42. package/dist/locale/da.js +1 -1
  43. package/dist/locale/da.min.js +1 -1
  44. package/dist/locale/da.min.mjs +1 -1
  45. package/dist/locale/da.mjs +1 -1
  46. package/dist/locale/de.js +1 -1
  47. package/dist/locale/de.min.js +1 -1
  48. package/dist/locale/de.min.mjs +1 -1
  49. package/dist/locale/de.mjs +1 -1
  50. package/dist/locale/el.js +1 -1
  51. package/dist/locale/el.min.js +1 -1
  52. package/dist/locale/el.min.mjs +1 -1
  53. package/dist/locale/el.mjs +1 -1
  54. package/dist/locale/en.js +1 -1
  55. package/dist/locale/en.min.js +1 -1
  56. package/dist/locale/en.min.mjs +1 -1
  57. package/dist/locale/en.mjs +1 -1
  58. package/dist/locale/eo.js +1 -1
  59. package/dist/locale/eo.min.js +1 -1
  60. package/dist/locale/eo.min.mjs +1 -1
  61. package/dist/locale/eo.mjs +1 -1
  62. package/dist/locale/es.js +1 -1
  63. package/dist/locale/es.min.js +1 -1
  64. package/dist/locale/es.min.mjs +1 -1
  65. package/dist/locale/es.mjs +1 -1
  66. package/dist/locale/et.js +1 -1
  67. package/dist/locale/et.min.js +1 -1
  68. package/dist/locale/et.min.mjs +1 -1
  69. package/dist/locale/et.mjs +1 -1
  70. package/dist/locale/eu.js +1 -1
  71. package/dist/locale/eu.min.js +1 -1
  72. package/dist/locale/eu.min.mjs +1 -1
  73. package/dist/locale/eu.mjs +1 -1
  74. package/dist/locale/fa.js +1 -1
  75. package/dist/locale/fa.min.js +1 -1
  76. package/dist/locale/fa.min.mjs +1 -1
  77. package/dist/locale/fa.mjs +1 -1
  78. package/dist/locale/fi.js +1 -1
  79. package/dist/locale/fi.min.js +1 -1
  80. package/dist/locale/fi.min.mjs +1 -1
  81. package/dist/locale/fi.mjs +1 -1
  82. package/dist/locale/fr.js +1 -1
  83. package/dist/locale/fr.min.js +1 -1
  84. package/dist/locale/fr.min.mjs +1 -1
  85. package/dist/locale/fr.mjs +1 -1
  86. package/dist/locale/he.js +1 -1
  87. package/dist/locale/he.min.js +1 -1
  88. package/dist/locale/he.min.mjs +1 -1
  89. package/dist/locale/he.mjs +1 -1
  90. package/dist/locale/hr.js +1 -1
  91. package/dist/locale/hr.min.js +1 -1
  92. package/dist/locale/hr.min.mjs +1 -1
  93. package/dist/locale/hr.mjs +1 -1
  94. package/dist/locale/hu.js +1 -1
  95. package/dist/locale/hu.min.js +1 -1
  96. package/dist/locale/hu.min.mjs +1 -1
  97. package/dist/locale/hu.mjs +1 -1
  98. package/dist/locale/hy-am.js +1 -1
  99. package/dist/locale/hy-am.min.js +1 -1
  100. package/dist/locale/hy-am.min.mjs +1 -1
  101. package/dist/locale/hy-am.mjs +1 -1
  102. package/dist/locale/id.js +1 -1
  103. package/dist/locale/id.min.js +1 -1
  104. package/dist/locale/id.min.mjs +1 -1
  105. package/dist/locale/id.mjs +1 -1
  106. package/dist/locale/it.js +1 -1
  107. package/dist/locale/it.min.js +1 -1
  108. package/dist/locale/it.min.mjs +1 -1
  109. package/dist/locale/it.mjs +1 -1
  110. package/dist/locale/ja.js +1 -1
  111. package/dist/locale/ja.min.js +1 -1
  112. package/dist/locale/ja.min.mjs +1 -1
  113. package/dist/locale/ja.mjs +1 -1
  114. package/dist/locale/kk.js +1 -1
  115. package/dist/locale/kk.min.js +1 -1
  116. package/dist/locale/kk.min.mjs +1 -1
  117. package/dist/locale/kk.mjs +1 -1
  118. package/dist/locale/km.js +1 -1
  119. package/dist/locale/km.min.js +1 -1
  120. package/dist/locale/km.min.mjs +1 -1
  121. package/dist/locale/km.mjs +1 -1
  122. package/dist/locale/ko.js +1 -1
  123. package/dist/locale/ko.min.js +1 -1
  124. package/dist/locale/ko.min.mjs +1 -1
  125. package/dist/locale/ko.mjs +1 -1
  126. package/dist/locale/ku.js +1 -1
  127. package/dist/locale/ku.min.js +1 -1
  128. package/dist/locale/ku.min.mjs +1 -1
  129. package/dist/locale/ku.mjs +1 -1
  130. package/dist/locale/ky.js +1 -1
  131. package/dist/locale/ky.min.js +1 -1
  132. package/dist/locale/ky.min.mjs +1 -1
  133. package/dist/locale/ky.mjs +1 -1
  134. package/dist/locale/lt.js +1 -1
  135. package/dist/locale/lt.min.js +1 -1
  136. package/dist/locale/lt.min.mjs +1 -1
  137. package/dist/locale/lt.mjs +1 -1
  138. package/dist/locale/lv.js +1 -1
  139. package/dist/locale/lv.min.js +1 -1
  140. package/dist/locale/lv.min.mjs +1 -1
  141. package/dist/locale/lv.mjs +1 -1
  142. package/dist/locale/mg.js +1 -1
  143. package/dist/locale/mg.min.js +1 -1
  144. package/dist/locale/mg.min.mjs +1 -1
  145. package/dist/locale/mg.mjs +1 -1
  146. package/dist/locale/mn.js +1 -1
  147. package/dist/locale/mn.min.js +1 -1
  148. package/dist/locale/mn.min.mjs +1 -1
  149. package/dist/locale/mn.mjs +1 -1
  150. package/dist/locale/nb-no.js +1 -1
  151. package/dist/locale/nb-no.min.js +1 -1
  152. package/dist/locale/nb-no.min.mjs +1 -1
  153. package/dist/locale/nb-no.mjs +1 -1
  154. package/dist/locale/nl.js +1 -1
  155. package/dist/locale/nl.min.js +1 -1
  156. package/dist/locale/nl.min.mjs +1 -1
  157. package/dist/locale/nl.mjs +1 -1
  158. package/dist/locale/pa.js +1 -1
  159. package/dist/locale/pa.min.js +1 -1
  160. package/dist/locale/pa.min.mjs +1 -1
  161. package/dist/locale/pa.mjs +1 -1
  162. package/dist/locale/pl.js +1 -1
  163. package/dist/locale/pl.min.js +1 -1
  164. package/dist/locale/pl.min.mjs +1 -1
  165. package/dist/locale/pl.mjs +1 -1
  166. package/dist/locale/pt-br.js +1 -1
  167. package/dist/locale/pt-br.min.js +1 -1
  168. package/dist/locale/pt-br.min.mjs +1 -1
  169. package/dist/locale/pt-br.mjs +1 -1
  170. package/dist/locale/pt.js +1 -1
  171. package/dist/locale/pt.min.js +1 -1
  172. package/dist/locale/pt.min.mjs +1 -1
  173. package/dist/locale/pt.mjs +1 -1
  174. package/dist/locale/ro.js +1 -1
  175. package/dist/locale/ro.min.js +1 -1
  176. package/dist/locale/ro.min.mjs +1 -1
  177. package/dist/locale/ro.mjs +1 -1
  178. package/dist/locale/ru.js +1 -1
  179. package/dist/locale/ru.min.js +1 -1
  180. package/dist/locale/ru.min.mjs +1 -1
  181. package/dist/locale/ru.mjs +1 -1
  182. package/dist/locale/sk.js +1 -1
  183. package/dist/locale/sk.min.js +1 -1
  184. package/dist/locale/sk.min.mjs +1 -1
  185. package/dist/locale/sk.mjs +1 -1
  186. package/dist/locale/sl.js +1 -1
  187. package/dist/locale/sl.min.js +1 -1
  188. package/dist/locale/sl.min.mjs +1 -1
  189. package/dist/locale/sl.mjs +1 -1
  190. package/dist/locale/sr.js +1 -1
  191. package/dist/locale/sr.min.js +1 -1
  192. package/dist/locale/sr.min.mjs +1 -1
  193. package/dist/locale/sr.mjs +1 -1
  194. package/dist/locale/sv.js +1 -1
  195. package/dist/locale/sv.min.js +1 -1
  196. package/dist/locale/sv.min.mjs +1 -1
  197. package/dist/locale/sv.mjs +1 -1
  198. package/dist/locale/ta.js +1 -1
  199. package/dist/locale/ta.min.js +1 -1
  200. package/dist/locale/ta.min.mjs +1 -1
  201. package/dist/locale/ta.mjs +1 -1
  202. package/dist/locale/th.js +1 -1
  203. package/dist/locale/th.min.js +1 -1
  204. package/dist/locale/th.min.mjs +1 -1
  205. package/dist/locale/th.mjs +1 -1
  206. package/dist/locale/tk.js +1 -1
  207. package/dist/locale/tk.min.js +1 -1
  208. package/dist/locale/tk.min.mjs +1 -1
  209. package/dist/locale/tk.mjs +1 -1
  210. package/dist/locale/tr.js +1 -1
  211. package/dist/locale/tr.min.js +1 -1
  212. package/dist/locale/tr.min.mjs +1 -1
  213. package/dist/locale/tr.mjs +1 -1
  214. package/dist/locale/ug-cn.js +1 -1
  215. package/dist/locale/ug-cn.min.js +1 -1
  216. package/dist/locale/ug-cn.min.mjs +1 -1
  217. package/dist/locale/ug-cn.mjs +1 -1
  218. package/dist/locale/uk.js +1 -1
  219. package/dist/locale/uk.min.js +1 -1
  220. package/dist/locale/uk.min.mjs +1 -1
  221. package/dist/locale/uk.mjs +1 -1
  222. package/dist/locale/uz-uz.js +1 -1
  223. package/dist/locale/uz-uz.min.js +1 -1
  224. package/dist/locale/uz-uz.min.mjs +1 -1
  225. package/dist/locale/uz-uz.mjs +1 -1
  226. package/dist/locale/vi.js +1 -1
  227. package/dist/locale/vi.min.js +1 -1
  228. package/dist/locale/vi.min.mjs +1 -1
  229. package/dist/locale/vi.mjs +1 -1
  230. package/dist/locale/zh-cn.js +1 -1
  231. package/dist/locale/zh-cn.min.js +1 -1
  232. package/dist/locale/zh-cn.min.mjs +1 -1
  233. package/dist/locale/zh-cn.mjs +1 -1
  234. package/dist/locale/zh-tw.js +1 -1
  235. package/dist/locale/zh-tw.min.js +1 -1
  236. package/dist/locale/zh-tw.min.mjs +1 -1
  237. package/dist/locale/zh-tw.mjs +1 -1
  238. package/es/components/affix/src/affix.mjs +1 -1
  239. package/es/components/avatar/src/avatar.mjs +1 -1
  240. package/es/components/avatar/src/avatar2.mjs +1 -1
  241. package/es/components/badge/src/badge2.mjs +1 -1
  242. package/es/components/button/index.d.ts +15 -0
  243. package/es/components/button/src/button.d.ts +4 -3
  244. package/es/components/button/src/button.mjs +5 -1
  245. package/es/components/button/src/button.mjs.map +1 -1
  246. package/es/components/button/src/button.vue.d.ts +15 -0
  247. package/es/components/button/src/button2.mjs +34 -35
  248. package/es/components/button/src/button2.mjs.map +1 -1
  249. package/es/components/button/src/use-button.d.ts +11 -0
  250. package/es/components/button/src/use-button.mjs +12 -0
  251. package/es/components/button/src/use-button.mjs.map +1 -1
  252. package/es/components/calendar/index.d.ts +15 -0
  253. package/es/components/calendar/src/calendar.vue.d.ts +17 -2
  254. package/es/components/carousel/src/carousel.mjs +1 -1
  255. package/es/components/cascader/src/cascader.mjs +1 -1
  256. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  257. package/es/components/cascader-panel/src/index.mjs +1 -1
  258. package/es/components/cascader-panel/src/index.mjs.map +1 -1
  259. package/es/components/check-tag/src/check-tag.mjs +1 -1
  260. package/es/components/checkbox/src/checkbox.mjs +1 -1
  261. package/es/components/checkbox/src/composables/use-checkbox-status.mjs +1 -1
  262. package/es/components/col/src/col2.mjs +1 -1
  263. package/es/components/collapse/src/collapse.mjs +1 -1
  264. package/es/components/color-picker/index.d.ts +16 -0
  265. package/es/components/color-picker/src/color-picker.vue.d.ts +16 -0
  266. package/es/components/color-picker/src/color-picker2.mjs +8 -1
  267. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  268. package/es/components/color-picker/src/utils/draggable.mjs +1 -0
  269. package/es/components/color-picker/src/utils/draggable.mjs.map +1 -1
  270. package/es/components/countdown/src/countdown.mjs +1 -1
  271. package/es/components/countdown/src/utils.mjs +1 -1
  272. package/es/components/date-picker/index.d.ts +173 -172
  273. package/es/components/date-picker/index.mjs +1 -0
  274. package/es/components/date-picker/index.mjs.map +1 -1
  275. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +1 -1
  276. package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
  277. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +15 -0
  278. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +15 -0
  279. package/es/components/date-picker/src/date-picker.d.ts +86 -86
  280. package/es/components/date-picker/src/date-picker.mjs +1 -5
  281. package/es/components/date-picker/src/date-picker.mjs.map +1 -1
  282. package/es/components/date-picker/src/panel-utils.d.ts +30 -0
  283. package/es/components/date-picker/src/props/date-picker.d.ts +77 -0
  284. package/es/components/date-picker/src/props/date-picker.mjs +3 -0
  285. package/es/components/date-picker/src/props/date-picker.mjs.map +1 -1
  286. package/es/components/dialog/src/dialog.mjs +1 -1
  287. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  288. package/es/components/dropdown/index.d.ts +1 -0
  289. package/es/components/dropdown/index.mjs +1 -0
  290. package/es/components/dropdown/index.mjs.map +1 -1
  291. package/es/components/dropdown/src/instance.d.ts +2 -0
  292. package/es/components/dropdown/src/instance.mjs +2 -0
  293. package/es/components/dropdown/src/instance.mjs.map +1 -0
  294. package/es/components/form/src/form-item2.mjs +2 -1
  295. package/es/components/form/src/form-item2.mjs.map +1 -1
  296. package/es/components/form/src/form.mjs +1 -1
  297. package/es/components/image/src/image.mjs +1 -1
  298. package/es/components/image/src/image2.mjs +30 -28
  299. package/es/components/image/src/image2.mjs.map +1 -1
  300. package/es/components/image-viewer/src/image-viewer.mjs +1 -1
  301. package/es/components/image-viewer/src/image-viewer2.mjs +2 -1
  302. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  303. package/es/components/index.mjs +1 -0
  304. package/es/components/index.mjs.map +1 -1
  305. package/es/components/input/src/input2.mjs.map +1 -1
  306. package/es/components/input/src/utils.mjs +1 -1
  307. package/es/components/input-number/src/input-number.mjs +1 -1
  308. package/es/components/input-number/src/input-number2.mjs +1 -2
  309. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  310. package/es/components/loading/src/loading.mjs +1 -4
  311. package/es/components/loading/src/loading.mjs.map +1 -1
  312. package/es/components/loading/src/service.mjs +2 -2
  313. package/es/components/loading/src/service.mjs.map +1 -1
  314. package/es/components/loading/src/types.d.ts +24 -0
  315. package/es/components/menu/src/menu.mjs +2 -1
  316. package/es/components/menu/src/menu.mjs.map +1 -1
  317. package/es/components/menu/src/sub-menu.mjs +1 -1
  318. package/es/components/menu/src/sub-menu.mjs.map +1 -1
  319. package/es/components/message/src/message.d.ts +6 -0
  320. package/es/components/message/src/message.mjs +1 -1
  321. package/es/components/message/src/message.mjs.map +1 -1
  322. package/es/components/message/src/method.mjs +2 -2
  323. package/es/components/message/src/method.mjs.map +1 -1
  324. package/es/components/message-box/src/messageBox.mjs +1 -1
  325. package/es/components/message-box/src/messageBox.mjs.map +1 -1
  326. package/es/components/notification/src/notification.d.ts +3 -0
  327. package/es/components/notification/src/notification.mjs.map +1 -1
  328. package/es/components/notification/src/notify.mjs +1 -1
  329. package/es/components/notification/src/notify.mjs.map +1 -1
  330. package/es/components/pagination/src/pagination.mjs +1 -1
  331. package/es/components/popconfirm/index.d.ts +15 -0
  332. package/es/components/popconfirm/src/popconfirm.vue.d.ts +15 -0
  333. package/es/components/popover/src/popover.mjs +1 -1
  334. package/es/components/popper/src/utils.d.ts +1 -1
  335. package/es/components/popper/src/utils.mjs +1 -0
  336. package/es/components/popper/src/utils.mjs.map +1 -1
  337. package/es/components/progress/index.d.ts +8 -0
  338. package/es/components/progress/src/progress.d.ts +2 -0
  339. package/es/components/progress/src/progress.mjs +2 -0
  340. package/es/components/progress/src/progress.mjs.map +1 -1
  341. package/es/components/progress/src/progress.vue.d.ts +8 -0
  342. package/es/components/progress/src/progress2.mjs +3 -1
  343. package/es/components/progress/src/progress2.mjs.map +1 -1
  344. package/es/components/radio/src/radio.mjs +1 -1
  345. package/es/components/rate/src/rate.mjs +1 -1
  346. package/es/components/scrollbar/src/scrollbar.mjs +1 -1
  347. package/es/components/scrollbar/src/scrollbar2.mjs +2 -1
  348. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  349. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  350. package/es/components/select/src/select.mjs.map +1 -1
  351. package/es/components/select/src/useSelect.mjs +6 -3
  352. package/es/components/select/src/useSelect.mjs.map +1 -1
  353. package/es/components/slider/src/button.mjs +1 -1
  354. package/es/components/slider/src/slider.mjs +1 -1
  355. package/es/components/space/src/space.mjs +1 -1
  356. package/es/components/space/src/use-space.mjs +1 -1
  357. package/es/components/statistic/src/statistic2.mjs +1 -1
  358. package/es/components/steps/src/item.mjs.map +1 -1
  359. package/es/components/steps/src/item2.mjs +1 -1
  360. package/es/components/steps/src/steps.mjs +1 -1
  361. package/es/components/steps/src/steps.mjs.map +1 -1
  362. package/es/components/switch/src/switch.mjs +1 -1
  363. package/es/components/switch/src/switch2.mjs +1 -1
  364. package/es/components/table/src/composables/use-scrollbar.mjs +1 -1
  365. package/es/components/table/src/table-body/index.mjs +1 -1
  366. package/es/components/table/src/table-body/index.mjs.map +1 -1
  367. package/es/components/table/src/table-header/event-helper.mjs +1 -1
  368. package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
  369. package/es/components/table/src/table-layout.mjs +1 -1
  370. package/es/components/table/src/table-layout.mjs.map +1 -1
  371. package/es/components/table/src/table.mjs +1 -1
  372. package/es/components/table/src/table.mjs.map +1 -1
  373. package/es/components/table/src/util.mjs +1 -1
  374. package/es/components/table-v2/src/components/row.mjs +1 -1
  375. package/es/components/table-v2/src/composables/use-row.mjs +1 -1
  376. package/es/components/table-v2/src/composables/use-styles.mjs +1 -1
  377. package/es/components/table-v2/src/table-grid.mjs +1 -1
  378. package/es/components/tabs/src/tabs.mjs +1 -2
  379. package/es/components/tabs/src/tabs.mjs.map +1 -1
  380. package/es/components/time-picker/src/common/props.d.ts +27 -9
  381. package/es/components/time-picker/src/common/props.mjs.map +1 -1
  382. package/es/components/time-picker/src/props/shared.mjs.map +1 -1
  383. package/es/components/time-picker/src/time-picker.d.ts +6 -0
  384. package/es/components/time-picker/src/time-picker.mjs.map +1 -1
  385. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  386. package/es/components/tooltip-v2/src/root2.mjs +2 -2
  387. package/es/components/transfer/index.d.ts +15 -0
  388. package/es/components/transfer/src/transfer.vue.d.ts +15 -0
  389. package/es/components/tree/src/tree.mjs +9 -5
  390. package/es/components/tree/src/tree.mjs.map +1 -1
  391. package/es/components/upload/index.d.ts +8 -0
  392. package/es/components/upload/src/upload-list.vue.d.ts +8 -0
  393. package/es/components/upload/src/upload.vue.d.ts +8 -0
  394. package/es/components/virtual-list/src/builders/build-grid.mjs +2 -1
  395. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  396. package/es/components/virtual-list/src/builders/build-list.mjs +2 -1
  397. package/es/components/virtual-list/src/builders/build-list.mjs.map +1 -1
  398. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +1 -2
  399. package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
  400. package/es/components/virtual-list/src/components/fixed-size-grid.mjs +1 -1
  401. package/es/directives/click-outside/index.mjs +1 -1
  402. package/es/directives/click-outside/index.mjs.map +1 -1
  403. package/es/hooks/use-delayed-toggle/index.mjs +1 -1
  404. package/es/hooks/use-escape-keydown/index.mjs +2 -1
  405. package/es/hooks/use-escape-keydown/index.mjs.map +1 -1
  406. package/es/hooks/use-floating/index.mjs.map +1 -1
  407. package/es/hooks/use-id/index.mjs +1 -1
  408. package/es/hooks/use-id/index.mjs.map +1 -1
  409. package/es/hooks/use-lockscreen/index.mjs +1 -1
  410. package/es/hooks/use-lockscreen/index.mjs.map +1 -1
  411. package/es/hooks/use-model-toggle/index.mjs +2 -1
  412. package/es/hooks/use-model-toggle/index.mjs.map +1 -1
  413. package/es/hooks/use-popper-container/index.mjs +2 -1
  414. package/es/hooks/use-popper-container/index.mjs.map +1 -1
  415. package/es/hooks/use-teleport/index.mjs +1 -1
  416. package/es/hooks/use-teleport/index.mjs.map +1 -1
  417. package/es/hooks/use-z-index/index.mjs +1 -1
  418. package/es/index.mjs +1 -0
  419. package/es/index.mjs.map +1 -1
  420. package/es/utils/browser.d.ts +2 -0
  421. package/es/utils/browser.mjs +1 -0
  422. package/es/utils/browser.mjs.map +1 -1
  423. package/es/utils/dom/position.mjs +1 -0
  424. package/es/utils/dom/position.mjs.map +1 -1
  425. package/es/utils/dom/scroll.mjs +2 -1
  426. package/es/utils/dom/scroll.mjs.map +1 -1
  427. package/es/utils/dom/style.mjs +3 -2
  428. package/es/utils/dom/style.mjs.map +1 -1
  429. package/es/utils/i18n.mjs +1 -1
  430. package/es/utils/i18n.mjs.map +1 -1
  431. package/es/utils/index.mjs +2 -2
  432. package/es/utils/raf.mjs +1 -0
  433. package/es/utils/raf.mjs.map +1 -1
  434. package/es/utils/types.d.ts +2 -1
  435. package/es/utils/types.mjs +3 -2
  436. package/es/utils/types.mjs.map +1 -1
  437. package/es/utils/vue/global-node.mjs +1 -0
  438. package/es/utils/vue/global-node.mjs.map +1 -1
  439. package/es/version.d.ts +1 -1
  440. package/es/version.mjs +1 -1
  441. package/es/version.mjs.map +1 -1
  442. package/global.d.ts +3 -0
  443. package/lib/components/affix/src/affix.js +3 -3
  444. package/lib/components/affix/src/affix.js.map +1 -1
  445. package/lib/components/avatar/src/avatar.js +2 -2
  446. package/lib/components/avatar/src/avatar.js.map +1 -1
  447. package/lib/components/avatar/src/avatar2.js +2 -2
  448. package/lib/components/avatar/src/avatar2.js.map +1 -1
  449. package/lib/components/badge/src/badge2.js +2 -2
  450. package/lib/components/badge/src/badge2.js.map +1 -1
  451. package/lib/components/button/index.d.ts +15 -0
  452. package/lib/components/button/src/button.d.ts +4 -3
  453. package/lib/components/button/src/button.js +4 -0
  454. package/lib/components/button/src/button.js.map +1 -1
  455. package/lib/components/button/src/button.vue.d.ts +15 -0
  456. package/lib/components/button/src/button2.js +33 -34
  457. package/lib/components/button/src/button2.js.map +1 -1
  458. package/lib/components/button/src/use-button.d.ts +11 -0
  459. package/lib/components/button/src/use-button.js +12 -0
  460. package/lib/components/button/src/use-button.js.map +1 -1
  461. package/lib/components/calendar/index.d.ts +15 -0
  462. package/lib/components/calendar/src/calendar.vue.d.ts +17 -2
  463. package/lib/components/carousel/src/carousel.js +2 -2
  464. package/lib/components/carousel/src/carousel.js.map +1 -1
  465. package/lib/components/cascader/src/cascader.js +2 -2
  466. package/lib/components/cascader/src/cascader.js.map +1 -1
  467. package/lib/components/cascader/src/cascader2.js.map +1 -1
  468. package/lib/components/cascader-panel/src/index.js +1 -1
  469. package/lib/components/cascader-panel/src/index.js.map +1 -1
  470. package/lib/components/check-tag/src/check-tag.js +3 -3
  471. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  472. package/lib/components/checkbox/src/checkbox.js +3 -3
  473. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  474. package/lib/components/checkbox/src/composables/use-checkbox-status.js +2 -2
  475. package/lib/components/checkbox/src/composables/use-checkbox-status.js.map +1 -1
  476. package/lib/components/col/src/col2.js +3 -3
  477. package/lib/components/col/src/col2.js.map +1 -1
  478. package/lib/components/collapse/src/collapse.js +2 -2
  479. package/lib/components/collapse/src/collapse.js.map +1 -1
  480. package/lib/components/color-picker/index.d.ts +16 -0
  481. package/lib/components/color-picker/src/color-picker.vue.d.ts +16 -0
  482. package/lib/components/color-picker/src/color-picker2.js +8 -1
  483. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  484. package/lib/components/color-picker/src/utils/draggable.js +1 -0
  485. package/lib/components/color-picker/src/utils/draggable.js.map +1 -1
  486. package/lib/components/countdown/src/countdown.js +2 -2
  487. package/lib/components/countdown/src/countdown.js.map +1 -1
  488. package/lib/components/countdown/src/utils.js +2 -2
  489. package/lib/components/countdown/src/utils.js.map +1 -1
  490. package/lib/components/date-picker/index.d.ts +173 -172
  491. package/lib/components/date-picker/index.js +4 -2
  492. package/lib/components/date-picker/index.js.map +1 -1
  493. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +1 -1
  494. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
  495. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +15 -0
  496. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +15 -0
  497. package/lib/components/date-picker/src/date-picker.d.ts +86 -86
  498. package/lib/components/date-picker/src/date-picker.js +1 -5
  499. package/lib/components/date-picker/src/date-picker.js.map +1 -1
  500. package/lib/components/date-picker/src/panel-utils.d.ts +30 -0
  501. package/lib/components/date-picker/src/props/date-picker.d.ts +77 -0
  502. package/lib/components/date-picker/src/props/date-picker.js +3 -0
  503. package/lib/components/date-picker/src/props/date-picker.js.map +1 -1
  504. package/lib/components/dialog/src/dialog.js +2 -2
  505. package/lib/components/dialog/src/dialog.js.map +1 -1
  506. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  507. package/lib/components/dropdown/index.d.ts +1 -0
  508. package/lib/components/dropdown/index.js +1 -0
  509. package/lib/components/dropdown/index.js.map +1 -1
  510. package/lib/components/dropdown/src/instance.d.ts +2 -0
  511. package/lib/components/dropdown/src/instance.js +3 -0
  512. package/lib/components/dropdown/src/instance.js.map +1 -0
  513. package/lib/components/form/src/form-item2.js +2 -1
  514. package/lib/components/form/src/form-item2.js.map +1 -1
  515. package/lib/components/form/src/form.js +2 -2
  516. package/lib/components/form/src/form.js.map +1 -1
  517. package/lib/components/image/src/image.js +2 -2
  518. package/lib/components/image/src/image.js.map +1 -1
  519. package/lib/components/image/src/image2.js +29 -27
  520. package/lib/components/image/src/image2.js.map +1 -1
  521. package/lib/components/image-viewer/src/image-viewer.js +2 -2
  522. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  523. package/lib/components/image-viewer/src/image-viewer2.js +2 -1
  524. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  525. package/lib/components/index.js +2 -0
  526. package/lib/components/index.js.map +1 -1
  527. package/lib/components/input/src/input2.js.map +1 -1
  528. package/lib/components/input/src/utils.js +3 -3
  529. package/lib/components/input/src/utils.js.map +1 -1
  530. package/lib/components/input-number/src/input-number.js +4 -4
  531. package/lib/components/input-number/src/input-number.js.map +1 -1
  532. package/lib/components/input-number/src/input-number2.js +7 -8
  533. package/lib/components/input-number/src/input-number2.js.map +1 -1
  534. package/lib/components/loading/src/loading.js +1 -4
  535. package/lib/components/loading/src/loading.js.map +1 -1
  536. package/lib/components/loading/src/service.js +2 -2
  537. package/lib/components/loading/src/service.js.map +1 -1
  538. package/lib/components/loading/src/types.d.ts +24 -0
  539. package/lib/components/menu/src/menu.js +2 -1
  540. package/lib/components/menu/src/menu.js.map +1 -1
  541. package/lib/components/menu/src/sub-menu.js +1 -1
  542. package/lib/components/menu/src/sub-menu.js.map +1 -1
  543. package/lib/components/message/src/message.d.ts +6 -0
  544. package/lib/components/message/src/message.js +1 -1
  545. package/lib/components/message/src/message.js.map +1 -1
  546. package/lib/components/message/src/method.js +2 -2
  547. package/lib/components/message/src/method.js.map +1 -1
  548. package/lib/components/message-box/src/messageBox.js +1 -1
  549. package/lib/components/message-box/src/messageBox.js.map +1 -1
  550. package/lib/components/notification/src/notification.d.ts +3 -0
  551. package/lib/components/notification/src/notification.js.map +1 -1
  552. package/lib/components/notification/src/notify.js +1 -1
  553. package/lib/components/notification/src/notify.js.map +1 -1
  554. package/lib/components/pagination/src/pagination.js +8 -8
  555. package/lib/components/pagination/src/pagination.js.map +1 -1
  556. package/lib/components/popconfirm/index.d.ts +15 -0
  557. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +15 -0
  558. package/lib/components/popover/src/popover.js +2 -2
  559. package/lib/components/popover/src/popover.js.map +1 -1
  560. package/lib/components/popper/src/utils.d.ts +1 -1
  561. package/lib/components/popper/src/utils.js +1 -0
  562. package/lib/components/popper/src/utils.js.map +1 -1
  563. package/lib/components/progress/index.d.ts +8 -0
  564. package/lib/components/progress/src/progress.d.ts +2 -0
  565. package/lib/components/progress/src/progress.js +2 -0
  566. package/lib/components/progress/src/progress.js.map +1 -1
  567. package/lib/components/progress/src/progress.vue.d.ts +8 -0
  568. package/lib/components/progress/src/progress2.js +3 -1
  569. package/lib/components/progress/src/progress2.js.map +1 -1
  570. package/lib/components/radio/src/radio.js +3 -3
  571. package/lib/components/radio/src/radio.js.map +1 -1
  572. package/lib/components/rate/src/rate.js +3 -3
  573. package/lib/components/rate/src/rate.js.map +1 -1
  574. package/lib/components/scrollbar/src/scrollbar.js +2 -2
  575. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  576. package/lib/components/scrollbar/src/scrollbar2.js +4 -3
  577. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  578. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  579. package/lib/components/select/src/select.js.map +1 -1
  580. package/lib/components/select/src/useSelect.js +7 -4
  581. package/lib/components/select/src/useSelect.js.map +1 -1
  582. package/lib/components/slider/src/button.js +2 -2
  583. package/lib/components/slider/src/button.js.map +1 -1
  584. package/lib/components/slider/src/slider.js +2 -2
  585. package/lib/components/slider/src/slider.js.map +1 -1
  586. package/lib/components/space/src/space.js +3 -3
  587. package/lib/components/space/src/space.js.map +1 -1
  588. package/lib/components/space/src/use-space.js +2 -2
  589. package/lib/components/space/src/use-space.js.map +1 -1
  590. package/lib/components/statistic/src/statistic2.js +2 -2
  591. package/lib/components/statistic/src/statistic2.js.map +1 -1
  592. package/lib/components/steps/src/item.js.map +1 -1
  593. package/lib/components/steps/src/item2.js +2 -2
  594. package/lib/components/steps/src/item2.js.map +1 -1
  595. package/lib/components/steps/src/steps.js +2 -2
  596. package/lib/components/steps/src/steps.js.map +1 -1
  597. package/lib/components/switch/src/switch.js +4 -4
  598. package/lib/components/switch/src/switch.js.map +1 -1
  599. package/lib/components/switch/src/switch2.js +4 -4
  600. package/lib/components/switch/src/switch2.js.map +1 -1
  601. package/lib/components/table/src/composables/use-scrollbar.js +2 -2
  602. package/lib/components/table/src/composables/use-scrollbar.js.map +1 -1
  603. package/lib/components/table/src/table-body/index.js +1 -1
  604. package/lib/components/table/src/table-body/index.js.map +1 -1
  605. package/lib/components/table/src/table-header/event-helper.js +1 -1
  606. package/lib/components/table/src/table-header/event-helper.js.map +1 -1
  607. package/lib/components/table/src/table-layout.js +1 -1
  608. package/lib/components/table/src/table-layout.js.map +1 -1
  609. package/lib/components/table/src/table.js +1 -1
  610. package/lib/components/table/src/table.js.map +1 -1
  611. package/lib/components/table/src/util.js +4 -4
  612. package/lib/components/table/src/util.js.map +1 -1
  613. package/lib/components/table-v2/src/components/row.js +2 -2
  614. package/lib/components/table-v2/src/components/row.js.map +1 -1
  615. package/lib/components/table-v2/src/composables/use-row.js +2 -2
  616. package/lib/components/table-v2/src/composables/use-row.js.map +1 -1
  617. package/lib/components/table-v2/src/composables/use-styles.js +3 -3
  618. package/lib/components/table-v2/src/composables/use-styles.js.map +1 -1
  619. package/lib/components/table-v2/src/table-grid.js +2 -2
  620. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  621. package/lib/components/tabs/src/tabs.js +2 -3
  622. package/lib/components/tabs/src/tabs.js.map +1 -1
  623. package/lib/components/time-picker/src/common/props.d.ts +27 -9
  624. package/lib/components/time-picker/src/common/props.js.map +1 -1
  625. package/lib/components/time-picker/src/props/shared.js.map +1 -1
  626. package/lib/components/time-picker/src/time-picker.d.ts +6 -0
  627. package/lib/components/time-picker/src/time-picker.js.map +1 -1
  628. package/lib/components/tooltip/src/tooltip2.js +2 -2
  629. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  630. package/lib/components/tooltip-v2/src/root2.js +1 -1
  631. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  632. package/lib/components/transfer/index.d.ts +15 -0
  633. package/lib/components/transfer/src/transfer.vue.d.ts +15 -0
  634. package/lib/components/tree/src/tree.js +8 -4
  635. package/lib/components/tree/src/tree.js.map +1 -1
  636. package/lib/components/upload/index.d.ts +8 -0
  637. package/lib/components/upload/src/upload-list.vue.d.ts +8 -0
  638. package/lib/components/upload/src/upload.vue.d.ts +8 -0
  639. package/lib/components/virtual-list/src/builders/build-grid.js +8 -7
  640. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  641. package/lib/components/virtual-list/src/builders/build-list.js +6 -5
  642. package/lib/components/virtual-list/src/builders/build-list.js.map +1 -1
  643. package/lib/components/virtual-list/src/components/dynamic-size-grid.js +2 -3
  644. package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
  645. package/lib/components/virtual-list/src/components/fixed-size-grid.js +3 -3
  646. package/lib/components/virtual-list/src/components/fixed-size-grid.js.map +1 -1
  647. package/lib/directives/click-outside/index.js +1 -1
  648. package/lib/directives/click-outside/index.js.map +1 -1
  649. package/lib/hooks/use-delayed-toggle/index.js +2 -2
  650. package/lib/hooks/use-delayed-toggle/index.js.map +1 -1
  651. package/lib/hooks/use-escape-keydown/index.js +2 -1
  652. package/lib/hooks/use-escape-keydown/index.js.map +1 -1
  653. package/lib/hooks/use-floating/index.js.map +1 -1
  654. package/lib/hooks/use-id/index.js +1 -1
  655. package/lib/hooks/use-id/index.js.map +1 -1
  656. package/lib/hooks/use-lockscreen/index.js +1 -1
  657. package/lib/hooks/use-lockscreen/index.js.map +1 -1
  658. package/lib/hooks/use-model-toggle/index.js +3 -2
  659. package/lib/hooks/use-model-toggle/index.js.map +1 -1
  660. package/lib/hooks/use-popper-container/index.js +2 -1
  661. package/lib/hooks/use-popper-container/index.js.map +1 -1
  662. package/lib/hooks/use-teleport/index.js +1 -1
  663. package/lib/hooks/use-teleport/index.js.map +1 -1
  664. package/lib/hooks/use-z-index/index.js +2 -2
  665. package/lib/hooks/use-z-index/index.js.map +1 -1
  666. package/lib/index.js +2 -0
  667. package/lib/index.js.map +1 -1
  668. package/lib/utils/browser.d.ts +2 -0
  669. package/lib/utils/browser.js +8 -0
  670. package/lib/utils/browser.js.map +1 -1
  671. package/lib/utils/dom/position.js +1 -0
  672. package/lib/utils/dom/position.js.map +1 -1
  673. package/lib/utils/dom/scroll.js +2 -1
  674. package/lib/utils/dom/scroll.js.map +1 -1
  675. package/lib/utils/dom/style.js +3 -2
  676. package/lib/utils/dom/style.js.map +1 -1
  677. package/lib/utils/i18n.js +1 -1
  678. package/lib/utils/i18n.js.map +1 -1
  679. package/lib/utils/index.js +11 -9
  680. package/lib/utils/index.js.map +1 -1
  681. package/lib/utils/raf.js +1 -0
  682. package/lib/utils/raf.js.map +1 -1
  683. package/lib/utils/types.d.ts +2 -1
  684. package/lib/utils/types.js +4 -9
  685. package/lib/utils/types.js.map +1 -1
  686. package/lib/utils/vue/global-node.js +1 -0
  687. package/lib/utils/vue/global-node.js.map +1 -1
  688. package/lib/version.d.ts +1 -1
  689. package/lib/version.js +1 -1
  690. package/lib/version.js.map +1 -1
  691. package/package.json +2 -2
  692. package/tags.json +1 -1
  693. package/theme-chalk/el-menu.css +1 -1
  694. package/theme-chalk/el-progress.css +1 -1
  695. package/theme-chalk/el-transfer.css +1 -1
  696. package/theme-chalk/index.css +1 -1
  697. package/theme-chalk/src/image.scss +6 -6
  698. package/theme-chalk/src/menu.scss +1 -0
  699. package/theme-chalk/src/progress.scss +18 -0
  700. package/theme-chalk/src/transfer.scss +1 -2
  701. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"build-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-list.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { hasOwn, isNumber, isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCache } from '../hooks/use-cache'\nimport useWheel from '../hooks/use-wheel'\nimport Scrollbar from '../components/scrollbar'\nimport { getRTLOffsetType, getScrollDir, isHorizontal } from '../utils'\nimport { virtualizedListProps } from '../props'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\n\nimport type { CSSProperties, Slot, VNode, VNodeChild } from 'vue'\nimport type { Alignment, ListConstructorProps } from '../types'\nimport type { VirtualizedListProps } from '../props'\n\nconst createList = ({\n name,\n getOffset,\n getItemSize,\n getItemOffset,\n getEstimatedTotalSize,\n getStartIndexForOffset,\n getStopIndexForStartIndex,\n initCache,\n clearCache,\n validateProps,\n}: ListConstructorProps<VirtualizedListProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedListProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose }) {\n validateProps(props)\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('vl')\n\n const dynamicSizeCache = ref(initCache(props, instance))\n\n const getItemStyleCache = useCache()\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const innerRef = ref<HTMLElement>()\n const scrollbarRef = ref()\n const states = ref({\n isScrolling: false,\n scrollDir: 'forward',\n scrollOffset: isNumber(props.initScrollOffset)\n ? props.initScrollOffset\n : 0,\n updateRequested: false,\n isScrollbarDragging: false,\n scrollbarAlwaysOn: props.scrollbarAlwaysOn,\n })\n\n // computed\n const itemsToRender = computed(() => {\n const { total, cache } = props\n const { isScrolling, scrollDir, scrollOffset } = unref(states)\n\n if (total === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getStartIndexForOffset(\n props,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n const stopIndex = getStopIndexForStartIndex(\n props,\n startIndex,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n\n const cacheBackward =\n !isScrolling || scrollDir === BACKWARD ? Math.max(1, cache) : 1\n const cacheForward =\n !isScrolling || scrollDir === FORWARD ? Math.max(1, cache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(total! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalSize = computed(() =>\n getEstimatedTotalSize(props, unref(dynamicSizeCache))\n )\n\n const _isHorizontal = computed(() => isHorizontal(props.layout))\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n [`overflow-${_isHorizontal.value ? 'x' : 'y'}`]: 'scroll',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style,\n ])\n\n const innerStyle = computed(() => {\n const size = unref(estimatedTotalSize)\n const horizontal = unref(_isHorizontal)\n return {\n height: horizontal ? '100%' : `${size}px`,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width: horizontal ? `${size}px` : '100%',\n }\n })\n\n const clientSize = computed(() =>\n _isHorizontal.value ? props.width : props.height\n )\n\n // methods\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => states.value.scrollOffset <= 0),\n atEndEdge: computed(\n () => states.value.scrollOffset >= estimatedTotalSize.value\n ),\n layout: computed(() => props.layout),\n },\n (offset) => {\n ;(\n scrollbarRef.value as any as {\n onMouseUp: () => void\n }\n ).onMouseUp?.()\n scrollTo(\n Math.min(\n states.value.scrollOffset + offset,\n estimatedTotalSize.value - (clientSize.value as number)\n )\n )\n }\n )\n\n const emitEvents = () => {\n const { total } = props\n\n if (total! > 0) {\n const [cacheStart, cacheEnd, visibleStart, visibleEnd] =\n unref(itemsToRender)\n emit(ITEM_RENDER_EVT, cacheStart, cacheEnd, visibleStart, visibleEnd)\n }\n\n const { scrollDir, scrollOffset, updateRequested } = unref(states)\n emit(SCROLL_EVT, scrollDir, scrollOffset, updateRequested)\n }\n\n const scrollVertically = (e: Event) => {\n const { clientHeight, scrollHeight, scrollTop } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n if (_states.scrollOffset === scrollTop) {\n return\n }\n\n const scrollOffset = Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollHorizontally = (e: Event) => {\n const { clientWidth, scrollLeft, scrollWidth } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n\n if (_states.scrollOffset === scrollLeft) {\n return\n }\n\n const { direction } = props\n\n let scrollOffset = scrollLeft\n\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n scrollOffset = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_DESC: {\n scrollOffset = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n }\n\n scrollOffset = Math.max(\n 0,\n Math.min(scrollOffset, scrollWidth - clientWidth)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const onScroll = (e: Event) => {\n unref(_isHorizontal) ? scrollHorizontally(e) : scrollVertically(e)\n emitEvents()\n }\n\n const onScrollbarScroll = (distanceToGo: number, totalSteps: number) => {\n const offset =\n ((estimatedTotalSize.value - (clientSize.value as number)) /\n totalSteps) *\n distanceToGo\n scrollTo(\n Math.min(\n estimatedTotalSize.value - (clientSize.value as number),\n offset\n )\n )\n }\n\n const scrollTo = (offset: number) => {\n offset = Math.max(offset, 0)\n\n if (offset === unref(states).scrollOffset) {\n return\n }\n\n states.value = {\n ...unref(states),\n scrollOffset: offset,\n scrollDir: getScrollDir(unref(states).scrollOffset, offset),\n updateRequested: true,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollToItem = (\n idx: number,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const { scrollOffset } = unref(states)\n\n idx = Math.max(0, Math.min(idx, props.total! - 1))\n scrollTo(\n getOffset(\n props,\n idx,\n alignment,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n )\n }\n\n const getItemStyle = (idx: number) => {\n const { direction, itemSize, layout } = props\n\n const itemStyleCache = getItemStyleCache.value(\n clearCache && itemSize,\n clearCache && layout,\n clearCache && direction\n )\n\n let style: CSSProperties\n if (hasOwn(itemStyleCache, String(idx))) {\n style = itemStyleCache[idx]\n } else {\n const offset = getItemOffset(props, idx, unref(dynamicSizeCache))\n const size = getItemSize(props, idx, unref(dynamicSizeCache))\n const horizontal = unref(_isHorizontal)\n\n const isRtl = direction === RTL\n const offsetHorizontal = horizontal ? offset : 0\n itemStyleCache[idx] = style = {\n position: 'absolute',\n left: isRtl ? undefined : `${offsetHorizontal}px`,\n right: isRtl ? `${offsetHorizontal}px` : undefined,\n top: !horizontal ? `${offset}px` : 0,\n height: !horizontal ? `${size}px` : '100%',\n width: horizontal ? `${size}px` : '100%',\n }\n }\n\n return style\n }\n\n // TODO:\n // perf optimization here, reset isScrolling with debounce.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n const resetScrollTop = () => {\n const window = windowRef.value\n if (window) {\n window.scrollTop = 0\n }\n }\n\n // life cycles\n onMounted(() => {\n if (!isClient) return\n const { initScrollOffset } = props\n const windowElement = unref(windowRef)\n if (isNumber(initScrollOffset) && windowElement) {\n if (unref(_isHorizontal)) {\n windowElement.scrollLeft = initScrollOffset\n } else {\n windowElement.scrollTop = initScrollOffset\n }\n }\n\n emitEvents()\n })\n\n onUpdated(() => {\n const { direction, layout } = props\n const { scrollOffset, updateRequested } = unref(states)\n const windowElement = unref(windowRef)\n\n if (updateRequested && windowElement) {\n if (layout === HORIZONTAL) {\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollOffset\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollOffset\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollOffset\n break\n }\n }\n } else {\n windowElement.scrollLeft = scrollOffset\n }\n } else {\n windowElement.scrollTop = scrollOffset\n }\n }\n })\n\n const api = {\n ns,\n clientSize,\n estimatedTotalSize,\n windowStyle,\n windowRef,\n innerRef,\n innerStyle,\n itemsToRender,\n scrollbarRef,\n states,\n getItemStyle,\n onScroll,\n onScrollbarScroll,\n onWheel,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n }\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n states,\n })\n\n return api\n },\n\n render(ctx: any) {\n const {\n $slots,\n className,\n clientSize,\n containerElement,\n data,\n getItemStyle,\n innerElement,\n itemsToRender,\n innerStyle,\n layout,\n total,\n onScroll,\n onScrollbarScroll,\n onWheel,\n states,\n useIsScrolling,\n windowStyle,\n ns,\n } = ctx\n\n const [start, end] = itemsToRender\n\n const Container = resolveDynamicComponent(containerElement)\n const Inner = resolveDynamicComponent(innerElement)\n\n const children = [] as VNodeChild[]\n\n if (total > 0) {\n for (let i = start; i <= end; i++) {\n children.push(\n ($slots.default as Slot)?.({\n data,\n key: i,\n index: i,\n isScrolling: useIsScrolling ? states.isScrolling : undefined,\n style: getItemStyle(i),\n })\n )\n }\n }\n\n const InnerNode = [\n h(\n Inner as VNode,\n {\n style: innerStyle,\n ref: 'innerRef',\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n\n const scrollbar = h(Scrollbar, {\n ref: 'scrollbarRef',\n clientSize,\n layout,\n onScroll: onScrollbarScroll,\n ratio: (clientSize * 100) / this.estimatedTotalSize,\n scrollFrom:\n states.scrollOffset / (this.estimatedTotalSize - clientSize),\n total,\n })\n\n const listContainer = h(\n Container as VNode,\n {\n class: [ns.e('window'), className],\n style: windowStyle,\n onScroll,\n onWheel,\n ref: 'windowRef',\n key: 0,\n },\n !isString(Container) ? { default: () => [InnerNode] } : [InnerNode]\n )\n\n return h(\n 'div',\n {\n key: 0,\n class: [ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : ''],\n },\n [listContainer, scrollbar]\n )\n },\n })\n}\n\nexport default createList\n"],"names":["Scrollbar"],"mappings":"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"}
1
+ {"version":3,"file":"build-list.mjs","sources":["../../../../../../../packages/components/virtual-list/src/builders/build-list.ts"],"sourcesContent":["// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n ref,\n resolveDynamicComponent,\n unref,\n} from 'vue'\nimport { hasOwn, isClient, isNumber, isString } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useCache } from '../hooks/use-cache'\nimport useWheel from '../hooks/use-wheel'\nimport Scrollbar from '../components/scrollbar'\nimport { getRTLOffsetType, getScrollDir, isHorizontal } from '../utils'\nimport { virtualizedListProps } from '../props'\nimport {\n AUTO_ALIGNMENT,\n BACKWARD,\n FORWARD,\n HORIZONTAL,\n ITEM_RENDER_EVT,\n RTL,\n RTL_OFFSET_NAG,\n RTL_OFFSET_POS_ASC,\n RTL_OFFSET_POS_DESC,\n SCROLL_EVT,\n} from '../defaults'\n\nimport type { CSSProperties, Slot, VNode, VNodeChild } from 'vue'\nimport type { Alignment, ListConstructorProps } from '../types'\nimport type { VirtualizedListProps } from '../props'\n\nconst createList = ({\n name,\n getOffset,\n getItemSize,\n getItemOffset,\n getEstimatedTotalSize,\n getStartIndexForOffset,\n getStopIndexForStartIndex,\n initCache,\n clearCache,\n validateProps,\n}: ListConstructorProps<VirtualizedListProps>) => {\n return defineComponent({\n name: name ?? 'ElVirtualList',\n props: virtualizedListProps,\n emits: [ITEM_RENDER_EVT, SCROLL_EVT],\n setup(props, { emit, expose }) {\n validateProps(props)\n const instance = getCurrentInstance()!\n\n const ns = useNamespace('vl')\n\n const dynamicSizeCache = ref(initCache(props, instance))\n\n const getItemStyleCache = useCache()\n // refs\n // here windowRef and innerRef can be type of HTMLElement\n // or user defined component type, depends on the type passed\n // by user\n const windowRef = ref<HTMLElement>()\n const innerRef = ref<HTMLElement>()\n const scrollbarRef = ref()\n const states = ref({\n isScrolling: false,\n scrollDir: 'forward',\n scrollOffset: isNumber(props.initScrollOffset)\n ? props.initScrollOffset\n : 0,\n updateRequested: false,\n isScrollbarDragging: false,\n scrollbarAlwaysOn: props.scrollbarAlwaysOn,\n })\n\n // computed\n const itemsToRender = computed(() => {\n const { total, cache } = props\n const { isScrolling, scrollDir, scrollOffset } = unref(states)\n\n if (total === 0) {\n return [0, 0, 0, 0]\n }\n\n const startIndex = getStartIndexForOffset(\n props,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n const stopIndex = getStopIndexForStartIndex(\n props,\n startIndex,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n\n const cacheBackward =\n !isScrolling || scrollDir === BACKWARD ? Math.max(1, cache) : 1\n const cacheForward =\n !isScrolling || scrollDir === FORWARD ? Math.max(1, cache) : 1\n\n return [\n Math.max(0, startIndex - cacheBackward),\n Math.max(0, Math.min(total! - 1, stopIndex + cacheForward)),\n startIndex,\n stopIndex,\n ]\n })\n\n const estimatedTotalSize = computed(() =>\n getEstimatedTotalSize(props, unref(dynamicSizeCache))\n )\n\n const _isHorizontal = computed(() => isHorizontal(props.layout))\n\n const windowStyle = computed(() => [\n {\n position: 'relative',\n [`overflow-${_isHorizontal.value ? 'x' : 'y'}`]: 'scroll',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n },\n {\n direction: props.direction,\n height: isNumber(props.height) ? `${props.height}px` : props.height,\n width: isNumber(props.width) ? `${props.width}px` : props.width,\n },\n props.style,\n ])\n\n const innerStyle = computed(() => {\n const size = unref(estimatedTotalSize)\n const horizontal = unref(_isHorizontal)\n return {\n height: horizontal ? '100%' : `${size}px`,\n pointerEvents: unref(states).isScrolling ? 'none' : undefined,\n width: horizontal ? `${size}px` : '100%',\n }\n })\n\n const clientSize = computed(() =>\n _isHorizontal.value ? props.width : props.height\n )\n\n // methods\n const { onWheel } = useWheel(\n {\n atStartEdge: computed(() => states.value.scrollOffset <= 0),\n atEndEdge: computed(\n () => states.value.scrollOffset >= estimatedTotalSize.value\n ),\n layout: computed(() => props.layout),\n },\n (offset) => {\n ;(\n scrollbarRef.value as any as {\n onMouseUp: () => void\n }\n ).onMouseUp?.()\n scrollTo(\n Math.min(\n states.value.scrollOffset + offset,\n estimatedTotalSize.value - (clientSize.value as number)\n )\n )\n }\n )\n\n const emitEvents = () => {\n const { total } = props\n\n if (total! > 0) {\n const [cacheStart, cacheEnd, visibleStart, visibleEnd] =\n unref(itemsToRender)\n emit(ITEM_RENDER_EVT, cacheStart, cacheEnd, visibleStart, visibleEnd)\n }\n\n const { scrollDir, scrollOffset, updateRequested } = unref(states)\n emit(SCROLL_EVT, scrollDir, scrollOffset, updateRequested)\n }\n\n const scrollVertically = (e: Event) => {\n const { clientHeight, scrollHeight, scrollTop } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n if (_states.scrollOffset === scrollTop) {\n return\n }\n\n const scrollOffset = Math.max(\n 0,\n Math.min(scrollTop, scrollHeight - clientHeight)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollHorizontally = (e: Event) => {\n const { clientWidth, scrollLeft, scrollWidth } =\n e.currentTarget as HTMLElement\n const _states = unref(states)\n\n if (_states.scrollOffset === scrollLeft) {\n return\n }\n\n const { direction } = props\n\n let scrollOffset = scrollLeft\n\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n scrollOffset = -scrollLeft\n break\n }\n case RTL_OFFSET_POS_DESC: {\n scrollOffset = scrollWidth - clientWidth - scrollLeft\n break\n }\n }\n }\n\n scrollOffset = Math.max(\n 0,\n Math.min(scrollOffset, scrollWidth - clientWidth)\n )\n\n states.value = {\n ..._states,\n isScrolling: true,\n scrollDir: getScrollDir(_states.scrollOffset, scrollOffset),\n scrollOffset,\n updateRequested: false,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const onScroll = (e: Event) => {\n unref(_isHorizontal) ? scrollHorizontally(e) : scrollVertically(e)\n emitEvents()\n }\n\n const onScrollbarScroll = (distanceToGo: number, totalSteps: number) => {\n const offset =\n ((estimatedTotalSize.value - (clientSize.value as number)) /\n totalSteps) *\n distanceToGo\n scrollTo(\n Math.min(\n estimatedTotalSize.value - (clientSize.value as number),\n offset\n )\n )\n }\n\n const scrollTo = (offset: number) => {\n offset = Math.max(offset, 0)\n\n if (offset === unref(states).scrollOffset) {\n return\n }\n\n states.value = {\n ...unref(states),\n scrollOffset: offset,\n scrollDir: getScrollDir(unref(states).scrollOffset, offset),\n updateRequested: true,\n }\n\n nextTick(resetIsScrolling)\n }\n\n const scrollToItem = (\n idx: number,\n alignment: Alignment = AUTO_ALIGNMENT\n ) => {\n const { scrollOffset } = unref(states)\n\n idx = Math.max(0, Math.min(idx, props.total! - 1))\n scrollTo(\n getOffset(\n props,\n idx,\n alignment,\n scrollOffset,\n unref(dynamicSizeCache)\n )\n )\n }\n\n const getItemStyle = (idx: number) => {\n const { direction, itemSize, layout } = props\n\n const itemStyleCache = getItemStyleCache.value(\n clearCache && itemSize,\n clearCache && layout,\n clearCache && direction\n )\n\n let style: CSSProperties\n if (hasOwn(itemStyleCache, String(idx))) {\n style = itemStyleCache[idx]\n } else {\n const offset = getItemOffset(props, idx, unref(dynamicSizeCache))\n const size = getItemSize(props, idx, unref(dynamicSizeCache))\n const horizontal = unref(_isHorizontal)\n\n const isRtl = direction === RTL\n const offsetHorizontal = horizontal ? offset : 0\n itemStyleCache[idx] = style = {\n position: 'absolute',\n left: isRtl ? undefined : `${offsetHorizontal}px`,\n right: isRtl ? `${offsetHorizontal}px` : undefined,\n top: !horizontal ? `${offset}px` : 0,\n height: !horizontal ? `${size}px` : '100%',\n width: horizontal ? `${size}px` : '100%',\n }\n }\n\n return style\n }\n\n // TODO:\n // perf optimization here, reset isScrolling with debounce.\n\n const resetIsScrolling = () => {\n // timer = null\n\n states.value.isScrolling = false\n nextTick(() => {\n getItemStyleCache.value(-1, null, null)\n })\n }\n\n const resetScrollTop = () => {\n const window = windowRef.value\n if (window) {\n window.scrollTop = 0\n }\n }\n\n // life cycles\n onMounted(() => {\n if (!isClient) return\n const { initScrollOffset } = props\n const windowElement = unref(windowRef)\n if (isNumber(initScrollOffset) && windowElement) {\n if (unref(_isHorizontal)) {\n windowElement.scrollLeft = initScrollOffset\n } else {\n windowElement.scrollTop = initScrollOffset\n }\n }\n\n emitEvents()\n })\n\n onUpdated(() => {\n const { direction, layout } = props\n const { scrollOffset, updateRequested } = unref(states)\n const windowElement = unref(windowRef)\n\n if (updateRequested && windowElement) {\n if (layout === HORIZONTAL) {\n if (direction === RTL) {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case RTL_OFFSET_NAG: {\n windowElement.scrollLeft = -scrollOffset\n break\n }\n case RTL_OFFSET_POS_ASC: {\n windowElement.scrollLeft = scrollOffset\n break\n }\n default: {\n const { clientWidth, scrollWidth } = windowElement\n windowElement.scrollLeft =\n scrollWidth - clientWidth - scrollOffset\n break\n }\n }\n } else {\n windowElement.scrollLeft = scrollOffset\n }\n } else {\n windowElement.scrollTop = scrollOffset\n }\n }\n })\n\n const api = {\n ns,\n clientSize,\n estimatedTotalSize,\n windowStyle,\n windowRef,\n innerRef,\n innerStyle,\n itemsToRender,\n scrollbarRef,\n states,\n getItemStyle,\n onScroll,\n onScrollbarScroll,\n onWheel,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n }\n\n expose({\n windowRef,\n innerRef,\n getItemStyleCache,\n scrollTo,\n scrollToItem,\n resetScrollTop,\n states,\n })\n\n return api\n },\n\n render(ctx: any) {\n const {\n $slots,\n className,\n clientSize,\n containerElement,\n data,\n getItemStyle,\n innerElement,\n itemsToRender,\n innerStyle,\n layout,\n total,\n onScroll,\n onScrollbarScroll,\n onWheel,\n states,\n useIsScrolling,\n windowStyle,\n ns,\n } = ctx\n\n const [start, end] = itemsToRender\n\n const Container = resolveDynamicComponent(containerElement)\n const Inner = resolveDynamicComponent(innerElement)\n\n const children = [] as VNodeChild[]\n\n if (total > 0) {\n for (let i = start; i <= end; i++) {\n children.push(\n ($slots.default as Slot)?.({\n data,\n key: i,\n index: i,\n isScrolling: useIsScrolling ? states.isScrolling : undefined,\n style: getItemStyle(i),\n })\n )\n }\n }\n\n const InnerNode = [\n h(\n Inner as VNode,\n {\n style: innerStyle,\n ref: 'innerRef',\n },\n !isString(Inner)\n ? {\n default: () => children,\n }\n : children\n ),\n ]\n\n const scrollbar = h(Scrollbar, {\n ref: 'scrollbarRef',\n clientSize,\n layout,\n onScroll: onScrollbarScroll,\n ratio: (clientSize * 100) / this.estimatedTotalSize,\n scrollFrom:\n states.scrollOffset / (this.estimatedTotalSize - clientSize),\n total,\n })\n\n const listContainer = h(\n Container as VNode,\n {\n class: [ns.e('window'), className],\n style: windowStyle,\n onScroll,\n onWheel,\n ref: 'windowRef',\n key: 0,\n },\n !isString(Container) ? { default: () => [InnerNode] } : [InnerNode]\n )\n\n return h(\n 'div',\n {\n key: 0,\n class: [ns.e('wrapper'), states.scrollbarAlwaysOn ? 'always-on' : ''],\n },\n [listContainer, scrollbar]\n )\n },\n })\n}\n\nexport default createList\n"],"names":["Scrollbar"],"mappings":"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"}
@@ -2,8 +2,7 @@ import { isFunction } from '@vue/shared';
2
2
  import '../../../../utils/index.mjs';
3
3
  import createGrid from '../builders/build-grid.mjs';
4
4
  import { SMART_ALIGNMENT, AUTO_ALIGNMENT, CENTERED_ALIGNMENT, END_ALIGNMENT, START_ALIGNMENT, DEFAULT_DYNAMIC_LIST_ITEM_SIZE } from '../defaults.mjs';
5
- import { isUndefined } from '../../../../utils/types.mjs';
6
- import { isNumber } from '@vueuse/core';
5
+ import { isUndefined, isNumber } from '../../../../utils/types.mjs';
7
6
  import { throwError } from '../../../../utils/error.mjs';
8
7
 
9
8
  const { max, min, floor } = Math;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport { isFunction } from '@vue/shared'\nimport { isNumber, isUndefined, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\n\nimport type { Alignment, GridCache, ItemSize, ListItem } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n}\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n}\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, ItemSize, number]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n // console.log(i, sizer(i))\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, number]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n // console.log(rowIndex)\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-size-grid.mjs","sources":["../../../../../../../packages/components/virtual-list/src/components/dynamic-size-grid.ts"],"sourcesContent":["// @ts-nocheck\nimport { isFunction } from '@vue/shared'\nimport { isNumber, isUndefined, throwError } from '@element-plus/utils'\nimport createGrid from '../builders/build-grid'\n\nimport {\n AUTO_ALIGNMENT,\n CENTERED_ALIGNMENT,\n DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n END_ALIGNMENT,\n SMART_ALIGNMENT,\n START_ALIGNMENT,\n} from '../defaults'\nimport type { GridInstance } from '../builders/build-grid'\nimport type { VirtualizedGridProps } from '../props'\n\nimport type { Alignment, GridCache, ItemSize, ListItem } from '../types'\n\nconst { max, min, floor } = Math\nconst SCOPE = 'ElDynamicSizeGrid'\n\ntype Props = VirtualizedGridProps\ntype CacheItemType = 'column' | 'row'\ntype Indices = {\n columnIndex?: number\n rowIndex?: number\n}\n\n// generates props access key via type\nconst ACCESS_SIZER_KEY_MAP = {\n column: 'columnWidth',\n row: 'rowHeight',\n}\n\n// generates cache access key via type\nconst ACCESS_LAST_VISITED_KEY_MAP = {\n column: 'lastVisitedColumnIndex',\n row: 'lastVisitedRowIndex',\n}\n\nconst getItemFromCache = (\n props: Props,\n index: number,\n gridCache: GridCache,\n type: CacheItemType\n) => {\n const [cachedItems, sizer, lastVisited] = [\n gridCache[type],\n props[ACCESS_SIZER_KEY_MAP[type]],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, ItemSize, number]\n\n if (index > lastVisited) {\n let offset = 0\n if (lastVisited >= 0) {\n const item = cachedItems[lastVisited]\n offset = item.offset + item.size\n }\n\n for (let i = lastVisited + 1; i <= index; i++) {\n // console.log(i, sizer(i))\n const size = sizer(i)\n\n cachedItems[i] = {\n offset,\n size,\n }\n\n offset += size\n }\n\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]] = index\n }\n\n return cachedItems[index]\n}\n\nconst bs = (\n props: Props,\n gridCache: GridCache,\n low: number,\n high: number,\n offset: number,\n type: CacheItemType\n) => {\n while (low <= high) {\n const mid = low + floor((high - low) / 2)\n const currentOffset = getItemFromCache(props, mid, gridCache, type).offset\n\n if (currentOffset === offset) {\n return mid\n } else if (currentOffset < offset) {\n low = mid + 1\n } else {\n high = mid - 1\n }\n }\n\n return max(0, low - 1)\n}\n\nconst es = (\n props: Props,\n gridCache: GridCache,\n idx: number,\n offset: number,\n type: CacheItemType\n) => {\n const total = type === 'column' ? props.totalColumn : props.totalRow\n let exponent = 1\n\n while (\n idx < total &&\n getItemFromCache(props, idx, gridCache, type).offset < offset\n ) {\n idx += exponent\n exponent *= 2\n }\n\n return bs(props, gridCache, floor(idx / 2), min(idx, total - 1), offset, type)\n}\n\nconst findItem = (\n props: Props,\n gridCache: GridCache,\n offset: number,\n type: CacheItemType\n) => {\n const [cache, lastVisitedIndex] = [\n gridCache[type],\n gridCache[ACCESS_LAST_VISITED_KEY_MAP[type]],\n ] as [Record<string, ListItem>, number]\n\n const lastVisitedItemOffset =\n lastVisitedIndex > 0 ? cache[lastVisitedIndex].offset : 0\n\n if (lastVisitedItemOffset >= offset) {\n return bs(props, gridCache, 0, lastVisitedIndex, offset, type)\n }\n\n return es(props, gridCache, max(0, lastVisitedIndex), offset, type)\n}\n\nconst getEstimatedTotalHeight = (\n { totalRow }: Props,\n { estimatedRowHeight, lastVisitedRowIndex, row }: GridCache\n) => {\n let sizeOfVisitedRows = 0\n\n if (lastVisitedRowIndex >= totalRow) {\n lastVisitedRowIndex = totalRow - 1\n }\n\n if (lastVisitedRowIndex >= 0) {\n const item = row[lastVisitedRowIndex]\n sizeOfVisitedRows = item.offset + item.size\n }\n\n const unvisitedItems = totalRow - lastVisitedRowIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedRowHeight\n\n return sizeOfVisitedRows + sizeOfUnvisitedItems\n}\nconst getEstimatedTotalWidth = (\n { totalColumn }: Props,\n { column, estimatedColumnWidth, lastVisitedColumnIndex }: GridCache\n) => {\n let sizeOfVisitedColumns = 0\n\n if (lastVisitedColumnIndex > totalColumn) {\n lastVisitedColumnIndex = totalColumn - 1\n }\n\n if (lastVisitedColumnIndex >= 0) {\n const item = column[lastVisitedColumnIndex]\n sizeOfVisitedColumns = item.offset + item.size\n }\n\n const unvisitedItems = totalColumn - lastVisitedColumnIndex - 1\n const sizeOfUnvisitedItems = unvisitedItems * estimatedColumnWidth\n\n return sizeOfVisitedColumns + sizeOfUnvisitedItems\n}\n\nconst ACCESS_ESTIMATED_SIZE_KEY_MAP = {\n column: getEstimatedTotalWidth,\n row: getEstimatedTotalHeight,\n}\n\nconst getOffset = (\n props: Props,\n index: number,\n alignment: Alignment,\n scrollOffset: number,\n cache: GridCache,\n type: CacheItemType,\n scrollBarWidth: number\n) => {\n const [size, estimatedSizeAssociates] = [\n type === 'row' ? props.height : props.width,\n ACCESS_ESTIMATED_SIZE_KEY_MAP[type],\n ] as [number, (props: Props, cache: GridCache) => number]\n const item = getItemFromCache(props, index, cache, type)\n\n const estimatedSize = estimatedSizeAssociates(props, cache)\n\n const maxOffset = max(0, min(estimatedSize - size, item.offset))\n const minOffset = max(0, item.offset - size + scrollBarWidth + item.size)\n\n if (alignment === SMART_ALIGNMENT) {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n alignment = AUTO_ALIGNMENT\n } else {\n alignment = CENTERED_ALIGNMENT\n }\n }\n\n switch (alignment) {\n case START_ALIGNMENT: {\n return maxOffset\n }\n case END_ALIGNMENT: {\n return minOffset\n }\n case CENTERED_ALIGNMENT: {\n return Math.round(minOffset + (maxOffset - minOffset) / 2)\n }\n case AUTO_ALIGNMENT:\n default: {\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset\n } else if (minOffset > maxOffset) {\n return minOffset\n } else if (scrollOffset < minOffset) {\n return minOffset\n } else {\n return maxOffset\n }\n }\n }\n}\n\nconst DynamicSizeGrid = createGrid({\n name: 'ElDynamicSizeGrid',\n getColumnPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'column')\n return [item.size, item.offset]\n },\n\n getRowPosition: (props, idx, cache) => {\n const item = getItemFromCache(props, idx, cache, 'row')\n return [item.size, item.offset]\n },\n\n getColumnOffset: (\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n scrollBarWidth\n ) =>\n getOffset(\n props,\n columnIndex,\n alignment,\n scrollLeft,\n cache,\n 'column',\n scrollBarWidth\n ),\n\n getRowOffset: (\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n scrollBarWidth: number\n ) =>\n getOffset(\n props,\n rowIndex,\n alignment,\n scrollTop,\n cache,\n 'row',\n scrollBarWidth\n ),\n\n getColumnStartIndexForOffset: (props, scrollLeft, cache) =>\n findItem(props, cache, scrollLeft, 'column'),\n\n getColumnStopIndexForStartIndex: (props, startIndex, scrollLeft, cache) => {\n const item = getItemFromCache(props, startIndex, cache, 'column')\n\n const maxOffset = scrollLeft + (props.width as number)\n\n let offset = item.offset + item.size\n let stopIndex = startIndex\n while (stopIndex < props.totalColumn - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, startIndex, cache, 'column').size\n }\n return stopIndex\n },\n\n getEstimatedTotalHeight,\n getEstimatedTotalWidth,\n\n getRowStartIndexForOffset: (props, scrollTop, cache) =>\n findItem(props, cache, scrollTop, 'row'),\n\n getRowStopIndexForStartIndex: (props, startIndex, scrollTop, cache) => {\n const { totalRow, height } = props\n const item = getItemFromCache(props, startIndex, cache, 'row')\n const maxOffset = scrollTop + (height as number)\n\n let offset = item.size + item.offset\n let stopIndex = startIndex\n\n while (stopIndex < totalRow - 1 && offset < maxOffset) {\n stopIndex++\n offset += getItemFromCache(props, stopIndex, cache, 'row').size\n }\n\n return stopIndex\n },\n injectToInstance: (instance, cache) => {\n const resetAfter = (\n { columnIndex, rowIndex }: Indices,\n forceUpdate?: boolean\n ) => {\n forceUpdate = isUndefined(forceUpdate) ? true : forceUpdate\n\n if (isNumber(columnIndex)) {\n cache.value.lastVisitedColumnIndex = Math.min(\n cache.value.lastVisitedColumnIndex,\n columnIndex - 1\n )\n }\n\n if (isNumber(rowIndex)) {\n // console.log(rowIndex)\n cache.value.lastVisitedRowIndex = Math.min(\n cache.value.lastVisitedRowIndex,\n rowIndex - 1\n )\n }\n\n instance.exposed?.getItemStyleCache.value(-1, null, null)\n\n if (forceUpdate) instance.proxy?.$forceUpdate()\n }\n\n const resetAfterColumnIndex = (\n columnIndex: number,\n forceUpdate: boolean\n ) => {\n resetAfter(\n {\n columnIndex,\n },\n forceUpdate\n )\n }\n\n const resetAfterRowIndex = (rowIndex: number, forceUpdate: boolean) => {\n resetAfter(\n {\n rowIndex,\n },\n forceUpdate\n )\n }\n\n Object.assign(instance.proxy, {\n resetAfterColumnIndex,\n resetAfterRowIndex,\n resetAfter,\n })\n },\n initCache: ({\n estimatedColumnWidth = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n estimatedRowHeight = DEFAULT_DYNAMIC_LIST_ITEM_SIZE,\n }) => {\n const cache = {\n column: {},\n estimatedColumnWidth,\n estimatedRowHeight,\n lastVisitedColumnIndex: -1,\n lastVisitedRowIndex: -1,\n row: {},\n } as GridCache\n\n // TODO: expose methods.\n return cache\n },\n\n clearCache: false,\n\n validateProps: ({ columnWidth, rowHeight }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(columnWidth)) {\n throwError(\n SCOPE,\n `\n \"columnWidth\" must be passed as function,\n instead ${typeof columnWidth} was given.\n `\n )\n }\n\n if (!isFunction(rowHeight)) {\n throwError(\n SCOPE,\n `\n \"rowHeight\" must be passed as function,\n instead ${typeof rowHeight} was given.\n `\n )\n }\n }\n },\n})\n\nexport default DynamicSizeGrid\n\nexport type ResetAfterIndex = (idx: number, forceUpdate: boolean) => void\nexport type ResetAfterIndices = (indices: Indices, forceUpdate: boolean) => void\n\nexport type DynamicSizeGridInstance = GridInstance & {\n resetAfterColumnIndex: ResetAfterIndex\n resetAfterRowIndex: ResetAfterIndex\n resetAfter: ResetAfterIndices\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import '../../../../utils/index.mjs';
2
2
  import createGrid from '../builders/build-grid.mjs';
3
3
  import { AUTO_ALIGNMENT, CENTERED_ALIGNMENT, END_ALIGNMENT, START_ALIGNMENT, SMART_ALIGNMENT } from '../defaults.mjs';
4
- import { isNumber } from '@vueuse/core';
4
+ import { isNumber } from '../../../../utils/types.mjs';
5
5
  import { throwError } from '../../../../utils/error.mjs';
6
6
 
7
7
  const SCOPE = "ElFixedSizeGrid";
@@ -1,5 +1,5 @@
1
- import { isClient } from '@vueuse/core';
2
1
  import '../../utils/index.mjs';
2
+ import { isClient } from '@vueuse/core';
3
3
  import { isElement } from '../../utils/types.mjs';
4
4
 
5
5
  const nodeList = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/click-outside/index.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\nimport { isElement } from '@element-plus/utils'\n\nimport type {\n ComponentPublicInstance,\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T extends MouseEvent>(mouseup: T, mousedown: T) => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map()\n\nlet startClick: MouseEvent\n\nif (isClient) {\n document.addEventListener('mousedown', (e: MouseEvent) => (startClick = e))\n document.addEventListener('mouseup', (e: MouseEvent) => {\n for (const handlers of nodeList.values()) {\n for (const { documentHandler } of handlers) {\n documentHandler(e as MouseEvent, startClick)\n }\n }\n })\n}\n\nfunction createDocumentHandler(\n el: HTMLElement,\n binding: DirectiveBinding\n): DocumentHandler {\n let excludes: HTMLElement[] = []\n if (Array.isArray(binding.arg)) {\n excludes = binding.arg\n } else if (isElement(binding.arg)) {\n // due to current implementation on binding type is wrong the type casting is necessary here\n excludes.push(binding.arg as unknown as HTMLElement)\n }\n return function (mouseup, mousedown) {\n const popperRef = (\n binding.instance as ComponentPublicInstance<{\n popperRef: HTMLElement\n }>\n ).popperRef\n const mouseUpTarget = mouseup.target as Node\n const mouseDownTarget = mousedown?.target as Node\n const isBound = !binding || !binding.instance\n const isTargetExists = !mouseUpTarget || !mouseDownTarget\n const isContainedByEl =\n el.contains(mouseUpTarget) || el.contains(mouseDownTarget)\n const isSelf = el === mouseUpTarget\n\n const isTargetExcluded =\n (excludes.length &&\n excludes.some((item) => item?.contains(mouseUpTarget))) ||\n (excludes.length && excludes.includes(mouseDownTarget as HTMLElement))\n const isContainedByPopper =\n popperRef &&\n (popperRef.contains(mouseUpTarget) || popperRef.contains(mouseDownTarget))\n if (\n isBound ||\n isTargetExists ||\n isContainedByEl ||\n isSelf ||\n isTargetExcluded ||\n isContainedByPopper\n ) {\n return\n }\n binding.value(mouseup, mousedown)\n }\n}\n\nconst ClickOutside: ObjectDirective = {\n beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n // there could be multiple handlers on the element\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n const handlers = nodeList.get(el)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n unmounted(el: HTMLElement) {\n // remove all listeners when a component unmounted\n nodeList.delete(el)\n },\n}\n\nexport default ClickOutside\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/click-outside/index.ts"],"sourcesContent":["import { isClient, isElement } from '@element-plus/utils'\n\nimport type {\n ComponentPublicInstance,\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T extends MouseEvent>(mouseup: T, mousedown: T) => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map()\n\nlet startClick: MouseEvent\n\nif (isClient) {\n document.addEventListener('mousedown', (e: MouseEvent) => (startClick = e))\n document.addEventListener('mouseup', (e: MouseEvent) => {\n for (const handlers of nodeList.values()) {\n for (const { documentHandler } of handlers) {\n documentHandler(e as MouseEvent, startClick)\n }\n }\n })\n}\n\nfunction createDocumentHandler(\n el: HTMLElement,\n binding: DirectiveBinding\n): DocumentHandler {\n let excludes: HTMLElement[] = []\n if (Array.isArray(binding.arg)) {\n excludes = binding.arg\n } else if (isElement(binding.arg)) {\n // due to current implementation on binding type is wrong the type casting is necessary here\n excludes.push(binding.arg as unknown as HTMLElement)\n }\n return function (mouseup, mousedown) {\n const popperRef = (\n binding.instance as ComponentPublicInstance<{\n popperRef: HTMLElement\n }>\n ).popperRef\n const mouseUpTarget = mouseup.target as Node\n const mouseDownTarget = mousedown?.target as Node\n const isBound = !binding || !binding.instance\n const isTargetExists = !mouseUpTarget || !mouseDownTarget\n const isContainedByEl =\n el.contains(mouseUpTarget) || el.contains(mouseDownTarget)\n const isSelf = el === mouseUpTarget\n\n const isTargetExcluded =\n (excludes.length &&\n excludes.some((item) => item?.contains(mouseUpTarget))) ||\n (excludes.length && excludes.includes(mouseDownTarget as HTMLElement))\n const isContainedByPopper =\n popperRef &&\n (popperRef.contains(mouseUpTarget) || popperRef.contains(mouseDownTarget))\n if (\n isBound ||\n isTargetExists ||\n isContainedByEl ||\n isSelf ||\n isTargetExcluded ||\n isContainedByPopper\n ) {\n return\n }\n binding.value(mouseup, mousedown)\n }\n}\n\nconst ClickOutside: ObjectDirective = {\n beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n // there could be multiple handlers on the element\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, [])\n }\n\n const handlers = nodeList.get(el)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n unmounted(el: HTMLElement) {\n // remove all listeners when a component unmounted\n nodeList.delete(el)\n },\n}\n\nexport default ClickOutside\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { unref } from 'vue';
2
2
  import '../../utils/index.mjs';
3
3
  import { useTimeout } from '../use-timeout/index.mjs';
4
4
  import { buildProps } from '../../utils/vue/props/runtime.mjs';
5
- import { isNumber } from '@vueuse/core';
5
+ import { isNumber } from '../../utils/types.mjs';
6
6
 
7
7
  const useDelayedToggleProps = buildProps({
8
8
  showAfter: {
@@ -1,7 +1,8 @@
1
1
  import { onMounted, onBeforeUnmount } from 'vue';
2
- import { isClient } from '@vueuse/core';
2
+ import '../../utils/index.mjs';
3
3
  import '../../constants/index.mjs';
4
4
  import { EVENT_CODE } from '../../constants/aria.mjs';
5
+ import { isClient } from '@vueuse/core';
5
6
 
6
7
  let registeredEscapeHandlers = [];
7
8
  const cachedHandler = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-escape-keydown/index.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nlet registeredEscapeHandlers: ((e: KeyboardEvent) => void)[] = []\n\nconst cachedHandler = (e: Event) => {\n const event = e as KeyboardEvent\n if (event.key === EVENT_CODE.esc) {\n registeredEscapeHandlers.forEach((registeredHandler) =>\n registeredHandler(event)\n )\n }\n}\n\nexport const useEscapeKeydown = (handler: (e: KeyboardEvent) => void) => {\n onMounted(() => {\n if (registeredEscapeHandlers.length === 0) {\n document.addEventListener('keydown', cachedHandler)\n }\n if (isClient) registeredEscapeHandlers.push(handler)\n })\n\n onBeforeUnmount(() => {\n registeredEscapeHandlers = registeredEscapeHandlers.filter(\n (registeredHandler) => registeredHandler !== handler\n )\n if (registeredEscapeHandlers.length === 0) {\n if (isClient) document.removeEventListener('keydown', cachedHandler)\n }\n })\n}\n"],"names":[],"mappings":";;;;;AAGA,IAAI,wBAAwB,GAAG,EAAE,CAAC;AAClC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK;AAC7B,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC;AAClB,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE;AACpC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AACtF,GAAG;AACH,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK;AAC7C,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,IAAI,QAAQ;AAChB,MAAM,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,GAAG,CAAC,CAAC;AACL,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,KAAK,OAAO,CAAC,CAAC;AACrH,IAAI,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,MAAM,IAAI,QAAQ;AAClB,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC/D,KAAK;AACL,GAAG,CAAC,CAAC;AACL;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-escape-keydown/index.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { EVENT_CODE } from '@element-plus/constants'\n\nlet registeredEscapeHandlers: ((e: KeyboardEvent) => void)[] = []\n\nconst cachedHandler = (e: Event) => {\n const event = e as KeyboardEvent\n if (event.key === EVENT_CODE.esc) {\n registeredEscapeHandlers.forEach((registeredHandler) =>\n registeredHandler(event)\n )\n }\n}\n\nexport const useEscapeKeydown = (handler: (e: KeyboardEvent) => void) => {\n onMounted(() => {\n if (registeredEscapeHandlers.length === 0) {\n document.addEventListener('keydown', cachedHandler)\n }\n if (isClient) registeredEscapeHandlers.push(handler)\n })\n\n onBeforeUnmount(() => {\n registeredEscapeHandlers = registeredEscapeHandlers.filter(\n (registeredHandler) => registeredHandler !== handler\n )\n if (registeredEscapeHandlers.length === 0) {\n if (isClient) document.removeEventListener('keydown', cachedHandler)\n }\n })\n}\n"],"names":[],"mappings":";;;;;;AAGA,IAAI,wBAAwB,GAAG,EAAE,CAAC;AAClC,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK;AAC7B,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC;AAClB,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE;AACpC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AACtF,GAAG;AACH,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK;AAC7C,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,IAAI,QAAQ;AAChB,MAAM,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,GAAG,CAAC,CAAC;AACL,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,KAAK,OAAO,CAAC,CAAC;AACrH,IAAI,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/C,MAAM,IAAI,QAAQ;AAClB,QAAQ,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC/D,KAAK;AACL,GAAG,CAAC,CAAC;AACL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-floating/index.ts"],"sourcesContent":["import { isRef, onMounted, ref, unref, watchEffect } from 'vue'\nimport { isClient, unrefElement } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { arrow as arrowCore, computePosition } from '@floating-ui/dom'\nimport { buildProps, keysOf } from '@element-plus/utils'\n\nimport type { Ref, ToRefs } from 'vue'\nimport type {\n ComputePositionReturn,\n Middleware,\n Placement,\n SideObject,\n Strategy,\n VirtualElement,\n} from '@floating-ui/dom'\n\nexport const useFloatingProps = buildProps({} as const)\n\nexport type UseFloatingProps = ToRefs<{\n middleware: Array<Middleware>\n placement: Placement\n strategy: Strategy\n}>\n\ntype ElementRef = Parameters<typeof unrefElement>['0']\n\nconst unrefReference = (\n elRef: ElementRef | Ref<VirtualElement | undefined>\n) => {\n if (!isClient) return\n if (!elRef) return elRef\n const unrefEl = unrefElement(elRef as ElementRef)\n if (unrefEl) return unrefEl\n return isRef(elRef) ? unrefEl : (elRef as VirtualElement)\n}\n\nexport const getPositionDataWithUnit = <T extends Record<string, number>>(\n record: T | undefined,\n key: keyof T\n) => {\n const value = record?.[key]\n return isNil(value) ? '' : `${value}px`\n}\n\nexport const useFloating = ({\n middleware,\n placement,\n strategy,\n}: UseFloatingProps) => {\n const referenceRef = ref<HTMLElement | VirtualElement>()\n const contentRef = ref<HTMLElement>()\n const x = ref<number>()\n const y = ref<number>()\n const middlewareData = ref<ComputePositionReturn['middlewareData']>({})\n\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData,\n } as const\n\n const update = async () => {\n if (!isClient) return\n\n const referenceEl = unrefReference(referenceRef)\n const contentEl = unrefElement(contentRef)\n if (!referenceEl || !contentEl) return\n\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware),\n })\n\n keysOf(states).forEach((key) => {\n states[key].value = data[key]\n })\n }\n\n onMounted(() => {\n watchEffect(() => {\n update()\n })\n })\n\n return {\n ...states,\n update,\n referenceRef,\n contentRef,\n }\n}\n\nexport type ArrowMiddlewareProps = {\n arrowRef: Ref<HTMLElement | null | undefined>\n padding?: number | SideObject\n}\n\nexport const arrowMiddleware = ({\n arrowRef,\n padding,\n}: ArrowMiddlewareProps): Middleware => {\n return {\n name: 'arrow',\n options: {\n element: arrowRef,\n padding,\n },\n\n fn(args) {\n const arrowEl = unref(arrowRef)\n if (!arrowEl) return {}\n\n return arrowCore({\n element: arrowEl,\n padding,\n }).fn(args)\n },\n }\n}\n"],"names":["arrowCore"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-floating/index.ts"],"sourcesContent":["import { isRef, onMounted, ref, unref, watchEffect } from 'vue'\nimport { unrefElement } from '@vueuse/core'\nimport { isNil } from 'lodash-unified'\nimport { arrow as arrowCore, computePosition } from '@floating-ui/dom'\nimport { buildProps, isClient, keysOf } from '@element-plus/utils'\n\nimport type { Ref, ToRefs } from 'vue'\nimport type {\n ComputePositionReturn,\n Middleware,\n Placement,\n SideObject,\n Strategy,\n VirtualElement,\n} from '@floating-ui/dom'\n\nexport const useFloatingProps = buildProps({} as const)\n\nexport type UseFloatingProps = ToRefs<{\n middleware: Array<Middleware>\n placement: Placement\n strategy: Strategy\n}>\n\ntype ElementRef = Parameters<typeof unrefElement>['0']\n\nconst unrefReference = (\n elRef: ElementRef | Ref<VirtualElement | undefined>\n) => {\n if (!isClient) return\n if (!elRef) return elRef\n const unrefEl = unrefElement(elRef as ElementRef)\n if (unrefEl) return unrefEl\n return isRef(elRef) ? unrefEl : (elRef as VirtualElement)\n}\n\nexport const getPositionDataWithUnit = <T extends Record<string, number>>(\n record: T | undefined,\n key: keyof T\n) => {\n const value = record?.[key]\n return isNil(value) ? '' : `${value}px`\n}\n\nexport const useFloating = ({\n middleware,\n placement,\n strategy,\n}: UseFloatingProps) => {\n const referenceRef = ref<HTMLElement | VirtualElement>()\n const contentRef = ref<HTMLElement>()\n const x = ref<number>()\n const y = ref<number>()\n const middlewareData = ref<ComputePositionReturn['middlewareData']>({})\n\n const states = {\n x,\n y,\n placement,\n strategy,\n middlewareData,\n } as const\n\n const update = async () => {\n if (!isClient) return\n\n const referenceEl = unrefReference(referenceRef)\n const contentEl = unrefElement(contentRef)\n if (!referenceEl || !contentEl) return\n\n const data = await computePosition(referenceEl, contentEl, {\n placement: unref(placement),\n strategy: unref(strategy),\n middleware: unref(middleware),\n })\n\n keysOf(states).forEach((key) => {\n states[key].value = data[key]\n })\n }\n\n onMounted(() => {\n watchEffect(() => {\n update()\n })\n })\n\n return {\n ...states,\n update,\n referenceRef,\n contentRef,\n }\n}\n\nexport type ArrowMiddlewareProps = {\n arrowRef: Ref<HTMLElement | null | undefined>\n padding?: number | SideObject\n}\n\nexport const arrowMiddleware = ({\n arrowRef,\n padding,\n}: ArrowMiddlewareProps): Middleware => {\n return {\n name: 'arrow',\n options: {\n element: arrowRef,\n padding,\n },\n\n fn(args) {\n const arrowEl = unref(arrowRef)\n if (!arrowEl) return {}\n\n return arrowCore({\n element: arrowEl,\n padding,\n }).fn(args)\n },\n }\n}\n"],"names":["arrowCore"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getCurrentInstance, inject, computed, unref } from 'vue';
2
- import { isClient } from '@vueuse/core';
3
2
  import '../../utils/index.mjs';
4
3
  import { useGetDerivedNamespace } from '../use-namespace/index.mjs';
4
+ import { isClient } from '@vueuse/core';
5
5
  import { debugWarn } from '../../utils/error.mjs';
6
6
 
7
7
  const defaultIdInjection = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-id/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, unref } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { debugWarn } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\nexport type ElIdInjectionContext = {\n prefix: number\n current: number\n}\n\nconst defaultIdInjection = {\n prefix: Math.floor(Math.random() * 10000),\n current: 0,\n}\n\nexport const ID_INJECTION_KEY: InjectionKey<ElIdInjectionContext> =\n Symbol('elIdInjection')\n\nexport const useIdInjection = (): ElIdInjectionContext => {\n return getCurrentInstance()\n ? inject(ID_INJECTION_KEY, defaultIdInjection)\n : defaultIdInjection\n}\n\nexport const useId = (deterministicId?: MaybeRef<string>): Ref<string> => {\n const idInjection = useIdInjection()\n if (!isClient && idInjection === defaultIdInjection) {\n debugWarn(\n 'IdInjection',\n `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})`\n )\n }\n\n const namespace = useGetDerivedNamespace()\n const idRef = computed(\n () =>\n unref(deterministicId) ||\n `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`\n )\n\n return idRef\n}\n"],"names":[],"mappings":";;;;;;AAIA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,EAAE;AAC5C,MAAC,cAAc,GAAG,MAAM;AACpC,EAAE,OAAO,kBAAkB,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;AAClG,EAAE;AACU,MAAC,KAAK,GAAG,CAAC,eAAe,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACvD,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;AAC7C,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjI,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-id/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, unref } from 'vue'\nimport { debugWarn, isClient } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\n\nimport type { InjectionKey, Ref } from 'vue'\nimport type { MaybeRef } from '@vueuse/core'\n\nexport type ElIdInjectionContext = {\n prefix: number\n current: number\n}\n\nconst defaultIdInjection = {\n prefix: Math.floor(Math.random() * 10000),\n current: 0,\n}\n\nexport const ID_INJECTION_KEY: InjectionKey<ElIdInjectionContext> =\n Symbol('elIdInjection')\n\nexport const useIdInjection = (): ElIdInjectionContext => {\n return getCurrentInstance()\n ? inject(ID_INJECTION_KEY, defaultIdInjection)\n : defaultIdInjection\n}\n\nexport const useId = (deterministicId?: MaybeRef<string>): Ref<string> => {\n const idInjection = useIdInjection()\n if (!isClient && idInjection === defaultIdInjection) {\n debugWarn(\n 'IdInjection',\n `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})`\n )\n }\n\n const namespace = useGetDerivedNamespace()\n const idRef = computed(\n () =>\n unref(deterministicId) ||\n `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`\n )\n\n return idRef\n}\n"],"names":[],"mappings":";;;;;;AAGA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACU,MAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,EAAE;AAC5C,MAAC,cAAc,GAAG,MAAM;AACpC,EAAE,OAAO,kBAAkB,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;AAClG,EAAE;AACU,MAAC,KAAK,GAAG,CAAC,eAAe,KAAK;AAC1C,EAAE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,kBAAkB,EAAE;AACvD,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;AAC9B;AACA;AACA;AACA,EAAE,CAAC,CAAC,CAAC;AACL,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;AAC7C,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjI,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { isRef, watch, onScopeDispose } from 'vue';
2
2
  import { computed } from '@vue/reactivity';
3
- import { isClient } from '@vueuse/core';
4
3
  import '../../utils/index.mjs';
5
4
  import { useNamespace } from '../use-namespace/index.mjs';
6
5
  import { throwError } from '../../utils/error.mjs';
6
+ import { isClient } from '@vueuse/core';
7
7
  import { hasClass, removeClass, getStyle, addClass } from '../../utils/dom/style.mjs';
8
8
  import { getScrollBarWidth } from '../../utils/dom/scroll.mjs';
9
9
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-lockscreen/index.ts"],"sourcesContent":["import { isRef, onScopeDispose, watch } from 'vue'\nimport { computed } from '@vue/reactivity'\nimport { isClient } from '@vueuse/core'\nimport {\n addClass,\n getScrollBarWidth,\n getStyle,\n hasClass,\n removeClass,\n throwError,\n} from '@element-plus/utils'\nimport { useNamespace } from '../use-namespace'\n\nimport type { Ref } from 'vue'\nimport type { UseNamespaceReturn } from '../use-namespace'\n\nexport type UseLockScreenOptions = {\n ns?: UseNamespaceReturn\n // shouldLock?: MaybeRef<boolean>\n}\n\n/**\n * Hook that monitoring the ref value to lock or unlock the screen.\n * When the trigger became true, it assumes modal is now opened and vice versa.\n * @param trigger {Ref<boolean>}\n */\nexport const useLockscreen = (\n trigger: Ref<boolean>,\n options: UseLockScreenOptions = {}\n) => {\n if (!isRef(trigger)) {\n throwError(\n '[useLockscreen]',\n 'You need to pass a ref param to this function'\n )\n }\n\n const ns = options.ns || useNamespace('popup')\n\n const hiddenCls = computed(() => ns.bm('parent', 'hidden'))\n\n if (!isClient || hasClass(document.body, hiddenCls.value)) {\n return\n }\n\n let scrollBarWidth = 0\n let withoutHiddenClass = false\n let bodyWidth = '0'\n\n const cleanup = () => {\n setTimeout(() => {\n removeClass(document?.body, hiddenCls.value)\n if (withoutHiddenClass && document) {\n document.body.style.width = bodyWidth\n }\n }, 200)\n }\n watch(trigger, (val) => {\n if (!val) {\n cleanup()\n return\n }\n\n withoutHiddenClass = !hasClass(document.body, hiddenCls.value)\n if (withoutHiddenClass) {\n bodyWidth = document.body.style.width\n }\n scrollBarWidth = getScrollBarWidth(ns.namespace.value)\n const bodyHasOverflow =\n document.documentElement.clientHeight < document.body.scrollHeight\n const bodyOverflowY = getStyle(document.body, 'overflowY')\n if (\n scrollBarWidth > 0 &&\n (bodyHasOverflow || bodyOverflowY === 'scroll') &&\n withoutHiddenClass\n ) {\n document.body.style.width = `calc(100% - ${scrollBarWidth}px)`\n }\n addClass(document.body, hiddenCls.value)\n })\n onScopeDispose(() => cleanup())\n}\n"],"names":[],"mappings":";;;;;;;;;AAYY,MAAC,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,KAAK;AACxD,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AACvB,IAAI,UAAU,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;AACnF,GAAG;AACH,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACjD,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;AAC7D,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,cAAc,GAAG,CAAC,CAAC;AACzB,EAAE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AACjC,EAAE,IAAI,SAAS,GAAG,GAAG,CAAC;AACtB,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,WAAW,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9E,MAAM,IAAI,kBAAkB,IAAI,QAAQ,EAAE;AAC1C,QAAQ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;AAC9C,OAAO;AACP,KAAK,EAAE,GAAG,CAAC,CAAC;AACZ,GAAG,CAAC;AACJ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACnE,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,KAAK;AACL,IAAI,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3D,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/F,IAAI,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC/D,IAAI,IAAI,cAAc,GAAG,CAAC,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,CAAC,IAAI,kBAAkB,EAAE;AACrG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7C,GAAG,CAAC,CAAC;AACL,EAAE,cAAc,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;AAClC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-lockscreen/index.ts"],"sourcesContent":["import { isRef, onScopeDispose, watch } from 'vue'\nimport { computed } from '@vue/reactivity'\nimport {\n addClass,\n getScrollBarWidth,\n getStyle,\n hasClass,\n isClient,\n removeClass,\n throwError,\n} from '@element-plus/utils'\nimport { useNamespace } from '../use-namespace'\n\nimport type { Ref } from 'vue'\nimport type { UseNamespaceReturn } from '../use-namespace'\n\nexport type UseLockScreenOptions = {\n ns?: UseNamespaceReturn\n // shouldLock?: MaybeRef<boolean>\n}\n\n/**\n * Hook that monitoring the ref value to lock or unlock the screen.\n * When the trigger became true, it assumes modal is now opened and vice versa.\n * @param trigger {Ref<boolean>}\n */\nexport const useLockscreen = (\n trigger: Ref<boolean>,\n options: UseLockScreenOptions = {}\n) => {\n if (!isRef(trigger)) {\n throwError(\n '[useLockscreen]',\n 'You need to pass a ref param to this function'\n )\n }\n\n const ns = options.ns || useNamespace('popup')\n\n const hiddenCls = computed(() => ns.bm('parent', 'hidden'))\n\n if (!isClient || hasClass(document.body, hiddenCls.value)) {\n return\n }\n\n let scrollBarWidth = 0\n let withoutHiddenClass = false\n let bodyWidth = '0'\n\n const cleanup = () => {\n setTimeout(() => {\n removeClass(document?.body, hiddenCls.value)\n if (withoutHiddenClass && document) {\n document.body.style.width = bodyWidth\n }\n }, 200)\n }\n watch(trigger, (val) => {\n if (!val) {\n cleanup()\n return\n }\n\n withoutHiddenClass = !hasClass(document.body, hiddenCls.value)\n if (withoutHiddenClass) {\n bodyWidth = document.body.style.width\n }\n scrollBarWidth = getScrollBarWidth(ns.namespace.value)\n const bodyHasOverflow =\n document.documentElement.clientHeight < document.body.scrollHeight\n const bodyOverflowY = getStyle(document.body, 'overflowY')\n if (\n scrollBarWidth > 0 &&\n (bodyHasOverflow || bodyOverflowY === 'scroll') &&\n withoutHiddenClass\n ) {\n document.body.style.width = `calc(100% - ${scrollBarWidth}px)`\n }\n addClass(document.body, hiddenCls.value)\n })\n onScopeDispose(() => cleanup())\n}\n"],"names":[],"mappings":";;;;;;;;;AAYY,MAAC,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,KAAK;AACxD,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AACvB,IAAI,UAAU,CAAC,iBAAiB,EAAE,+CAA+C,CAAC,CAAC;AACnF,GAAG;AACH,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACjD,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC9D,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;AAC7D,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,cAAc,GAAG,CAAC,CAAC;AACzB,EAAE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AACjC,EAAE,IAAI,SAAS,GAAG,GAAG,CAAC;AACtB,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,WAAW,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9E,MAAM,IAAI,kBAAkB,IAAI,QAAQ,EAAE;AAC1C,QAAQ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;AAC9C,OAAO;AACP,KAAK,EAAE,GAAG,CAAC,CAAC;AACZ,GAAG,CAAC;AACJ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AAC1B,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,kBAAkB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACnE,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5C,KAAK;AACL,IAAI,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3D,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/F,IAAI,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC/D,IAAI,IAAI,cAAc,GAAG,CAAC,KAAK,eAAe,IAAI,aAAa,KAAK,QAAQ,CAAC,IAAI,kBAAkB,EAAE;AACrG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;AACrE,KAAK;AACL,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7C,GAAG,CAAC,CAAC;AACL,EAAE,cAAc,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;AAClC;;;;"}
@@ -1,8 +1,9 @@
1
1
  import { getCurrentInstance, computed, watch, onMounted } from 'vue';
2
2
  import { isFunction } from '@vue/shared';
3
- import { isClient, isBoolean } from '@vueuse/core';
4
3
  import '../../utils/index.mjs';
5
4
  import { buildProp, definePropType } from '../../utils/vue/props/runtime.mjs';
5
+ import { isClient } from '@vueuse/core';
6
+ import { isBoolean } from '../../utils/types.mjs';
6
7
 
7
8
  const _prop = buildProp({
8
9
  type: definePropType(Boolean),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, onMounted, watch } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport { isClient } from '@vueuse/core'\nimport { buildProp, definePropType, isBoolean } from '@element-plus/utils'\nimport type { ExtractPropType } from '@element-plus/utils'\nimport type { RouteLocationNormalizedLoaded } from 'vue-router'\n\nimport type { ComponentPublicInstance, ExtractPropTypes, Ref } from 'vue'\n\nconst _prop = buildProp({\n type: definePropType<boolean | null>(Boolean),\n default: null,\n} as const)\nconst _event = buildProp({\n type: definePropType<(val: boolean) => void>(Function),\n} as const)\n\nexport type UseModelTogglePropsRaw<T extends string> = {\n [K in T]: typeof _prop\n} & {\n [K in `onUpdate:${T}`]: typeof _event\n}\n\nexport type UseModelTogglePropsGeneric<T extends string> = {\n [K in T]: ExtractPropType<typeof _prop>\n} & {\n [K in `onUpdate:${T}`]: ExtractPropType<typeof _event>\n}\n\nexport const createModelToggleComposable = <T extends string>(name: T) => {\n const updateEventKey = `update:${name}` as const\n const updateEventKeyRaw = `onUpdate:${name}` as const\n const useModelToggleEmits = [updateEventKey]\n\n const useModelToggleProps = {\n [name]: _prop,\n [updateEventKeyRaw]: _event,\n } as UseModelTogglePropsRaw<T>\n\n const useModelToggle = ({\n indicator,\n toggleReason,\n shouldHideWhenRouteChanges,\n shouldProceed,\n onShow,\n onHide,\n }: ModelToggleParams) => {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const props = instance.props as UseModelTogglePropsGeneric<T> & {\n disabled: boolean\n }\n const hasUpdateHandler = computed(() =>\n isFunction(props[updateEventKeyRaw])\n )\n // when it matches the default value we say this is absent\n // though this could be mistakenly passed from the user but we need to rule out that\n // condition\n const isModelBindingAbsent = computed(() => props[name] === null)\n\n const doShow = (event?: Event) => {\n if (indicator.value === true) {\n return\n }\n\n indicator.value = true\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onShow)) {\n onShow(event)\n }\n }\n\n const doHide = (event?: Event) => {\n if (indicator.value === false) {\n return\n }\n\n indicator.value = false\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onHide)) {\n onHide(event)\n }\n }\n\n const show = (event?: Event) => {\n if (\n props.disabled === true ||\n (isFunction(shouldProceed) && !shouldProceed())\n )\n return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, true)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doShow(event)\n }\n }\n\n const hide = (event?: Event) => {\n if (props.disabled === true || !isClient) return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, false)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doHide(event)\n }\n }\n\n const onChange = (val: boolean) => {\n if (!isBoolean(val)) return\n if (props.disabled && val) {\n if (hasUpdateHandler.value) {\n emit(updateEventKey, false)\n }\n } else if (indicator.value !== val) {\n if (val) {\n doShow()\n } else {\n doHide()\n }\n }\n }\n\n const toggle = () => {\n if (indicator.value) {\n hide()\n } else {\n show()\n }\n }\n\n watch(() => props[name], onChange)\n\n if (\n shouldHideWhenRouteChanges &&\n instance.appContext.config.globalProperties.$route !== undefined\n ) {\n watch(\n () => ({\n ...(\n instance.proxy as ComponentPublicInstance<{\n $route: RouteLocationNormalizedLoaded\n }>\n ).$route,\n }),\n () => {\n if (shouldHideWhenRouteChanges.value && indicator.value) {\n hide()\n }\n }\n )\n }\n\n onMounted(() => {\n onChange(props[name])\n })\n\n return {\n hide,\n show,\n toggle,\n hasUpdateHandler,\n }\n }\n\n return {\n useModelToggle,\n useModelToggleProps,\n useModelToggleEmits,\n }\n}\n\nconst { useModelToggle, useModelToggleProps, useModelToggleEmits } =\n createModelToggleComposable('modelValue')\n\nexport { useModelToggle, useModelToggleEmits, useModelToggleProps }\n\nexport type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>\n\nexport type ModelToggleParams = {\n indicator: Ref<boolean>\n toggleReason?: Ref<Event | undefined>\n shouldHideWhenRouteChanges?: Ref<boolean>\n shouldProceed?: () => boolean\n onShow?: (event?: Event) => void\n onHide?: (event?: Event) => void\n}\n"],"names":[],"mappings":";;;;;;AAIA,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO,EAAE,IAAI;AACf,CAAC,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAChC,CAAC,CAAC,CAAC;AACS,MAAC,2BAA2B,GAAG,CAAC,IAAI,KAAK;AACrD,EAAE,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1C,EAAE,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/C,EAAE,MAAM,oBAAoB,GAAG,CAAC,cAAc,CAAC,CAAC;AAChD,EAAE,MAAM,oBAAoB,GAAG;AAC/B,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,IAAI,CAAC,iBAAiB,GAAG,MAAM;AAC/B,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAG,CAAC;AAC3B,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,0BAA0B;AAC9B,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,GAAG,KAAK;AACR,IAAI,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AAC1C,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AAC9B,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACjC,IAAI,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACtE,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK;AAC9B,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,EAAE;AACpC,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7B,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;AACnC,OAAO;AACP,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK;AAC9B,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,EAAE;AACrC,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9B,MAAM,IAAI,YAAY,EAAE;AACxB,QAAQ,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;AACnC,OAAO;AACP,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;AAC9B,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE;AAClF,QAAQ,OAAO;AACf,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,IAAI,QAAQ,CAAC;AAC5D,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACnC,OAAO;AACP,MAAM,IAAI,oBAAoB,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACrD,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ;AAC9C,QAAQ,OAAO;AACf,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,IAAI,QAAQ,CAAC;AAC5D,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACpC,OAAO;AACP,MAAM,IAAI,oBAAoB,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACrD,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK;AAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;AACzB,QAAQ,OAAO;AACf,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE;AACjC,QAAQ,IAAI,gBAAgB,CAAC,KAAK,EAAE;AACpC,UAAU,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AACtC,SAAS;AACT,OAAO,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,GAAG,EAAE;AAC1C,QAAQ,IAAI,GAAG,EAAE;AACjB,UAAU,MAAM,EAAE,CAAC;AACnB,SAAS,MAAM;AACf,UAAU,MAAM,EAAE,CAAC;AACnB,SAAS;AACT,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,MAAM,GAAG,MAAM;AACzB,MAAM,IAAI,SAAS,CAAC,KAAK,EAAE;AAC3B,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO,MAAM;AACb,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO;AACP,KAAK,CAAC;AACN,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvC,IAAI,IAAI,0BAA0B,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;AACrG,MAAM,KAAK,CAAC,OAAO;AACnB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;AAChC,OAAO,CAAC,EAAE,MAAM;AAChB,QAAQ,IAAI,0BAA0B,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE;AACjE,UAAU,IAAI,EAAE,CAAC;AACjB,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,IAAI;AACV,MAAM,IAAI;AACV,MAAM,MAAM;AACZ,MAAM,gBAAgB;AACtB,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,mBAAmB,EAAE,oBAAoB;AAC7C,IAAI,mBAAmB,EAAE,oBAAoB;AAC7C,GAAG,CAAC;AACJ,EAAE;AACG,MAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,2BAA2B,CAAC,YAAY;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-model-toggle/index.ts"],"sourcesContent":["import { computed, getCurrentInstance, onMounted, watch } from 'vue'\nimport { isFunction } from '@vue/shared'\nimport {\n buildProp,\n definePropType,\n isBoolean,\n isClient,\n} from '@element-plus/utils'\nimport type { ExtractPropType } from '@element-plus/utils'\nimport type { RouteLocationNormalizedLoaded } from 'vue-router'\n\nimport type { ComponentPublicInstance, ExtractPropTypes, Ref } from 'vue'\n\nconst _prop = buildProp({\n type: definePropType<boolean | null>(Boolean),\n default: null,\n} as const)\nconst _event = buildProp({\n type: definePropType<(val: boolean) => void>(Function),\n} as const)\n\nexport type UseModelTogglePropsRaw<T extends string> = {\n [K in T]: typeof _prop\n} & {\n [K in `onUpdate:${T}`]: typeof _event\n}\n\nexport type UseModelTogglePropsGeneric<T extends string> = {\n [K in T]: ExtractPropType<typeof _prop>\n} & {\n [K in `onUpdate:${T}`]: ExtractPropType<typeof _event>\n}\n\nexport const createModelToggleComposable = <T extends string>(name: T) => {\n const updateEventKey = `update:${name}` as const\n const updateEventKeyRaw = `onUpdate:${name}` as const\n const useModelToggleEmits = [updateEventKey]\n\n const useModelToggleProps = {\n [name]: _prop,\n [updateEventKeyRaw]: _event,\n } as UseModelTogglePropsRaw<T>\n\n const useModelToggle = ({\n indicator,\n toggleReason,\n shouldHideWhenRouteChanges,\n shouldProceed,\n onShow,\n onHide,\n }: ModelToggleParams) => {\n const instance = getCurrentInstance()!\n const { emit } = instance\n const props = instance.props as UseModelTogglePropsGeneric<T> & {\n disabled: boolean\n }\n const hasUpdateHandler = computed(() =>\n isFunction(props[updateEventKeyRaw])\n )\n // when it matches the default value we say this is absent\n // though this could be mistakenly passed from the user but we need to rule out that\n // condition\n const isModelBindingAbsent = computed(() => props[name] === null)\n\n const doShow = (event?: Event) => {\n if (indicator.value === true) {\n return\n }\n\n indicator.value = true\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onShow)) {\n onShow(event)\n }\n }\n\n const doHide = (event?: Event) => {\n if (indicator.value === false) {\n return\n }\n\n indicator.value = false\n if (toggleReason) {\n toggleReason.value = event\n }\n if (isFunction(onHide)) {\n onHide(event)\n }\n }\n\n const show = (event?: Event) => {\n if (\n props.disabled === true ||\n (isFunction(shouldProceed) && !shouldProceed())\n )\n return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, true)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doShow(event)\n }\n }\n\n const hide = (event?: Event) => {\n if (props.disabled === true || !isClient) return\n\n const shouldEmit = hasUpdateHandler.value && isClient\n\n if (shouldEmit) {\n emit(updateEventKey, false)\n }\n\n if (isModelBindingAbsent.value || !shouldEmit) {\n doHide(event)\n }\n }\n\n const onChange = (val: boolean) => {\n if (!isBoolean(val)) return\n if (props.disabled && val) {\n if (hasUpdateHandler.value) {\n emit(updateEventKey, false)\n }\n } else if (indicator.value !== val) {\n if (val) {\n doShow()\n } else {\n doHide()\n }\n }\n }\n\n const toggle = () => {\n if (indicator.value) {\n hide()\n } else {\n show()\n }\n }\n\n watch(() => props[name], onChange)\n\n if (\n shouldHideWhenRouteChanges &&\n instance.appContext.config.globalProperties.$route !== undefined\n ) {\n watch(\n () => ({\n ...(\n instance.proxy as ComponentPublicInstance<{\n $route: RouteLocationNormalizedLoaded\n }>\n ).$route,\n }),\n () => {\n if (shouldHideWhenRouteChanges.value && indicator.value) {\n hide()\n }\n }\n )\n }\n\n onMounted(() => {\n onChange(props[name])\n })\n\n return {\n hide,\n show,\n toggle,\n hasUpdateHandler,\n }\n }\n\n return {\n useModelToggle,\n useModelToggleProps,\n useModelToggleEmits,\n }\n}\n\nconst { useModelToggle, useModelToggleProps, useModelToggleEmits } =\n createModelToggleComposable('modelValue')\n\nexport { useModelToggle, useModelToggleEmits, useModelToggleProps }\n\nexport type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>\n\nexport type ModelToggleParams = {\n indicator: Ref<boolean>\n toggleReason?: Ref<Event | undefined>\n shouldHideWhenRouteChanges?: Ref<boolean>\n shouldProceed?: () => boolean\n onShow?: (event?: Event) => void\n onHide?: (event?: Event) => void\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { computed, onBeforeMount } from 'vue';
2
- import { isClient } from '@vueuse/core';
2
+ import '../../utils/index.mjs';
3
3
  import { useGetDerivedNamespace } from '../use-namespace/index.mjs';
4
4
  import { useIdInjection } from '../use-id/index.mjs';
5
+ import { isClient } from '@vueuse/core';
5
6
 
6
7
  let cachedContainer;
7
8
  const usePopperContainerId = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { useGetDerivedNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nlet cachedContainer: HTMLElement\n\nexport const usePopperContainerId = () => {\n const namespace = useGetDerivedNamespace()\n const idInjection = useIdInjection()\n\n const id = computed(() => {\n return `${namespace.value}-popper-container-${idInjection.prefix}`\n })\n const selector = computed(() => `#${id.value}`)\n\n return {\n id,\n selector,\n }\n}\n\nconst createContainer = (id: string) => {\n const container = document.createElement('div')\n container.id = id\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\n const { id, selector } = usePopperContainerId()\n onBeforeMount(() => {\n if (!isClient) return\n\n // This is for bypassing the error that when under testing env, we often encounter\n // document.body.innerHTML = '' situation\n // for this we need to disable the caching since it's not really needed\n if (\n process.env.NODE_ENV === 'test' ||\n (!cachedContainer && !document.body.querySelector(selector.value))\n ) {\n cachedContainer = createContainer(id.value)\n }\n })\n\n return {\n id,\n selector,\n }\n}\n"],"names":[],"mappings":";;;;;AAIA,IAAI,eAAe,CAAC;AACR,MAAC,oBAAoB,GAAG,MAAM;AAC1C,EAAE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;AAC7C,EAAE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACvC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM;AAC5B,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE;AACF,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK;AAChC,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;AACpB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvC,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACU,MAAC,kBAAkB,GAAG,MAAM;AACxC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAClD,EAAE,aAAa,CAAC,MAAM;AACtB,IAAI,IAAI,CAAC,QAAQ;AACjB,MAAM,OAAO;AACb,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7G,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAClD,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-popper-container/index.ts"],"sourcesContent":["import { computed, onBeforeMount } from 'vue'\nimport { isClient } from '@element-plus/utils'\nimport { useGetDerivedNamespace } from '../use-namespace'\nimport { useIdInjection } from '../use-id'\n\nlet cachedContainer: HTMLElement\n\nexport const usePopperContainerId = () => {\n const namespace = useGetDerivedNamespace()\n const idInjection = useIdInjection()\n\n const id = computed(() => {\n return `${namespace.value}-popper-container-${idInjection.prefix}`\n })\n const selector = computed(() => `#${id.value}`)\n\n return {\n id,\n selector,\n }\n}\n\nconst createContainer = (id: string) => {\n const container = document.createElement('div')\n container.id = id\n document.body.appendChild(container)\n return container\n}\n\nexport const usePopperContainer = () => {\n const { id, selector } = usePopperContainerId()\n onBeforeMount(() => {\n if (!isClient) return\n\n // This is for bypassing the error that when under testing env, we often encounter\n // document.body.innerHTML = '' situation\n // for this we need to disable the caching since it's not really needed\n if (\n process.env.NODE_ENV === 'test' ||\n (!cachedContainer && !document.body.querySelector(selector.value))\n ) {\n cachedContainer = createContainer(id.value)\n }\n })\n\n return {\n id,\n selector,\n }\n}\n"],"names":[],"mappings":";;;;;;AAIA,IAAI,eAAe,CAAC;AACR,MAAC,oBAAoB,GAAG,MAAM;AAC1C,EAAE,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;AAC7C,EAAE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AACvC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM;AAC5B,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ,EAAE;AACF,MAAM,eAAe,GAAG,CAAC,EAAE,KAAK;AAChC,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;AACpB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvC,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AACU,MAAC,kBAAkB,GAAG,MAAM;AACxC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAClD,EAAE,aAAa,CAAC,MAAM;AACtB,IAAI,IAAI,CAAC,QAAQ;AACjB,MAAM,OAAO;AACb,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7G,MAAM,eAAe,GAAG,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAClD,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { ref, h, Teleport, onUnmounted } from 'vue';
2
2
  import { NOOP } from '@vue/shared';
3
- import { isClient } from '@vueuse/core';
4
3
  import '../../utils/index.mjs';
4
+ import { isClient } from '@vueuse/core';
5
5
  import { createGlobalNode, removeGlobalNode } from '../../utils/vue/global-node.mjs';
6
6
 
7
7
  const useTeleport = (contentRenderer, appendToBody) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-teleport/index.ts"],"sourcesContent":["import { Teleport, h, onUnmounted, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { isClient } from '@vueuse/core'\nimport { createGlobalNode, removeGlobalNode } from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nexport const useTeleport = (\n contentRenderer: () => VNode,\n appendToBody: Ref<boolean>\n) => {\n const isTeleportVisible = ref(false)\n\n if (!isClient) {\n return {\n isTeleportVisible,\n showTeleport: NOOP,\n hideTeleport: NOOP,\n renderTeleport: NOOP,\n }\n }\n\n let $el: HTMLElement | null = null\n\n const showTeleport = () => {\n isTeleportVisible.value = true\n // this allows the delayed showing strategy since the the content itself could be enterable\n // e.g. el-popper\n if ($el !== null) return\n\n $el = createGlobalNode()\n }\n\n const hideTeleport = () => {\n isTeleportVisible.value = false\n if ($el !== null) {\n removeGlobalNode($el)\n $el = null\n }\n }\n\n const renderTeleport = () => {\n return appendToBody.value !== true\n ? contentRenderer()\n : isTeleportVisible.value\n ? [h(Teleport, { to: $el }, contentRenderer())]\n : undefined\n }\n\n onUnmounted(hideTeleport)\n\n return {\n isTeleportVisible,\n showTeleport,\n hideTeleport,\n renderTeleport,\n }\n}\n"],"names":[],"mappings":";;;;;;AAIY,MAAC,WAAW,GAAG,CAAC,eAAe,EAAE,YAAY,KAAK;AAC9D,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,iBAAiB;AACvB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC;AACjB,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;AACnC,IAAI,IAAI,GAAG,KAAK,IAAI;AACpB,MAAM,OAAO;AACb,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;AACpC,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC5B,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9I,GAAG,CAAC;AACJ,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5B,EAAE,OAAO;AACT,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-teleport/index.ts"],"sourcesContent":["import { Teleport, h, onUnmounted, ref } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport {\n createGlobalNode,\n isClient,\n removeGlobalNode,\n} from '@element-plus/utils'\n\nimport type { Ref, VNode } from 'vue'\n\nexport const useTeleport = (\n contentRenderer: () => VNode,\n appendToBody: Ref<boolean>\n) => {\n const isTeleportVisible = ref(false)\n\n if (!isClient) {\n return {\n isTeleportVisible,\n showTeleport: NOOP,\n hideTeleport: NOOP,\n renderTeleport: NOOP,\n }\n }\n\n let $el: HTMLElement | null = null\n\n const showTeleport = () => {\n isTeleportVisible.value = true\n // this allows the delayed showing strategy since the the content itself could be enterable\n // e.g. el-popper\n if ($el !== null) return\n\n $el = createGlobalNode()\n }\n\n const hideTeleport = () => {\n isTeleportVisible.value = false\n if ($el !== null) {\n removeGlobalNode($el)\n $el = null\n }\n }\n\n const renderTeleport = () => {\n return appendToBody.value !== true\n ? contentRenderer()\n : isTeleportVisible.value\n ? [h(Teleport, { to: $el }, contentRenderer())]\n : undefined\n }\n\n onUnmounted(hideTeleport)\n\n return {\n isTeleportVisible,\n showTeleport,\n hideTeleport,\n renderTeleport,\n }\n}\n"],"names":[],"mappings":";;;;;;AAOY,MAAC,WAAW,GAAG,CAAC,eAAe,EAAE,YAAY,KAAK;AAC9D,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO;AACX,MAAM,iBAAiB;AACvB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,YAAY,EAAE,IAAI;AACxB,MAAM,cAAc,EAAE,IAAI;AAC1B,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC;AACjB,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;AACnC,IAAI,IAAI,GAAG,KAAK,IAAI;AACpB,MAAM,OAAO;AACb,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;AACpC,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC5B,MAAM,GAAG,GAAG,IAAI,CAAC;AACjB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9I,GAAG,CAAC;AACJ,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5B,EAAE,OAAO;AACT,IAAI,iBAAiB;AACrB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,GAAG,CAAC;AACJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { ref, inject, computed, unref } from 'vue';
2
2
  import '../../utils/index.mjs';
3
- import { isNumber } from '@vueuse/core';
3
+ import { isNumber } from '../../utils/types.mjs';
4
4
 
5
5
  const zIndex = ref(0);
6
6
  const defaultInitialZIndex = 2e3;
package/es/index.mjs CHANGED
@@ -62,6 +62,7 @@ export { ElAside, ElContainer, ElFooter, ElHeader, ElMain } from './components/c
62
62
  export { countdownEmits, countdownProps } from './components/countdown/src/countdown.mjs';
63
63
  export { ElCountdown } from './components/countdown/index.mjs';
64
64
  export { ROOT_PICKER_INJECTION_KEY } from './components/date-picker/src/constants.mjs';
65
+ export { datePickerProps } from './components/date-picker/src/props/date-picker.mjs';
65
66
  export { ElDatePicker } from './components/date-picker/index.mjs';
66
67
  export { descriptionProps } from './components/descriptions/src/description.mjs';
67
68
  export { ElDescriptions, ElDescriptionsItem } from './components/descriptions/index.mjs';
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../packages/element-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@element-plus/components'\nexport * from '@element-plus/constants'\nexport * from '@element-plus/directives'\nexport * from '@element-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../packages/element-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@element-plus/components'\nexport * from '@element-plus/constants'\nexport * from '@element-plus/directives'\nexport * from '@element-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer\n\nexport { default as dayjs } from 'dayjs'\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
@@ -1 +1,3 @@
1
+ import { isClient, isIOS } from '@vueuse/core';
1
2
  export declare const isFirefox: () => boolean;
3
+ export { isClient, isIOS };
@@ -1,4 +1,5 @@
1
1
  import { isClient } from '@vueuse/core';
2
+ export { isClient, isIOS } from '@vueuse/core';
2
3
 
3
4
  const isFirefox = () => isClient && /firefox/i.test(window.navigator.userAgent);
4
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"browser.mjs","sources":["../../../../packages/utils/browser.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\n\nexport const isFirefox = (): boolean =>\n isClient && /firefox/i.test(window.navigator.userAgent)\n"],"names":[],"mappings":";;AACY,MAAC,SAAS,GAAG,MAAM,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS;;;;"}
1
+ {"version":3,"file":"browser.mjs","sources":["../../../../packages/utils/browser.ts"],"sourcesContent":["import { isClient, isIOS } from '@vueuse/core'\n\nexport const isFirefox = (): boolean =>\n isClient && /firefox/i.test(window.navigator.userAgent)\n\nexport { isClient, isIOS }\n"],"names":[],"mappings":";;;AACY,MAAC,SAAS,GAAG,MAAM,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS;;;;"}