element-ps 2.0.18 → 2.0.21

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 (442) hide show
  1. package/dist/index.full.js +6 -64
  2. package/dist/index.full.min.js +5 -5
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +5 -5
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +6 -64
  7. package/dist/locale/en.js +1 -1
  8. package/dist/locale/en.min.js +1 -1
  9. package/dist/locale/en.min.mjs +1 -1
  10. package/dist/locale/en.mjs +1 -1
  11. package/dist/locale/zh-cn.js +1 -1
  12. package/dist/locale/zh-cn.min.js +1 -1
  13. package/dist/locale/zh-cn.min.mjs +1 -1
  14. package/dist/locale/zh-cn.mjs +1 -1
  15. package/es/components/alert/index.mjs +2 -2
  16. package/es/components/alert/src/alert.mjs +33 -83
  17. package/es/components/alert/src/alert.mjs.map +1 -1
  18. package/es/components/alert/src/alert2.mjs +83 -33
  19. package/es/components/alert/src/alert2.mjs.map +1 -1
  20. package/es/components/autocomplete/index.d.ts +5 -5
  21. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  22. package/es/components/autocomplete/src/autocomplete2.mjs +1 -1
  23. package/es/components/backtop/index.mjs +2 -2
  24. package/es/components/backtop/src/backtop.mjs +18 -59
  25. package/es/components/backtop/src/backtop.mjs.map +1 -1
  26. package/es/components/backtop/src/backtop2.mjs +59 -18
  27. package/es/components/backtop/src/backtop2.mjs.map +1 -1
  28. package/es/components/badge/index.mjs +2 -2
  29. package/es/components/badge/src/badge.mjs +54 -17
  30. package/es/components/badge/src/badge.mjs.map +1 -1
  31. package/es/components/badge/src/badge2.mjs +17 -54
  32. package/es/components/badge/src/badge2.mjs.map +1 -1
  33. package/es/components/breadcrumb/index.mjs +2 -2
  34. package/es/components/breadcrumb/src/breadcrumb-item.mjs +46 -11
  35. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  36. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -46
  37. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  38. package/es/components/button/index.mjs +2 -2
  39. package/es/components/button/src/button-group.mjs +1 -1
  40. package/es/components/button/src/button.mjs +48 -96
  41. package/es/components/button/src/button.mjs.map +1 -1
  42. package/es/components/button/src/button2.mjs +96 -48
  43. package/es/components/button/src/button2.mjs.map +1 -1
  44. package/es/components/calendar/index.mjs +2 -2
  45. package/es/components/calendar/src/calendar.mjs +9 -188
  46. package/es/components/calendar/src/calendar.mjs.map +1 -1
  47. package/es/components/calendar/src/calendar2.mjs +188 -9
  48. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  49. package/es/components/carousel/index.mjs +2 -2
  50. package/es/components/carousel/src/carousel.mjs +43 -201
  51. package/es/components/carousel/src/carousel.mjs.map +1 -1
  52. package/es/components/carousel/src/carousel2.mjs +201 -43
  53. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  54. package/es/components/cascader/src/index.mjs +2 -2
  55. package/es/components/cascader-panel/src/config.mjs +1 -1
  56. package/es/components/cascader-panel/src/index.mjs +1 -1
  57. package/es/components/cascader-panel/src/menu.mjs +1 -1
  58. package/es/components/cascader-panel/src/node.mjs +200 -120
  59. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  60. package/es/components/cascader-panel/src/node2.mjs +120 -200
  61. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  62. package/es/components/cascader-panel/src/store.mjs +1 -1
  63. package/es/components/collapse/index.mjs +2 -2
  64. package/es/components/collapse/src/collapse.mjs +14 -61
  65. package/es/components/collapse/src/collapse.mjs.map +1 -1
  66. package/es/components/collapse/src/collapse2.mjs +61 -14
  67. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  68. package/es/components/collection/src/collection.mjs +1 -34
  69. package/es/components/collection/src/collection.mjs.map +1 -1
  70. package/es/components/dialog/index.mjs +2 -2
  71. package/es/components/dialog/src/dialog.mjs +61 -87
  72. package/es/components/dialog/src/dialog.mjs.map +1 -1
  73. package/es/components/dialog/src/dialog2.mjs +87 -61
  74. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  75. package/es/components/drawer/index.mjs +2 -2
  76. package/es/components/drawer/src/drawer.mjs +117 -23
  77. package/es/components/drawer/src/drawer.mjs.map +1 -1
  78. package/es/components/drawer/src/drawer2.mjs +23 -117
  79. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  80. package/es/components/dropdown/index.d.ts +3 -9
  81. package/es/components/dropdown/src/dropdown-item-impl.mjs +3 -12
  82. package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
  83. package/es/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  84. package/es/components/dropdown/src/dropdown-menu.mjs +4 -27
  85. package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
  86. package/es/components/dropdown/src/dropdown-menu.vue.d.ts +0 -3
  87. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  88. package/es/components/dropdown/src/dropdown.mjs +1 -1
  89. package/es/components/dropdown/src/dropdown.vue.d.ts +3 -3
  90. package/es/components/empty/index.mjs +2 -2
  91. package/es/components/empty/src/empty.mjs +11 -56
  92. package/es/components/empty/src/empty.mjs.map +1 -1
  93. package/es/components/empty/src/empty2.mjs +56 -11
  94. package/es/components/empty/src/empty2.mjs.map +1 -1
  95. package/es/components/form/index.mjs +4 -4
  96. package/es/components/form/src/form-item.mjs +177 -46
  97. package/es/components/form/src/form-item.mjs.map +1 -1
  98. package/es/components/form/src/form-item2.mjs +46 -177
  99. package/es/components/form/src/form-item2.mjs.map +1 -1
  100. package/es/components/form/src/form.mjs +40 -45
  101. package/es/components/form/src/form.mjs.map +1 -1
  102. package/es/components/form/src/form2.mjs +45 -40
  103. package/es/components/form/src/form2.mjs.map +1 -1
  104. package/es/components/image-viewer/index.mjs +2 -2
  105. package/es/components/image-viewer/src/image-viewer.mjs +31 -210
  106. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  107. package/es/components/image-viewer/src/image-viewer2.mjs +210 -31
  108. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  109. package/es/components/index.mjs +30 -30
  110. package/es/components/input/index.mjs +2 -2
  111. package/es/components/input/src/input.mjs +296 -85
  112. package/es/components/input/src/input.mjs.map +1 -1
  113. package/es/components/input/src/input2.mjs +85 -296
  114. package/es/components/input/src/input2.mjs.map +1 -1
  115. package/es/components/input-number/index.mjs +2 -2
  116. package/es/components/input-number/src/input-number.mjs +46 -171
  117. package/es/components/input-number/src/input-number.mjs.map +1 -1
  118. package/es/components/input-number/src/input-number2.mjs +171 -46
  119. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  120. package/es/components/link/index.mjs +2 -2
  121. package/es/components/link/src/link.mjs +43 -19
  122. package/es/components/link/src/link.mjs.map +1 -1
  123. package/es/components/link/src/link2.mjs +19 -43
  124. package/es/components/link/src/link2.mjs.map +1 -1
  125. package/es/components/menu/index.d.ts +3 -3
  126. package/es/components/menu/src/menu.d.ts +4 -4
  127. package/es/components/page-header/index.mjs +2 -2
  128. package/es/components/page-header/src/page-header.mjs +55 -14
  129. package/es/components/page-header/src/page-header.mjs.map +1 -1
  130. package/es/components/page-header/src/page-header2.mjs +14 -55
  131. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  132. package/es/components/popconfirm/src/popconfirm2.mjs +2 -2
  133. package/es/components/popover/index.d.ts +6 -6
  134. package/es/components/popover/src/index.vue.d.ts +3 -3
  135. package/es/components/popover/src/popover.d.ts +1 -1
  136. package/es/components/popover/src/popover.mjs +1 -1
  137. package/es/components/popper/index.mjs +2 -2
  138. package/es/components/popper/src/trigger.mjs +28 -17
  139. package/es/components/popper/src/trigger.mjs.map +1 -1
  140. package/es/components/popper/src/trigger2.mjs +17 -28
  141. package/es/components/popper/src/trigger2.mjs.map +1 -1
  142. package/es/components/radio/index.mjs +2 -2
  143. package/es/components/radio/src/radio-group.mjs +18 -37
  144. package/es/components/radio/src/radio-group.mjs.map +1 -1
  145. package/es/components/radio/src/radio-group2.mjs +37 -18
  146. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  147. package/es/components/scrollbar/index.mjs +3 -3
  148. package/es/components/scrollbar/src/bar.mjs +35 -22
  149. package/es/components/scrollbar/src/bar.mjs.map +1 -1
  150. package/es/components/scrollbar/src/bar2.mjs +22 -35
  151. package/es/components/scrollbar/src/bar2.mjs.map +1 -1
  152. package/es/components/scrollbar/src/scrollbar.mjs +112 -42
  153. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  154. package/es/components/scrollbar/src/scrollbar2.mjs +42 -112
  155. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  156. package/es/components/scrollbar/src/thumb.mjs +59 -11
  157. package/es/components/scrollbar/src/thumb.mjs.map +1 -1
  158. package/es/components/scrollbar/src/thumb2.mjs +11 -59
  159. package/es/components/scrollbar/src/thumb2.mjs.map +1 -1
  160. package/es/components/select/index.d.ts +9 -9
  161. package/es/components/select/src/select.mjs +2 -2
  162. package/es/components/select/src/select.vue.d.ts +9 -9
  163. package/es/components/select/src/useSelect.d.ts +5 -5
  164. package/es/components/select-v2/index.d.ts +20 -20
  165. package/es/components/select-v2/src/defaults.mjs +1 -1
  166. package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
  167. package/es/components/select-v2/src/select.vue.d.ts +10 -10
  168. package/es/components/select-v2/src/useSelect.d.ts +5 -5
  169. package/es/components/skeleton/index.mjs +4 -4
  170. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  171. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  172. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  173. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  174. package/es/components/skeleton/src/skeleton.mjs +22 -49
  175. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  176. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  177. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  178. package/es/components/table/index.d.ts +1 -1
  179. package/es/components/table/src/filter-panel.vue.d.ts +5 -5
  180. package/es/components/table/src/table.vue.d.ts +1 -1
  181. package/es/components/tabs/index.mjs +2 -2
  182. package/es/components/tabs/src/tab-pane.mjs +14 -60
  183. package/es/components/tabs/src/tab-pane.mjs.map +1 -1
  184. package/es/components/tabs/src/tab-pane2.mjs +60 -14
  185. package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
  186. package/es/components/tag/index.mjs +2 -2
  187. package/es/components/tag/src/tag.mjs +33 -81
  188. package/es/components/tag/src/tag.mjs.map +1 -1
  189. package/es/components/tag/src/tag2.mjs +81 -33
  190. package/es/components/tag/src/tag2.mjs.map +1 -1
  191. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -5
  192. package/es/components/timeline/index.mjs +2 -2
  193. package/es/components/timeline/src/timeline-item.mjs +39 -73
  194. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  195. package/es/components/timeline/src/timeline-item2.mjs +73 -39
  196. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  197. package/es/components/tooltip/index.d.ts +3 -3
  198. package/es/components/tooltip/index.mjs +2 -2
  199. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  200. package/es/components/tooltip/src/tooltip.mjs +51 -64
  201. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  202. package/es/components/tooltip/src/tooltip.vue.d.ts +3 -3
  203. package/es/components/tooltip/src/tooltip2.mjs +64 -51
  204. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  205. package/es/components/tooltip/src/trigger.mjs +2 -2
  206. package/es/components/tooltip/src/trigger.vue.d.ts +3 -3
  207. package/es/components/tooltip-v2/index.mjs +2 -2
  208. package/es/components/tooltip-v2/src/root.mjs +81 -17
  209. package/es/components/tooltip-v2/src/root.mjs.map +1 -1
  210. package/es/components/tooltip-v2/src/root2.mjs +17 -81
  211. package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
  212. package/es/components/tooltip-v2/src/tooltip.mjs +2 -2
  213. package/es/components/tooltip-v2/src/tooltip2.mjs +4 -4
  214. package/es/components/tooltip-v2/src/trigger.mjs +89 -11
  215. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  216. package/es/components/tooltip-v2/src/trigger2.mjs +11 -89
  217. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  218. package/es/components/upload/index.mjs +1 -1
  219. package/es/components/upload/src/upload-content.mjs +1 -1
  220. package/es/components/upload/src/upload-dragger.mjs +32 -11
  221. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  222. package/es/components/upload/src/upload-dragger2.mjs +11 -32
  223. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  224. package/es/index.mjs +30 -30
  225. package/es/version.d.ts +1 -1
  226. package/es/version.mjs +1 -1
  227. package/es/version.mjs.map +1 -1
  228. package/lib/components/alert/index.js +2 -2
  229. package/lib/components/alert/src/alert.js +33 -82
  230. package/lib/components/alert/src/alert.js.map +1 -1
  231. package/lib/components/alert/src/alert2.js +82 -33
  232. package/lib/components/alert/src/alert2.js.map +1 -1
  233. package/lib/components/autocomplete/index.d.ts +5 -5
  234. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  235. package/lib/components/autocomplete/src/autocomplete2.js +1 -1
  236. package/lib/components/backtop/index.js +2 -2
  237. package/lib/components/backtop/src/backtop.js +18 -59
  238. package/lib/components/backtop/src/backtop.js.map +1 -1
  239. package/lib/components/backtop/src/backtop2.js +59 -18
  240. package/lib/components/backtop/src/backtop2.js.map +1 -1
  241. package/lib/components/badge/index.js +2 -2
  242. package/lib/components/badge/src/badge.js +54 -17
  243. package/lib/components/badge/src/badge.js.map +1 -1
  244. package/lib/components/badge/src/badge2.js +17 -54
  245. package/lib/components/badge/src/badge2.js.map +1 -1
  246. package/lib/components/breadcrumb/index.js +2 -2
  247. package/lib/components/breadcrumb/src/breadcrumb-item.js +46 -11
  248. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  249. package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -46
  250. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  251. package/lib/components/button/index.js +2 -2
  252. package/lib/components/button/src/button-group.js +1 -1
  253. package/lib/components/button/src/button.js +50 -96
  254. package/lib/components/button/src/button.js.map +1 -1
  255. package/lib/components/button/src/button2.js +96 -50
  256. package/lib/components/button/src/button2.js.map +1 -1
  257. package/lib/components/calendar/index.js +2 -2
  258. package/lib/components/calendar/src/calendar.js +9 -192
  259. package/lib/components/calendar/src/calendar.js.map +1 -1
  260. package/lib/components/calendar/src/calendar2.js +192 -9
  261. package/lib/components/calendar/src/calendar2.js.map +1 -1
  262. package/lib/components/carousel/index.js +2 -2
  263. package/lib/components/carousel/src/carousel.js +43 -201
  264. package/lib/components/carousel/src/carousel.js.map +1 -1
  265. package/lib/components/carousel/src/carousel2.js +201 -43
  266. package/lib/components/carousel/src/carousel2.js.map +1 -1
  267. package/lib/components/cascader/src/index.js +2 -2
  268. package/lib/components/cascader-panel/src/config.js +1 -1
  269. package/lib/components/cascader-panel/src/index.js +1 -1
  270. package/lib/components/cascader-panel/src/menu.js +1 -1
  271. package/lib/components/cascader-panel/src/node.js +200 -121
  272. package/lib/components/cascader-panel/src/node.js.map +1 -1
  273. package/lib/components/cascader-panel/src/node2.js +121 -200
  274. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  275. package/lib/components/cascader-panel/src/store.js +1 -1
  276. package/lib/components/collapse/index.js +2 -2
  277. package/lib/components/collapse/src/collapse.js +16 -61
  278. package/lib/components/collapse/src/collapse.js.map +1 -1
  279. package/lib/components/collapse/src/collapse2.js +61 -16
  280. package/lib/components/collapse/src/collapse2.js.map +1 -1
  281. package/lib/components/collection/src/collection.js +0 -33
  282. package/lib/components/collection/src/collection.js.map +1 -1
  283. package/lib/components/dialog/index.js +2 -2
  284. package/lib/components/dialog/src/dialog.js +61 -87
  285. package/lib/components/dialog/src/dialog.js.map +1 -1
  286. package/lib/components/dialog/src/dialog2.js +87 -61
  287. package/lib/components/dialog/src/dialog2.js.map +1 -1
  288. package/lib/components/drawer/index.js +2 -2
  289. package/lib/components/drawer/src/drawer.js +117 -23
  290. package/lib/components/drawer/src/drawer.js.map +1 -1
  291. package/lib/components/drawer/src/drawer2.js +23 -117
  292. package/lib/components/drawer/src/drawer2.js.map +1 -1
  293. package/lib/components/dropdown/index.d.ts +3 -9
  294. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -10
  295. package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
  296. package/lib/components/dropdown/src/dropdown-item-impl.vue.d.ts +0 -3
  297. package/lib/components/dropdown/src/dropdown-menu.js +2 -25
  298. package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
  299. package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +0 -3
  300. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  301. package/lib/components/dropdown/src/dropdown.js +1 -1
  302. package/lib/components/dropdown/src/dropdown.vue.d.ts +3 -3
  303. package/lib/components/empty/index.js +2 -2
  304. package/lib/components/empty/src/empty.js +11 -56
  305. package/lib/components/empty/src/empty.js.map +1 -1
  306. package/lib/components/empty/src/empty2.js +56 -11
  307. package/lib/components/empty/src/empty2.js.map +1 -1
  308. package/lib/components/form/index.js +4 -4
  309. package/lib/components/form/src/form-item.js +177 -47
  310. package/lib/components/form/src/form-item.js.map +1 -1
  311. package/lib/components/form/src/form-item2.js +47 -177
  312. package/lib/components/form/src/form-item2.js.map +1 -1
  313. package/lib/components/form/src/form.js +40 -45
  314. package/lib/components/form/src/form.js.map +1 -1
  315. package/lib/components/form/src/form2.js +45 -40
  316. package/lib/components/form/src/form2.js.map +1 -1
  317. package/lib/components/image-viewer/index.js +2 -2
  318. package/lib/components/image-viewer/src/image-viewer.js +31 -210
  319. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  320. package/lib/components/image-viewer/src/image-viewer2.js +210 -31
  321. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  322. package/lib/components/index.js +30 -30
  323. package/lib/components/input/index.js +2 -2
  324. package/lib/components/input/src/input.js +295 -84
  325. package/lib/components/input/src/input.js.map +1 -1
  326. package/lib/components/input/src/input2.js +84 -295
  327. package/lib/components/input/src/input2.js.map +1 -1
  328. package/lib/components/input-number/index.js +2 -2
  329. package/lib/components/input-number/src/input-number.js +46 -171
  330. package/lib/components/input-number/src/input-number.js.map +1 -1
  331. package/lib/components/input-number/src/input-number2.js +171 -46
  332. package/lib/components/input-number/src/input-number2.js.map +1 -1
  333. package/lib/components/link/index.js +2 -2
  334. package/lib/components/link/src/link.js +43 -19
  335. package/lib/components/link/src/link.js.map +1 -1
  336. package/lib/components/link/src/link2.js +19 -43
  337. package/lib/components/link/src/link2.js.map +1 -1
  338. package/lib/components/menu/index.d.ts +3 -3
  339. package/lib/components/menu/src/menu.d.ts +4 -4
  340. package/lib/components/page-header/index.js +2 -2
  341. package/lib/components/page-header/src/page-header.js +55 -14
  342. package/lib/components/page-header/src/page-header.js.map +1 -1
  343. package/lib/components/page-header/src/page-header2.js +14 -55
  344. package/lib/components/page-header/src/page-header2.js.map +1 -1
  345. package/lib/components/popconfirm/src/popconfirm2.js +2 -2
  346. package/lib/components/popover/index.d.ts +6 -6
  347. package/lib/components/popover/src/index.vue.d.ts +3 -3
  348. package/lib/components/popover/src/popover.d.ts +1 -1
  349. package/lib/components/popover/src/popover.js +1 -1
  350. package/lib/components/popper/index.js +2 -2
  351. package/lib/components/popper/src/trigger.js +28 -17
  352. package/lib/components/popper/src/trigger.js.map +1 -1
  353. package/lib/components/popper/src/trigger2.js +17 -28
  354. package/lib/components/popper/src/trigger2.js.map +1 -1
  355. package/lib/components/radio/index.js +2 -2
  356. package/lib/components/radio/src/radio-group.js +18 -37
  357. package/lib/components/radio/src/radio-group.js.map +1 -1
  358. package/lib/components/radio/src/radio-group2.js +37 -18
  359. package/lib/components/radio/src/radio-group2.js.map +1 -1
  360. package/lib/components/scrollbar/index.js +3 -3
  361. package/lib/components/scrollbar/src/bar.js +35 -22
  362. package/lib/components/scrollbar/src/bar.js.map +1 -1
  363. package/lib/components/scrollbar/src/bar2.js +22 -35
  364. package/lib/components/scrollbar/src/bar2.js.map +1 -1
  365. package/lib/components/scrollbar/src/scrollbar.js +112 -42
  366. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  367. package/lib/components/scrollbar/src/scrollbar2.js +42 -112
  368. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  369. package/lib/components/scrollbar/src/thumb.js +59 -11
  370. package/lib/components/scrollbar/src/thumb.js.map +1 -1
  371. package/lib/components/scrollbar/src/thumb2.js +11 -59
  372. package/lib/components/scrollbar/src/thumb2.js.map +1 -1
  373. package/lib/components/select/index.d.ts +9 -9
  374. package/lib/components/select/src/select.js +2 -2
  375. package/lib/components/select/src/select.vue.d.ts +9 -9
  376. package/lib/components/select/src/useSelect.d.ts +5 -5
  377. package/lib/components/select-v2/index.d.ts +20 -20
  378. package/lib/components/select-v2/src/defaults.js +1 -1
  379. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  380. package/lib/components/select-v2/src/select.vue.d.ts +10 -10
  381. package/lib/components/select-v2/src/useSelect.d.ts +5 -5
  382. package/lib/components/skeleton/index.js +4 -4
  383. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  384. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  385. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  386. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  387. package/lib/components/skeleton/src/skeleton.js +22 -49
  388. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  389. package/lib/components/skeleton/src/skeleton2.js +49 -22
  390. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  391. package/lib/components/table/index.d.ts +1 -1
  392. package/lib/components/table/src/filter-panel.vue.d.ts +5 -5
  393. package/lib/components/table/src/table.vue.d.ts +1 -1
  394. package/lib/components/tabs/index.js +2 -2
  395. package/lib/components/tabs/src/tab-pane.js +14 -60
  396. package/lib/components/tabs/src/tab-pane.js.map +1 -1
  397. package/lib/components/tabs/src/tab-pane2.js +60 -14
  398. package/lib/components/tabs/src/tab-pane2.js.map +1 -1
  399. package/lib/components/tag/index.js +2 -2
  400. package/lib/components/tag/src/tag.js +34 -81
  401. package/lib/components/tag/src/tag.js.map +1 -1
  402. package/lib/components/tag/src/tag2.js +81 -34
  403. package/lib/components/tag/src/tag2.js.map +1 -1
  404. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -5
  405. package/lib/components/timeline/index.js +2 -2
  406. package/lib/components/timeline/src/timeline-item.js +39 -73
  407. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  408. package/lib/components/timeline/src/timeline-item2.js +73 -39
  409. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  410. package/lib/components/tooltip/index.d.ts +3 -3
  411. package/lib/components/tooltip/index.js +2 -2
  412. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  413. package/lib/components/tooltip/src/tooltip.js +50 -65
  414. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  415. package/lib/components/tooltip/src/tooltip.vue.d.ts +3 -3
  416. package/lib/components/tooltip/src/tooltip2.js +65 -50
  417. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  418. package/lib/components/tooltip/src/trigger.js +2 -2
  419. package/lib/components/tooltip/src/trigger.vue.d.ts +3 -3
  420. package/lib/components/tooltip-v2/index.js +2 -2
  421. package/lib/components/tooltip-v2/src/root.js +81 -17
  422. package/lib/components/tooltip-v2/src/root.js.map +1 -1
  423. package/lib/components/tooltip-v2/src/root2.js +17 -81
  424. package/lib/components/tooltip-v2/src/root2.js.map +1 -1
  425. package/lib/components/tooltip-v2/src/tooltip.js +2 -2
  426. package/lib/components/tooltip-v2/src/tooltip2.js +4 -4
  427. package/lib/components/tooltip-v2/src/trigger.js +89 -11
  428. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  429. package/lib/components/tooltip-v2/src/trigger2.js +11 -89
  430. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  431. package/lib/components/upload/index.js +1 -1
  432. package/lib/components/upload/src/upload-content.js +1 -1
  433. package/lib/components/upload/src/upload-dragger.js +32 -12
  434. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  435. package/lib/components/upload/src/upload-dragger2.js +12 -32
  436. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  437. package/lib/index.js +30 -30
  438. package/lib/version.d.ts +1 -1
  439. package/lib/version.js +1 -1
  440. package/lib/version.js.map +1 -1
  441. package/package.json +1 -1
  442. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"node.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.ts"],"sourcesContent":["import { isFunction } from '@vue/shared'\nimport { capitalize, isEmpty, isUndefined } from '@element-ps/utils'\nimport type { VNode } from 'vue'\n\nexport type CascaderNodeValue = string | number\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required<CascaderProps>\nexport enum ExpandTrigger {\n CLICK = 'click',\n HOVER = 'hover',\n}\nexport type isDisabled = (data: CascaderOption, node: Node) => boolean\nexport type isLeaf = (data: CascaderOption, node: Node) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (node: Node, resolve: Resolve) => void\nexport type RenderLabel = ({\n node: Node,\n data: CascaderOption,\n}) => VNode | VNode[]\nexport interface CascaderOption extends Record<string, unknown> {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface CascaderProps {\n expandTrigger?: ExpandTrigger\n multiple?: boolean\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: LazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | isDisabled\n leaf?: string | isLeaf\n hoverThreshold?: number\n}\n\nexport type Nullable<T> = null | T\n\ntype ChildrenData = CascaderOption[] | undefined\n\nlet uid = 0\n\nconst calculatePathNodes = (node: Node) => {\n const nodes = [node]\n let { parent } = node\n\n while (parent) {\n nodes.unshift(parent)\n parent = parent.parent\n }\n\n return nodes\n}\n\nclass Node {\n readonly uid: number = uid++\n readonly level: number\n readonly value: CascaderNodeValue\n readonly label: string\n readonly pathNodes: Node[]\n readonly pathValues: CascaderNodePathValue\n readonly pathLabels: string[]\n\n childrenData: ChildrenData\n children: Node[]\n text: string\n loaded: boolean\n checked = false\n indeterminate = false\n loading = false\n\n constructor(\n readonly data: Nullable<CascaderOption>,\n readonly config: CascaderConfig,\n readonly parent?: Node,\n readonly root = false\n ) {\n const { value: valueKey, label: labelKey, children: childrenKey } = config\n\n const childrenData = data[childrenKey] as ChildrenData\n const pathNodes = calculatePathNodes(this)\n\n this.level = root ? 0 : parent ? parent.level + 1 : 1\n this.value = data[valueKey] as CascaderNodeValue\n this.label = data[labelKey] as string\n this.pathNodes = pathNodes\n this.pathValues = pathNodes.map((node) => node.value)\n this.pathLabels = pathNodes.map((node) => node.label)\n this.childrenData = childrenData\n this.children = (childrenData || []).map(\n (child) => new Node(child, config, this)\n )\n this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData)\n }\n\n get isDisabled(): boolean {\n const { data, parent, config } = this\n const { disabled, checkStrictly } = config\n const isDisabled = isFunction(disabled)\n ? disabled(data, this)\n : !!data[disabled]\n return isDisabled || (!checkStrictly && parent?.isDisabled)\n }\n\n get isLeaf(): boolean {\n const { data, config, childrenData, loaded } = this\n const { lazy, leaf } = config\n const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf]\n\n return isUndefined(isLeaf)\n ? lazy && !loaded\n ? false\n : !(Array.isArray(childrenData) && childrenData.length)\n : !!isLeaf\n }\n\n get valueByOption() {\n return this.config.emitPath ? this.pathValues : this.value\n }\n\n appendChild(childData: CascaderOption) {\n const { childrenData, children } = this\n const node = new Node(childData, this.config, this)\n\n if (Array.isArray(childrenData)) {\n childrenData.push(childData)\n } else {\n this.childrenData = [childData]\n }\n\n children.push(node)\n\n return node\n }\n\n calcText(allLevels: boolean, separator: string) {\n const text = allLevels ? this.pathLabels.join(separator) : this.label\n this.text = text\n return text\n }\n\n broadcast(event: string, ...args: unknown[]) {\n const handlerName = `onParent${capitalize(event)}`\n this.children.forEach((child) => {\n if (child) {\n // bottom up\n child.broadcast(event, ...args)\n child[handlerName] && child[handlerName](...args)\n }\n })\n }\n\n emit(event: string, ...args: unknown[]) {\n const { parent } = this\n const handlerName = `onChild${capitalize(event)}`\n if (parent) {\n parent[handlerName] && parent[handlerName](...args)\n parent.emit(event, ...args)\n }\n }\n\n onParentCheck(checked: boolean) {\n if (!this.isDisabled) {\n this.setCheckState(checked)\n }\n }\n\n onChildCheck() {\n const { children } = this\n const validChildren = children.filter((child) => !child.isDisabled)\n const checked = validChildren.length\n ? validChildren.every((child) => child.checked)\n : false\n\n this.setCheckState(checked)\n }\n\n setCheckState(checked: boolean) {\n const totalNum = this.children.length\n const checkedNum = this.children.reduce((c, p) => {\n const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0\n return c + num\n }, 0)\n\n this.checked =\n this.loaded &&\n this.children.every((child) => child.loaded && child.checked) &&\n checked\n this.indeterminate =\n this.loaded && checkedNum !== totalNum && checkedNum > 0\n }\n\n doCheck(checked: boolean) {\n if (this.checked === checked) return\n\n const { checkStrictly, multiple } = this.config\n\n if (checkStrictly || !multiple) {\n this.checked = checked\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked)\n this.setCheckState(checked)\n this.emit('check')\n }\n }\n}\n\nexport default Node\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? null : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n >\n <!-- prefix -->\n <ps-checkbox\n v-if=\"multiple\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n />\n <ps-radio\n v-else-if=\"checkStrictly\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </ps-radio>\n <ps-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </ps-icon>\n\n <!-- content -->\n <node-content />\n\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <ps-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </ps-icon>\n <ps-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </ps-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport PsCheckbox from '@element-ps/components/checkbox'\nimport PsRadio from '@element-ps/components/radio'\nimport PsIcon from '@element-ps/components/icon'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as CascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'PsCascaderNode',\n\n components: {\n PsCheckbox,\n PsRadio,\n NodeContent,\n PsIcon,\n Check,\n Loading,\n ArrowRight,\n },\n\n props: {\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n },\n\n emits: ['expand'],\n\n setup(props, { emit }) {\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const ns = useNamespace('cascader-node')\n const isHoverMenu = computed(() => panel.isHoverMenu)\n const multiple = computed(() => panel.config.multiple)\n const checkStrictly = computed(() => panel.config.checkStrictly)\n const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\n const isDisabled = computed(() => props.node.isDisabled)\n const isLeaf = computed(() => props.node.isLeaf)\n const expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n )\n const inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n // only useful in check-strictly mode\n const inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n )\n\n const isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n }\n\n const doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n }\n\n const doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n }\n\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n }\n\n const handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n }\n\n const handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n }\n\n const handleClick = () => {\n if (isHoverMenu.value && !isLeaf.value) return\n\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else {\n handleExpand()\n }\n }\n\n const handleSelectCheck = (checked: boolean) => {\n if (checkStrictly.value) {\n doCheck(checked)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked)\n }\n }\n\n const handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n }\n\n return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createCommentVNode","_createBlock","_createVNode","_createElementBlock","_Fragment"],"mappings":"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"}
