element-ps 2.0.10 → 2.0.11

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 (440) hide show
  1. package/dist/index.full.js +89 -87
  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 +89 -87
  7. package/es/components/affix/index.mjs +2 -2
  8. package/es/components/affix/src/affix.mjs +19 -82
  9. package/es/components/affix/src/affix.mjs.map +1 -1
  10. package/es/components/affix/src/affix2.mjs +82 -19
  11. package/es/components/affix/src/affix2.mjs.map +1 -1
  12. package/es/components/alert/index.d.ts +2 -2
  13. package/es/components/alert/src/alert.vue.d.ts +2 -2
  14. package/es/components/autocomplete/index.d.ts +177 -93
  15. package/es/components/autocomplete/src/autocomplete.vue.d.ts +177 -93
  16. package/es/components/badge/index.mjs +2 -2
  17. package/es/components/badge/src/badge.mjs +54 -17
  18. package/es/components/badge/src/badge.mjs.map +1 -1
  19. package/es/components/badge/src/badge2.mjs +17 -54
  20. package/es/components/badge/src/badge2.mjs.map +1 -1
  21. package/es/components/breadcrumb/index.mjs +2 -2
  22. package/es/components/breadcrumb/src/breadcrumb.mjs +37 -12
  23. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  24. package/es/components/breadcrumb/src/breadcrumb2.mjs +12 -37
  25. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  26. package/es/components/cascader/index.d.ts +338 -170
  27. package/es/components/cascader/src/index.mjs +1 -1
  28. package/es/components/cascader/src/index.vue.d.ts +169 -85
  29. package/es/components/cascader-panel/src/config.mjs +1 -1
  30. package/es/components/cascader-panel/src/index.mjs +1 -1
  31. package/es/components/cascader-panel/src/menu.mjs +1 -1
  32. package/es/components/cascader-panel/src/node.mjs +120 -138
  33. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  34. package/es/components/cascader-panel/src/node2.mjs +138 -120
  35. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  36. package/es/components/cascader-panel/src/store.mjs +1 -1
  37. package/es/components/collapse/index.mjs +4 -4
  38. package/es/components/collapse/src/collapse-item.mjs +91 -12
  39. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  40. package/es/components/collapse/src/collapse-item2.mjs +12 -91
  41. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  42. package/es/components/collapse/src/collapse.mjs +14 -61
  43. package/es/components/collapse/src/collapse.mjs.map +1 -1
  44. package/es/components/collapse/src/collapse2.mjs +61 -14
  45. package/es/components/collapse/src/collapse2.mjs.map +1 -1
  46. package/es/components/date-picker/index.d.ts +8 -8
  47. package/es/components/date-picker/src/date-picker.d.ts +4 -4
  48. package/es/components/descriptions/index.d.ts +2 -2
  49. package/es/components/descriptions/src/index.vue.d.ts +2 -2
  50. package/es/components/dialog/index.d.ts +1 -1
  51. package/es/components/dialog/index.mjs +2 -2
  52. package/es/components/dialog/src/dialog-content.mjs +72 -31
  53. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  54. package/es/components/dialog/src/dialog-content.vue.d.ts +1 -1
  55. package/es/components/dialog/src/dialog-content2.mjs +31 -72
  56. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  57. package/es/components/dialog/src/dialog.mjs +96 -58
  58. package/es/components/dialog/src/dialog.mjs.map +1 -1
  59. package/es/components/dialog/src/dialog.vue.d.ts +1 -1
  60. package/es/components/dialog/src/dialog2.mjs +58 -96
  61. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  62. package/es/components/drawer/index.d.ts +1 -1
  63. package/es/components/drawer/index.mjs +2 -2
  64. package/es/components/drawer/src/drawer.mjs +118 -20
  65. package/es/components/drawer/src/drawer.mjs.map +1 -1
  66. package/es/components/drawer/src/drawer.vue.d.ts +1 -1
  67. package/es/components/drawer/src/drawer2.mjs +20 -118
  68. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  69. package/es/components/dropdown/index.d.ts +5 -5
  70. package/es/components/dropdown/index.mjs +2 -2
  71. package/es/components/dropdown/src/dropdown-item-impl.mjs +2 -2
  72. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  73. package/es/components/dropdown/src/dropdown-menu.mjs +2 -2
  74. package/es/components/dropdown/src/dropdown.d.ts +1 -1
  75. package/es/components/dropdown/src/dropdown.mjs +109 -100
  76. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  77. package/es/components/dropdown/src/dropdown.vue.d.ts +5 -5
  78. package/es/components/dropdown/src/dropdown2.mjs +100 -109
  79. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  80. package/es/components/icon/index.mjs +2 -2
  81. package/es/components/icon/src/icon.mjs +35 -8
  82. package/es/components/icon/src/icon.mjs.map +1 -1
  83. package/es/components/icon/src/icon2.mjs +8 -35
  84. package/es/components/icon/src/icon2.mjs.map +1 -1
  85. package/es/components/image/index.mjs +2 -2
  86. package/es/components/image/src/image.mjs +50 -158
  87. package/es/components/image/src/image.mjs.map +1 -1
  88. package/es/components/image/src/image2.mjs +158 -50
  89. package/es/components/image/src/image2.mjs.map +1 -1
  90. package/es/components/index.mjs +26 -26
  91. package/es/components/input/index.d.ts +95 -42
  92. package/es/components/input/index.mjs +2 -2
  93. package/es/components/input/src/input.mjs +294 -82
  94. package/es/components/input/src/input.mjs.map +1 -1
  95. package/es/components/input/src/input.vue.d.ts +95 -42
  96. package/es/components/input/src/input2.mjs +82 -292
  97. package/es/components/input/src/input2.mjs.map +1 -1
  98. package/es/components/input-number/index.d.ts +190 -84
  99. package/es/components/input-number/index.mjs +2 -2
  100. package/es/components/input-number/src/input-number.mjs +46 -171
  101. package/es/components/input-number/src/input-number.mjs.map +1 -1
  102. package/es/components/input-number/src/input-number.vue.d.ts +190 -84
  103. package/es/components/input-number/src/input-number2.mjs +171 -46
  104. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  105. package/es/components/menu/index.d.ts +3 -3
  106. package/es/components/menu/index.mjs +2 -2
  107. package/es/components/menu/src/menu-item-group.mjs +4 -56
  108. package/es/components/menu/src/menu-item-group.mjs.map +1 -1
  109. package/es/components/menu/src/menu-item-group2.mjs +56 -4
  110. package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
  111. package/es/components/menu/src/menu.d.ts +4 -4
  112. package/es/components/popconfirm/index.d.ts +1 -1
  113. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  114. package/es/components/popover/index.d.ts +10 -10
  115. package/es/components/popover/src/index.vue.d.ts +5 -5
  116. package/es/components/popover/src/popover.d.ts +1 -1
  117. package/es/components/popover/src/popover.mjs +1 -1
  118. package/es/components/popper/index.mjs +2 -2
  119. package/es/components/popper/src/arrow.mjs +31 -7
  120. package/es/components/popper/src/arrow.mjs.map +1 -1
  121. package/es/components/popper/src/arrow2.mjs +7 -31
  122. package/es/components/popper/src/arrow2.mjs.map +1 -1
  123. package/es/components/popper/src/content.vue.d.ts +1 -1
  124. package/es/components/progress/index.mjs +2 -2
  125. package/es/components/progress/src/progress.mjs +230 -57
  126. package/es/components/progress/src/progress.mjs.map +1 -1
  127. package/es/components/progress/src/progress2.mjs +57 -230
  128. package/es/components/progress/src/progress2.mjs.map +1 -1
  129. package/es/components/radio/index.mjs +6 -6
  130. package/es/components/radio/src/radio-button.mjs +9 -80
  131. package/es/components/radio/src/radio-button.mjs.map +1 -1
  132. package/es/components/radio/src/radio-button2.mjs +80 -9
  133. package/es/components/radio/src/radio-button2.mjs.map +1 -1
  134. package/es/components/radio/src/radio-group.mjs +37 -18
  135. package/es/components/radio/src/radio-group.mjs.map +1 -1
  136. package/es/components/radio/src/radio-group2.mjs +18 -37
  137. package/es/components/radio/src/radio-group2.mjs.map +1 -1
  138. package/es/components/radio/src/radio.mjs +74 -67
  139. package/es/components/radio/src/radio.mjs.map +1 -1
  140. package/es/components/radio/src/radio2.mjs +67 -74
  141. package/es/components/radio/src/radio2.mjs.map +1 -1
  142. package/es/components/rate/index.mjs +2 -2
  143. package/es/components/rate/src/rate.mjs +84 -169
  144. package/es/components/rate/src/rate.mjs.map +1 -1
  145. package/es/components/rate/src/rate2.mjs +169 -84
  146. package/es/components/rate/src/rate2.mjs.map +1 -1
  147. package/es/components/result/index.mjs +2 -2
  148. package/es/components/result/src/result.mjs +73 -28
  149. package/es/components/result/src/result.mjs.map +1 -1
  150. package/es/components/result/src/result2.mjs +28 -73
  151. package/es/components/result/src/result2.mjs.map +1 -1
  152. package/es/components/roving-focus-group/index.mjs +3 -3
  153. package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
  154. package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -29
  155. package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
  156. package/es/components/roving-focus-group/src/roving-focus-group2.mjs +29 -27
  157. package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
  158. package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
  159. package/es/components/row/index.d.ts +3 -3
  160. package/es/components/row/src/row.d.ts +4 -4
  161. package/es/components/select/index.d.ts +11 -11
  162. package/es/components/select/src/select.mjs +1 -1
  163. package/es/components/select/src/select.vue.d.ts +11 -11
  164. package/es/components/select/src/useSelect.d.ts +8 -8
  165. package/es/components/select-v2/index.d.ts +22 -22
  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 +11 -11
  168. package/es/components/select-v2/src/useSelect.d.ts +8 -8
  169. package/es/components/skeleton/index.mjs +2 -2
  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/skeleton2.mjs +1 -1
  175. package/es/components/space/index.d.ts +1 -1
  176. package/es/components/space/src/space.d.ts +1 -1
  177. package/es/components/switch/index.d.ts +1 -1
  178. package/es/components/switch/src/switch.vue.d.ts +1 -1
  179. package/es/components/table/index.d.ts +2 -2
  180. package/es/components/table/src/filter-panel.vue.d.ts +8 -8
  181. package/es/components/table/src/table.vue.d.ts +2 -2
  182. package/es/components/tabs/index.mjs +1 -1
  183. package/es/components/tabs/src/tab-bar.mjs +76 -7
  184. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  185. package/es/components/tabs/src/tab-bar2.mjs +7 -76
  186. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  187. package/es/components/tabs/src/tab-nav.mjs +1 -1
  188. package/es/components/tag/index.mjs +2 -2
  189. package/es/components/tag/src/tag.mjs +81 -33
  190. package/es/components/tag/src/tag.mjs.map +1 -1
  191. package/es/components/tag/src/tag2.mjs +33 -81
  192. package/es/components/tag/src/tag2.mjs.map +1 -1
  193. package/es/components/time-picker/index.d.ts +8 -8
  194. package/es/components/time-picker/src/common/picker.vue.d.ts +12 -12
  195. package/es/components/time-picker/src/time-picker.d.ts +4 -4
  196. package/es/components/time-select/index.d.ts +8 -8
  197. package/es/components/time-select/src/time-select.vue.d.ts +4 -4
  198. package/es/components/timeline/index.mjs +2 -2
  199. package/es/components/timeline/src/timeline-item.mjs +73 -39
  200. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  201. package/es/components/timeline/src/timeline-item2.mjs +39 -73
  202. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  203. package/es/components/tooltip/index.d.ts +4 -4
  204. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  205. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  206. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  207. package/es/components/tooltip/src/trigger.vue.d.ts +3 -3
  208. package/es/components/tooltip-v2/index.d.ts +6 -6
  209. package/es/components/tooltip-v2/index.mjs +2 -2
  210. package/es/components/tooltip-v2/src/content.vue.d.ts +1 -1
  211. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  212. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  213. package/es/components/tooltip-v2/src/tooltip.vue.d.ts +6 -6
  214. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  215. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  216. package/es/components/upload/index.mjs +1 -1
  217. package/es/components/upload/src/upload-content.mjs +1 -1
  218. package/es/components/upload/src/upload-dragger.mjs +32 -11
  219. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  220. package/es/components/upload/src/upload-dragger2.mjs +11 -32
  221. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  222. package/es/index.mjs +26 -26
  223. package/lib/components/affix/index.js +2 -2
  224. package/lib/components/affix/src/affix.js +19 -82
  225. package/lib/components/affix/src/affix.js.map +1 -1
  226. package/lib/components/affix/src/affix2.js +82 -19
  227. package/lib/components/affix/src/affix2.js.map +1 -1
  228. package/lib/components/alert/index.d.ts +2 -2
  229. package/lib/components/alert/src/alert.vue.d.ts +2 -2
  230. package/lib/components/autocomplete/index.d.ts +177 -93
  231. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +177 -93
  232. package/lib/components/badge/index.js +2 -2
  233. package/lib/components/badge/src/badge.js +54 -17
  234. package/lib/components/badge/src/badge.js.map +1 -1
  235. package/lib/components/badge/src/badge2.js +17 -54
  236. package/lib/components/badge/src/badge2.js.map +1 -1
  237. package/lib/components/breadcrumb/index.js +2 -2
  238. package/lib/components/breadcrumb/src/breadcrumb.js +37 -12
  239. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  240. package/lib/components/breadcrumb/src/breadcrumb2.js +12 -37
  241. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  242. package/lib/components/cascader/index.d.ts +338 -170
  243. package/lib/components/cascader/src/index.js +1 -1
  244. package/lib/components/cascader/src/index.vue.d.ts +169 -85
  245. package/lib/components/cascader-panel/src/config.js +1 -1
  246. package/lib/components/cascader-panel/src/index.js +1 -1
  247. package/lib/components/cascader-panel/src/menu.js +1 -1
  248. package/lib/components/cascader-panel/src/node.js +121 -138
  249. package/lib/components/cascader-panel/src/node.js.map +1 -1
  250. package/lib/components/cascader-panel/src/node2.js +138 -121
  251. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  252. package/lib/components/cascader-panel/src/store.js +1 -1
  253. package/lib/components/collapse/index.js +4 -4
  254. package/lib/components/collapse/src/collapse-item.js +91 -12
  255. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  256. package/lib/components/collapse/src/collapse-item2.js +12 -91
  257. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  258. package/lib/components/collapse/src/collapse.js +16 -61
  259. package/lib/components/collapse/src/collapse.js.map +1 -1
  260. package/lib/components/collapse/src/collapse2.js +61 -16
  261. package/lib/components/collapse/src/collapse2.js.map +1 -1
  262. package/lib/components/date-picker/index.d.ts +8 -8
  263. package/lib/components/date-picker/src/date-picker.d.ts +4 -4
  264. package/lib/components/descriptions/index.d.ts +2 -2
  265. package/lib/components/descriptions/src/index.vue.d.ts +2 -2
  266. package/lib/components/dialog/index.d.ts +1 -1
  267. package/lib/components/dialog/index.js +2 -2
  268. package/lib/components/dialog/src/dialog-content.js +71 -30
  269. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  270. package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -1
  271. package/lib/components/dialog/src/dialog-content2.js +30 -71
  272. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  273. package/lib/components/dialog/src/dialog.js +96 -58
  274. package/lib/components/dialog/src/dialog.js.map +1 -1
  275. package/lib/components/dialog/src/dialog.vue.d.ts +1 -1
  276. package/lib/components/dialog/src/dialog2.js +58 -96
  277. package/lib/components/dialog/src/dialog2.js.map +1 -1
  278. package/lib/components/drawer/index.d.ts +1 -1
  279. package/lib/components/drawer/index.js +2 -2
  280. package/lib/components/drawer/src/drawer.js +118 -20
  281. package/lib/components/drawer/src/drawer.js.map +1 -1
  282. package/lib/components/drawer/src/drawer.vue.d.ts +1 -1
  283. package/lib/components/drawer/src/drawer2.js +20 -118
  284. package/lib/components/drawer/src/drawer2.js.map +1 -1
  285. package/lib/components/dropdown/index.d.ts +5 -5
  286. package/lib/components/dropdown/index.js +2 -2
  287. package/lib/components/dropdown/src/dropdown-item-impl.js +2 -2
  288. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  289. package/lib/components/dropdown/src/dropdown-menu.js +2 -2
  290. package/lib/components/dropdown/src/dropdown.d.ts +1 -1
  291. package/lib/components/dropdown/src/dropdown.js +109 -109
  292. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  293. package/lib/components/dropdown/src/dropdown.vue.d.ts +5 -5
  294. package/lib/components/dropdown/src/dropdown2.js +109 -109
  295. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  296. package/lib/components/icon/index.js +2 -2
  297. package/lib/components/icon/src/icon.js +35 -8
  298. package/lib/components/icon/src/icon.js.map +1 -1
  299. package/lib/components/icon/src/icon2.js +8 -35
  300. package/lib/components/icon/src/icon2.js.map +1 -1
  301. package/lib/components/image/index.js +2 -2
  302. package/lib/components/image/src/image.js +50 -158
  303. package/lib/components/image/src/image.js.map +1 -1
  304. package/lib/components/image/src/image2.js +158 -50
  305. package/lib/components/image/src/image2.js.map +1 -1
  306. package/lib/components/index.js +26 -26
  307. package/lib/components/input/index.d.ts +95 -42
  308. package/lib/components/input/index.js +2 -2
  309. package/lib/components/input/src/input.js +293 -81
  310. package/lib/components/input/src/input.js.map +1 -1
  311. package/lib/components/input/src/input.vue.d.ts +95 -42
  312. package/lib/components/input/src/input2.js +81 -291
  313. package/lib/components/input/src/input2.js.map +1 -1
  314. package/lib/components/input-number/index.d.ts +190 -84
  315. package/lib/components/input-number/index.js +2 -2
  316. package/lib/components/input-number/src/input-number.js +46 -171
  317. package/lib/components/input-number/src/input-number.js.map +1 -1
  318. package/lib/components/input-number/src/input-number.vue.d.ts +190 -84
  319. package/lib/components/input-number/src/input-number2.js +171 -46
  320. package/lib/components/input-number/src/input-number2.js.map +1 -1
  321. package/lib/components/menu/index.d.ts +3 -3
  322. package/lib/components/menu/index.js +2 -2
  323. package/lib/components/menu/src/menu-item-group.js +4 -56
  324. package/lib/components/menu/src/menu-item-group.js.map +1 -1
  325. package/lib/components/menu/src/menu-item-group2.js +56 -4
  326. package/lib/components/menu/src/menu-item-group2.js.map +1 -1
  327. package/lib/components/menu/src/menu.d.ts +4 -4
  328. package/lib/components/popconfirm/index.d.ts +1 -1
  329. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  330. package/lib/components/popover/index.d.ts +10 -10
  331. package/lib/components/popover/src/index.vue.d.ts +5 -5
  332. package/lib/components/popover/src/popover.d.ts +1 -1
  333. package/lib/components/popover/src/popover.js +1 -1
  334. package/lib/components/popper/index.js +2 -2
  335. package/lib/components/popper/src/arrow.js +31 -7
  336. package/lib/components/popper/src/arrow.js.map +1 -1
  337. package/lib/components/popper/src/arrow2.js +7 -31
  338. package/lib/components/popper/src/arrow2.js.map +1 -1
  339. package/lib/components/popper/src/content.vue.d.ts +1 -1
  340. package/lib/components/progress/index.js +2 -2
  341. package/lib/components/progress/src/progress.js +230 -57
  342. package/lib/components/progress/src/progress.js.map +1 -1
  343. package/lib/components/progress/src/progress2.js +57 -230
  344. package/lib/components/progress/src/progress2.js.map +1 -1
  345. package/lib/components/radio/index.js +6 -6
  346. package/lib/components/radio/src/radio-button.js +9 -80
  347. package/lib/components/radio/src/radio-button.js.map +1 -1
  348. package/lib/components/radio/src/radio-button2.js +80 -9
  349. package/lib/components/radio/src/radio-button2.js.map +1 -1
  350. package/lib/components/radio/src/radio-group.js +37 -18
  351. package/lib/components/radio/src/radio-group.js.map +1 -1
  352. package/lib/components/radio/src/radio-group2.js +18 -37
  353. package/lib/components/radio/src/radio-group2.js.map +1 -1
  354. package/lib/components/radio/src/radio.js +73 -69
  355. package/lib/components/radio/src/radio.js.map +1 -1
  356. package/lib/components/radio/src/radio2.js +69 -73
  357. package/lib/components/radio/src/radio2.js.map +1 -1
  358. package/lib/components/rate/index.js +2 -2
  359. package/lib/components/rate/src/rate.js +84 -169
  360. package/lib/components/rate/src/rate.js.map +1 -1
  361. package/lib/components/rate/src/rate2.js +169 -84
  362. package/lib/components/rate/src/rate2.js.map +1 -1
  363. package/lib/components/result/index.js +2 -2
  364. package/lib/components/result/src/result.js +73 -30
  365. package/lib/components/result/src/result.js.map +1 -1
  366. package/lib/components/result/src/result2.js +30 -73
  367. package/lib/components/result/src/result2.js.map +1 -1
  368. package/lib/components/roving-focus-group/index.js +2 -2
  369. package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
  370. package/lib/components/roving-focus-group/src/roving-focus-group.js +27 -33
  371. package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
  372. package/lib/components/roving-focus-group/src/roving-focus-group2.js +33 -27
  373. package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
  374. package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
  375. package/lib/components/row/index.d.ts +3 -3
  376. package/lib/components/row/src/row.d.ts +4 -4
  377. package/lib/components/select/index.d.ts +11 -11
  378. package/lib/components/select/src/select.js +1 -1
  379. package/lib/components/select/src/select.vue.d.ts +11 -11
  380. package/lib/components/select/src/useSelect.d.ts +8 -8
  381. package/lib/components/select-v2/index.d.ts +22 -22
  382. package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
  383. package/lib/components/select-v2/src/select.vue.d.ts +11 -11
  384. package/lib/components/select-v2/src/useSelect.d.ts +8 -8
  385. package/lib/components/skeleton/index.js +2 -2
  386. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  387. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  388. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  389. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  390. package/lib/components/skeleton/src/skeleton2.js +1 -1
  391. package/lib/components/space/index.d.ts +1 -1
  392. package/lib/components/space/src/space.d.ts +1 -1
  393. package/lib/components/switch/index.d.ts +1 -1
  394. package/lib/components/switch/src/switch.vue.d.ts +1 -1
  395. package/lib/components/table/index.d.ts +2 -2
  396. package/lib/components/table/src/filter-panel.vue.d.ts +8 -8
  397. package/lib/components/table/src/table.vue.d.ts +2 -2
  398. package/lib/components/tabs/index.js +1 -1
  399. package/lib/components/tabs/src/tab-bar.js +76 -7
  400. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  401. package/lib/components/tabs/src/tab-bar2.js +7 -76
  402. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  403. package/lib/components/tabs/src/tab-nav.js +1 -1
  404. package/lib/components/tag/index.js +2 -2
  405. package/lib/components/tag/src/tag.js +81 -34
  406. package/lib/components/tag/src/tag.js.map +1 -1
  407. package/lib/components/tag/src/tag2.js +34 -81
  408. package/lib/components/tag/src/tag2.js.map +1 -1
  409. package/lib/components/time-picker/index.d.ts +8 -8
  410. package/lib/components/time-picker/src/common/picker.vue.d.ts +12 -12
  411. package/lib/components/time-picker/src/time-picker.d.ts +4 -4
  412. package/lib/components/time-select/index.d.ts +8 -8
  413. package/lib/components/time-select/src/time-select.vue.d.ts +4 -4
  414. package/lib/components/timeline/index.js +2 -2
  415. package/lib/components/timeline/src/timeline-item.js +73 -39
  416. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  417. package/lib/components/timeline/src/timeline-item2.js +39 -73
  418. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  419. package/lib/components/tooltip/index.d.ts +4 -4
  420. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  421. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  422. package/lib/components/tooltip/src/tooltip2.js +1 -1
  423. package/lib/components/tooltip/src/trigger.vue.d.ts +3 -3
  424. package/lib/components/tooltip-v2/index.d.ts +6 -6
  425. package/lib/components/tooltip-v2/index.js +2 -2
  426. package/lib/components/tooltip-v2/src/content.vue.d.ts +1 -1
  427. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  428. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  429. package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +6 -6
  430. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  431. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  432. package/lib/components/upload/index.js +1 -1
  433. package/lib/components/upload/src/upload-content.js +1 -1
  434. package/lib/components/upload/src/upload-dragger.js +32 -12
  435. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  436. package/lib/components/upload/src/upload-dragger2.js +12 -32
  437. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  438. package/lib/index.js +26 -26
  439. package/package.json +1 -1
  440. package/web-types.json +1 -1
