element-pe 2.2.65 → 2.2.66

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 (444) hide show
  1. package/dist/index.full.js +28 -7
  2. package/dist/index.full.min.js +22 -22
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +22 -22
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +28 -7
  7. package/es/components/alert/index.mjs +2 -2
  8. package/es/components/alert/src/alert.mjs +103 -38
  9. package/es/components/alert/src/alert.mjs.map +1 -1
  10. package/es/components/alert/src/alert2.mjs +38 -103
  11. package/es/components/alert/src/alert2.mjs.map +1 -1
  12. package/es/components/breadcrumb/index.mjs +4 -4
  13. package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -11
  14. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  15. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -56
  16. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  17. package/es/components/breadcrumb/src/breadcrumb.mjs +11 -36
  18. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  19. package/es/components/breadcrumb/src/breadcrumb2.mjs +36 -11
  20. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  21. package/es/components/card/index.mjs +2 -2
  22. package/es/components/card/src/card.mjs +16 -35
  23. package/es/components/card/src/card.mjs.map +1 -1
  24. package/es/components/card/src/card2.mjs +35 -16
  25. package/es/components/card/src/card2.mjs.map +1 -1
  26. package/es/components/carousel/index.mjs +2 -2
  27. package/es/components/carousel/src/carousel.mjs +169 -56
  28. package/es/components/carousel/src/carousel.mjs.map +1 -1
  29. package/es/components/carousel/src/carousel2.mjs +56 -169
  30. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  31. package/es/components/cascader/src/cascader.mjs +1 -1
  32. package/es/components/check-tag/index.mjs +2 -2
  33. package/es/components/check-tag/src/check-tag.mjs +12 -31
  34. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  35. package/es/components/check-tag/src/check-tag2.mjs +31 -12
  36. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  37. package/es/components/col/index.mjs +2 -2
  38. package/es/components/col/src/col.mjs +66 -43
  39. package/es/components/col/src/col.mjs.map +1 -1
  40. package/es/components/col/src/col2.mjs +43 -66
  41. package/es/components/col/src/col2.mjs.map +1 -1
  42. package/es/components/collection/index.mjs +1 -1
  43. package/es/components/collection/src/collection.mjs +66 -10
  44. package/es/components/collection/src/collection.mjs.map +1 -1
  45. package/es/components/collection/src/collection2.mjs +10 -66
  46. package/es/components/collection/src/collection2.mjs.map +1 -1
  47. package/es/components/descriptions/src/description2.mjs +1 -1
  48. package/es/components/descriptions/src/descriptions-row.mjs +7 -64
  49. package/es/components/descriptions/src/descriptions-row.mjs.map +1 -1
  50. package/es/components/descriptions/src/descriptions-row2.mjs +64 -7
  51. package/es/components/descriptions/src/descriptions-row2.mjs.map +1 -1
  52. package/es/components/dialog/index.mjs +2 -2
  53. package/es/components/dialog/src/dialog.mjs +174 -73
  54. package/es/components/dialog/src/dialog.mjs.map +1 -1
  55. package/es/components/dialog/src/dialog2.mjs +73 -174
  56. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  57. package/es/components/divider/index.mjs +2 -2
  58. package/es/components/divider/src/divider.mjs +17 -35
  59. package/es/components/divider/src/divider.mjs.map +1 -1
  60. package/es/components/divider/src/divider2.mjs +35 -17
  61. package/es/components/divider/src/divider2.mjs.map +1 -1
  62. package/es/components/drawer/index.mjs +2 -2
  63. package/es/components/drawer/src/drawer.mjs +186 -25
  64. package/es/components/drawer/src/drawer.mjs.map +1 -1
  65. package/es/components/drawer/src/drawer2.mjs +25 -186
  66. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  67. package/es/components/dropdown/index.mjs +2 -2
  68. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  69. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  70. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  71. package/es/components/dropdown/src/dropdown.mjs +310 -105
  72. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  73. package/es/components/dropdown/src/dropdown2.mjs +105 -310
  74. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  75. package/es/components/empty/index.mjs +2 -2
  76. package/es/components/empty/src/empty.mjs +11 -55
  77. package/es/components/empty/src/empty.mjs.map +1 -1
  78. package/es/components/empty/src/empty2.mjs +55 -11
  79. package/es/components/empty/src/empty2.mjs.map +1 -1
  80. package/es/components/form/index.mjs +2 -2
  81. package/es/components/form/src/form.mjs +150 -61
  82. package/es/components/form/src/form.mjs.map +1 -1
  83. package/es/components/form/src/form2.mjs +61 -150
  84. package/es/components/form/src/form2.mjs.map +1 -1
  85. package/es/components/image/index.mjs +2 -2
  86. package/es/components/image/src/image.mjs +65 -226
  87. package/es/components/image/src/image.mjs.map +1 -1
  88. package/es/components/image/src/image2.mjs +226 -65
  89. package/es/components/image/src/image2.mjs.map +1 -1
  90. package/es/components/index.mjs +35 -35
  91. package/es/components/input/index.mjs +2 -2
  92. package/es/components/input/src/input.mjs +114 -472
  93. package/es/components/input/src/input.mjs.map +1 -1
  94. package/es/components/input/src/input2.mjs +472 -114
  95. package/es/components/input/src/input2.mjs.map +1 -1
  96. package/es/components/link/index.mjs +2 -2
  97. package/es/components/link/src/link.mjs +21 -50
  98. package/es/components/link/src/link.mjs.map +1 -1
  99. package/es/components/link/src/link2.mjs +50 -21
  100. package/es/components/link/src/link2.mjs.map +1 -1
  101. package/es/components/menu/index.mjs +2 -2
  102. package/es/components/menu/src/menu-item.mjs +97 -14
  103. package/es/components/menu/src/menu-item.mjs.map +1 -1
  104. package/es/components/menu/src/menu-item2.mjs +14 -97
  105. package/es/components/menu/src/menu-item2.mjs.map +1 -1
  106. package/es/components/page-header/index.mjs +2 -2
  107. package/es/components/page-header/src/page-header.mjs +17 -103
  108. package/es/components/page-header/src/page-header.mjs.map +1 -1
  109. package/es/components/page-header/src/page-header2.mjs +103 -17
  110. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  111. package/es/components/pagination/src/components/pager.mjs +17 -218
  112. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  113. package/es/components/pagination/src/components/pager2.mjs +218 -17
  114. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  115. package/es/components/pagination/src/components/sizes.mjs +22 -70
  116. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  117. package/es/components/pagination/src/components/sizes2.mjs +70 -22
  118. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  119. package/es/components/pagination/src/components/total.mjs +28 -7
  120. package/es/components/pagination/src/components/total.mjs.map +1 -1
  121. package/es/components/pagination/src/components/total2.mjs +7 -28
  122. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  123. package/es/components/pagination/src/pagination.mjs +3 -3
  124. package/es/components/popconfirm/index.mjs +2 -2
  125. package/es/components/popconfirm/src/popconfirm.mjs +47 -110
  126. package/es/components/popconfirm/src/popconfirm.mjs.map +1 -1
  127. package/es/components/popconfirm/src/popconfirm2.mjs +110 -47
  128. package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
  129. package/es/components/popover/src/popover2.mjs +2 -2
  130. package/es/components/popper/index.mjs +4 -4
  131. package/es/components/popper/src/popper.mjs +32 -25
  132. package/es/components/popper/src/popper.mjs.map +1 -1
  133. package/es/components/popper/src/popper2.mjs +25 -32
  134. package/es/components/popper/src/popper2.mjs.map +1 -1
  135. package/es/components/popper/src/trigger.mjs +31 -121
  136. package/es/components/popper/src/trigger.mjs.map +1 -1
  137. package/es/components/popper/src/trigger2.mjs +121 -31
  138. package/es/components/popper/src/trigger2.mjs.map +1 -1
  139. package/es/components/progress/index.mjs +2 -2
  140. package/es/components/progress/src/progress.mjs +59 -204
  141. package/es/components/progress/src/progress.mjs.map +1 -1
  142. package/es/components/progress/src/progress2.mjs +204 -59
  143. package/es/components/progress/src/progress2.mjs.map +1 -1
  144. package/es/components/radio/index.mjs +2 -2
  145. package/es/components/radio/src/radio-group.mjs +42 -70
  146. package/es/components/radio/src/radio-group.mjs.map +1 -1
  147. package/es/components/radio/src/radio-group2.mjs +70 -42
  148. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  149. package/es/components/resizable-columns/index.d.ts +1 -0
  150. package/es/components/resizable-columns/index.mjs +2 -2
  151. package/es/components/resizable-columns/src/resizable-column.mjs +7 -138
  152. package/es/components/resizable-columns/src/resizable-column.mjs.map +1 -1
  153. package/es/components/resizable-columns/src/resizable-column2.mjs +138 -7
  154. package/es/components/resizable-columns/src/resizable-column2.mjs.map +1 -1
  155. package/es/components/resizable-columns/src/resizable-columns.vue.d.ts +1 -0
  156. package/es/components/resizable-columns/src/resizable-columns2.mjs +28 -7
  157. package/es/components/resizable-columns/src/resizable-columns2.mjs.map +1 -1
  158. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +1 -1
  159. package/es/components/scrollbar/index.mjs +3 -3
  160. package/es/components/scrollbar/src/bar2.mjs +1 -1
  161. package/es/components/scrollbar/src/scrollbar.mjs +176 -46
  162. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  163. package/es/components/scrollbar/src/scrollbar2.mjs +46 -176
  164. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  165. package/es/components/scrollbar/src/thumb.mjs +11 -134
  166. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  167. package/es/components/scrollbar/src/thumb2.mjs +134 -11
  168. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  169. package/es/components/select/src/select.mjs +1 -1
  170. package/es/components/skeleton/index.mjs +4 -4
  171. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  172. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  173. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  174. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  175. package/es/components/skeleton/src/skeleton.mjs +22 -49
  176. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  177. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  178. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  179. package/es/components/steps/index.mjs +2 -2
  180. package/es/components/steps/src/steps.mjs +36 -39
  181. package/es/components/steps/src/steps.mjs.map +1 -1
  182. package/es/components/steps/src/steps2.mjs +39 -36
  183. package/es/components/steps/src/steps2.mjs.map +1 -1
  184. package/es/components/tag/index.mjs +2 -2
  185. package/es/components/tag/src/tag.mjs +98 -33
  186. package/es/components/tag/src/tag.mjs.map +1 -1
  187. package/es/components/tag/src/tag2.mjs +33 -98
  188. package/es/components/tag/src/tag2.mjs.map +1 -1
  189. package/es/components/time-select/index.mjs +1 -1
  190. package/es/components/time-select/src/time-select.mjs +55 -132
  191. package/es/components/time-select/src/time-select.mjs.map +1 -1
  192. package/es/components/time-select/src/time-select2.mjs +132 -55
  193. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  194. package/es/components/timeline/index.mjs +2 -2
  195. package/es/components/timeline/src/timeline-item.mjs +42 -72
  196. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  197. package/es/components/timeline/src/timeline-item2.mjs +72 -42
  198. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  199. package/es/components/tooltip/index.mjs +1 -1
  200. package/es/components/tooltip/src/tooltip.mjs +1 -1
  201. package/es/components/tooltip/src/tooltip2.mjs +2 -2
  202. package/es/components/tooltip/src/trigger.mjs +16 -73
  203. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  204. package/es/components/tooltip/src/trigger2.mjs +73 -16
  205. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  206. package/es/components/tooltip-v2/src/content2.mjs +1 -1
  207. package/es/components/upload/index.mjs +3 -3
  208. package/es/components/upload/src/upload-content.mjs +1 -1
  209. package/es/components/upload/src/upload-content2.mjs +1 -1
  210. package/es/components/upload/src/upload-list.mjs +177 -26
  211. package/es/components/upload/src/upload-list.mjs.map +1 -1
  212. package/es/components/upload/src/upload-list2.mjs +26 -177
  213. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  214. package/es/components/upload/src/upload.mjs +105 -119
  215. package/es/components/upload/src/upload.mjs.map +1 -1
  216. package/es/components/upload/src/upload2.mjs +119 -105
  217. package/es/components/upload/src/upload2.mjs.map +1 -1
  218. package/es/components/upload/src/use-handlers.mjs +1 -1
  219. package/es/components/visual-hidden/index.mjs +3 -3
  220. package/es/components/visual-hidden/src/visual-hidden.mjs +7 -35
  221. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  222. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -7
  223. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  224. package/es/index.mjs +35 -35
  225. package/lib/components/alert/index.js +2 -2
  226. package/lib/components/alert/src/alert.js +102 -39
  227. package/lib/components/alert/src/alert.js.map +1 -1
  228. package/lib/components/alert/src/alert2.js +39 -102
  229. package/lib/components/alert/src/alert2.js.map +1 -1
  230. package/lib/components/breadcrumb/index.js +4 -4
  231. package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -11
  232. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  233. package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -56
  234. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  235. package/lib/components/breadcrumb/src/breadcrumb.js +11 -36
  236. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  237. package/lib/components/breadcrumb/src/breadcrumb2.js +36 -11
  238. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  239. package/lib/components/card/index.js +2 -2
  240. package/lib/components/card/src/card.js +16 -35
  241. package/lib/components/card/src/card.js.map +1 -1
  242. package/lib/components/card/src/card2.js +35 -16
  243. package/lib/components/card/src/card2.js.map +1 -1
  244. package/lib/components/carousel/index.js +2 -2
  245. package/lib/components/carousel/src/carousel.js +169 -57
  246. package/lib/components/carousel/src/carousel.js.map +1 -1
  247. package/lib/components/carousel/src/carousel2.js +57 -169
  248. package/lib/components/carousel/src/carousel2.js.map +1 -1
  249. package/lib/components/cascader/src/cascader.js +1 -1
  250. package/lib/components/check-tag/index.js +2 -2
  251. package/lib/components/check-tag/src/check-tag.js +13 -31
  252. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  253. package/lib/components/check-tag/src/check-tag2.js +31 -13
  254. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  255. package/lib/components/col/index.js +2 -2
  256. package/lib/components/col/src/col.js +66 -43
  257. package/lib/components/col/src/col.js.map +1 -1
  258. package/lib/components/col/src/col2.js +43 -66
  259. package/lib/components/col/src/col2.js.map +1 -1
  260. package/lib/components/collection/index.js +1 -1
  261. package/lib/components/collection/src/collection.js +66 -9
  262. package/lib/components/collection/src/collection.js.map +1 -1
  263. package/lib/components/collection/src/collection2.js +9 -66
  264. package/lib/components/collection/src/collection2.js.map +1 -1
  265. package/lib/components/descriptions/src/description2.js +1 -1
  266. package/lib/components/descriptions/src/descriptions-row.js +7 -64
  267. package/lib/components/descriptions/src/descriptions-row.js.map +1 -1
  268. package/lib/components/descriptions/src/descriptions-row2.js +64 -7
  269. package/lib/components/descriptions/src/descriptions-row2.js.map +1 -1
  270. package/lib/components/dialog/index.js +2 -2
  271. package/lib/components/dialog/src/dialog.js +174 -74
  272. package/lib/components/dialog/src/dialog.js.map +1 -1
  273. package/lib/components/dialog/src/dialog2.js +74 -174
  274. package/lib/components/dialog/src/dialog2.js.map +1 -1
  275. package/lib/components/divider/index.js +2 -2
  276. package/lib/components/divider/src/divider.js +17 -35
  277. package/lib/components/divider/src/divider.js.map +1 -1
  278. package/lib/components/divider/src/divider2.js +35 -17
  279. package/lib/components/divider/src/divider2.js.map +1 -1
  280. package/lib/components/drawer/index.js +2 -2
  281. package/lib/components/drawer/src/drawer.js +186 -26
  282. package/lib/components/drawer/src/drawer.js.map +1 -1
  283. package/lib/components/drawer/src/drawer2.js +26 -186
  284. package/lib/components/drawer/src/drawer2.js.map +1 -1
  285. package/lib/components/dropdown/index.js +2 -2
  286. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  287. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  288. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  289. package/lib/components/dropdown/src/dropdown.js +310 -114
  290. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  291. package/lib/components/dropdown/src/dropdown2.js +114 -310
  292. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  293. package/lib/components/empty/index.js +2 -2
  294. package/lib/components/empty/src/empty.js +11 -55
  295. package/lib/components/empty/src/empty.js.map +1 -1
  296. package/lib/components/empty/src/empty2.js +55 -11
  297. package/lib/components/empty/src/empty2.js.map +1 -1
  298. package/lib/components/form/index.js +2 -2
  299. package/lib/components/form/src/form.js +149 -61
  300. package/lib/components/form/src/form.js.map +1 -1
  301. package/lib/components/form/src/form2.js +61 -149
  302. package/lib/components/form/src/form2.js.map +1 -1
  303. package/lib/components/image/index.js +2 -2
  304. package/lib/components/image/src/image.js +65 -225
  305. package/lib/components/image/src/image.js.map +1 -1
  306. package/lib/components/image/src/image2.js +225 -65
  307. package/lib/components/image/src/image2.js.map +1 -1
  308. package/lib/components/index.js +35 -35
  309. package/lib/components/input/index.js +2 -2
  310. package/lib/components/input/src/input.js +114 -471
  311. package/lib/components/input/src/input.js.map +1 -1
  312. package/lib/components/input/src/input2.js +471 -114
  313. package/lib/components/input/src/input2.js.map +1 -1
  314. package/lib/components/link/index.js +2 -2
  315. package/lib/components/link/src/link.js +22 -50
  316. package/lib/components/link/src/link.js.map +1 -1
  317. package/lib/components/link/src/link2.js +50 -22
  318. package/lib/components/link/src/link2.js.map +1 -1
  319. package/lib/components/menu/index.js +2 -2
  320. package/lib/components/menu/src/menu-item.js +97 -15
  321. package/lib/components/menu/src/menu-item.js.map +1 -1
  322. package/lib/components/menu/src/menu-item2.js +15 -97
  323. package/lib/components/menu/src/menu-item2.js.map +1 -1
  324. package/lib/components/page-header/index.js +2 -2
  325. package/lib/components/page-header/src/page-header.js +18 -103
  326. package/lib/components/page-header/src/page-header.js.map +1 -1
  327. package/lib/components/page-header/src/page-header2.js +103 -18
  328. package/lib/components/page-header/src/page-header2.js.map +1 -1
  329. package/lib/components/pagination/src/components/pager.js +17 -218
  330. package/lib/components/pagination/src/components/pager.js.map +1 -1
  331. package/lib/components/pagination/src/components/pager2.js +218 -17
  332. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  333. package/lib/components/pagination/src/components/sizes.js +22 -70
  334. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  335. package/lib/components/pagination/src/components/sizes2.js +70 -22
  336. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  337. package/lib/components/pagination/src/components/total.js +28 -7
  338. package/lib/components/pagination/src/components/total.js.map +1 -1
  339. package/lib/components/pagination/src/components/total2.js +7 -28
  340. package/lib/components/pagination/src/components/total2.js.map +1 -1
  341. package/lib/components/pagination/src/pagination.js +3 -3
  342. package/lib/components/popconfirm/index.js +2 -2
  343. package/lib/components/popconfirm/src/popconfirm.js +48 -110
  344. package/lib/components/popconfirm/src/popconfirm.js.map +1 -1
  345. package/lib/components/popconfirm/src/popconfirm2.js +110 -48
  346. package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
  347. package/lib/components/popover/src/popover2.js +2 -2
  348. package/lib/components/popper/index.js +4 -4
  349. package/lib/components/popper/src/popper.js +32 -28
  350. package/lib/components/popper/src/popper.js.map +1 -1
  351. package/lib/components/popper/src/popper2.js +28 -32
  352. package/lib/components/popper/src/popper2.js.map +1 -1
  353. package/lib/components/popper/src/trigger.js +32 -121
  354. package/lib/components/popper/src/trigger.js.map +1 -1
  355. package/lib/components/popper/src/trigger2.js +121 -32
  356. package/lib/components/popper/src/trigger2.js.map +1 -1
  357. package/lib/components/progress/index.js +2 -2
  358. package/lib/components/progress/src/progress.js +59 -204
  359. package/lib/components/progress/src/progress.js.map +1 -1
  360. package/lib/components/progress/src/progress2.js +204 -59
  361. package/lib/components/progress/src/progress2.js.map +1 -1
  362. package/lib/components/radio/index.js +2 -2
  363. package/lib/components/radio/src/radio-group.js +43 -70
  364. package/lib/components/radio/src/radio-group.js.map +1 -1
  365. package/lib/components/radio/src/radio-group2.js +70 -43
  366. package/lib/components/radio/src/radio-group2.js.map +1 -1
  367. package/lib/components/resizable-columns/index.d.ts +1 -0
  368. package/lib/components/resizable-columns/index.js +2 -2
  369. package/lib/components/resizable-columns/src/resizable-column.js +7 -138
  370. package/lib/components/resizable-columns/src/resizable-column.js.map +1 -1
  371. package/lib/components/resizable-columns/src/resizable-column2.js +138 -7
  372. package/lib/components/resizable-columns/src/resizable-column2.js.map +1 -1
  373. package/lib/components/resizable-columns/src/resizable-columns.vue.d.ts +1 -0
  374. package/lib/components/resizable-columns/src/resizable-columns2.js +28 -7
  375. package/lib/components/resizable-columns/src/resizable-columns2.js.map +1 -1
  376. package/lib/components/roving-focus-group/src/roving-focus-group2.js +1 -1
  377. package/lib/components/scrollbar/index.js +3 -3
  378. package/lib/components/scrollbar/src/bar2.js +1 -1
  379. package/lib/components/scrollbar/src/scrollbar.js +176 -47
  380. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  381. package/lib/components/scrollbar/src/scrollbar2.js +47 -176
  382. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  383. package/lib/components/scrollbar/src/thumb.js +11 -134
  384. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  385. package/lib/components/scrollbar/src/thumb2.js +134 -11
  386. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  387. package/lib/components/select/src/select.js +1 -1
  388. package/lib/components/skeleton/index.js +4 -4
  389. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  390. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  391. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  392. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  393. package/lib/components/skeleton/src/skeleton.js +22 -49
  394. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  395. package/lib/components/skeleton/src/skeleton2.js +49 -22
  396. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  397. package/lib/components/steps/index.js +2 -2
  398. package/lib/components/steps/src/steps.js +37 -39
  399. package/lib/components/steps/src/steps.js.map +1 -1
  400. package/lib/components/steps/src/steps2.js +39 -37
  401. package/lib/components/steps/src/steps2.js.map +1 -1
  402. package/lib/components/tag/index.js +2 -2
  403. package/lib/components/tag/src/tag.js +98 -34
  404. package/lib/components/tag/src/tag.js.map +1 -1
  405. package/lib/components/tag/src/tag2.js +34 -98
  406. package/lib/components/tag/src/tag2.js.map +1 -1
  407. package/lib/components/time-select/index.js +1 -1
  408. package/lib/components/time-select/src/time-select.js +55 -137
  409. package/lib/components/time-select/src/time-select.js.map +1 -1
  410. package/lib/components/time-select/src/time-select2.js +137 -55
  411. package/lib/components/time-select/src/time-select2.js.map +1 -1
  412. package/lib/components/timeline/index.js +2 -2
  413. package/lib/components/timeline/src/timeline-item.js +42 -72
  414. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  415. package/lib/components/timeline/src/timeline-item2.js +72 -42
  416. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  417. package/lib/components/tooltip/index.js +1 -1
  418. package/lib/components/tooltip/src/tooltip.js +1 -1
  419. package/lib/components/tooltip/src/tooltip2.js +2 -2
  420. package/lib/components/tooltip/src/trigger.js +16 -73
  421. package/lib/components/tooltip/src/trigger.js.map +1 -1
  422. package/lib/components/tooltip/src/trigger2.js +73 -16
  423. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  424. package/lib/components/tooltip-v2/src/content2.js +1 -1
  425. package/lib/components/upload/index.js +3 -3
  426. package/lib/components/upload/src/upload-content.js +1 -1
  427. package/lib/components/upload/src/upload-content2.js +1 -1
  428. package/lib/components/upload/src/upload-list.js +177 -27
  429. package/lib/components/upload/src/upload-list.js.map +1 -1
  430. package/lib/components/upload/src/upload-list2.js +27 -177
  431. package/lib/components/upload/src/upload-list2.js.map +1 -1
  432. package/lib/components/upload/src/upload.js +108 -119
  433. package/lib/components/upload/src/upload.js.map +1 -1
  434. package/lib/components/upload/src/upload2.js +119 -108
  435. package/lib/components/upload/src/upload2.js.map +1 -1
  436. package/lib/components/upload/src/use-handlers.js +1 -1
  437. package/lib/components/visual-hidden/index.js +2 -2
  438. package/lib/components/visual-hidden/src/visual-hidden.js +7 -35
  439. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  440. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -7
  441. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  442. package/lib/index.js +35 -35
  443. package/package.json +1 -1
  444. package/web-types.json +1 -1