@@ -1,206 +1,126 @@
1
- import { defineComponent, inject, computed, createElementVNode, resolveComponent, openBlock, createElementBlock, normalizeClass, createCommentVNode, createBlock, withCtx, createVNode, Fragment } from 'vue';
2
- import { PsCheckbox } from '../../checkbox/index.mjs';
3
- import { PsRadio } from '../../radio/index.mjs';
4
- import { PsIcon } from '../../icon/index.mjs';
5
- import '../../../hooks/index.mjs';
6
- import { Check, Loading, ArrowRight } from '@element-plus/icons-vue';
7
- import NodeContent from './node-content.mjs';
8
- import { CASCADER_PANEL_INJECTION_KEY } from './types.mjs';
9
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
1
+ import { isFunction, capitalize } from '@vue/shared';
2
+ import '../../../utils/index.mjs';
3
+ import { isEmpty, isUndefined } from '../../../utils/types.mjs';
11
4
 
12
- const _sfc_main = defineComponent({
13
- name: "PsCascaderNode",
14
- components: {
15
- PsCheckbox,
16
- PsRadio,
17
- NodeContent,
18
- PsIcon,
19
- Check,
20
- Loading,
21
- ArrowRight
22
- },
23
- props: {
24
- node: {
25
- type: Object,
26
- required: true
27
- },
28
- menuId: String
29
- },
30
- emits: ["expand"],
31
- setup(props, { emit }) {
32
- const panel = inject(CASCADER_PANEL_INJECTION_KEY);
33
- const ns = useNamespace("cascader-node");
34
- const isHoverMenu = computed(() => panel.isHoverMenu);
35
- const multiple = computed(() => panel.config.multiple);
36
- const checkStrictly = computed(() => panel.config.checkStrictly);
37
- const checkedNodeId = computed(() => {
38
- var _a;
39
- return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
40
- });
41
- const isDisabled = computed(() => props.node.isDisabled);
42
- const isLeaf = computed(() => props.node.isLeaf);
43
- const expandable = computed(() => checkStrictly.value && !isLeaf.value || !isDisabled.value);
44
- const inExpandingPath = computed(() => isInPath(panel.expandingNode));
45
- const inCheckedPath = computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));
46
- const isInPath = (node) => {
47
- var _a;
48
- const { level, uid } = props.node;
49
- return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;
50
- };
51
- const doExpand = () => {
52
- if (inExpandingPath.value)
53
- return;
54
- panel.expandNode(props.node);
55
- };
56
- const doCheck = (checked) => {
57
- const { node } = props;
58
- if (checked === node.checked)
59
- return;
60
- panel.handleCheckChange(node, checked);
61
- };
62
- const doLoad = () => {
63
- panel.lazyLoad(props.node, () => {
64
- if (!isLeaf.value)
65
- doExpand();
66
- });
67
- };
68
- const handleHoverExpand = (e) => {
69
- if (!isHoverMenu.value)
70
- return;
71
- handleExpand();
72
- !isLeaf.value && emit("expand", e);
73
- };
74
- const handleExpand = () => {
75
- const { node } = props;
76
- if (!expandable.value || node.loading)
77
- return;
78
- node.loaded ? doExpand() : doLoad();
79
- };
80
- const handleClick = () => {
81
- if (isHoverMenu.value && !isLeaf.value)
82
- return;
83
- if (isLeaf.value && !isDisabled.value && !checkStrictly.value && !multiple.value) {
84
- handleCheck(true);
85
- } else {
86
- handleExpand();
87
- }
88
- };
89
- const handleSelectCheck = (checked) => {
90
- if (checkStrictly.value) {
91
- doCheck(checked);
92
- if (props.node.loaded) {
93
- doExpand();
94
- }
95
- } else {
96
- handleCheck(checked);
97
- }
98
- };
99
- const handleCheck = (checked) => {
100
- if (!props.node.loaded) {
101
- doLoad();
102
- } else {
103
- doCheck(checked);
104
- !checkStrictly.value && doExpand();
5
+ var ExpandTrigger = /* @__PURE__ */ ((ExpandTrigger2) => {
6
+ ExpandTrigger2["CLICK"] = "click";
7
+ ExpandTrigger2["HOVER"] = "hover";
8
+ return ExpandTrigger2;
9
+ })(ExpandTrigger || {});
10
+ let uid = 0;
11
+ const calculatePathNodes = (node) => {
12
+ const nodes = [node];
13
+ let { parent } = node;
14
+ while (parent) {
15
+ nodes.unshift(parent);
16
+ parent = parent.parent;
17
+ }
18
+ return nodes;
19
+ };
20
+ class Node {
21
+ constructor(data, config, parent, root = false) {
22
+ this.data = data;
23
+ this.config = config;
24
+ this.parent = parent;
25
+ this.root = root;
26
+ this.uid = uid++;
27
+ this.checked = false;
28
+ this.indeterminate = false;
29
+ this.loading = false;
30
+ const { value: valueKey, label: labelKey, children: childrenKey } = config;
31
+ const childrenData = data[childrenKey];
32
+ const pathNodes = calculatePathNodes(this);
33
+ this.level = root ? 0 : parent ? parent.level + 1 : 1;
34
+ this.value = data[valueKey];
35
+ this.label = data[labelKey];
36
+ this.pathNodes = pathNodes;
37
+ this.pathValues = pathNodes.map((node) => node.value);
38
+ this.pathLabels = pathNodes.map((node) => node.label);
39
+ this.childrenData = childrenData;
40
+ this.children = (childrenData || []).map((child) => new Node(child, config, this));
41
+ this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData);
42
+ }
43
+ get isDisabled() {
44
+ const { data, parent, config } = this;
45
+ const { disabled, checkStrictly } = config;
46
+ const isDisabled = isFunction(disabled) ? disabled(data, this) : !!data[disabled];
47
+ return isDisabled || !checkStrictly && (parent == null ? void 0 : parent.isDisabled);
48
+ }
49
+ get isLeaf() {
50
+ const { data, config, childrenData, loaded } = this;
51
+ const { lazy, leaf } = config;
52
+ const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf];
53
+ return isUndefined(isLeaf) ? lazy && !loaded ? false : !(Array.isArray(childrenData) && childrenData.length) : !!isLeaf;
54
+ }
55
+ get valueByOption() {
56
+ return this.config.emitPath ? this.pathValues : this.value;
57
+ }
58
+ appendChild(childData) {
59
+ const { childrenData, children } = this;
60
+ const node = new Node(childData, this.config, this);
61
+ if (Array.isArray(childrenData)) {
62
+ childrenData.push(childData);
63
+ } else {
64
+ this.childrenData = [childData];
65
+ }
66
+ children.push(node);
67
+ return node;
68
+ }
69
+ calcText(allLevels, separator) {
70
+ const text = allLevels ? this.pathLabels.join(separator) : this.label;
71
+ this.text = text;
72
+ return text;
73
+ }
74
+ broadcast(event, ...args) {
75
+ const handlerName = `onParent${capitalize(event)}`;
76
+ this.children.forEach((child) => {
77
+ if (child) {
78
+ child.broadcast(event, ...args);
79
+ child[handlerName] && child[handlerName](...args);
105
80
  }
106
- };
107
- return {
108
- panel,
109
- isHoverMenu,
110
- multiple,
111
- checkStrictly,
112
- checkedNodeId,
113
- isDisabled,
114
- isLeaf,
115
- expandable,
116
- inExpandingPath,
117
- inCheckedPath,
118
- ns,
119
- handleHoverExpand,
120
- handleExpand,
121
- handleClick,
122
- handleCheck,
123
- handleSelectCheck
124
- };
81
+ });
82
+ }
83
+ emit(event, ...args) {
84
+ const { parent } = this;
85
+ const handlerName = `onChild${capitalize(event)}`;
86
+ if (parent) {
87
+ parent[handlerName] && parent[handlerName](...args);
88
+ parent.emit(event, ...args);
89
+ }
90
+ }
91
+ onParentCheck(checked) {
92
+ if (!this.isDisabled) {
93
+ this.setCheckState(checked);
94
+ }
95
+ }
96
+ onChildCheck() {
97
+ const { children } = this;
98
+ const validChildren = children.filter((child) => !child.isDisabled);
99
+ const checked = validChildren.length ? validChildren.every((child) => child.checked) : false;
100
+ this.setCheckState(checked);
101
+ }
102
+ setCheckState(checked) {
103
+ const totalNum = this.children.length;
104
+ const checkedNum = this.children.reduce((c, p) => {
105
+ const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;
106
+ return c + num;
107
+ }, 0);
108
+ this.checked = this.loaded && this.children.every((child) => child.loaded && child.checked) && checked;
109
+ this.indeterminate = this.loaded && checkedNum !== totalNum && checkedNum > 0;
110
+ }
111
+ doCheck(checked) {
112
+ if (this.checked === checked)
113
+ return;
114
+ const { checkStrictly, multiple } = this.config;
115
+ if (checkStrictly || !multiple) {
116
+ this.checked = checked;
117
+ } else {
118
+ this.broadcast("check", checked);
119
+ this.setCheckState(checked);
120
+ this.emit("check");
121
+ }
125
122
  }
126
- });
127
- const _hoisted_1 = ["id", "aria-haspopup", "aria-owns", "aria-expanded", "tabindex"];
128
- const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
129
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
130
- const _component_ps_checkbox = resolveComponent("ps-checkbox");
131
- const _component_ps_radio = resolveComponent("ps-radio");
132
- const _component_check = resolveComponent("check");
133
- const _component_ps_icon = resolveComponent("ps-icon");
134
- const _component_node_content = resolveComponent("node-content");
135
- const _component_loading = resolveComponent("loading");
136
- const _component_arrow_right = resolveComponent("arrow-right");
137
- return openBlock(), createElementBlock("li", {
138
- id: `${_ctx.menuId}-${_ctx.node.uid}`,
139
- role: "menuitem",
140
- "aria-haspopup": !_ctx.isLeaf,
141
- "aria-owns": _ctx.isLeaf ? null : _ctx.menuId,
142
- "aria-expanded": _ctx.inExpandingPath,
143
- tabindex: _ctx.expandable ? -1 : void 0,
144
- class: normalizeClass([
145
- _ctx.ns.b(),
146
- _ctx.ns.is("selectable", _ctx.checkStrictly),
147
- _ctx.ns.is("active", _ctx.node.checked),
148
- _ctx.ns.is("disabled", !_ctx.expandable),
149
- _ctx.inExpandingPath && "in-active-path",
150
- _ctx.inCheckedPath && "in-checked-path"
151
- ])
152
- }, [
153
- createCommentVNode(" prefix "),
154
- _ctx.multiple ? (openBlock(), createBlock(_component_ps_checkbox, {
155
- key: 0,
156
- "model-value": _ctx.node.checked,
157
- indeterminate: _ctx.node.indeterminate,
158
- disabled: _ctx.isDisabled
159
- }, null, 8, ["model-value", "indeterminate", "disabled"])) : _ctx.checkStrictly ? (openBlock(), createBlock(_component_ps_radio, {
160
- key: 1,
161
- "model-value": _ctx.checkedNodeId,
162
- label: _ctx.node.uid,
163
- disabled: _ctx.isDisabled
164
- }, {
165
- default: withCtx(() => [
166
- createCommentVNode("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),
167
- _hoisted_2
168
- ]),
169
- _: 1
170
- }, 8, ["model-value", "label", "disabled"])) : _ctx.isLeaf && _ctx.node.checked ? (openBlock(), createBlock(_component_ps_icon, {
171
- key: 2,
172
- class: normalizeClass(_ctx.ns.e("prefix"))
173
- }, {
174
- default: withCtx(() => [
175
- createVNode(_component_check)
176
- ]),
177
- _: 1
178
- }, 8, ["class"])) : createCommentVNode("v-if", true),
179
- createCommentVNode(" content "),
180
- createVNode(_component_node_content),
181
- createCommentVNode(" postfix "),
182
- !_ctx.isLeaf ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
183
- _ctx.node.loading ? (openBlock(), createBlock(_component_ps_icon, {
184
- key: 0,
185
- class: normalizeClass([_ctx.ns.is("loading"), _ctx.ns.e("postfix")])
186
- }, {
187
- default: withCtx(() => [
188
- createVNode(_component_loading)
189
- ]),
190
- _: 1
191
- }, 8, ["class"])) : (openBlock(), createBlock(_component_ps_icon, {
192
- key: 1,
193
- class: normalizeClass(["arrow-right", _ctx.ns.e("postfix")])
194
- }, {
195
- default: withCtx(() => [
196
- createVNode(_component_arrow_right)
197
- ]),
198
- _: 1
199
- }, 8, ["class"]))
200
- ], 2112)) : createCommentVNode("v-if", true)
201
- ], 10, _hoisted_1);
202
123
  }