@@ -1,144 +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
- setup(props) {
31
- const panel = inject(CASCADER_PANEL_INJECTION_KEY);
32
- const ns = useNamespace("cascader-node");
33
- const isHoverMenu = computed(() => panel.isHoverMenu);
34
- const multiple = computed(() => panel.config.multiple);
35
- const checkStrictly = computed(() => panel.config.checkStrictly);
36
- const checkedNodeId = computed(() => {
37
- var _a;
38
- return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
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);
80
+ }
39
81
  });
40
- const isDisabled = computed(() => props.node.isDisabled);
41
- const isLeaf = computed(() => props.node.isLeaf);
42
- const expandable = computed(() => checkStrictly.value && !isLeaf.value || !isDisabled.value);
43
- const inExpandingPath = computed(() => isInPath(panel.expandingNode));
44
- const inCheckedPath = computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));
45
- const isInPath = (node) => {
46
- var _a;
47
- const { level, uid } = props.node;
48
- return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;
49
- };
50
- return {
51
- panel,
52
- isHoverMenu,
53
- multiple,
54
- checkStrictly,
55
- checkedNodeId,
56
- isDisabled,
57
- isLeaf,
58
- expandable,
59
- inExpandingPath,
60
- inCheckedPath,
61
- ns
62
- };
63
82
  }