@@ -1,12 +1,143 @@
1
+ import '../../../hooks/index.mjs';
2
+ import { resizableColumnProps } from './resizable-column.mjs';
3
+ import { defineComponent, getCurrentInstance, inject, computed, ref, reactive, onMounted, onUnmounted, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, normalizeStyle, renderSlot, createBlock, withCtx, createVNode, createCommentVNode } from 'vue';
1
4
  import '../../../utils/index.mjs';
2
- import { buildProps } from '../../../utils/vue/props/runtime.mjs';
5
+ import { resizableColumnsRootContextKey } from './constants.mjs';
6
+ import { ArrowLeft, ArrowRight } from '@element-plus/icons-vue';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { throwError } from '../../../utils/error.mjs';
9
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
3
10
 
4
- const resizableColumnProps = buildProps({
5
- collapsable: Boolean,
6
- widget: String,
7
- maxWidth: String,
8
- width: String
11
+ const _sfc_main = defineComponent({
12
+ name: "ElResizableColumn",
13
+ components: { ArrowLeft, ArrowRight },
14
+ props: resizableColumnProps,
15
+ emits: ["collapse", "expand"],
16
+ setup(props, { emit, slots, expose }) {
17
+ const instance = getCurrentInstance();
18
+ const columnsRoot = inject(resizableColumnsRootContextKey);
19
+ if (!columnsRoot)
20
+ throwError("ElResizableColumn", "usage: <el-resizable-columns><el-resizable-column /></el-resizable-columns/>");
21
+ const MIN_WIDTH = columnsRoot.props.minWidth > 0 ? columnsRoot.props.minWidth : 50;
22
+ const collapsable = computed(() => props.collapsable || columnsRoot.props.collapsable);
23
+ const collapsed = ref(false);
24
+ const column = reactive({
25
+ uid: instance.uid,
26
+ slots,
27
+ props,
28
+ maxWidth: 0,
29
+ parentWidth: 0,
30
+ index: 0,
31
+ length: 0,
32
+ width: 0,
33
+ left: 0,
34
+ collapsable,
35
+ collapsed
36
+ });
37
+ onMounted(() => {
38
+ columnsRoot.registerColumn(column);
39
+ });
40
+ onUnmounted(() => {
41
+ columnsRoot.unregisterColumn(column.uid);
42
+ });
43
+ const ns = useNamespace("resizable-column");
44
+ const handleCollapse = () => {
45
+ if (!collapsed.value) {
46
+ for (let rIndex = column.index + 1; rIndex < columnsRoot.columns.value.length; rIndex++) {
47
+ const rColumn = columnsRoot.columns.value[rIndex];
48
+ if (!rColumn.collapsed) {
49
+ rColumn.left = rColumn.left - column.width;
50
+ rColumn.width = rColumn.width + column.width;
51
+ break;
52
+ } else {
53
+ rColumn.left = rColumn.left - column.width;
54
+ }
55
+ }
56
+ collapsed.value = true;
57
+ emit("collapse", column.index);
58
+ }
59
+ };
60
+ const handleExpand = () => {
61
+ if (collapsed.value) {
62
+ collapsed.value = false;
63
+ const rightColumn = columnsRoot.columns.value[column.index + 1];
64
+ rightColumn.left = rightColumn.left + column.width;
65
+ rightColumn.width = rightColumn.width > column.width + MIN_WIDTH ? rightColumn.width - column.width : MIN_WIDTH;
66
+ const allOtherColumns = columnsRoot.columns.value.slice(column.index + 2);
67
+ const otherWidth = (column.parentWidth - rightColumn.left - rightColumn.width) / allOtherColumns.length;
68
+ allOtherColumns.forEach((item, index) => {
69
+ item.left = index * otherWidth + rightColumn.left + rightColumn.width;
70
+ item.width = otherWidth;
71
+ });
72
+ emit("expand", column.index);
73
+ }
74
+ };
75
+ return {
76
+ ns,
77
+ column,
78
+ handleCollapse,
79
+ handleExpand
80
+ };
81
+ }
9
82
  });
83
+ const _hoisted_1 = ["widget"];
84
+ const _hoisted_2 = ["data-index"];
85
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
86
+ const _component_ArrowLeft = resolveComponent("ArrowLeft");
87
+ const _component_el_icon = resolveComponent("el-icon");
88
+ const _component_el_button = resolveComponent("el-button");
89
+ const _component_ArrowRight = resolveComponent("ArrowRight");
90
+ return openBlock(), createElementBlock(Fragment, null, [
91
+ createElementVNode("div", {
92
+ class: normalizeClass(_ctx.ns.b()),
93
+ widget: _ctx.widget,
94
+ style: normalizeStyle({ width: `${_ctx.column.width}px`, left: `${_ctx.column.left}px`, display: _ctx.column.collapsed ? "none" : "unset" })
95
+ }, [
96
+ renderSlot(_ctx.$slots, "default")
97
+ ], 14, _hoisted_1),
98
+ _ctx.column.index < _ctx.column.length - 1 ? (openBlock(), createElementBlock("div", {
99
+ key: 0,
100
+ class: normalizeClass(["resizer", { "collapsed": _ctx.column.collapsed }]),
101
+ style: normalizeStyle({ left: `${_ctx.column.left + (_ctx.column.collapsed ? 0 : _ctx.column.width)}px` }),
102
+ "data-index": _ctx.column.index
103
+ }, [
104
+ !_ctx.column.collapsed ? (openBlock(), createBlock(_component_el_button, {
105
+ key: 0,
106
+ class: "left",
107
+ size: "small",
108
+ onClick: _ctx.handleCollapse,
109
+ disabled: !_ctx.column.collapsable
110
+ }, {
111
+ default: withCtx(() => [
112
+ createVNode(_component_el_icon, null, {
113
+ default: withCtx(() => [
114
+ createVNode(_component_ArrowLeft)
115
+ ]),
116
+ _: 1
117
+ })
118
+ ]),
119
+ _: 1
120
+ }, 8, ["onClick", "disabled"])) : (openBlock(), createBlock(_component_el_button, {
121
+ key: 1,
122
+ class: "right",
123
+ size: "small",
124
+ onClick: _ctx.handleExpand,
125
+ disabled: !_ctx.column.collapsable
126
+ }, {
127
+ default: withCtx(() => [
128
+ createVNode(_component_el_icon, null, {
129
+ default: withCtx(() => [
130
+ createVNode(_component_ArrowRight)
131
+ ]),
132
+ _: 1
133
+ })
134
+ ]),
135
+ _: 1
136
+ }, 8, ["onClick", "disabled"]))
137
+ ], 14, _hoisted_2)) : createCommentVNode("v-if", true)
138
+ ], 64);
139
+ }
140
+ var ResizableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\workspace\\element-pe\\packages\\components\\resizable-columns\\src\\resizable-column.vue"]]);
10
141
 
11
- export { resizableColumnProps };
142
+ export { ResizableColumn as default };
12
143
  //# sourceMappingURL=resizable-column2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-column2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-column.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport type ResizableColumn from './resizable-column.vue'\n\nexport const resizableColumnProps = buildProps({\n collapsable: Boolean,\n widget: String,\n maxWidth: String,\n width: String\n} as const)\n\nexport type ResizableColumnProps = ExtractPropTypes<typeof resizableColumnProps>\n\nexport type ResizableColumnInstance = InstanceType<typeof ResizableColumn>\n"],"names":[],"mappings":";;;AACY,MAAC,oBAAoB,GAAG,UAAU,CAAC;AAC/C,EAAE,WAAW,EAAE,OAAO;AACtB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,KAAK,EAAE,MAAM;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"resizable-column2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-column.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n :style=\"{ width: `${column.width}px`, left: `${column.left}px`, display: column.collapsed ? 'none' : 'unset' }\"\n >\n <slot />\n </div>\n <div v-if=\"column.index < column.length - 1\"\n class=\"resizer\"\n :class=\"{ 'collapsed': column.collapsed }\"\n :style=\"{ left: `${column.left + (column.collapsed ? 0 : column.width)}px` }\"\n :data-index=\"column.index\">\n <el-button v-if=\"!column.collapsed\"\n class=\"left\" size=\"small\"\n @click=\"handleCollapse\"\n :disabled=\"!column.collapsable\"\n ><el-icon><ArrowLeft /></el-icon></el-button>\n <el-button v-else\n class=\"right\" size=\"small\"\n @click=\"handleExpand\"\n :disabled=\"!column.collapsable\"\n ><el-icon><ArrowRight /></el-icon></el-button>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useNamespace } from '@element-plus/hooks'\nimport { resizableColumnProps } from './resizable-column'\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n inject,\n onMounted,\n onUnmounted,\n reactive,\n ref\n} from 'vue'\nimport { throwError } from '../../../utils'\nimport { resizableColumnsRootContextKey } from './constants'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\n\n\nexport default defineComponent({\n name: 'ElResizableColumn',\n components: { ArrowLeft, ArrowRight },\n props: resizableColumnProps,\n emits: ['collapse', 'expand'],\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n\n const columnsRoot = inject(resizableColumnsRootContextKey)\n if (!columnsRoot)\n throwError('ElResizableColumn', 'usage: <el-resizable-columns><el-resizable-column /></el-resizable-columns/>')\n\n const MIN_WIDTH = columnsRoot.props.minWidth > 0 ? columnsRoot.props.minWidth : 50\n\n const collapsable = computed(() => props.collapsable || columnsRoot.props.collapsable)\n const collapsed = ref(false)\n\n const column = reactive({\n uid: instance.uid,\n slots,\n props,\n maxWidth: 0,\n parentWidth: 0,\n index: 0,\n length: 0,\n width: 0,\n left: 0,\n collapsable,\n collapsed\n })\n\n onMounted(() => {\n columnsRoot.registerColumn(column)\n })\n\n onUnmounted(() => {\n columnsRoot.unregisterColumn(column.uid)\n })\n\n const ns = useNamespace('resizable-column')\n\n const handleCollapse = () => {\n if (!collapsed.value) {\n for (let rIndex = column.index + 1; rIndex < columnsRoot.columns.value.length; rIndex++) {\n const rColumn = columnsRoot.columns.value[rIndex]\n if (!rColumn.collapsed) {\n rColumn.left = rColumn.left - column.width\n rColumn.width = rColumn.width + column.width\n break\n } else {\n rColumn.left = rColumn.left - column.width\n }\n }\n\n collapsed.value = true\n emit('collapse', column.index)\n }\n }\n const handleExpand = () => {\n if (collapsed.value) {\n collapsed.value = false\n const rightColumn = columnsRoot.columns.value[column.index + 1]\n rightColumn.left = rightColumn.left + column.width\n rightColumn.width = rightColumn.width > column.width + MIN_WIDTH ? rightColumn.width - column.width : MIN_WIDTH\n\n const allOtherColumns = columnsRoot.columns.value.slice(column.index + 2)\n const otherWidth = (column.parentWidth - rightColumn.left - rightColumn.width) / allOtherColumns.length\n allOtherColumns.forEach((item, index) => {\n item.left = index * otherWidth + rightColumn.left + rightColumn.width\n item.width = otherWidth\n })\n\n emit('expand', column.index)\n }\n }\n\n return {\n ns,\n column,\n\n handleCollapse,\n handleExpand\n }\n }\n})\n</script>\n"],"names":["_createElementVNode","_normalizeClass","_normalizeStyle","_renderSlot","_openBlock","_createElementBlock","_createBlock","_createVNode","_withCtx"],"mappings":"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"}
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  };
24
24
  columnsContainer: import("vue").Ref<null>;