203
- var PsCascaderNode = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/cascader-panel/src/node.vue"]]);
204
124
 
205
- export { PsCascaderNode as default };
125
+ export { ExpandTrigger, Node as default };
206
126
  //# sourceMappingURL=node2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"node2.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!isLeaf\"\n :aria-owns=\"isLeaf ? null : menuId\"\n :aria-expanded=\"inExpandingPath\"\n :tabindex=\"expandable ? -1 : undefined\"\n :class=\"[\n ns.b(),\n ns.is('selectable', checkStrictly),\n ns.is('active', node.checked),\n ns.is('disabled', !expandable),\n inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n >\n <!-- prefix -->\n <ps-checkbox\n v-if=\"multiple\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"isDisabled\"\n />\n <ps-radio\n v-else-if=\"checkStrictly\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"isDisabled\"\n >\n <!--\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n -->\n <span />\n </ps-radio>\n <ps-icon v-else-if=\"isLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </ps-icon>\n\n <!-- content -->\n <node-content />\n\n <!-- postfix -->\n <template v-if=\"!isLeaf\">\n <ps-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </ps-icon>\n <ps-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </ps-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject } from 'vue'\nimport PsCheckbox from '@element-ps/components/checkbox'\nimport PsRadio from '@element-ps/components/radio'\nimport PsIcon from '@element-ps/components/icon'\nimport { useNamespace } from '@element-ps/hooks'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport NodeContent from './node-content'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as CascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'PsCascaderNode',\n\n components: {\n PsCheckbox,\n PsRadio,\n NodeContent,\n PsIcon,\n Check,\n Loading,\n ArrowRight,\n },\n\n props: {\n node: {\n type: Object as PropType<CascaderNode>,\n required: true,\n },\n menuId: String,\n },\n\n emits: ['expand'],\n\n setup(props, { emit }) {\n const panel = inject(CASCADER_PANEL_INJECTION_KEY)!\n\n const ns = useNamespace('cascader-node')\n const isHoverMenu = computed(() => panel.isHoverMenu)\n const multiple = computed(() => panel.config.multiple)\n const checkStrictly = computed(() => panel.config.checkStrictly)\n const checkedNodeId = computed(() => panel.checkedNodes[0]?.uid)\n const isDisabled = computed(() => props.node.isDisabled)\n const isLeaf = computed(() => props.node.isLeaf)\n const expandable = computed(\n () => (checkStrictly.value && !isLeaf.value) || !isDisabled.value\n )\n const inExpandingPath = computed(() => isInPath(panel.expandingNode!))\n // only useful in check-strictly mode\n const inCheckedPath = computed(\n () => checkStrictly.value && panel.checkedNodes.some(isInPath)\n )\n\n const isInPath = (node: CascaderNode) => {\n const { level, uid } = props.node\n return node?.pathNodes[level - 1]?.uid === uid\n }\n\n const doExpand = () => {\n if (inExpandingPath.value) return\n panel.expandNode(props.node)\n }\n\n const doCheck = (checked: boolean) => {\n const { node } = props\n if (checked === node.checked) return\n panel.handleCheckChange(node, checked)\n }\n\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!isLeaf.value) doExpand()\n })\n }\n\n const handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !isLeaf.value && emit('expand', e)\n }\n\n const handleExpand = () => {\n const { node } = props\n // do not exclude leaf node because the menus expanded might have to reset\n if (!expandable.value || node.loading) return\n node.loaded ? doExpand() : doLoad()\n }\n\n const handleClick = () => {\n if (isHoverMenu.value && !isLeaf.value) return\n\n if (\n isLeaf.value &&\n !isDisabled.value &&\n !checkStrictly.value &&\n !multiple.value\n ) {\n handleCheck(true)\n } else {\n handleExpand()\n }\n }\n\n const handleSelectCheck = (checked: boolean) => {\n if (checkStrictly.value) {\n doCheck(checked)\n if (props.node.loaded) {\n doExpand()\n }\n } else {\n handleCheck(checked)\n }\n }\n\n const handleCheck = (checked: boolean) => {\n if (!props.node.loaded) {\n doLoad()\n } else {\n doCheck(checked)\n !checkStrictly.value && doExpand()\n }\n }\n\n return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createCommentVNode","_createBlock","_createVNode","_createElementBlock","_Fragment"],"mappings":";;;;;;;;;;;AAoEA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,gBAAA;AAAA,EAEN,UAAY,EAAA;AAAA,IACV,UAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,GACF;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,MAAQ,EAAA,MAAA;AAAA,GACV;AAAA,EAEA,KAAA,EAAO,CAAC,QAAQ,CAAA;AAAA,EAEhB,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,KAAA,GAAQ,OAAO,4BAA4B,CAAA,CAAA;AAEjD,IAAM,MAAA,EAAA,GAAK,aAAa,eAAe,CAAA,CAAA;AACvC,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,WAAW,CAAA,CAAA;AACpD,IAAA,MAAM,QAAW,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,QAAQ,CAAA,CAAA;AACrD,IAAA,MAAM,aAAgB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,aAAa,CAAA,CAAA;AAC/D,IAAA,MAAM,gBAAgB,QAAS,CAAA,MAAM;AACrC,MAAA,IAAM,EAAa,CAAA;AACnB,MAAA,OAAe,CAAA,EAAA,GAAA,KAAA,CAAA,YAAe,CAAA,CAAA,CAAM,KAAK,IAAM,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAA;AAC/C,KAAM,CAAA,CAAA;AAGN,IAAA,MAAM,qBAA2B,CAAA,MAAA,KAAM,CAAS,IAAA,CAAA;AAEhD,IAAM,MAAA,MAAA,GAAA,oBACE,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;AAGR,IAAM,MAAA,UAAA,GAAmC,QAAA,CAAA,MAAA,aAAA,CAAA,KAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,CAAA,UAAA,CAAA,KAAA,CAAA,CAAA;AACvC,IAAM,MAAA,eAAS,GAAA,QAAc,CAAA,MAAA,QAAA,CAAA,KAAA,CAAA,aAAA,CAAA,CAAA,CAAA;AAC7B,IAAA,MAAA,aAAa,GAAA,QAAkB,CAAA,MAAI,aAAQ,CAAA,KAAA,IAAA,KAAA,CAAA,YAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,IAC7C,MAAA,QAAA,GAAA,CAAA,IAAA,KAAA;AAEA,MAAA,IAAM;AACJ,MAAA,MAAoB,EAAA,KAAA,EAAA,GAAA,EAAA,GAAA,KAAA,CAAA,IAAA,CAAA;AAAO,MAAA,OAAA,CAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,SAAA,CAAA,KAAA,GAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAA,GAAA,CAAA;AAC3B,KAAM,CAAA;AAAqB,IAC7B,MAAA,QAAA,GAAA,MAAA;AAEA,MAAM,IAAA,eAAgC,CAAA,KAAA;AACpC,QAAA,OAAiB;AACjB,MAAA,gBAAgB,CAAK,KAAA,CAAA,IAAA,CAAA,CAAA;AAAS,KAAA,CAAA;AAC9B,IAAM,MAAA,OAAA,GAAA,CAAA,OAAA;AAA+B,MACvC,MAAA,EAAA,IAAA,EAAA,GAAA,KAAA,CAAA;AAEA,MAAA,IAAM,YAAe,IAAA,CAAA,OAAA;AACnB,QAAM,OAAA;AACJ,MAAA,KAAA,CAAI,iBAAQ,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAO,KAAS,CAAA;AAAA,IAAA,MAC7B,MAAA,GAAA,MAAA;AAAA,MACH,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,IAAA,EAAA,MAAA;AAEA,QAAM,IAAA,CAAA,MAAA,CAAA,KAAA;AACJ,UAAI,QAAa,EAAA,CAAA;AAAO,OAAA,CAAA,CAAA;AACxB,KAAa,CAAA;AACb,IAAA,MAAQ,iBAAc,GAAA,CAAA,CAAA,KAAA;AAAW,MACnC,IAAA,CAAA,WAAA,CAAA,KAAA;AAEA,QAAA;AACE,MAAA,YAAiB,EAAA,CAAA;AAEjB,MAAI,CAAA,MAAY,CAAA,KAAA,IAAA,IAAA,CAAA,QAAc,EAAA,CAAA,CAAA,CAAA;AAAS,KAAA,CAAA;AACvC,IAAK,MAAA,YAAkB,GAAA,MAAA;AAAW,MACpC,MAAA,EAAA,IAAA,EAAA,GAAA,KAAA,CAAA;AAEA,MAAA,IAAM,iBAAoB,IAAA,IAAA,CAAA,OAAA;AACxB,QAAI,OAAA;AAAoC,MAAA,IAAA,CAAA,MAAA,GAAA,QAAA,EAAA,GAAA,MAAA,EAAA,CAAA;AAExC,KACE,CAAA;AAKA,IAAA,MAAA,WAAgB,GAAA,MAAA;AAAA,MAClB,IAAO,WAAA,CAAA,KAAA,IAAA,CAAA,MAAA,CAAA,KAAA;AACL,QAAa,OAAA;AAAA,MACf,IAAA,MAAA,CAAA,KAAA,IAAA,CAAA,UAAA,CAAA,KAAA,IAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,QAAA,CAAA,KAAA,EAAA;AAAA,QACF,WAAA,CAAA,IAAA,CAAA,CAAA;AAEA,OAAM,MAAA;AACJ,QAAA;AACE,OAAA;AACA,KAAI,CAAA;AACF,IAAS,MAAA,iBAAA,GAAA,CAAA,OAAA,KAAA;AAAA,MACX,IAAA,aAAA,CAAA,KAAA,EAAA;AAAA,QACK,OAAA,CAAA,OAAA,CAAA,CAAA;AACL,QAAA,IAAA,KAAA,CAAA,IAAmB,CAAA,MAAA,EAAA;AAAA,UACrB,QAAA,EAAA,CAAA;AAAA,SACF;AAEA,OAAM,MAAA;AACJ,QAAI,WAAO,CAAA,OAAa,CAAA,CAAA;AACtB,OAAO;AAAA,KAAA,CACT;AACE,IAAA,MAAA,WAAe,GAAA,CAAA,OAAA,KAAA;AACf,MAAC,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA;AAAgC,QACnC,MAAA,EAAA,CAAA;AAAA,OACF,MAAA;AAEA,QAAO,OAAA,CAAA,OAAA,CAAA,CAAA;AAAA,QACL,CAAA,aAAA,CAAA,KAAA,IAAA,QAAA,EAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AAAA,IACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,MACA,EAAA;AAAA,MACA,iBAAA;AAAA,MACF,YAAA;AAAA,MACF,WAAA;AACF,MAAC,WAAA;;;;;;;;;;;0BAnJM,GAAAA,gBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,EAlDF,MAAE,uBAAoB,GAAAA,gBAAA,CAAA,cAAA,CAAA,CAAA;AAAA,EAAA,MAClB,kBAAA,GAAAA,gBAAA,CAAA,SAAA,CAAA,CAAA;AAAA,EAAA,4BACY,GAAAA,gBAAA,CAAA,aAAA,CAAA,CAAA;AAAA,EAChB,OAAAC,+BAA2B,CAAA,IAAA,EAAA;AAAA,IAC3B,EAAe,EAAA,CAAA,EAAA,IAAA,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAAA,IACf,IAAA,EAAA;AAA4B,IAC5B,eAAK,EAAA,CAAA,IAAA,CAAA,MAAA;AAAA,IAAA,WAAc,EAAA,IAAA,CAAA,MAAA,GAAA,IAAA,GAAA,IAAA,CAAA,MAAA;AAAA,IAAU,eAAK,EAAA,IAAA,CAAA,eAA4B;AAAA,IAAA,QAAY,EAAA,IAAa,CAAA,UAAA,GAAA,CAAA,CAAA,GAAK,KAAO,CAAA;AAAA,IAAS,KAAA,EAAAC,cAAK,CAAA;AAAwB,MAAS,IAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAAA,MAA4B,IAAa,CAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,IAAA,CAAA,aAAA,CAAA;AAAA,MAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,QAAA,EAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA;;AAS3M,MAAA,IAAA,CAAA,eAAA,IAAA,gBAAA;AAAA,6CAME;AAAA,KAAA,CAAA;AAHC,GAAA,EAAA;AAAkB,IAAAC,kBACE,CAAA,UAAA,CAAA;AAAA,IAAA,IACV,CAAA,QAAA,IAAAF,SAAA,EAAA,EAAAG,WAAA,CAAA,sBAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;AAaF,MAAA,aAAA,EAAA,IAAA,CAAA,IAAA,CAAA,OAAA;MATR,aAAa,EAAA,IAAA,CAAA,IAAA,CAAA,aAAA;AAAA,MACb,QAAY,EAAA,IAAA,CAAA,UAAA;AAAA,KAAA,EACF,IAAA,EAAA,CAAA,EAAA,CAAA,aAAA,EAAA,eAAA,EAAA,UAAA,CAAA,CAAA,IAAA,IAAA,CAAA,aAAA,IAAAH,SAAA,EAAA,EAAAG,WAAA,CAAA,mBAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;yBAKR,CAAA,aAAA;AAAA,MAHH,KAAA,EAAA,IAAA,CAAA,IAAA,CAAA,GAAA;AAAA,MAIA,QAAA,EAAA,IAAA,CAAA,UAAA;AAAA,KAAA,EAAA;;kLAIQ,CAAA;AAAA,QAAA,UAAA;OAFwC,CAAA;AAAM,MAAA,CAAA,EAAA,CAAA;wBACtD,EAAS,OAAA,EAAA,UAAA,CAAA,CAAA,IAAA,IAAA,CAAA,MAAA,IAAA,IAAA,CAAA,IAAA,CAAA,OAAA,IAAAH,SAAA,EAAA,EAAAG,WAAA,CAAA,kBAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;AAAA,MAAA,KAAA,EAAAF,cAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;;;AAGX,QAAAG,WAAA,CAAA,gBAAA,CAAA;AAAA,OACgB,CAAA;AAAA,MAEhB,CAAA,EAAA,CAAA;AAAA,KACiB,qCAON,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,IANMF;AAEL,IAAAE,WAAA,CAAA,uBAAA,CAAA;AAFoB,IAAAF,kBAAQ,CAAA,WAAA,CAAA;AAAsB,IAAA,CAAA,IAAA,CAAA,MAAA,IAAAF,SAAA,EAAA,EAAAK,kBAAA,CAAAC,QAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;2BAC/CN,SAAA,EAAA,EAAAG,WAAA,CAAA,kBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,QAAA,KAAA,EAAAF,cAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA;;;AAIH,UAAAG,WAAA,CAAA,kBAAA,CAAA;SAFY,CAAA;AAAsB,QAAA,CAAA,EAAA,CAAA;2BAC3BJ,SAAA,EAAA,EAAAG,WAAA,CAAA,kBAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,QAAA,KAAA,EAAAF,cAAA,CAAA,CAAA,aAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"node2.mjs","sources":["../../../../../../packages/components/cascader-panel/src/node.ts"],"sourcesContent":["import { isFunction } from '@vue/shared'\nimport { capitalize, isEmpty, isUndefined } from '@element-ps/utils'\nimport type { VNode } from 'vue'\n\nexport type CascaderNodeValue = string | number\nexport type CascaderNodePathValue = CascaderNodeValue[]\nexport type CascaderValue =\n | CascaderNodeValue\n | CascaderNodePathValue\n | (CascaderNodeValue | CascaderNodePathValue)[]\nexport type CascaderConfig = Required<CascaderProps>\nexport enum ExpandTrigger {\n CLICK = 'click',\n HOVER = 'hover',\n}\nexport type isDisabled = (data: CascaderOption, node: Node) => boolean\nexport type isLeaf = (data: CascaderOption, node: Node) => boolean\nexport type Resolve = (dataList?: CascaderOption[]) => void\nexport type LazyLoad = (node: Node, resolve: Resolve) => void\nexport type RenderLabel = ({\n node: Node,\n data: CascaderOption,\n}) => VNode | VNode[]\nexport interface CascaderOption extends Record<string, unknown> {\n label?: string\n value?: CascaderNodeValue\n children?: CascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface CascaderProps {\n expandTrigger?: ExpandTrigger\n multiple?: boolean\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: LazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | isDisabled\n leaf?: string | isLeaf\n hoverThreshold?: number\n}\n\nexport type Nullable<T> = null | T\n\ntype ChildrenData = CascaderOption[] | undefined\n\nlet uid = 0\n\nconst calculatePathNodes = (node: Node) => {\n const nodes = [node]\n let { parent } = node\n\n while (parent) {\n nodes.unshift(parent)\n parent = parent.parent\n }\n\n return nodes\n}\n\nclass Node {\n readonly uid: number = uid++\n readonly level: number\n readonly value: CascaderNodeValue\n readonly label: string\n readonly pathNodes: Node[]\n readonly pathValues: CascaderNodePathValue\n readonly pathLabels: string[]\n\n childrenData: ChildrenData\n children: Node[]\n text: string\n loaded: boolean\n checked = false\n indeterminate = false\n loading = false\n\n constructor(\n readonly data: Nullable<CascaderOption>,\n readonly config: CascaderConfig,\n readonly parent?: Node,\n readonly root = false\n ) {\n const { value: valueKey, label: labelKey, children: childrenKey } = config\n\n const childrenData = data[childrenKey] as ChildrenData\n const pathNodes = calculatePathNodes(this)\n\n this.level = root ? 0 : parent ? parent.level + 1 : 1\n this.value = data[valueKey] as CascaderNodeValue\n this.label = data[labelKey] as string\n this.pathNodes = pathNodes\n this.pathValues = pathNodes.map((node) => node.value)\n this.pathLabels = pathNodes.map((node) => node.label)\n this.childrenData = childrenData\n this.children = (childrenData || []).map(\n (child) => new Node(child, config, this)\n )\n this.loaded = !config.lazy || this.isLeaf || !isEmpty(childrenData)\n }\n\n get isDisabled(): boolean {\n const { data, parent, config } = this\n const { disabled, checkStrictly } = config\n const isDisabled = isFunction(disabled)\n ? disabled(data, this)\n : !!data[disabled]\n return isDisabled || (!checkStrictly && parent?.isDisabled)\n }\n\n get isLeaf(): boolean {\n const { data, config, childrenData, loaded } = this\n const { lazy, leaf } = config\n const isLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf]\n\n return isUndefined(isLeaf)\n ? lazy && !loaded\n ? false\n : !(Array.isArray(childrenData) && childrenData.length)\n : !!isLeaf\n }\n\n get valueByOption() {\n return this.config.emitPath ? this.pathValues : this.value\n }\n\n appendChild(childData: CascaderOption) {\n const { childrenData, children } = this\n const node = new Node(childData, this.config, this)\n\n if (Array.isArray(childrenData)) {\n childrenData.push(childData)\n } else {\n this.childrenData = [childData]\n }\n\n children.push(node)\n\n return node\n }\n\n calcText(allLevels: boolean, separator: string) {\n const text = allLevels ? this.pathLabels.join(separator) : this.label\n this.text = text\n return text\n }\n\n broadcast(event: string, ...args: unknown[]) {\n const handlerName = `onParent${capitalize(event)}`\n this.children.forEach((child) => {\n if (child) {\n // bottom up\n child.broadcast(event, ...args)\n child[handlerName] && child[handlerName](...args)\n }\n })\n }\n\n emit(event: string, ...args: unknown[]) {\n const { parent } = this\n const handlerName = `onChild${capitalize(event)}`\n if (parent) {\n parent[handlerName] && parent[handlerName](...args)\n parent.emit(event, ...args)\n }\n }\n\n onParentCheck(checked: boolean) {\n if (!this.isDisabled) {\n this.setCheckState(checked)\n }\n }\n\n onChildCheck() {\n const { children } = this\n const validChildren = children.filter((child) => !child.isDisabled)\n const checked = validChildren.length\n ? validChildren.every((child) => child.checked)\n : false\n\n this.setCheckState(checked)\n }\n\n setCheckState(checked: boolean) {\n const totalNum = this.children.length\n const checkedNum = this.children.reduce((c, p) => {\n const num = p.checked ? 1 : p.indeterminate ? 0.5 : 0\n return c + num\n }, 0)\n\n this.checked =\n this.loaded &&\n this.children.every((child) => child.loaded && child.checked) &&\n checked\n this.indeterminate =\n this.loaded && checkedNum !== totalNum && checkedNum > 0\n }\n\n doCheck(checked: boolean) {\n if (this.checked === checked) return\n\n const { checkStrictly, multiple } = this.config\n\n if (checkStrictly || !multiple) {\n this.checked = checked\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked)\n this.setCheckState(checked)\n this.emit('check')\n }\n }\n}\n\nexport default Node\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isEqual } from 'lodash-unified';