64
- });
65
- const _hoisted_1 = ["id", "aria-haspopup", "aria-owns", "aria-expanded", "tabindex"];
66
- const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
67
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
68
- const _component_ps_checkbox = resolveComponent("ps-checkbox");
69
- const _component_ps_radio = resolveComponent("ps-radio");
70
- const _component_check = resolveComponent("check");
71
- const _component_ps_icon = resolveComponent("ps-icon");
72
- const _component_node_content = resolveComponent("node-content");
73
- const _component_loading = resolveComponent("loading");
74
- const _component_arrow_right = resolveComponent("arrow-right");
75
- return openBlock(), createElementBlock("li", {
76
- id: `${_ctx.menuId}-${_ctx.node.uid}`,
77
- role: "menuitem",
78
- "aria-haspopup": !_ctx.isLeaf,
79
- "aria-owns": _ctx.isLeaf ? null : _ctx.menuId,
80
- "aria-expanded": _ctx.inExpandingPath,
81
- tabindex: _ctx.expandable ? -1 : void 0,
82
- class: normalizeClass([
83
- _ctx.ns.b(),
84
- _ctx.ns.is("selectable", _ctx.checkStrictly),
85
- _ctx.ns.is("active", _ctx.node.checked),
86
- _ctx.ns.is("disabled", !_ctx.expandable),
87
- _ctx.inExpandingPath && "in-active-path",
88
- _ctx.inCheckedPath && "in-checked-path"
89
- ])
90
- }, [
91
- createCommentVNode(" prefix "),
92
- _ctx.multiple ? (openBlock(), createBlock(_component_ps_checkbox, {
93
- key: 0,
94
- "model-value": _ctx.node.checked,
95
- indeterminate: _ctx.node.indeterminate,
96
- disabled: _ctx.isDisabled
97
- }, null, 8, ["model-value", "indeterminate", "disabled"])) : _ctx.checkStrictly ? (openBlock(), createBlock(_component_ps_radio, {
98
- key: 1,
99
- "model-value": _ctx.checkedNodeId,
100
- label: _ctx.node.uid,
101
- disabled: _ctx.isDisabled
102
- }, {
103
- default: withCtx(() => [
104
- 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 "),
105
- _hoisted_2
106
- ]),
107
- _: 1
108
- }, 8, ["model-value", "label", "disabled"])) : _ctx.isLeaf && _ctx.node.checked ? (openBlock(), createBlock(_component_ps_icon, {
109
- key: 2,
110
- class: normalizeClass(_ctx.ns.e("prefix"))
111
- }, {
112
- default: withCtx(() => [
113
- createVNode(_component_check)
114
- ]),
115
- _: 1
116
- }, 8, ["class"])) : createCommentVNode("v-if", true),
117
- createCommentVNode(" content "),
118
- createVNode(_component_node_content),
119
- createCommentVNode(" postfix "),
120
- !_ctx.isLeaf ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
121
- _ctx.node.loading ? (openBlock(), createBlock(_component_ps_icon, {
122
- key: 0,
123
- class: normalizeClass([_ctx.ns.is("loading"), _ctx.ns.e("postfix")])
124
- }, {
125
- default: withCtx(() => [
126
- createVNode(_component_loading)
127
- ]),
128
- _: 1
129
- }, 8, ["class"])) : (openBlock(), createBlock(_component_ps_icon, {
130
- key: 1,
131
- class: normalizeClass(["arrow-right", _ctx.ns.e("postfix")])
132
- }, {
133
- default: withCtx(() => [
134
- createVNode(_component_arrow_right)
135
- ]),
136
- _: 1
137
- }, 8, ["class"]))
138
- ], 2112)) : createCommentVNode("v-if", true)
139
- ], 10, _hoisted_1);
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
+ }
122
+ }
140
123
  }