25
25
  handleMousedown: (e: any) => void;
26
+ setColumnWidth: (columnIndex: number, width: string) => void;
26
27
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
28
  readonly collapsable: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
28
29
  readonly widget: StringConstructor;
@@ -24,6 +24,7 @@ const _sfc_main = defineComponent({
24
24
  unregisterColumn
25
25
  });
26
26
  const columnsContainer = ref(null);
27
+ const parentWidth = ref(0);
27
28
  const resizeConfig = reactive({
28
29
  last: {
29
30
  pos: 0,
@@ -35,32 +36,33 @@ const _sfc_main = defineComponent({
35
36
  const resizeObserver = new ResizeObserver((entries) => {
36
37
  for (const entry of entries) {
37
38
  const width = entry.contentRect.width;
39
+ parentWidth.value = width;
38
40
  initColumnSize(width);
39
41
  }
40
42
  });
41
43
  resizeObserver.observe(columnsContainer.value);
42
44
  }
43
45
  });
44
- const initColumnSize = (parentWidth) => {
45
- let remainWidth = parentWidth;
46
+ const initColumnSize = (parentWidth2) => {
47
+ let remainWidth = parentWidth2;
46
48
  columns.value.forEach((item, index) => {
47
49
  if (item.props.maxWidth) {
48
50
  if (item.props.maxWidth.endsWith("px")) {
49
51
  item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2));
50
52
  } else if (item.props.maxWidth.endsWith("%")) {
51
- item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth;
53
+ item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth2;
52
54
  }
53
55
  }
54
56
  if (item.props.width && item.props.width.endsWith("px")) {
55
57
  item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2));
56
58
  } else if (item.props.width && item.props.width.endsWith("%")) {
57
- item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth;
59
+ item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth2;
58
60
  } else {
59
61
  item.width = remainWidth / (columns.value.length - index);
60
62
  }
61
- item.left = parentWidth - remainWidth;
63
+ item.left = parentWidth2 - remainWidth;
62
64
  remainWidth -= item.width;
63
- item.parentWidth = parentWidth, item.index = index;
65
+ item.parentWidth = parentWidth2, item.index = index;
64
66
  item.collapsed = false;
65
67
  item.length = columns.value.length;
66
68
  });