2
- import Node from './node.mjs';
2
+ import Node from './node2.mjs';
3
3
 
4
4
  const flatNodes = (nodes, leafOnly) => {
5
5
  return nodes.reduce((res, node) => {
@@ -1,7 +1,7 @@
1
1
  import '../../utils/index.mjs';
2
- import Collapse from './src/collapse.mjs';
2
+ import Collapse from './src/collapse2.mjs';
3
3
  import CollapseItem from './src/collapse-item.mjs';
4
- export { collapseEmits, collapseProps, emitChangeFn } from './src/collapse2.mjs';
4
+ export { collapseEmits, collapseProps, emitChangeFn } from './src/collapse.mjs';
5
5
  export { collapseItemProps } from './src/collapse-item2.mjs';
6
6
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
7
7
 
@@ -1,69 +1,22 @@
1
- import { defineComponent, ref, watch, provide, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
2
1
  import '../../../utils/index.mjs';
3
2
  import '../../../constants/index.mjs';
4
- import '../../../hooks/index.mjs';
5
- import '../../../tokens/index.mjs';
6
- import { collapseProps, collapseEmits } from './collapse2.mjs';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
- import { castArray } from 'lodash-unified';
3
+ import { isNumber } from '@vueuse/core';
4
+ import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
5
+ import { mutable } from '../../../utils/typescript.mjs';
10
6
  import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
11
- import { collapseContextKey } from '../../../tokens/collapse.mjs';
12
7
 
13
- const __default__ = {
14
- name: "PsCollapse"
15
- };
16
- const _sfc_main = /* @__PURE__ */ defineComponent({
17
- ...__default__,
18
- props: collapseProps,
19
- emits: collapseEmits,
20
- setup(__props, { expose, emit }) {
21
- const props = __props;
22
- const ns = useNamespace("collapse");
23
- const activeNames = ref(castArray(props.modelValue));
24
- const setActiveNames = (_activeNames) => {
25
- activeNames.value = _activeNames;
26
- const value = props.accordion ? activeNames.value[0] : activeNames.value;
27
- emit(UPDATE_MODEL_EVENT, value);
28
- emit(CHANGE_EVENT, value);
29
- };
30
- const handleItemClick = (name) => {
31
- if (props.accordion) {
32
- setActiveNames([
33
- (activeNames.value[0] || activeNames.value[0] === 0) && activeNames.value[0] === name ? "" : name
34
- ]);
35
- } else {
36
- const _activeNames = [...activeNames.value];
37
- const index = _activeNames.indexOf(name);
38
- if (index > -1) {
39
- _activeNames.splice(index, 1);
40
- } else {
41
- _activeNames.push(name);
42
- }
43
- setActiveNames(_activeNames);
44
- }
45
- };
46
- watch(() => props.modelValue, () => activeNames.value = castArray(props.modelValue), { deep: true });
47
- provide(collapseContextKey, {
48
- activeNames,
49
- handleItemClick
50
- });
51
- expose({
52
- activeNames,
53
- setActiveNames
54
- });
55
- return (_ctx, _cache) => {
56
- return openBlock(), createElementBlock("div", {
57
- class: normalizeClass(unref(ns).b()),
58
- role: "tablist",
59
- "aria-multiselectable": "true"
60
- }, [
61
- renderSlot(_ctx.$slots, "default")
62
- ], 2);
63
- };
8
+ const emitChangeFn = (value) => typeof isNumber(value);
9
+ const collapseProps = buildProps({
10
+ accordion: Boolean,
11
+ modelValue: {
12
+ type: definePropType([Array, String, Number]),
13
+ default: () => mutable([])
64
14
  }
65
15
  });
66
- var Collapse = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/meng/workspace/element-ps/packages/components/collapse/src/collapse.vue"]]);
16
+ const collapseEmits = {
17
+ [UPDATE_MODEL_EVENT]: emitChangeFn,
18
+ [CHANGE_EVENT]: emitChangeFn
19
+ };
67
20
 
68
- export { Collapse as default };
21
+ export { collapseEmits, collapseProps, emitChangeFn };
69
22
  //# sourceMappingURL=collapse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.mjs","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\" role=\"tablist\" aria-multiselectable=\"true\">\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { provide, ref, watch } from 'vue'\nimport { ensureArray } from '@element-ps/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-ps/constants'\nimport { useNamespace } from '@element-ps/hooks'\nimport { collapseContextKey } from '@element-ps/tokens'\nimport { collapseEmits, collapseProps } from './collapse'\nimport type { CollapseActiveName } from './collapse'\n\ndefineOptions({\n name: 'PsCollapse',\n})\nconst props = defineProps(collapseProps)\nconst emit = defineEmits(collapseEmits)\n\nconst ns = useNamespace('collapse')\nconst activeNames = ref(ensureArray(props.modelValue))\n\nconst setActiveNames = (_activeNames: CollapseActiveName[]) => {\n activeNames.value = _activeNames\n const value = props.accordion ? activeNames.value[0] : activeNames.value\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n}\n\nconst handleItemClick = (name: CollapseActiveName) => {\n if (props.accordion) {\n setActiveNames([\n (activeNames.value[0] || activeNames.value[0] === 0) &&\n activeNames.value[0] === name\n ? ''\n : name,\n ])\n } else {\n const _activeNames = [...activeNames.value]\n const index = _activeNames.indexOf(name)\n\n if (index > -1) {\n _activeNames.splice(index, 1)\n } else {\n _activeNames.push(name)\n }\n setActiveNames(_activeNames)\n }\n}\n\nwatch(\n () => props.modelValue,\n () => (activeNames.value = ensureArray(props.modelValue)),\n { deep: true }\n)\n\nprovide(collapseContextKey, {\n activeNames,\n handleItemClick,\n})\n\ndefineExpose({\n /** @description active names */\n activeNames,\n /** @description set active names */\n setActiveNames,\n})\n</script>\n"],"names":["ensureArray"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAA,EAAA,GAAA,aAAA,UAAA,CAAA,CAAA;AACA,IAAA,MAAA,WAAA,GAAA,GAAA,CAAAA,SAAA,CAAA,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAA,CAAA,YAAA,KAAA;AACA,MAAA,WAAA,CAAA,KAAA,GAAA,YAAA,CAAA;AACA,MAAA,MAAA,QAAA,KAAA,CAAA,SAAA,GAAA,WAAA,CAAA,KAAA,CAAA,KAAA,WAAA,CAAA,KAAA,CAAA;AACA,MAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA;AACA,MAAA,IAAA,CAAA,cAAA,KAAA,CAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,MAAA,eAAA,GAAA,CAAA,IAAA,KAAA;AACA,MAAA,IAAA,MAAA,SAAA,EAAA;AACA,QAAA,cAAA,CAAA;AAAA,UACA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA,CAAA,IAAA,WAAA,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA,CAAA,KACA,WAAA,CAAA,KAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GACA,EACA,GAAA,IAAA;AAAA,SACA,CAAA,CAAA;AAAA,OACA,MAAA;AACA,QAAA,MAAA,YAAA,GAAA,CAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA,KAAA,GAAA,YAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAEA,QAAA,IAAA,QAAA,CAAA,CAAA,EAAA;AACA,UAAA,YAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SACA,MAAA;AACA,UAAA,YAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AAAA,SACA;AACA,QAAA,cAAA,CAAA,YAAA,CAAA,CAAA;AAAA,OACA;AAAA,KACA,CAAA;AAEA,IAAA,KAAA,CACA,MAAA,KAAA,CAAA,UACA,EAAA,MAAA,WAAA,CAAA,KAAA,GAAAA,SAAA,CAAA,KAAA,CAAA,UAAA,CAAA,EACA,EAAA,IAAA,EAAA,MACA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,kBAAA,EAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,WAAA;AAAA,MAEA,cAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"collapse.mjs","sources":["../../../../../../packages/components/collapse/src/collapse.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n isString,\n mutable,\n} from '@element-ps/utils'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-ps/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Collapse from './collapse.vue'\nimport type { Arrayable } from '@element-ps/utils'\n\nexport type CollapseActiveName = string | number\nexport type CollapseModelValue = Arrayable<CollapseActiveName>\n\nexport const emitChangeFn = (value: CollapseModelValue) =>\n typeof isNumber(value) || isString(value) || Array.isArray(value)\n\nexport const collapseProps = buildProps({\n accordion: Boolean,\n modelValue: {\n type: definePropType<CollapseModelValue>([Array, String, Number]),\n default: () => mutable([] as const),\n },\n} as const)\nexport type CollapseProps = ExtractPropTypes<typeof collapseProps>\n\nexport const collapseEmits = {\n [UPDATE_MODEL_EVENT]: emitChangeFn,\n [CHANGE_EVENT]: emitChangeFn,\n}\nexport type CollapseEmits = typeof collapseEmits\n\nexport type CollapseInstance = InstanceType<typeof Collapse>\n"],"names":[],"mappings":";;;;;;;AAOY,MAAC,YAAY,GAAG,CAAC,KAAK,KAAK,OAAO,QAAQ,CAAC,KAAK,EAAE;AAClD,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACjD,IAAI,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAAC,kBAAkB,GAAG,YAAY;AACpC,EAAE,CAAC,YAAY,GAAG,YAAY;AAC9B;;;;"}