141
- var PsCascaderNode = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/cascader-panel/src/node.vue"]]);
142
124
 
143
- export { PsCascaderNode as default };
125
+ export { ExpandTrigger, Node as default };
144
126
  //# sourceMappingURL=node.mjs.map
@@ -1 +1 @@
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 setup(props) {\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 return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createCommentVNode","_createBlock","_createVNode","_createElementBlock","_Fragment"],"mappings":"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"}
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,126 +1,144 @@
1
- import { isFunction, capitalize } from '@vue/shared';
2
- import '../../../utils/index.mjs';
3
- import { isEmpty, isUndefined } from '../../../utils/types.mjs';
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';
4
11
 
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);
80
- }
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
+ setup(props) {
31
+ const panel = inject(CASCADER_PANEL_INJECTION_KEY);
32
+ const ns = useNamespace("cascader-node");
33
+ const isHoverMenu = computed(() => panel.isHoverMenu);
34
+ const multiple = computed(() => panel.config.multiple);
35
+ const checkStrictly = computed(() => panel.config.checkStrictly);
36
+ const checkedNodeId = computed(() => {
37
+ var _a;
38
+ return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
81
39
  });
40
+ const isDisabled = computed(() => props.node.isDisabled);
41
+ const isLeaf = computed(() => props.node.isLeaf);
42
+ const expandable = computed(() => checkStrictly.value && !isLeaf.value || !isDisabled.value);
43
+ const inExpandingPath = computed(() => isInPath(panel.expandingNode));
44
+ const inCheckedPath = computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));
45
+ const isInPath = (node) => {
46
+ var _a;
47
+ const { level, uid } = props.node;
48
+ return ((_a = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a.uid) === uid;
49
+ };
50
+ return {
51
+ panel,
52
+ isHoverMenu,
53
+ multiple,
54
+ checkStrictly,
55
+ checkedNodeId,
56
+ isDisabled,
57
+ isLeaf,
58
+ expandable,
59
+ inExpandingPath,
60
+ inCheckedPath,
61
+ ns
62
+ };
82
63
  }
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
- }
122
- }
64
+ });
65
+ const _hoisted_1 = ["id", "aria-haspopup", "aria-owns", "aria-expanded", "tabindex"];
66
+ const _hoisted_2 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
67
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
68
+ const _component_ps_checkbox = resolveComponent("ps-checkbox");
69
+ const _component_ps_radio = resolveComponent("ps-radio");
70
+ const _component_check = resolveComponent("check");
71
+ const _component_ps_icon = resolveComponent("ps-icon");
72
+ const _component_node_content = resolveComponent("node-content");
73
+ const _component_loading = resolveComponent("loading");
74
+ const _component_arrow_right = resolveComponent("arrow-right");
75
+ return openBlock(), createElementBlock("li", {
76
+ id: `${_ctx.menuId}-${_ctx.node.uid}`,
77
+ role: "menuitem",
78
+ "aria-haspopup": !_ctx.isLeaf,
79
+ "aria-owns": _ctx.isLeaf ? null : _ctx.menuId,
80
+ "aria-expanded": _ctx.inExpandingPath,
81
+ tabindex: _ctx.expandable ? -1 : void 0,
82
+ class: normalizeClass([
83
+ _ctx.ns.b(),
84
+ _ctx.ns.is("selectable", _ctx.checkStrictly),
85
+ _ctx.ns.is("active", _ctx.node.checked),
86
+ _ctx.ns.is("disabled", !_ctx.expandable),
87
+ _ctx.inExpandingPath && "in-active-path",
88
+ _ctx.inCheckedPath && "in-checked-path"
89
+ ])
90
+ }, [
91
+ createCommentVNode(" prefix "),
92
+ _ctx.multiple ? (openBlock(), createBlock(_component_ps_checkbox, {
93
+ key: 0,
94
+ "model-value": _ctx.node.checked,
95
+ indeterminate: _ctx.node.indeterminate,
96
+ disabled: _ctx.isDisabled
97
+ }, null, 8, ["model-value", "indeterminate", "disabled"])) : _ctx.checkStrictly ? (openBlock(), createBlock(_component_ps_radio, {
98
+ key: 1,
99
+ "model-value": _ctx.checkedNodeId,
100
+ label: _ctx.node.uid,
101
+ disabled: _ctx.isDisabled
102
+ }, {
103
+ default: withCtx(() => [
104
+ 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 "),
105
+ _hoisted_2
106
+ ]),
107
+ _: 1
108
+ }, 8, ["model-value", "label", "disabled"])) : _ctx.isLeaf && _ctx.node.checked ? (openBlock(), createBlock(_component_ps_icon, {
109
+ key: 2,
110
+ class: normalizeClass(_ctx.ns.e("prefix"))
111
+ }, {
112
+ default: withCtx(() => [
113
+ createVNode(_component_check)
114
+ ]),
115
+ _: 1
116
+ }, 8, ["class"])) : createCommentVNode("v-if", true),
117
+ createCommentVNode(" content "),
118
+ createVNode(_component_node_content),
119
+ createCommentVNode(" postfix "),
120
+ !_ctx.isLeaf ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
121
+ _ctx.node.loading ? (openBlock(), createBlock(_component_ps_icon, {
122
+ key: 0,
123
+ class: normalizeClass([_ctx.ns.is("loading"), _ctx.ns.e("postfix")])
124
+ }, {
125
+ default: withCtx(() => [
126
+ createVNode(_component_loading)
127
+ ]),
128
+ _: 1
129
+ }, 8, ["class"])) : (openBlock(), createBlock(_component_ps_icon, {
130
+ key: 1,
131
+ class: normalizeClass(["arrow-right", _ctx.ns.e("postfix")])
132
+ }, {
133
+ default: withCtx(() => [
134
+ createVNode(_component_arrow_right)
135
+ ]),
136
+ _: 1
137
+ }, 8, ["class"]))
138
+ ], 2112)) : createCommentVNode("v-if", true)
139
+ ], 10, _hoisted_1);
123
140
  }
141
+ var PsCascaderNode = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/cascader-panel/src/node.vue"]]);
124
142
 
125
- export { ExpandTrigger, Node as default };
143
+ export { PsCascaderNode as default };
126
144
  //# sourceMappingURL=node2.mjs.map
@@ -1 +1 @@
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
+ {"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 setup(props) {\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 return {\n panel,\n isHoverMenu,\n multiple,\n checkStrictly,\n checkedNodeId,\n isDisabled,\n isLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_normalizeClass","_createCommentVNode","_createBlock","_createVNode","_createElementBlock","_Fragment"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isEqual } from 'lodash-unified';
2
- import Node from './node2.mjs';
2
+ import Node from './node.mjs';
3
3
 
4
4
  const flatNodes = (nodes, leafOnly) => {
5
5
  return nodes.reduce((res, node) => {