@@ -141,10 +143,29 @@ const _sfc_main = defineComponent({
141
143
  document.removeEventListener("mousemove", handleMousemove);
142
144
  document.removeEventListener("mousemove", handleMouseup);
143
145
  };
146
+ const setColumnWidth = (columnIndex, width) => {
147
+ let remainWidth = parentWidth.value;
148
+ columns.value.forEach((item, index) => {
149
+ if (columnIndex === index) {
150
+ if (width.endsWith("px")) {
151
+ item.width = parseInt(width.substring(0, width.length - 2));
152
+ } else if (width && width.endsWith("%")) {
153
+ item.width = parseInt(width.substring(0, width.length - 1)) / 100 * parentWidth.value;
154
+ } else {
155
+ item.width = remainWidth / (columns.value.length - index);
156
+ }
157
+ } else {
158
+ item.width = remainWidth / (columns.value.length - index);
159
+ }
160
+ item.left = parentWidth.value - remainWidth;
161
+ remainWidth -= item.width;
162
+ });
163
+ };
144
164
  return {
145
165
  ns,
146
166
  columnsContainer,
147
- handleMousedown
167
+ handleMousedown,
168
+ setColumnWidth
148
169
  };
149
170
  }
150
171
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resizable-columns2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-columns.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n ref=\"columnsContainer\"\n @mousedown=\"handleMousedown\"\n >\n <slot />\n </div>\n</template>\n\n<script lang='ts'>\nimport { defineComponent, getCurrentInstance, onMounted, provide, ref, reactive } from 'vue'\nimport { useNamespace, useOrderedChildren } from '../../../hooks'\nimport { ResizableColumnContext, resizableColumnsRootContextKey } from './constants'\nimport { resizableColumnsProps } from './resizable-columns'\n\n\nexport default defineComponent({\n name: 'ElResizableColumns',\n props: resizableColumnsProps,\n setup(props) {\n const ns = useNamespace('resizable-columns')\n const MIN_WIDTH = props.minWidth > 0 ? props.minWidth : 50\n\n const {\n children: columns,\n addChild: registerColumn,\n removeChild: unregisterColumn\n } = useOrderedChildren<ResizableColumnContext>(getCurrentInstance()!, 'ElResizableColumn')\n\n provide(resizableColumnsRootContextKey, {\n props,\n columns,\n registerColumn,\n unregisterColumn\n })\n\n const columnsContainer = ref(null)\n\n\n const resizeConfig = reactive({\n last: {\n pos: 0, // 上一次鼠标位置\n index: 0 // 上一个调整宽度的resizer的序号\n }\n })\n\n onMounted(() => {\n // 初始化layout参数\n if (columnsContainer.value && columns.value.length > 0) {\n // 监听外层容器 dom resize,更新layout中每个panel的width和left\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const width = entry.contentRect.width\n initColumnSize(width)\n }\n })\n resizeObserver.observe(columnsContainer.value)\n }\n })\n\n\n const initColumnSize = (parentWidth) => {\n let remainWidth = parentWidth\n columns.value.forEach((item, index) => {\n if (item.props.maxWidth) {\n if (item.props.maxWidth.endsWith('px')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2))\n } else if (item.props.maxWidth.endsWith('%')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth\n }\n }\n if (item.props.width && item.props.width.endsWith('px')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2))\n } else if (item.props.width && item.props.width.endsWith('%')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n item.left = parentWidth - remainWidth\n remainWidth -= item.width\n\n item.parentWidth = parentWidth,\n item.index = index\n item.collapsed = false\n item.length = columns.value.length\n })\n }\n\n\n const handleMousedown = (e) => {\n const index = e.target.getAttribute('data-index')\n if (index !== null) {\n if (columns.value[index].collapsed) {\n return\n }\n\n // 禁止文字选择\n document.onselectstart = () => false\n // 禁止元素拖拽\n document.ondragstart = () => false\n resizeConfig.last.pos = e.clientX\n resizeConfig.last.index = parseInt(index)\n document.addEventListener('mousemove', handleMousemove)\n document.addEventListener('mouseup', handleMouseup)\n }\n }\n\n const handleMousemove = (e) => {\n // 当前resizer的序号\n const index = resizeConfig.last.index\n let offsetX = e.clientX - resizeConfig.last.pos\n // 找到左边可以调整宽度的panel\n let leftIndex = index\n while (leftIndex >= 0 && columns.value[leftIndex].width! <= MIN_WIDTH) {\n leftIndex--\n }\n let rightIndex = index + 1\n while (rightIndex < columns.value.length && columns.value[rightIndex].width! <= MIN_WIDTH) {\n rightIndex++\n }\n // 当左侧panel全部已经最小化则暂停\n if (leftIndex < 0 && offsetX < 0) {\n return\n }\n // 当右侧panel全部已经最小化则暂停\n if (rightIndex >= columns.value.length && offsetX > 0) {\n return\n }\n if (offsetX < 0) {\n // resizer左侧panel宽度\n const newLeftWidth = columns.value[leftIndex].width! + offsetX\n const newRightWidth = columns.value[leftIndex + 1].width! - offsetX\n const rightMaxWidth = columns.value[leftIndex + 1].maxWidth\n\n if (newLeftWidth <= MIN_WIDTH) {\n offsetX = MIN_WIDTH - columns.value[leftIndex].width!\n columns.value[leftIndex].width = MIN_WIDTH\n } else if (rightMaxWidth > 0 && newRightWidth > rightMaxWidth) {\n offsetX = rightMaxWidth - columns.value[leftIndex + 1].width!\n columns.value[leftIndex].width = columns.value[leftIndex].width! + offsetX\n } else {\n columns.value[leftIndex].width = newLeftWidth\n }\n\n // 修改被折叠的中间panel(最小宽度)的位置,要放在修改offset的语句后面\n for (let i = index; i > leftIndex; i--) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index + 1].width = columns.value[index + 1].width! - offsetX\n columns.value[index + 1].left = columns.value[index + 1].left! + offsetX\n resizeConfig.last.pos = e.clientX\n } else if (offsetX > 0) {\n // resizer右侧panel宽度\n const newRightWidth = columns.value[rightIndex].width! - offsetX\n const newLeftWidth = columns.value[rightIndex - 1].width! + offsetX\n const leftMaxWidth = columns.value[rightIndex - 1].maxWidth\n\n if (newRightWidth <= MIN_WIDTH) {\n // 要和上面反过来,因为这边的offset要是>0的\n offsetX = columns.value[rightIndex].width! - MIN_WIDTH\n columns.value[rightIndex].width = MIN_WIDTH\n } else if (leftMaxWidth > 0 && newLeftWidth > leftMaxWidth) {\n offsetX = leftMaxWidth - columns.value[rightIndex - 1].width!\n columns.value[rightIndex].width = columns.value[rightIndex].width! - offsetX\n } else {\n columns.value[rightIndex].width = newRightWidth\n }\n // 修改被折叠的中间panel(最小宽度)的位置\n for (let i = index + 1; i <= rightIndex; i++) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index].width = columns.value[index].width! + offsetX\n resizeConfig.last.pos = e.clientX\n }\n }\n\n const handleMouseup = () => {\n // 允许文字选择\n document.onselectstart = null\n // 允许元素拖拽\n document.ondragstart = null\n document.removeEventListener('mousemove', handleMousemove)\n document.removeEventListener('mousemove', handleMouseup)\n }\n\n\n return {\n ns,\n columnsContainer,\n handleMousedown\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"resizable-columns2.mjs","sources":["../../../../../../packages/components/resizable-columns/src/resizable-columns.vue"],"sourcesContent":["<template>\n <div\n :class=\"ns.b()\"\n :widget=\"widget\"\n ref=\"columnsContainer\"\n @mousedown=\"handleMousedown\"\n >\n <slot />\n </div>\n</template>\n\n<script lang='ts'>\nimport { defineComponent, getCurrentInstance, onMounted, provide, ref, reactive } from 'vue'\nimport { useNamespace, useOrderedChildren } from '../../../hooks'\nimport { ResizableColumnContext, resizableColumnsRootContextKey } from './constants'\nimport { resizableColumnsProps } from './resizable-columns'\n\n\nexport default defineComponent({\n name: 'ElResizableColumns',\n props: resizableColumnsProps,\n setup(props) {\n const ns = useNamespace('resizable-columns')\n const MIN_WIDTH = props.minWidth > 0 ? props.minWidth : 50\n\n const {\n children: columns,\n addChild: registerColumn,\n removeChild: unregisterColumn\n } = useOrderedChildren<ResizableColumnContext>(getCurrentInstance()!, 'ElResizableColumn')\n\n provide(resizableColumnsRootContextKey, {\n props,\n columns,\n registerColumn,\n unregisterColumn\n })\n\n const columnsContainer = ref(null)\n const parentWidth = ref(0)\n\n const resizeConfig = reactive({\n last: {\n pos: 0, // 上一次鼠标位置\n index: 0 // 上一个调整宽度的resizer的序号\n }\n })\n\n\n onMounted(() => {\n // 初始化layout参数\n if (columnsContainer.value && columns.value.length > 0) {\n // 监听外层容器 dom resize,更新layout中每个panel的width和left\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const width = entry.contentRect.width\n parentWidth.value = width\n initColumnSize(width)\n }\n })\n resizeObserver.observe(columnsContainer.value)\n }\n })\n\n\n const initColumnSize = (parentWidth) => {\n let remainWidth = parentWidth\n columns.value.forEach((item, index) => {\n if (item.props.maxWidth) {\n if (item.props.maxWidth.endsWith('px')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 2))\n } else if (item.props.maxWidth.endsWith('%')) {\n item.maxWidth = parseInt(item.props.maxWidth.substring(0, item.props.maxWidth.length - 1)) / 100 * parentWidth\n }\n }\n if (item.props.width && item.props.width.endsWith('px')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 2))\n } else if (item.props.width && item.props.width.endsWith('%')) {\n item.width = parseInt(item.props.width.substring(0, item.props.width.length - 1)) / 100 * parentWidth\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n item.left = parentWidth - remainWidth\n remainWidth -= item.width\n\n item.parentWidth = parentWidth,\n item.index = index\n item.collapsed = false\n item.length = columns.value.length\n })\n }\n\n\n const handleMousedown = (e) => {\n const index = e.target.getAttribute('data-index')\n if (index !== null) {\n if (columns.value[index].collapsed) {\n return\n }\n\n // 禁止文字选择\n document.onselectstart = () => false\n // 禁止元素拖拽\n document.ondragstart = () => false\n resizeConfig.last.pos = e.clientX\n resizeConfig.last.index = parseInt(index)\n document.addEventListener('mousemove', handleMousemove)\n document.addEventListener('mouseup', handleMouseup)\n }\n }\n\n const handleMousemove = (e) => {\n // 当前resizer的序号\n const index = resizeConfig.last.index\n let offsetX = e.clientX - resizeConfig.last.pos\n // 找到左边可以调整宽度的panel\n let leftIndex = index\n while (leftIndex >= 0 && columns.value[leftIndex].width! <= MIN_WIDTH) {\n leftIndex--\n }\n let rightIndex = index + 1\n while (rightIndex < columns.value.length && columns.value[rightIndex].width! <= MIN_WIDTH) {\n rightIndex++\n }\n // 当左侧panel全部已经最小化则暂停\n if (leftIndex < 0 && offsetX < 0) {\n return\n }\n // 当右侧panel全部已经最小化则暂停\n if (rightIndex >= columns.value.length && offsetX > 0) {\n return\n }\n if (offsetX < 0) {\n // resizer左侧panel宽度\n const newLeftWidth = columns.value[leftIndex].width! + offsetX\n const newRightWidth = columns.value[leftIndex + 1].width! - offsetX\n const rightMaxWidth = columns.value[leftIndex + 1].maxWidth\n\n if (newLeftWidth <= MIN_WIDTH) {\n offsetX = MIN_WIDTH - columns.value[leftIndex].width!\n columns.value[leftIndex].width = MIN_WIDTH\n } else if (rightMaxWidth > 0 && newRightWidth > rightMaxWidth) {\n offsetX = rightMaxWidth - columns.value[leftIndex + 1].width!\n columns.value[leftIndex].width = columns.value[leftIndex].width! + offsetX\n } else {\n columns.value[leftIndex].width = newLeftWidth\n }\n\n // 修改被折叠的中间panel(最小宽度)的位置,要放在修改offset的语句后面\n for (let i = index; i > leftIndex; i--) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index + 1].width = columns.value[index + 1].width! - offsetX\n columns.value[index + 1].left = columns.value[index + 1].left! + offsetX\n resizeConfig.last.pos = e.clientX\n } else if (offsetX > 0) {\n // resizer右侧panel宽度\n const newRightWidth = columns.value[rightIndex].width! - offsetX\n const newLeftWidth = columns.value[rightIndex - 1].width! + offsetX\n const leftMaxWidth = columns.value[rightIndex - 1].maxWidth\n\n if (newRightWidth <= MIN_WIDTH) {\n // 要和上面反过来,因为这边的offset要是>0的\n offsetX = columns.value[rightIndex].width! - MIN_WIDTH\n columns.value[rightIndex].width = MIN_WIDTH\n } else if (leftMaxWidth > 0 && newLeftWidth > leftMaxWidth) {\n offsetX = leftMaxWidth - columns.value[rightIndex - 1].width!\n columns.value[rightIndex].width = columns.value[rightIndex].width! - offsetX\n } else {\n columns.value[rightIndex].width = newRightWidth\n }\n // 修改被折叠的中间panel(最小宽度)的位置\n for (let i = index + 1; i <= rightIndex; i++) {\n columns.value[i].left = columns.value[i].left! + offsetX\n }\n columns.value[index].width = columns.value[index].width! + offsetX\n resizeConfig.last.pos = e.clientX\n }\n }\n\n const handleMouseup = () => {\n // 允许文字选择\n document.onselectstart = null\n // 允许元素拖拽\n document.ondragstart = null\n document.removeEventListener('mousemove', handleMousemove)\n document.removeEventListener('mousemove', handleMouseup)\n }\n\n const setColumnWidth = (columnIndex: number, width: string) => {\n let remainWidth = parentWidth.value\n columns.value.forEach((item, index) => {\n if (columnIndex === index) {\n if (width.endsWith('px')) {\n item.width = parseInt(width.substring(0, width.length - 2))\n } else if (width && width.endsWith('%')) {\n item.width = parseInt(width.substring(0, width.length - 1)) / 100 * parentWidth.value\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n } else {\n item.width = remainWidth / (columns.value.length - index)\n }\n\n item.left = parentWidth.value - remainWidth\n remainWidth -= item.width\n })\n }\n\n return {\n ns,\n columnsContainer,\n handleMousedown,\n setColumnWidth\n }\n }\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import '../../../utils/index.mjs';
2
2
  import '../../collection/index.mjs';
3
3
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
4
- import { createCollectionWithScope } from '../../collection/src/collection2.mjs';
4
+ import { createCollectionWithScope } from '../../collection/src/collection.mjs';
5
5
 
6
6
  const rovingFocusGroupProps = buildProps({
7
7
  style: { type: definePropType([String, Array, Object]) },
@@ -1,8 +1,8 @@
1
1
  import '../../utils/index.mjs';
2
- import Scrollbar from './src/scrollbar2.mjs';
2
+ import Scrollbar from './src/scrollbar.mjs';
3
3
  export { BAR_MAP, GAP, renderThumbStyle } from './src/util.mjs';
4
- export { scrollbarEmits, scrollbarProps } from './src/scrollbar.mjs';
5
- export { thumbProps } from './src/thumb2.mjs';
4
+ export { scrollbarEmits, scrollbarProps } from './src/scrollbar2.mjs';
5
+ export { thumbProps } from './src/thumb.mjs';
6
6
  export { scrollbarContextKey } from './src/constants.mjs';
7
7
  import { withInstall } from '../../utils/vue/install.mjs';
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, openBlock, createElementBlock, Fragment, createVNode } from 'vue';
2
2
  import { GAP } from './util.mjs';
3
- import Thumb from './thumb.mjs';
3
+ import Thumb from './thumb2.mjs';
4
4
  import { barProps } from './bar.mjs';
5
5
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
6
6
 
@@ -1,53 +1,183 @@
1
+ import { defineComponent, ref, computed, nextTick, provide, reactive, onMounted, onUpdated, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, normalizeStyle, createBlock, resolveDynamicComponent, withCtx, renderSlot, createCommentVNode } from 'vue';
2
+ import '../../config-provider/index.mjs';
3
+ import { useResizeObserver, useEventListener } from '@vueuse/core';
1
4
  import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
5
+ import '../../../hooks/index.mjs';
6
+ import { GAP } from './util.mjs';
7
+ import Bar from './bar2.mjs';
8
+ import { scrollbarContextKey } from './constants.mjs';
9
+ import { scrollbarProps, scrollbarEmits } from './scrollbar2.mjs';
10
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
12
+ import { addUnit } from '../../../utils/dom/style.mjs';
13
+ import { isObject } from '@vue/shared';
3
14
  import { isNumber } from '../../../utils/types.mjs';
15
+ import { debugWarn } from '../../../utils/error.mjs';
16
+ import { watch } from '../../config-provider/src/for-editor.mjs';
4
17
 
5
- const scrollbarProps = buildProps({
6
- height: {
7
- type: [String, Number],
8
- default: ""
9
- },
10
- maxHeight: {
11
- type: [String, Number],
12
- default: ""
13
- },
14
- native: {
15
- type: Boolean,
16
- default: false
17
- },
18
- wrapStyle: {
19
- type: definePropType([String, Object, Array]),
20
- default: ""
21
- },
22
- wrapClass: {
23
- type: [String, Array],
24
- default: ""
25
- },
26
- viewClass: {
27
- type: [String, Array],
28
- default: ""
29
- },
30
- viewStyle: {
31
- type: [String, Array, Object],
32
- default: ""
33
- },
34
- noresize: Boolean,
35
- tag: {
36
- type: String,
37
- default: "div"
38
- },
39
- always: Boolean,
40
- minSize: {
41
- type: Number,
42
- default: 20
18
+ const COMPONENT_NAME = "ElScrollbar";
19
+ const __default__ = defineComponent({
20
+ name: COMPONENT_NAME
21
+ });
22
+ const _sfc_main = /* @__PURE__ */ defineComponent({
23
+ ...__default__,
24
+ props: scrollbarProps,
25
+ emits: scrollbarEmits,
26
+ setup(__props, { expose, emit }) {
27
+ const props = __props;
28
+ const ns = useNamespace("scrollbar");
29
+ let stopResizeObserver = void 0;
30
+ let stopResizeListener = void 0;
31
+ const scrollbarRef = ref();
32
+ const wrapRef = ref();
33
+ const resizeRef = ref();
34
+ const sizeWidth = ref("0");
35
+ const sizeHeight = ref("0");
36
+ const barRef = ref();
37
+ const ratioY = ref(1);
38
+ const ratioX = ref(1);
39
+ const style = computed(() => {
40
+ const style2 = {};
41
+ if (props.height)
42
+ style2.height = addUnit(props.height);
43
+ if (props.maxHeight)
44
+ style2.maxHeight = addUnit(props.maxHeight);
45
+ return [props.wrapStyle, style2];
46
+ });
47
+ const wrapKls = computed(() => {
48
+ return [
49
+ props.wrapClass,
50
+ ns.e("wrap"),
51
+ { [ns.em("wrap", "hidden-default")]: !props.native }
52
+ ];
53
+ });
54
+ const resizeKls = computed(() => {
55
+ return [ns.e("view"), props.viewClass];
56
+ });
57
+ const handleScroll = () => {
58
+ var _a;
59
+ if (wrapRef.value) {
60
+ (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
61
+ emit("scroll", {
62
+ scrollTop: wrapRef.value.scrollTop,
63
+ scrollLeft: wrapRef.value.scrollLeft
64
+ });
65
+ }
66
+ };
67
+ function scrollTo(arg1, arg2) {
68
+ if (isObject(arg1)) {
69
+ wrapRef.value.scrollTo(arg1);
70
+ } else if (isNumber(arg1) && isNumber(arg2)) {
71
+ wrapRef.value.scrollTo(arg1, arg2);
72
+ }
73
+ }
74
+ const setScrollTop = (value) => {
75
+ if (!isNumber(value)) {
76
+ debugWarn(COMPONENT_NAME, "value must be a number");
77
+ return;
78
+ }
79
+ wrapRef.value.scrollTop = value;
80
+ };
81
+ const setScrollLeft = (value) => {
82
+ if (!isNumber(value)) {
83
+ debugWarn(COMPONENT_NAME, "value must be a number");
84
+ return;
85
+ }
86
+ wrapRef.value.scrollLeft = value;
87
+ };
88
+ const update = () => {
89
+ if (!wrapRef.value)
90
+ return;
91
+ const offsetHeight = wrapRef.value.offsetHeight - GAP;
92
+ const offsetWidth = wrapRef.value.offsetWidth - GAP;
93
+ const originalHeight = offsetHeight ** 2 / wrapRef.value.scrollHeight;
94
+ const originalWidth = offsetWidth ** 2 / wrapRef.value.scrollWidth;
95
+ const height = Math.max(originalHeight, props.minSize);
96
+ const width = Math.max(originalWidth, props.minSize);
97
+ ratioY.value = originalHeight / (offsetHeight - originalHeight) / (height / (offsetHeight - height));
98
+ ratioX.value = originalWidth / (offsetWidth - originalWidth) / (width / (offsetWidth - width));
99
+ sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : "";
100
+ sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : "";
101
+ };
102
+ watch(() => props.noresize, (noresize) => {
103
+ if (noresize) {
104
+ stopResizeObserver == null ? void 0 : stopResizeObserver();
105
+ stopResizeListener == null ? void 0 : stopResizeListener();
106
+ } else {
107
+ ;
108
+ ({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update));
109
+ stopResizeListener = useEventListener("resize", update);
110
+ }
111
+ }, { immediate: true });
112
+ watch(() => [props.maxHeight, props.height], () => {
113
+ if (!props.native)
114
+ nextTick(() => {
115
+ var _a;
116
+ update();
117
+ if (wrapRef.value) {
118
+ (_a = barRef.value) == null ? void 0 : _a.handleScroll(wrapRef.value);
119
+ }
120
+ });
121
+ });
122
+ provide(scrollbarContextKey, reactive({
123
+ scrollbarElement: scrollbarRef,
124
+ wrapElement: wrapRef
125
+ }));
126
+ onMounted(() => {
127
+ if (!props.native)
128
+ nextTick(() => {
129
+ update();
130
+ });
131
+ });
132
+ onUpdated(() => update());
133
+ expose({
134
+ wrapRef,
135
+ update,
136
+ scrollTo,
137
+ setScrollTop,
138
+ setScrollLeft,
139
+ handleScroll
140
+ });
141
+ return (_ctx, _cache) => {
142
+ return openBlock(), createElementBlock("div", {
143
+ ref_key: "scrollbarRef",
144
+ ref: scrollbarRef,
145
+ class: normalizeClass(unref(ns).b())
146
+ }, [
147
+ createElementVNode("div", {
148
+ ref_key: "wrapRef",
149
+ ref: wrapRef,
150
+ class: normalizeClass(unref(wrapKls)),
151
+ style: normalizeStyle(unref(style)),
152
+ onScroll: handleScroll
153
+ }, [
154
+ (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
155
+ ref_key: "resizeRef",
156
+ ref: resizeRef,
157
+ class: normalizeClass(unref(resizeKls)),
158
+ style: normalizeStyle(_ctx.viewStyle)
159
+ }, {
160
+ default: withCtx(() => [
161
+ renderSlot(_ctx.$slots, "default")
162
+ ]),
163
+ _: 3
164
+ }, 8, ["class", "style"]))
165
+ ], 38),
166
+ !_ctx.native ? (openBlock(), createBlock(Bar, {
167
+ key: 0,
168
+ ref_key: "barRef",
169
+ ref: barRef,
170
+ height: sizeHeight.value,
171
+ width: sizeWidth.value,
172
+ always: _ctx.always,
173
+ "ratio-x": ratioX.value,
174
+ "ratio-y": ratioY.value
175
+ }, null, 8, ["height", "width", "always", "ratio-x", "ratio-y"])) : createCommentVNode("v-if", true)
176
+ ], 2);
177
+ };
43
178
  }
44
179
  });
45
- const scrollbarEmits = {
46
- scroll: ({
47
- scrollTop,
48
- scrollLeft
49
- }) => [scrollTop, scrollLeft].every(isNumber)
50
- };
180
+ var Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\workspace\\element-pe\\packages\\components\\scrollbar\\src\\scrollbar.vue"]]);
51
181
 
52
- export { scrollbarEmits, scrollbarProps };
182
+ export { Scrollbar as default };
53
183
  //# sourceMappingURL=scrollbar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type Scrollbar from './scrollbar.vue'\n\nexport const scrollbarProps = buildProps({\n /**\n * @description height of scrollbar\n */\n height: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description max height of scrollbar\n */\n maxHeight: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether to use the native scrollbar\n */\n native: {\n type: Boolean,\n default: false,\n },\n /**\n * @description style of wrap\n */\n wrapStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n default: '',\n },\n /**\n * @description class of wrap\n */\n wrapClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description class of view\n */\n viewClass: {\n type: [String, Array],\n default: '',\n },\n /**\n * @description style of view\n */\n viewStyle: {\n type: [String, Array, Object],\n default: '',\n },\n /**\n * @description do not respond to container size changes, if the container size does not change, it is better to set it to optimize performance\n */\n noresize: Boolean, // 如果 container 尺寸不会发生变化,最好设置它可以优化性能\n /**\n * @description element tag of the view\n */\n tag: {\n type: String,\n default: 'div',\n },\n /**\n * @description always show\n */\n always: Boolean,\n /**\n * @description minimum size of scrollbar\n */\n minSize: {\n type: Number,\n default: 20,\n },\n} as const)\nexport type ScrollbarProps = ExtractPropTypes<typeof scrollbarProps>\n\nexport const scrollbarEmits = {\n scroll: ({\n scrollTop,\n scrollLeft,\n }: {\n scrollTop: number\n scrollLeft: number\n }) => [scrollTop, scrollLeft].every(isNumber),\n}\nexport type ScrollbarEmits = typeof scrollbarEmits\n\nexport type ScrollbarInstance = InstanceType<typeof Scrollbar>\n"],"names":[],"mappings":";;;;AACY,MAAC,cAAc,GAAG,UAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AACzB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACjC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,CAAC;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"scrollbar.mjs","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbarRef\" :class=\"ns.b()\">\n <div ref=\"wrapRef\" :class=\"wrapKls\" :style=\"style\" @scroll=\"handleScroll\">\n <component\n :is=\"tag\"\n ref=\"resizeRef\"\n :class=\"resizeKls\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n reactive,\n ref,\n} from 'vue'\nimport { watch } from '../../config-provider'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber, isObject } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { GAP } from './util'\nimport Bar from './bar.vue'\nimport { scrollbarContextKey } from './constants'\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { BarInstance } from './bar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\nconst COMPONENT_NAME = 'ElScrollbar'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(scrollbarProps)\nconst emit = defineEmits(scrollbarEmits)\n\nconst ns = useNamespace('scrollbar')\n\nlet stopResizeObserver: (() => void) | undefined = undefined\nlet stopResizeListener: (() => void) | undefined = undefined\n\nconst scrollbarRef = ref<HTMLDivElement>()\nconst wrapRef = ref<HTMLDivElement>()\nconst resizeRef = ref<HTMLElement>()\n\nconst sizeWidth = ref('0')\nconst sizeHeight = ref('0')\nconst barRef = ref<BarInstance>()\nconst ratioY = ref(1)\nconst ratioX = ref(1)\n\nconst style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n})\n\nconst wrapKls = computed(() => {\n return [\n props.wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !props.native },\n ]\n})\n\nconst resizeKls = computed(() => {\n return [ns.e('view'), props.viewClass]\n})\n\nconst handleScroll = () => {\n if (wrapRef.value) {\n barRef.value?.handleScroll(wrapRef.value)\n\n emit('scroll', {\n scrollTop: wrapRef.value.scrollTop,\n scrollLeft: wrapRef.value.scrollLeft,\n })\n }\n}\n\n// TODO: refactor method overrides, due to script setup dts\n// @ts-nocheck\nfunction scrollTo(xCord: number, yCord?: number): void\nfunction scrollTo(options: ScrollToOptions): void\nfunction scrollTo(arg1: unknown, arg2?: number) {\n if (isObject(arg1)) {\n wrapRef.value!.scrollTo(arg1)\n } else if (isNumber(arg1) && isNumber(arg2)) {\n wrapRef.value!.scrollTo(arg1, arg2)\n }\n}\n\nconst setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(COMPONENT_NAME, 'value must be a number')\n return\n }\n wrapRef.value!.scrollTop = value\n}\n\nconst setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(COMPONENT_NAME, 'value must be a number')\n return\n }\n wrapRef.value!.scrollLeft = value\n}\n\nconst update = () => {\n if (!wrapRef.value) return\n const offsetHeight = wrapRef.value.offsetHeight - GAP\n const offsetWidth = wrapRef.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrapRef.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrapRef.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\nwatch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resizeRef, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrapRef.value) {\n barRef.value?.handleScroll(wrapRef.value)\n }\n })\n }\n)\n\nprovide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbarRef,\n wrapElement: wrapRef,\n })\n)\n\nonMounted(() => {\n if (!props.native)\n nextTick(() => {\n update()\n })\n})\nonUpdated(() => update())\n\ndefineExpose({\n /** @description scrollbar wrap ref */\n wrapRef,\n /** @description update scrollbar state manually */\n update,\n /** @description scrolls to a particular set of coordinates */\n scrollTo,\n /** @description set distance to scroll top */\n setScrollTop,\n /** @description set distance to scroll left */\n setScrollLeft,\n /** @description handle scroll event */\n handleScroll,\n})\n</script>\n"],"names":[],"mappings":"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"}