code-monkey-ui 1.1.8-alpha.6 → 1.1.8

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 (663) hide show
  1. package/es/components/alert/index.mjs +2 -2
  2. package/es/components/alert/src/alert.mjs +36 -96
  3. package/es/components/alert/src/alert.mjs.map +1 -1
  4. package/es/components/alert/src/alert2.mjs +96 -36
  5. package/es/components/alert/src/alert2.mjs.map +1 -1
  6. package/es/components/autocomplete/index.d.ts +5 -5
  7. package/es/components/autocomplete/index.mjs +2 -2
  8. package/es/components/autocomplete/src/autocomplete.mjs +81 -361
  9. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  10. package/es/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  11. package/es/components/autocomplete/src/autocomplete2.mjs +361 -81
  12. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  13. package/es/components/batch/index.d.ts +3 -3
  14. package/es/components/batch/src/batch.vue.d.ts +3 -3
  15. package/es/components/breadcrumb/index.mjs +4 -4
  16. package/es/components/breadcrumb/src/breadcrumb-item.mjs +56 -11
  17. package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
  18. package/es/components/breadcrumb/src/breadcrumb-item2.mjs +11 -56
  19. package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
  20. package/es/components/breadcrumb/src/breadcrumb.mjs +36 -11
  21. package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
  22. package/es/components/breadcrumb/src/breadcrumb2.mjs +11 -36
  23. package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
  24. package/es/components/button/index.d.ts +1 -1
  25. package/es/components/button/src/button.vue.d.ts +1 -1
  26. package/es/components/button/src/use-button.d.ts +1 -1
  27. package/es/components/calendar/index.d.ts +1 -1
  28. package/es/components/calendar/index.mjs +2 -2
  29. package/es/components/calendar/src/calendar.mjs +131 -18
  30. package/es/components/calendar/src/calendar.mjs.map +1 -1
  31. package/es/components/calendar/src/calendar.vue.d.ts +1 -1
  32. package/es/components/calendar/src/calendar2.mjs +18 -131
  33. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  34. package/es/components/calendar/src/date-table.mjs +33 -87
  35. package/es/components/calendar/src/date-table.mjs.map +1 -1
  36. package/es/components/calendar/src/date-table2.mjs +87 -33
  37. package/es/components/calendar/src/date-table2.mjs.map +1 -1
  38. package/es/components/calendar/src/use-date-table.mjs +1 -1
  39. package/es/components/carousel/index.mjs +4 -4
  40. package/es/components/carousel/src/carousel-item.mjs +69 -8
  41. package/es/components/carousel/src/carousel-item.mjs.map +1 -1
  42. package/es/components/carousel/src/carousel-item2.mjs +8 -69
  43. package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
  44. package/es/components/carousel/src/carousel.mjs +169 -56
  45. package/es/components/carousel/src/carousel.mjs.map +1 -1
  46. package/es/components/carousel/src/carousel2.mjs +56 -169
  47. package/es/components/carousel/src/carousel2.mjs.map +1 -1
  48. package/es/components/cascader/index.d.ts +16 -16
  49. package/es/components/cascader/src/cascader.vue.d.ts +8 -8
  50. package/es/components/cascader-panel/index.d.ts +2 -2
  51. package/es/components/cascader-panel/src/index.mjs +1 -1
  52. package/es/components/cascader-panel/src/index.vue.d.ts +1 -1
  53. package/es/components/cascader-panel/src/menu.mjs +1 -1
  54. package/es/components/cascader-panel/src/node.mjs +209 -116
  55. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  56. package/es/components/cascader-panel/src/node2.mjs +116 -209
  57. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  58. package/es/components/cascader-panel/src/store.mjs +1 -1
  59. package/es/components/check-tag/index.mjs +2 -2
  60. package/es/components/check-tag/src/check-tag.mjs +12 -31
  61. package/es/components/check-tag/src/check-tag.mjs.map +1 -1
  62. package/es/components/check-tag/src/check-tag2.mjs +31 -12
  63. package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
  64. package/es/components/checkbox/index.d.ts +2 -2
  65. package/es/components/checkbox/index.mjs +2 -2
  66. package/es/components/checkbox/src/checkbox-button.mjs +1 -1
  67. package/es/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  68. package/es/components/checkbox/src/checkbox.mjs +117 -50
  69. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  70. package/es/components/checkbox/src/checkbox2.mjs +50 -117
  71. package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
  72. package/es/components/col/index.mjs +2 -2
  73. package/es/components/col/src/col.mjs +43 -66
  74. package/es/components/col/src/col.mjs.map +1 -1
  75. package/es/components/col/src/col2.mjs +66 -43
  76. package/es/components/col/src/col2.mjs.map +1 -1
  77. package/es/components/collapse/index.d.ts +1 -1
  78. package/es/components/collapse/index.mjs +2 -2
  79. package/es/components/collapse/src/collapse-item.mjs +91 -14
  80. package/es/components/collapse/src/collapse-item.mjs.map +1 -1
  81. package/es/components/collapse/src/collapse-item2.mjs +14 -91
  82. package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
  83. package/es/components/collapse/src/collapse.vue.d.ts +1 -1
  84. package/es/components/color-picker/index.d.ts +3 -3
  85. package/es/components/color-picker/src/color-picker.vue.d.ts +3 -3
  86. package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  87. package/es/components/date-picker/src/composables/use-basic-date-table.d.ts +3 -3
  88. package/es/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
  89. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  90. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +17 -17
  91. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +18 -18
  92. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
  93. package/es/components/date-picker/src/panel-utils.d.ts +38 -38
  94. package/es/components/date-picker/src/props/panel-date-pick.d.ts +1 -1
  95. package/es/components/date-picker/src/props/panel-date-range.d.ts +1 -1
  96. package/es/components/date-picker/src/props/shared.d.ts +1 -1
  97. package/es/components/dialog/index.mjs +2 -2
  98. package/es/components/dialog/src/dialog.mjs +170 -65
  99. package/es/components/dialog/src/dialog.mjs.map +1 -1
  100. package/es/components/dialog/src/dialog2.mjs +65 -170
  101. package/es/components/dialog/src/dialog2.mjs.map +1 -1
  102. package/es/components/drawer/index.mjs +2 -2
  103. package/es/components/drawer/src/drawer.mjs +176 -26
  104. package/es/components/drawer/src/drawer.mjs.map +1 -1
  105. package/es/components/drawer/src/drawer2.mjs +26 -176
  106. package/es/components/drawer/src/drawer2.mjs.map +1 -1
  107. package/es/components/dropdown/src/dropdown2.mjs +1 -1
  108. package/es/components/dsh-cascader/index.d.ts +24 -24
  109. package/es/components/dsh-cascader/index.mjs +2 -2
  110. package/es/components/dsh-cascader/src/dsh-cascader.mjs +728 -87
  111. package/es/components/dsh-cascader/src/dsh-cascader.mjs.map +1 -1
  112. package/es/components/dsh-cascader/src/dsh-cascader.vue.d.ts +12 -12
  113. package/es/components/dsh-cascader/src/dsh-cascader2.mjs +87 -728
  114. package/es/components/dsh-cascader/src/dsh-cascader2.mjs.map +1 -1
  115. package/es/components/dsh-cascader-panel/index.d.ts +2 -2
  116. package/es/components/dsh-cascader-panel/src/index.mjs +1 -1
  117. package/es/components/dsh-cascader-panel/src/index.vue.d.ts +1 -1
  118. package/es/components/dsh-cascader-panel/src/menu.mjs +1 -1
  119. package/es/components/dsh-cascader-panel/src/node.mjs +115 -229
  120. package/es/components/dsh-cascader-panel/src/node.mjs.map +1 -1
  121. package/es/components/dsh-cascader-panel/src/node2.mjs +229 -115
  122. package/es/components/dsh-cascader-panel/src/node2.mjs.map +1 -1
  123. package/es/components/dsh-cascader-panel/src/store.mjs +1 -1
  124. package/es/components/dsh-select/index.d.ts +3 -3
  125. package/es/components/dsh-select/src/option.vue.d.ts +1 -1
  126. package/es/components/dsh-select/src/select.vue.d.ts +1 -1
  127. package/es/components/dsh-select/src/useOption.d.ts +1 -1
  128. package/es/components/dshIndex.mjs +1 -1
  129. package/es/components/form/index.mjs +4 -4
  130. package/es/components/form/src/form-item.mjs +317 -43
  131. package/es/components/form/src/form-item.mjs.map +1 -1
  132. package/es/components/form/src/form-item2.mjs +43 -317
  133. package/es/components/form/src/form-item2.mjs.map +1 -1
  134. package/es/components/form/src/form.mjs +148 -54
  135. package/es/components/form/src/form.mjs.map +1 -1
  136. package/es/components/form/src/form2.mjs +54 -148
  137. package/es/components/form/src/form2.mjs.map +1 -1
  138. package/es/components/icon/index.mjs +2 -2
  139. package/es/components/icon/src/icon.mjs +36 -8
  140. package/es/components/icon/src/icon.mjs.map +1 -1
  141. package/es/components/icon/src/icon2.mjs +8 -36
  142. package/es/components/icon/src/icon2.mjs.map +1 -1
  143. package/es/components/index.mjs +38 -38
  144. package/es/components/input/index.d.ts +1 -1
  145. package/es/components/input/index.mjs +2 -2
  146. package/es/components/input/src/input.mjs +109 -453
  147. package/es/components/input/src/input.mjs.map +1 -1
  148. package/es/components/input/src/input.vue.d.ts +1 -1
  149. package/es/components/input/src/input2.mjs +453 -109
  150. package/es/components/input/src/input2.mjs.map +1 -1
  151. package/es/components/input-number/index.d.ts +5 -5
  152. package/es/components/input-number/src/input-number.vue.d.ts +5 -5
  153. package/es/components/link/index.mjs +2 -2
  154. package/es/components/link/src/link.mjs +21 -50
  155. package/es/components/link/src/link.mjs.map +1 -1
  156. package/es/components/link/src/link2.mjs +50 -21
  157. package/es/components/link/src/link2.mjs.map +1 -1
  158. package/es/components/message/index.mjs +1 -1
  159. package/es/components/message/src/message.mjs +148 -86
  160. package/es/components/message/src/message.mjs.map +1 -1
  161. package/es/components/message/src/message2.mjs +86 -148
  162. package/es/components/message/src/message2.mjs.map +1 -1
  163. package/es/components/message/src/method.mjs +2 -2
  164. package/es/components/page-header/index.mjs +2 -2
  165. package/es/components/page-header/src/page-header.mjs +103 -17
  166. package/es/components/page-header/src/page-header.mjs.map +1 -1
  167. package/es/components/page-header/src/page-header2.mjs +17 -103
  168. package/es/components/page-header/src/page-header2.mjs.map +1 -1
  169. package/es/components/pagination/src/components/jumper.mjs +60 -9
  170. package/es/components/pagination/src/components/jumper.mjs.map +1 -1
  171. package/es/components/pagination/src/components/jumper.vue.d.ts +1 -1
  172. package/es/components/pagination/src/components/jumper2.mjs +9 -60
  173. package/es/components/pagination/src/components/jumper2.mjs.map +1 -1
  174. package/es/components/pagination/src/components/pager.mjs +17 -216
  175. package/es/components/pagination/src/components/pager.mjs.map +1 -1
  176. package/es/components/pagination/src/components/pager2.mjs +216 -17
  177. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  178. package/es/components/pagination/src/components/prev.mjs +18 -38
  179. package/es/components/pagination/src/components/prev.mjs.map +1 -1
  180. package/es/components/pagination/src/components/prev2.mjs +38 -18
  181. package/es/components/pagination/src/components/prev2.mjs.map +1 -1
  182. package/es/components/pagination/src/components/sizes.vue.d.ts +1 -1
  183. package/es/components/pagination/src/components/total.mjs +7 -28
  184. package/es/components/pagination/src/components/total.mjs.map +1 -1
  185. package/es/components/pagination/src/components/total2.mjs +28 -7
  186. package/es/components/pagination/src/components/total2.mjs.map +1 -1
  187. package/es/components/pagination/src/pagination.mjs +4 -4
  188. package/es/components/popconfirm/index.d.ts +1 -1
  189. package/es/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  190. package/es/components/popover/index.mjs +2 -2
  191. package/es/components/popover/src/popover.mjs +66 -111
  192. package/es/components/popover/src/popover.mjs.map +1 -1
  193. package/es/components/popover/src/popover2.mjs +111 -66
  194. package/es/components/popover/src/popover2.mjs.map +1 -1
  195. package/es/components/popper/index.mjs +2 -2
  196. package/es/components/popper/src/arrow.mjs +37 -8
  197. package/es/components/popper/src/arrow.mjs.map +1 -1
  198. package/es/components/popper/src/arrow2.mjs +8 -37
  199. package/es/components/popper/src/arrow2.mjs.map +1 -1
  200. package/es/components/progress/index.mjs +2 -2
  201. package/es/components/progress/src/progress.mjs +59 -205
  202. package/es/components/progress/src/progress.mjs.map +1 -1
  203. package/es/components/progress/src/progress2.mjs +205 -59
  204. package/es/components/progress/src/progress2.mjs.map +1 -1
  205. package/es/components/radio/index.d.ts +3 -3
  206. package/es/components/radio/src/radio-group.vue.d.ts +1 -1
  207. package/es/components/radio/src/radio.vue.d.ts +1 -1
  208. package/es/components/radio/src/use-radio.d.ts +1 -1
  209. package/es/components/rate/index.d.ts +1 -1
  210. package/es/components/rate/index.mjs +2 -2
  211. package/es/components/rate/src/rate.mjs +260 -87
  212. package/es/components/rate/src/rate.mjs.map +1 -1
  213. package/es/components/rate/src/rate.vue.d.ts +1 -1
  214. package/es/components/rate/src/rate2.mjs +87 -260
  215. package/es/components/rate/src/rate2.mjs.map +1 -1
  216. package/es/components/row/index.mjs +2 -2
  217. package/es/components/row/src/row.mjs +45 -29
  218. package/es/components/row/src/row.mjs.map +1 -1
  219. package/es/components/row/src/row2.mjs +29 -45
  220. package/es/components/row/src/row2.mjs.map +1 -1
  221. package/es/components/select/index.d.ts +1 -1
  222. package/es/components/select/src/select.vue.d.ts +1 -1
  223. package/es/components/select-v2/index.d.ts +2 -2
  224. package/es/components/select-v2/src/select.vue.d.ts +1 -1
  225. package/es/components/skeleton/index.mjs +4 -4
  226. package/es/components/skeleton/src/skeleton-item.mjs +18 -23
  227. package/es/components/skeleton/src/skeleton-item.mjs.map +1 -1
  228. package/es/components/skeleton/src/skeleton-item2.mjs +23 -18
  229. package/es/components/skeleton/src/skeleton-item2.mjs.map +1 -1
  230. package/es/components/skeleton/src/skeleton.mjs +22 -49
  231. package/es/components/skeleton/src/skeleton.mjs.map +1 -1
  232. package/es/components/skeleton/src/skeleton2.mjs +49 -22
  233. package/es/components/skeleton/src/skeleton2.mjs.map +1 -1
  234. package/es/components/slider/index.d.ts +6 -6
  235. package/es/components/slider/src/slider.vue.d.ts +6 -6
  236. package/es/components/statistic/index.mjs +2 -2
  237. package/es/components/statistic/src/statistic.mjs +25 -70
  238. package/es/components/statistic/src/statistic.mjs.map +1 -1
  239. package/es/components/statistic/src/statistic2.mjs +70 -25
  240. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  241. package/es/components/switch/index.d.ts +1 -1
  242. package/es/components/switch/src/switch.vue.d.ts +1 -1
  243. package/es/components/tabs/index.mjs +1 -1
  244. package/es/components/tabs/src/tab-bar.mjs +75 -7
  245. package/es/components/tabs/src/tab-bar.mjs.map +1 -1
  246. package/es/components/tabs/src/tab-bar2.mjs +7 -75
  247. package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
  248. package/es/components/tabs/src/tab-nav.mjs +1 -1
  249. package/es/components/text/index.mjs +2 -2
  250. package/es/components/text/src/text.mjs +24 -38
  251. package/es/components/text/src/text.mjs.map +1 -1
  252. package/es/components/text/src/text2.mjs +38 -24
  253. package/es/components/text/src/text2.mjs.map +1 -1
  254. package/es/components/time-picker/src/common/picker.vue.d.ts +3 -3
  255. package/es/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
  256. package/es/components/time-picker/src/props/basic-time-spinner.d.ts +1 -1
  257. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -4
  258. package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +7 -7
  259. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +7 -7
  260. package/es/components/time-select/index.d.ts +6 -6
  261. package/es/components/time-select/index.mjs +1 -1
  262. package/es/components/time-select/src/time-select.mjs +120 -48
  263. package/es/components/time-select/src/time-select.mjs.map +1 -1
  264. package/es/components/time-select/src/time-select.vue.d.ts +3 -3
  265. package/es/components/time-select/src/time-select2.mjs +48 -120
  266. package/es/components/time-select/src/time-select2.mjs.map +1 -1
  267. package/es/components/timeline/index.mjs +2 -2
  268. package/es/components/timeline/src/timeline-item.mjs +72 -42
  269. package/es/components/timeline/src/timeline-item.mjs.map +1 -1
  270. package/es/components/timeline/src/timeline-item2.mjs +42 -72
  271. package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
  272. package/es/components/tooltip/index.mjs +3 -3
  273. package/es/components/tooltip/src/tooltip.mjs +170 -31
  274. package/es/components/tooltip/src/tooltip.mjs.map +1 -1
  275. package/es/components/tooltip/src/tooltip2.mjs +31 -170
  276. package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
  277. package/es/components/tooltip/src/trigger.mjs +16 -73
  278. package/es/components/tooltip/src/trigger.mjs.map +1 -1
  279. package/es/components/tooltip/src/trigger2.mjs +73 -16
  280. package/es/components/tooltip/src/trigger2.mjs.map +1 -1
  281. package/es/components/tooltip-v2/index.mjs +3 -3
  282. package/es/components/tooltip-v2/src/content.mjs +50 -112
  283. package/es/components/tooltip-v2/src/content.mjs.map +1 -1
  284. package/es/components/tooltip-v2/src/content2.mjs +112 -50
  285. package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
  286. package/es/components/tooltip-v2/src/tooltip.mjs +20 -73
  287. package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
  288. package/es/components/tooltip-v2/src/tooltip2.mjs +73 -20
  289. package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
  290. package/es/components/transfer/index.d.ts +17 -17
  291. package/es/components/transfer/index.mjs +2 -2
  292. package/es/components/transfer/src/composables/use-check.mjs +1 -1
  293. package/es/components/transfer/src/composables/use-checked-change.mjs +1 -1
  294. package/es/components/transfer/src/transfer-panel.mjs +128 -19
  295. package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
  296. package/es/components/transfer/src/transfer-panel.vue.d.ts +3 -3
  297. package/es/components/transfer/src/transfer-panel2.mjs +19 -128
  298. package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
  299. package/es/components/transfer/src/transfer.mjs +69 -160
  300. package/es/components/transfer/src/transfer.mjs.map +1 -1
  301. package/es/components/transfer/src/transfer.vue.d.ts +17 -17
  302. package/es/components/transfer/src/transfer2.mjs +160 -69
  303. package/es/components/transfer/src/transfer2.mjs.map +1 -1
  304. package/es/components/tree-v2/index.d.ts +1 -1
  305. package/es/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  306. package/es/components/tree-v2/src/tree.vue.d.ts +1 -1
  307. package/es/components/upload/index.mjs +3 -3
  308. package/es/components/upload/src/upload-content.mjs +1 -1
  309. package/es/components/upload/src/upload-content2.mjs +2 -2
  310. package/es/components/upload/src/upload-dragger.mjs +11 -72
  311. package/es/components/upload/src/upload-dragger.mjs.map +1 -1
  312. package/es/components/upload/src/upload-dragger2.mjs +72 -11
  313. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  314. package/es/components/upload/src/upload-list.mjs +1 -1
  315. package/es/components/upload/src/upload.mjs +101 -116
  316. package/es/components/upload/src/upload.mjs.map +1 -1
  317. package/es/components/upload/src/upload2.mjs +116 -101
  318. package/es/components/upload/src/upload2.mjs.map +1 -1
  319. package/es/components/upload/src/use-handlers.mjs +1 -1
  320. package/es/components/visual-hidden/index.mjs +3 -3
  321. package/es/components/visual-hidden/src/visual-hidden.mjs +7 -35
  322. package/es/components/visual-hidden/src/visual-hidden.mjs.map +1 -1
  323. package/es/components/visual-hidden/src/visual-hidden2.mjs +35 -7
  324. package/es/components/visual-hidden/src/visual-hidden2.mjs.map +1 -1
  325. package/es/components/watermark/index.mjs +2 -2
  326. package/es/components/watermark/src/watermark.mjs +28 -207
  327. package/es/components/watermark/src/watermark.mjs.map +1 -1
  328. package/es/components/watermark/src/watermark2.mjs +207 -28
  329. package/es/components/watermark/src/watermark2.mjs.map +1 -1
  330. package/es/index.mjs +39 -39
  331. package/es/utils/vue/validator.d.ts +1 -1
  332. package/lib/components/alert/index.js +2 -2
  333. package/lib/components/alert/src/alert.js +37 -95
  334. package/lib/components/alert/src/alert.js.map +1 -1
  335. package/lib/components/alert/src/alert2.js +95 -37
  336. package/lib/components/alert/src/alert2.js.map +1 -1
  337. package/lib/components/autocomplete/index.d.ts +5 -5
  338. package/lib/components/autocomplete/index.js +2 -2
  339. package/lib/components/autocomplete/src/autocomplete.js +81 -360
  340. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  341. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +5 -5
  342. package/lib/components/autocomplete/src/autocomplete2.js +360 -81
  343. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  344. package/lib/components/batch/index.d.ts +3 -3
  345. package/lib/components/batch/src/batch.vue.d.ts +3 -3
  346. package/lib/components/breadcrumb/index.js +4 -4
  347. package/lib/components/breadcrumb/src/breadcrumb-item.js +56 -11
  348. package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
  349. package/lib/components/breadcrumb/src/breadcrumb-item2.js +11 -56
  350. package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
  351. package/lib/components/breadcrumb/src/breadcrumb.js +36 -11
  352. package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
  353. package/lib/components/breadcrumb/src/breadcrumb2.js +11 -36
  354. package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
  355. package/lib/components/button/index.d.ts +1 -1
  356. package/lib/components/button/src/button.vue.d.ts +1 -1
  357. package/lib/components/button/src/use-button.d.ts +1 -1
  358. package/lib/components/calendar/index.d.ts +1 -1
  359. package/lib/components/calendar/index.js +2 -2
  360. package/lib/components/calendar/src/calendar.js +131 -19
  361. package/lib/components/calendar/src/calendar.js.map +1 -1
  362. package/lib/components/calendar/src/calendar.vue.d.ts +1 -1
  363. package/lib/components/calendar/src/calendar2.js +19 -131
  364. package/lib/components/calendar/src/calendar2.js.map +1 -1
  365. package/lib/components/calendar/src/date-table.js +37 -87
  366. package/lib/components/calendar/src/date-table.js.map +1 -1
  367. package/lib/components/calendar/src/date-table2.js +87 -37
  368. package/lib/components/calendar/src/date-table2.js.map +1 -1
  369. package/lib/components/calendar/src/use-date-table.js +1 -1
  370. package/lib/components/carousel/index.js +4 -4
  371. package/lib/components/carousel/src/carousel-item.js +69 -8
  372. package/lib/components/carousel/src/carousel-item.js.map +1 -1
  373. package/lib/components/carousel/src/carousel-item2.js +8 -69
  374. package/lib/components/carousel/src/carousel-item2.js.map +1 -1
  375. package/lib/components/carousel/src/carousel.js +169 -57
  376. package/lib/components/carousel/src/carousel.js.map +1 -1
  377. package/lib/components/carousel/src/carousel2.js +57 -169
  378. package/lib/components/carousel/src/carousel2.js.map +1 -1
  379. package/lib/components/cascader/index.d.ts +16 -16
  380. package/lib/components/cascader/src/cascader.vue.d.ts +8 -8
  381. package/lib/components/cascader-panel/index.d.ts +2 -2
  382. package/lib/components/cascader-panel/src/index.js +1 -1
  383. package/lib/components/cascader-panel/src/index.vue.d.ts +1 -1
  384. package/lib/components/cascader-panel/src/menu.js +1 -1
  385. package/lib/components/cascader-panel/src/node.js +209 -116
  386. package/lib/components/cascader-panel/src/node.js.map +1 -1
  387. package/lib/components/cascader-panel/src/node2.js +116 -209
  388. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  389. package/lib/components/cascader-panel/src/store.js +1 -1
  390. package/lib/components/check-tag/index.js +2 -2
  391. package/lib/components/check-tag/src/check-tag.js +13 -31
  392. package/lib/components/check-tag/src/check-tag.js.map +1 -1
  393. package/lib/components/check-tag/src/check-tag2.js +31 -13
  394. package/lib/components/check-tag/src/check-tag2.js.map +1 -1
  395. package/lib/components/checkbox/index.d.ts +2 -2
  396. package/lib/components/checkbox/index.js +2 -2
  397. package/lib/components/checkbox/src/checkbox-button.js +1 -1
  398. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +1 -1
  399. package/lib/components/checkbox/src/checkbox.js +117 -51
  400. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  401. package/lib/components/checkbox/src/checkbox2.js +51 -117
  402. package/lib/components/checkbox/src/checkbox2.js.map +1 -1
  403. package/lib/components/col/index.js +2 -2
  404. package/lib/components/col/src/col.js +43 -66
  405. package/lib/components/col/src/col.js.map +1 -1
  406. package/lib/components/col/src/col2.js +66 -43
  407. package/lib/components/col/src/col2.js.map +1 -1
  408. package/lib/components/collapse/index.d.ts +1 -1
  409. package/lib/components/collapse/index.js +2 -2
  410. package/lib/components/collapse/src/collapse-item.js +91 -14
  411. package/lib/components/collapse/src/collapse-item.js.map +1 -1
  412. package/lib/components/collapse/src/collapse-item2.js +14 -91
  413. package/lib/components/collapse/src/collapse-item2.js.map +1 -1
  414. package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
  415. package/lib/components/color-picker/index.d.ts +3 -3
  416. package/lib/components/color-picker/src/color-picker.vue.d.ts +3 -3
  417. package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
  418. package/lib/components/date-picker/src/composables/use-basic-date-table.d.ts +3 -3
  419. package/lib/components/date-picker/src/composables/use-range-picker.d.ts +1 -1
  420. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +3 -3
  421. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +17 -17
  422. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +18 -18
  423. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +3 -3
  424. package/lib/components/date-picker/src/panel-utils.d.ts +38 -38
  425. package/lib/components/date-picker/src/props/panel-date-pick.d.ts +1 -1
  426. package/lib/components/date-picker/src/props/panel-date-range.d.ts +1 -1
  427. package/lib/components/date-picker/src/props/shared.d.ts +1 -1
  428. package/lib/components/dialog/index.js +2 -2
  429. package/lib/components/dialog/src/dialog.js +170 -66
  430. package/lib/components/dialog/src/dialog.js.map +1 -1
  431. package/lib/components/dialog/src/dialog2.js +66 -170
  432. package/lib/components/dialog/src/dialog2.js.map +1 -1
  433. package/lib/components/drawer/index.js +2 -2
  434. package/lib/components/drawer/src/drawer.js +176 -27
  435. package/lib/components/drawer/src/drawer.js.map +1 -1
  436. package/lib/components/drawer/src/drawer2.js +27 -176
  437. package/lib/components/drawer/src/drawer2.js.map +1 -1
  438. package/lib/components/dropdown/src/dropdown2.js +1 -1
  439. package/lib/components/dsh-cascader/index.d.ts +24 -24
  440. package/lib/components/dsh-cascader/index.js +2 -2
  441. package/lib/components/dsh-cascader/src/dsh-cascader.js +728 -88
  442. package/lib/components/dsh-cascader/src/dsh-cascader.js.map +1 -1
  443. package/lib/components/dsh-cascader/src/dsh-cascader.vue.d.ts +12 -12
  444. package/lib/components/dsh-cascader/src/dsh-cascader2.js +88 -728
  445. package/lib/components/dsh-cascader/src/dsh-cascader2.js.map +1 -1
  446. package/lib/components/dsh-cascader-panel/index.d.ts +2 -2
  447. package/lib/components/dsh-cascader-panel/src/index.js +1 -1
  448. package/lib/components/dsh-cascader-panel/src/index.vue.d.ts +1 -1
  449. package/lib/components/dsh-cascader-panel/src/menu.js +1 -1
  450. package/lib/components/dsh-cascader-panel/src/node.js +115 -229
  451. package/lib/components/dsh-cascader-panel/src/node.js.map +1 -1
  452. package/lib/components/dsh-cascader-panel/src/node2.js +229 -115
  453. package/lib/components/dsh-cascader-panel/src/node2.js.map +1 -1
  454. package/lib/components/dsh-cascader-panel/src/store.js +1 -1
  455. package/lib/components/dsh-select/index.d.ts +3 -3
  456. package/lib/components/dsh-select/src/option.vue.d.ts +1 -1
  457. package/lib/components/dsh-select/src/select.vue.d.ts +1 -1
  458. package/lib/components/dsh-select/src/useOption.d.ts +1 -1
  459. package/lib/components/dshIndex.js +1 -1
  460. package/lib/components/form/index.js +4 -4
  461. package/lib/components/form/src/form-item.js +321 -44
  462. package/lib/components/form/src/form-item.js.map +1 -1
  463. package/lib/components/form/src/form-item2.js +44 -321
  464. package/lib/components/form/src/form-item2.js.map +1 -1
  465. package/lib/components/form/src/form.js +147 -54
  466. package/lib/components/form/src/form.js.map +1 -1
  467. package/lib/components/form/src/form2.js +54 -147
  468. package/lib/components/form/src/form2.js.map +1 -1
  469. package/lib/components/icon/index.js +2 -2
  470. package/lib/components/icon/src/icon.js +36 -8
  471. package/lib/components/icon/src/icon.js.map +1 -1
  472. package/lib/components/icon/src/icon2.js +8 -36
  473. package/lib/components/icon/src/icon2.js.map +1 -1
  474. package/lib/components/index.js +38 -38
  475. package/lib/components/input/index.d.ts +1 -1
  476. package/lib/components/input/index.js +2 -2
  477. package/lib/components/input/src/input.js +109 -452
  478. package/lib/components/input/src/input.js.map +1 -1
  479. package/lib/components/input/src/input.vue.d.ts +1 -1
  480. package/lib/components/input/src/input2.js +452 -109
  481. package/lib/components/input/src/input2.js.map +1 -1
  482. package/lib/components/input-number/index.d.ts +5 -5
  483. package/lib/components/input-number/src/input-number.vue.d.ts +5 -5
  484. package/lib/components/link/index.js +2 -2
  485. package/lib/components/link/src/link.js +22 -50
  486. package/lib/components/link/src/link.js.map +1 -1
  487. package/lib/components/link/src/link2.js +50 -22
  488. package/lib/components/link/src/link2.js.map +1 -1
  489. package/lib/components/message/index.js +1 -1
  490. package/lib/components/message/src/message.js +147 -88
  491. package/lib/components/message/src/message.js.map +1 -1
  492. package/lib/components/message/src/message2.js +88 -147
  493. package/lib/components/message/src/message2.js.map +1 -1
  494. package/lib/components/message/src/method.js +2 -2
  495. package/lib/components/page-header/index.js +2 -2
  496. package/lib/components/page-header/src/page-header.js +103 -18
  497. package/lib/components/page-header/src/page-header.js.map +1 -1
  498. package/lib/components/page-header/src/page-header2.js +18 -103
  499. package/lib/components/page-header/src/page-header2.js.map +1 -1
  500. package/lib/components/pagination/src/components/jumper.js +60 -9
  501. package/lib/components/pagination/src/components/jumper.js.map +1 -1
  502. package/lib/components/pagination/src/components/jumper.vue.d.ts +1 -1
  503. package/lib/components/pagination/src/components/jumper2.js +9 -60
  504. package/lib/components/pagination/src/components/jumper2.js.map +1 -1
  505. package/lib/components/pagination/src/components/pager.js +17 -216
  506. package/lib/components/pagination/src/components/pager.js.map +1 -1
  507. package/lib/components/pagination/src/components/pager2.js +216 -17
  508. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  509. package/lib/components/pagination/src/components/prev.js +19 -38
  510. package/lib/components/pagination/src/components/prev.js.map +1 -1
  511. package/lib/components/pagination/src/components/prev2.js +38 -19
  512. package/lib/components/pagination/src/components/prev2.js.map +1 -1
  513. package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -1
  514. package/lib/components/pagination/src/components/total.js +7 -28
  515. package/lib/components/pagination/src/components/total.js.map +1 -1
  516. package/lib/components/pagination/src/components/total2.js +28 -7
  517. package/lib/components/pagination/src/components/total2.js.map +1 -1
  518. package/lib/components/pagination/src/pagination.js +4 -4
  519. package/lib/components/popconfirm/index.d.ts +1 -1
  520. package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1 -1
  521. package/lib/components/popover/index.js +2 -2
  522. package/lib/components/popover/src/popover.js +67 -111
  523. package/lib/components/popover/src/popover.js.map +1 -1
  524. package/lib/components/popover/src/popover2.js +111 -67
  525. package/lib/components/popover/src/popover2.js.map +1 -1
  526. package/lib/components/popper/index.js +2 -2
  527. package/lib/components/popper/src/arrow.js +37 -9
  528. package/lib/components/popper/src/arrow.js.map +1 -1
  529. package/lib/components/popper/src/arrow2.js +9 -37
  530. package/lib/components/popper/src/arrow2.js.map +1 -1
  531. package/lib/components/progress/index.js +2 -2
  532. package/lib/components/progress/src/progress.js +59 -205
  533. package/lib/components/progress/src/progress.js.map +1 -1
  534. package/lib/components/progress/src/progress2.js +205 -59
  535. package/lib/components/progress/src/progress2.js.map +1 -1
  536. package/lib/components/radio/index.d.ts +3 -3
  537. package/lib/components/radio/src/radio-group.vue.d.ts +1 -1
  538. package/lib/components/radio/src/radio.vue.d.ts +1 -1
  539. package/lib/components/radio/src/use-radio.d.ts +1 -1
  540. package/lib/components/rate/index.d.ts +1 -1
  541. package/lib/components/rate/index.js +2 -2
  542. package/lib/components/rate/src/rate.js +259 -87
  543. package/lib/components/rate/src/rate.js.map +1 -1
  544. package/lib/components/rate/src/rate.vue.d.ts +1 -1
  545. package/lib/components/rate/src/rate2.js +87 -259
  546. package/lib/components/rate/src/rate2.js.map +1 -1
  547. package/lib/components/row/index.js +2 -2
  548. package/lib/components/row/src/row.js +45 -31
  549. package/lib/components/row/src/row.js.map +1 -1
  550. package/lib/components/row/src/row2.js +31 -45
  551. package/lib/components/row/src/row2.js.map +1 -1
  552. package/lib/components/select/index.d.ts +1 -1
  553. package/lib/components/select/src/select.vue.d.ts +1 -1
  554. package/lib/components/select-v2/index.d.ts +2 -2
  555. package/lib/components/select-v2/src/select.vue.d.ts +1 -1
  556. package/lib/components/skeleton/index.js +4 -4
  557. package/lib/components/skeleton/src/skeleton-item.js +18 -23
  558. package/lib/components/skeleton/src/skeleton-item.js.map +1 -1
  559. package/lib/components/skeleton/src/skeleton-item2.js +23 -18
  560. package/lib/components/skeleton/src/skeleton-item2.js.map +1 -1
  561. package/lib/components/skeleton/src/skeleton.js +22 -49
  562. package/lib/components/skeleton/src/skeleton.js.map +1 -1
  563. package/lib/components/skeleton/src/skeleton2.js +49 -22
  564. package/lib/components/skeleton/src/skeleton2.js.map +1 -1
  565. package/lib/components/slider/index.d.ts +6 -6
  566. package/lib/components/slider/src/slider.vue.d.ts +6 -6
  567. package/lib/components/statistic/index.js +2 -2
  568. package/lib/components/statistic/src/statistic.js +25 -70
  569. package/lib/components/statistic/src/statistic.js.map +1 -1
  570. package/lib/components/statistic/src/statistic2.js +70 -25
  571. package/lib/components/statistic/src/statistic2.js.map +1 -1
  572. package/lib/components/switch/index.d.ts +1 -1
  573. package/lib/components/switch/src/switch.vue.d.ts +1 -1
  574. package/lib/components/tabs/index.js +1 -1
  575. package/lib/components/tabs/src/tab-bar.js +75 -7
  576. package/lib/components/tabs/src/tab-bar.js.map +1 -1
  577. package/lib/components/tabs/src/tab-bar2.js +7 -75
  578. package/lib/components/tabs/src/tab-bar2.js.map +1 -1
  579. package/lib/components/tabs/src/tab-nav.js +1 -1
  580. package/lib/components/text/index.js +2 -2
  581. package/lib/components/text/src/text.js +24 -38
  582. package/lib/components/text/src/text.js.map +1 -1
  583. package/lib/components/text/src/text2.js +38 -24
  584. package/lib/components/text/src/text2.js.map +1 -1
  585. package/lib/components/time-picker/src/common/picker.vue.d.ts +3 -3
  586. package/lib/components/time-picker/src/composables/use-time-picker.d.ts +2 -2
  587. package/lib/components/time-picker/src/props/basic-time-spinner.d.ts +1 -1
  588. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +4 -4
  589. package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +7 -7
  590. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +7 -7
  591. package/lib/components/time-select/index.d.ts +6 -6
  592. package/lib/components/time-select/index.js +1 -1
  593. package/lib/components/time-select/src/time-select.js +125 -48
  594. package/lib/components/time-select/src/time-select.js.map +1 -1
  595. package/lib/components/time-select/src/time-select.vue.d.ts +3 -3
  596. package/lib/components/time-select/src/time-select2.js +48 -125
  597. package/lib/components/time-select/src/time-select2.js.map +1 -1
  598. package/lib/components/timeline/index.js +2 -2
  599. package/lib/components/timeline/src/timeline-item.js +72 -42
  600. package/lib/components/timeline/src/timeline-item.js.map +1 -1
  601. package/lib/components/timeline/src/timeline-item2.js +42 -72
  602. package/lib/components/timeline/src/timeline-item2.js.map +1 -1
  603. package/lib/components/tooltip/index.js +3 -3
  604. package/lib/components/tooltip/src/tooltip.js +168 -33
  605. package/lib/components/tooltip/src/tooltip.js.map +1 -1
  606. package/lib/components/tooltip/src/tooltip2.js +33 -168
  607. package/lib/components/tooltip/src/tooltip2.js.map +1 -1
  608. package/lib/components/tooltip/src/trigger.js +16 -73
  609. package/lib/components/tooltip/src/trigger.js.map +1 -1
  610. package/lib/components/tooltip/src/trigger2.js +73 -16
  611. package/lib/components/tooltip/src/trigger2.js.map +1 -1
  612. package/lib/components/tooltip-v2/index.js +3 -3
  613. package/lib/components/tooltip-v2/src/content.js +50 -112
  614. package/lib/components/tooltip-v2/src/content.js.map +1 -1
  615. package/lib/components/tooltip-v2/src/content2.js +112 -50
  616. package/lib/components/tooltip-v2/src/content2.js.map +1 -1
  617. package/lib/components/tooltip-v2/src/tooltip.js +20 -73
  618. package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
  619. package/lib/components/tooltip-v2/src/tooltip2.js +73 -20
  620. package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
  621. package/lib/components/transfer/index.d.ts +17 -17
  622. package/lib/components/transfer/index.js +2 -2
  623. package/lib/components/transfer/src/composables/use-check.js +1 -1
  624. package/lib/components/transfer/src/composables/use-checked-change.js +1 -1
  625. package/lib/components/transfer/src/transfer-panel.js +128 -21
  626. package/lib/components/transfer/src/transfer-panel.js.map +1 -1
  627. package/lib/components/transfer/src/transfer-panel.vue.d.ts +3 -3
  628. package/lib/components/transfer/src/transfer-panel2.js +21 -128
  629. package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
  630. package/lib/components/transfer/src/transfer.js +73 -160
  631. package/lib/components/transfer/src/transfer.js.map +1 -1
  632. package/lib/components/transfer/src/transfer.vue.d.ts +17 -17
  633. package/lib/components/transfer/src/transfer2.js +160 -73
  634. package/lib/components/transfer/src/transfer2.js.map +1 -1
  635. package/lib/components/tree-v2/index.d.ts +1 -1
  636. package/lib/components/tree-v2/src/tree-node.vue.d.ts +1 -1
  637. package/lib/components/tree-v2/src/tree.vue.d.ts +1 -1
  638. package/lib/components/upload/index.js +3 -3
  639. package/lib/components/upload/src/upload-content.js +1 -1
  640. package/lib/components/upload/src/upload-content2.js +2 -2
  641. package/lib/components/upload/src/upload-dragger.js +12 -72
  642. package/lib/components/upload/src/upload-dragger.js.map +1 -1
  643. package/lib/components/upload/src/upload-dragger2.js +72 -12
  644. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  645. package/lib/components/upload/src/upload-list.js +1 -1
  646. package/lib/components/upload/src/upload.js +104 -116
  647. package/lib/components/upload/src/upload.js.map +1 -1
  648. package/lib/components/upload/src/upload2.js +116 -104
  649. package/lib/components/upload/src/upload2.js.map +1 -1
  650. package/lib/components/upload/src/use-handlers.js +1 -1
  651. package/lib/components/visual-hidden/index.js +2 -2
  652. package/lib/components/visual-hidden/src/visual-hidden.js +7 -35
  653. package/lib/components/visual-hidden/src/visual-hidden.js.map +1 -1
  654. package/lib/components/visual-hidden/src/visual-hidden2.js +35 -7
  655. package/lib/components/visual-hidden/src/visual-hidden2.js.map +1 -1
  656. package/lib/components/watermark/index.js +2 -2
  657. package/lib/components/watermark/src/watermark.js +28 -207
  658. package/lib/components/watermark/src/watermark.js.map +1 -1
  659. package/lib/components/watermark/src/watermark2.js +207 -28
  660. package/lib/components/watermark/src/watermark2.js.map +1 -1
  661. package/lib/index.js +39 -39
  662. package/lib/utils/vue/validator.d.ts +1 -1
  663. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dsh-cascader2.js","sources":["../../../../../../packages/components/dsh-cascader/src/dsh-cascader.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"popperVisible\"\n :teleported=\"teleported\"\n :popper-class=\"[nsCascader.e('dropdown'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"[\n 'bottom-start',\n 'bottom',\n 'top-start',\n 'top',\n 'right',\n 'left',\n ]\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n placement=\"bottom-start\"\n :transition=\"`${nsCascader.namespace.value}-zoom-in-top`\"\n effect=\"light\"\n pure\n persistent\n @hide=\"hideSuggestionPanel\"\n >\n <template #default>\n <div\n v-clickoutside:[contentRef]=\"handleCancel\"\n :class=\"cascaderKls\"\n :style=\"cascaderStyle\"\n @click=\"() => togglePopperVisible(readonly ? undefined : true)\"\n @keydown=\"handleKeyDown\"\n @mouseenter=\"inputHover = true\"\n @mouseleave=\"inputHover = false\"\n >\n <el-input\n ref=\"input\"\n v-model=\"inputValue\"\n :placeholder=\"currentPlaceholder\"\n :readonly=\"readonly\"\n :disabled=\"isDisabled\"\n :validate-event=\"false\"\n :size=\"realSize\"\n :class=\"inputClass\"\n :style=\"{\n width:\n popperVisible || filterFocus\n ? focusWidth || width\n : inputHover && hasValue\n ? `calc(${width} + 30px)`\n : hasValue\n ? width\n : emptyWidth || width,\n transition: 'width 0.3s',\n }\"\n :tabindex=\"multiple && filterable && !isDisabled ? -1 : undefined\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @input=\"handleInput\"\n >\n <template #suffix>\n <el-icon\n v-if=\"clearBtnVisible\"\n key=\"clear\"\n :class=\"[nsInput.e('icon'), 'icon-circle-close']\"\n @click.stop=\"handleClear\"\n >\n <circle-close />\n </el-icon>\n <el-icon\n v-else\n key=\"arrow-down\"\n :class=\"cascaderIconKls\"\n @click.stop=\"togglePopperVisible()\"\n >\n <arrow-down />\n </el-icon>\n </template>\n </el-input>\n\n <div v-if=\"multiple\" ref=\"tagWrapper\" :class=\"nsCascader.e('tags')\">\n <el-tag\n v-for=\"tag in presentTags\"\n :key=\"tag.key\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag.hitState\"\n :closable=\"tag.closable\"\n :style=\"{\n maxWidth:\n collapseTags && presentTags.length > maxCollapseTags\n ? tagSize === 'small'\n ? 'calc(100% - 57px)'\n : 'calc(100% - 67px)'\n : 'calc(100% - 17px)',\n }\"\n disable-transitions\n @close=\"deleteTag(tag)\"\n >\n <template v-if=\"tag.isCollapseTag === false\">\n <span>{{ tag.text }}</span>\n </template>\n <template v-else>\n <el-tooltip\n :disabled=\"popperVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n placement=\"bottom\"\n effect=\"light\"\n >\n <template #default>\n <span>{{ tag.text }}</span>\n </template>\n <template #content>\n <div :class=\"nsCascader.e('collapse-tags')\">\n <div\n v-for=\"(tag2, idx) in allPresentTags.slice(\n maxCollapseTags\n )\"\n :key=\"idx\"\n :class=\"nsCascader.e('collapse-tag')\"\n >\n <el-tag\n :key=\"tag2.key\"\n class=\"in-tooltip\"\n :type=\"tagType\"\n :size=\"tagSize\"\n :hit=\"tag2.hitState\"\n :closable=\"tag2.closable\"\n disable-transitions\n @close=\"deleteTag(tag2)\"\n >\n <span>{{ tag2.text }}</span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </template>\n </el-tag>\n <input\n v-if=\"filterable && !isDisabled\"\n v-show=\"popperVisible\"\n ref=\"searchInput\"\n v-model=\"searchInputValue\"\n type=\"text\"\n :class=\"cascaderInputKls\"\n :placeholder=\"presentText ? '' : inputPlaceholder\"\n @input=\"(e) => handleInput(searchInputValue, e as KeyboardEvent)\"\n @click.stop=\"togglePopperVisible(true)\"\n @keydown.delete=\"handleDelete\"\n @compositionstart=\"handleComposition\"\n @compositionupdate=\"handleComposition\"\n @compositionend=\"handleComposition\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n />\n </div>\n </div>\n </template>\n\n <template #content>\n <el-dsh-cascader-panel\n v-show=\"!filtering\"\n ref=\"cascaderPanelRef\"\n v-model=\"checkedValue\"\n :options=\"options\"\n :props=\"props.props\"\n :border=\"false\"\n :render-label=\"$slots.default\"\n @confirm=\"handleConfirm\"\n @expand-change=\"handleExpandChange\"\n @close=\"$nextTick(() => togglePopperVisible(false))\"\n />\n <el-scrollbar\n v-if=\"filterable\"\n v-show=\"filtering\"\n ref=\"suggestionPanel\"\n tag=\"ul\"\n :class=\"nsCascader.e('suggestion-panel')\"\n :view-class=\"nsCascader.e('suggestion-list')\"\n @keydown=\"handleSuggestionKeyDown\"\n >\n <template v-if=\"suggestions.length\">\n <li\n v-for=\"item in suggestions\"\n :key=\"item.uid\"\n :class=\"[\n nsCascader.e('suggestion-item'),\n nsCascader.is('checked', item.checked),\n ]\"\n :tabindex=\"-1\"\n @click=\"handleSuggestionClick(item)\"\n >\n <span>{{ item.text }}</span>\n <el-icon v-if=\"item.checked\">\n <check />\n </el-icon>\n </li>\n </template>\n <slot v-else name=\"empty\">\n <li :class=\"nsCascader.e('empty-text')\">\n {{ t('el.cascader.noMatch') }}\n </li>\n </slot>\n </el-scrollbar>\n <div v-if=\"showFoot\" :class=\"nsCascader.e('footer')\">\n <el-button size=\"small\" plain @click=\"handleCancel\">取消</el-button>\n <el-button size=\"small\" type=\"primary\" plain @click=\"handleConfirm\"\n >确定</el-button\n >\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { cloneDeep, debounce } from 'lodash-unified'\nimport { useCssVar, useResizeObserver } from '@vueuse/core'\nimport { ArrowDown, Check, CircleClose } from '@element-plus/icons-vue'\nimport ElDshCascaderPanel from '@code-monkey-ui/components/dsh-cascader-panel'\nimport { ElButton } from '@code-monkey-ui/components/button'\nimport ElInput from '@code-monkey-ui/components/input'\nimport ElTooltip from '@code-monkey-ui/components/tooltip'\nimport ElScrollbar from '@code-monkey-ui/components/scrollbar'\nimport ElTag from '@code-monkey-ui/components/tag'\nimport ElIcon from '@code-monkey-ui/components/icon'\nimport { useFormItem, useFormSize } from '@code-monkey-ui/components/form'\nimport { ClickOutside as vClickoutside } from '@code-monkey-ui/directives'\nimport { useLocale, useNamespace } from '@code-monkey-ui/hooks'\nimport {\n debugWarn,\n focusNode,\n getSibling,\n isClient,\n isKorean,\n} from '@code-monkey-ui/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@code-monkey-ui/constants'\nimport { dshCascaderEmits, dshCascaderProps } from './dsh-cascader'\n\nimport type { Options } from '@code-monkey-ui/components/popper'\nimport type { ComputedRef, Ref, StyleValue } from 'vue'\nimport type { TooltipInstance } from '@code-monkey-ui/components/tooltip'\nimport type { InputInstance } from '@code-monkey-ui/components/input'\nimport type { ScrollbarInstance } from '@code-monkey-ui/components/scrollbar'\nimport type {\n DshCascaderNode,\n DshCascaderPanelInstance,\n DshCascaderValue,\n DshTag,\n} from '@code-monkey-ui/components/dsh-cascader-panel'\n\nconst popperOptions: Partial<Options> = {\n modifiers: [\n {\n name: 'arrowPosition',\n enabled: true,\n phase: 'main',\n fn: ({ state }) => {\n const { modifiersData, placement } = state as any\n if (['right', 'left', 'bottom', 'top'].includes(placement)) return\n modifiersData.arrow.x = 35\n },\n requires: ['arrow'],\n },\n ],\n}\nconst COMPONENT_NAME = 'ElDshCascader'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(dshCascaderProps)\nconst emit = defineEmits(dshCascaderEmits)\nconst attrs = useAttrs()\n\nlet inputInitialHeight = 0\nlet pressDeleteCount = 0\n\nconst nsCascader = useNamespace('dsh-cascader')\nconst nsInput = useNamespace('input')\n\nconst { t } = useLocale()\nconst { form, formItem } = useFormItem()\n\nconst tooltipRef: Ref<TooltipInstance | null> = ref(null)\nconst input: Ref<InputInstance | null> = ref(null)\nconst searchInput: Ref<InputInstance | null> = ref(null)\nconst tagWrapper = ref(null)\nconst cascaderPanelRef: Ref<DshCascaderPanelInstance | null> = ref(null)\nconst suggestionPanel: Ref<ScrollbarInstance | null> = ref(null)\nconst popperVisible = ref(false)\nconst inputHover = ref(false)\nconst filtering = ref(false)\nconst filterFocus = ref(false)\nconst inputValue = ref('')\nconst searchInputValue = ref('')\nconst presentTags: Ref<DshTag[]> = ref([])\nconst allPresentTags: Ref<DshTag[]> = ref([])\nconst suggestions: Ref<DshCascaderNode[]> = ref([])\n// 临时存储值,用于取消按钮点击时恢复原值\nconst tempCheckedNodes: Ref<DshCascaderNode[]> = ref([])\nconst isOnComposition = ref(false)\n\nconst cascaderStyle = computed<StyleValue>(() => {\n return attrs.style as StyleValue\n})\n\nconst isDisabled = computed(() => props.disabled || form?.disabled)\nconst inputPlaceholder = computed(\n () => props.placeholder || t('el.cascader.placeholder')\n)\nconst currentPlaceholder = computed(() =>\n searchInputValue.value ||\n presentTags.value.length > 0 ||\n isOnComposition.value\n ? ''\n : popperVisible.value || filterFocus.value\n ? '搜索内容'\n : inputPlaceholder.value\n)\nconst realSize = useFormSize()\nconst tagSize = computed(() =>\n ['small'].includes(realSize.value) ? 'small' : 'default'\n)\nconst multiple = computed(() => !!props.props.multiple)\nconst readonly = computed(() => !props.filterable || multiple.value)\nconst searchKeyword = computed(() =>\n multiple.value ? searchInputValue.value : inputValue.value\n)\nconst checkedNodes: ComputedRef<DshCascaderNode[]> = computed(\n () => cascaderPanelRef.value?.checkedNodes || []\n)\nconst clearBtnVisible = computed(() => {\n if (\n !props.clearable ||\n isDisabled.value ||\n filtering.value ||\n !inputHover.value\n )\n return false\n\n return !!checkedNodes.value.length\n})\nconst presentText = computed(() => {\n const { showAllLevels, separator } = props\n const nodes = checkedNodes.value\n return nodes.length\n ? multiple.value\n ? ''\n : nodes[0].calcText(showAllLevels, separator)\n : ''\n})\n\nconst checkedValue = computed<DshCascaderValue>({\n get() {\n return cloneDeep(props.modelValue) as DshCascaderValue\n },\n set(val) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n if (props.validateEvent) {\n formItem?.validate('change').catch((err) => debugWarn(err))\n }\n },\n})\n\nconst hasValue = computed(() => {\n return multiple.value\n ? Array.isArray(checkedValue.value) && checkedValue.value.length > 0\n : checkedValue.value !== undefined &&\n checkedValue.value !== null &&\n checkedValue.value !== ''\n})\n\nconst cascaderKls = computed(() => {\n return [\n nsCascader.b(),\n nsCascader.m(realSize.value),\n nsCascader.is('disabled', isDisabled.value),\n attrs.class,\n ]\n})\n\nconst cascaderInputKls = computed(() => {\n return [\n nsCascader.e('search-input'),\n nsCascader.em('search-input', realSize.value),\n ]\n})\n\nconst cascaderIconKls = computed(() => {\n return [\n nsInput.e('icon'),\n 'icon-arrow-down',\n nsCascader.is('reverse', popperVisible.value),\n ]\n})\n\nconst inputClass = computed(() => {\n return nsCascader.is('focus', popperVisible.value || filterFocus.value)\n})\n\nconst contentRef = computed(() => {\n return tooltipRef.value?.popperRef?.contentRef\n})\n\nconst togglePopperVisible = (visible?: boolean) => {\n if (isDisabled.value) return\n visible = visible ?? !popperVisible.value\n\n if (visible !== popperVisible.value) {\n popperVisible.value = visible\n input.value?.input?.setAttribute('aria-expanded', `${visible}`)\n\n if (visible) {\n if (multiple.value) {\n nextTick(() => {\n searchInput?.value?.focus()\n })\n }\n updatePopperPosition()\n nextTick(cascaderPanelRef.value?.scrollToExpandingNode)\n } else if (props.filterable) {\n syncPresentTextValue()\n }\n\n emit('visibleChange', visible)\n }\n}\n\nconst tempSaveMultipleValues = (visible?: boolean) => {\n if (visible) {\n tempCheckedNodes.value = cloneDeep(checkedNodes.value)\n }\n}\n\nconst updatePopperPosition = () => {\n nextTick(() => {\n tooltipRef.value?.updatePopper()\n })\n}\n\nconst hideSuggestionPanel = () => {\n filtering.value = false\n}\n\nconst genTag = (node: DshCascaderNode): DshTag => {\n const { showAllLevels, separator } = props\n return {\n node,\n key: node.uid,\n text: node.calcText(showAllLevels, separator),\n hitState: false,\n closable: !isDisabled.value && !node.DshIsDisabled,\n isCollapseTag: false,\n }\n}\n\nconst deleteTag = (tag: DshTag) => {\n const node = tag.node as DshCascaderNode\n node.doCheck(false)\n cascaderPanelRef.value?.calculateCheckedValue()\n emit('removeTag', node.valueByOption)\n handleConfirm()\n}\n\nconst calculatePresentTags = () => {\n if (!multiple.value) return\n const nodes = checkedNodes.value\n const tags: DshTag[] = []\n\n const allTags: DshTag[] = []\n nodes.forEach((node) => allTags.push(genTag(node)))\n allPresentTags.value = allTags\n\n if (nodes.length) {\n nodes\n .slice(0, props.maxCollapseTags)\n .forEach((node) => tags.push(genTag(node)))\n const rest = nodes.slice(props.maxCollapseTags)\n const restCount = rest.length\n\n if (restCount) {\n if (props.collapseTags) {\n tags.push({\n key: -1,\n text: `+ ${restCount}`,\n closable: false,\n isCollapseTag: true,\n })\n } else {\n rest.forEach((node) => tags.push(genTag(node)))\n }\n }\n }\n\n presentTags.value = tags\n}\n\nconst calculateSuggestions = () => {\n const { filterMethod, showAllLevels, separator } = props\n const res = cascaderPanelRef.value\n ?.getFlattedNodes(!props.props.checkStrictly)\n ?.filter((node) => {\n if (node.DshIsDisabled) return false\n node.calcText(showAllLevels, separator)\n return filterMethod(node, searchKeyword.value)\n })\n\n if (multiple.value) {\n presentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n allPresentTags.value.forEach((tag) => {\n tag.hitState = false\n })\n }\n\n filtering.value = true\n suggestions.value = res!\n updatePopperPosition()\n}\n\nconst focusFirstNode = () => {\n let firstNode!: HTMLElement\n\n if (filtering.value && suggestionPanel.value) {\n firstNode = suggestionPanel.value.$el.querySelector(\n `.${nsCascader.e('suggestion-item')}`\n )\n } else {\n firstNode = cascaderPanelRef.value?.$el.querySelector(\n `.${nsCascader.b('node')}[tabindex=\"-1\"]`\n )\n }\n\n if (firstNode) {\n firstNode.focus()\n !filtering.value && firstNode.click()\n }\n}\n\nconst updateStyle = () => {\n const inputInner = input.value?.input\n const tagWrapperEl = tagWrapper.value\n const suggestionPanelEl = suggestionPanel.value?.$el\n\n if (!isClient || !inputInner) return\n\n if (suggestionPanelEl) {\n const suggestionList = suggestionPanelEl.querySelector(\n `.${nsCascader.e('suggestion-list')}`\n )\n suggestionList.style.minWidth = `${inputInner.offsetWidth}px`\n }\n\n if (tagWrapperEl) {\n const { offsetHeight } = tagWrapperEl\n const height =\n presentTags.value.length > 0\n ? `${Math.max(offsetHeight + 6, inputInitialHeight)}px`\n : `${inputInitialHeight}px`\n inputInner.style.height = height\n updatePopperPosition()\n }\n}\n\nconst getCheckedNodes = (leafOnly: boolean) => {\n return cascaderPanelRef.value?.getCheckedNodes(leafOnly)\n}\n\nconst handleExpandChange = (value: DshCascaderValue) => {\n updatePopperPosition()\n emit('expandChange', value)\n}\n\nconst handleComposition = (event: CompositionEvent) => {\n const text = (event.target as HTMLInputElement)?.value\n if (event.type === 'compositionend') {\n isOnComposition.value = false\n nextTick(() => handleInput(text))\n } else {\n const lastCharacter = text[text.length - 1] || ''\n isOnComposition.value = !isKorean(lastCharacter)\n }\n}\n\nconst handleKeyDown = (e: KeyboardEvent) => {\n if (isOnComposition.value) return\n\n switch (e.code) {\n case EVENT_CODE.enter:\n togglePopperVisible()\n break\n case EVENT_CODE.down:\n togglePopperVisible(true)\n nextTick(focusFirstNode)\n e.preventDefault()\n break\n case EVENT_CODE.esc:\n if (popperVisible.value === true) {\n e.preventDefault()\n e.stopPropagation()\n togglePopperVisible(false)\n }\n break\n case EVENT_CODE.tab:\n togglePopperVisible(false)\n break\n }\n}\n\nconst handleClear = () => {\n cascaderPanelRef.value?.clearCheckedNodes()\n if (!popperVisible.value && props.filterable) {\n syncPresentTextValue()\n }\n handleConfirm()\n}\n\nconst syncPresentTextValue = () => {\n const { value } = presentText\n inputValue.value = value\n searchInputValue.value = value\n}\n\nconst handleSuggestionClick = (node: DshCascaderNode) => {\n const { checked } = node\n\n if (multiple.value) {\n cascaderPanelRef.value?.handleCheckChange(node, !checked, false)\n } else {\n !checked && cascaderPanelRef.value?.handleCheckChange(node, true, false)\n togglePopperVisible(false)\n }\n}\n\nconst handleSuggestionKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(\n target,\n distance,\n `.${nsCascader.e('suggestion-item')}[tabindex=\"-1\"]`\n ) as HTMLElement\n )\n break\n }\n case EVENT_CODE.enter:\n target.click()\n break\n }\n}\n\nconst handleDelete = () => {\n const tags = presentTags.value\n const lastTag = tags[tags.length - 1]\n pressDeleteCount = searchInputValue.value ? 0 : pressDeleteCount + 1\n\n if (!lastTag || !pressDeleteCount || (props.collapseTags && tags.length > 1))\n return\n\n if (lastTag.hitState) {\n deleteTag(lastTag)\n } else {\n lastTag.hitState = true\n }\n}\n\nconst handleFocus = (e: FocusEvent) => {\n const el = e.target as HTMLInputElement\n const name = nsCascader.e('search-input')\n if (el.className === name) {\n filterFocus.value = true\n }\n emit('focus', e)\n}\n\nconst handleBlur = (e: FocusEvent) => {\n filterFocus.value = false\n emit('blur', e)\n}\n\n// 确定按钮回调\nconst handleConfirm = () => {\n setTimeout(() => {\n emit('confirm', checkedValue.value)\n })\n togglePopperVisible(false)\n}\n\n// 取消按钮回调\nconst handleCancel = () => {\n if (isDisabled.value || !popperVisible.value) return\n cascaderPanelRef.value?.clearCheckedNodes()\n const length = cascaderPanelRef.value?.getFlattedNodes(true)?.length || 0\n if (length - 1 === tempCheckedNodes.value.length) {\n cascaderPanelRef.value\n ?.getFlattedNodes(true)\n ?.forEach((node: DshCascaderNode) => {\n node.doCheck(true)\n cascaderPanelRef.value?.expandParentNode(node)\n })\n } else {\n tempCheckedNodes.value.forEach((tempNode: DshCascaderNode) => {\n cascaderPanelRef.value\n ?.getFlattedNodes(true)\n // eslint-disable-next-line array-callback-return\n ?.some((node: DshCascaderNode) => {\n if (tempNode.uid === node.uid) {\n node.doCheck(true)\n cascaderPanelRef.value?.expandParentNode(node)\n return true\n }\n })\n })\n }\n cascaderPanelRef.value?.calculateCheckedValue()\n updatePopperPosition()\n togglePopperVisible(false)\n setTimeout(() => {\n emit('cancel', checkedValue.value)\n })\n}\n\nconst handleFilter = debounce(() => {\n const { value } = searchKeyword\n\n if (!value) return\n\n const passed = props.beforeFilter(value)\n\n if (isPromise(passed)) {\n passed.then(calculateSuggestions).catch(() => {\n /* prevent log error */\n })\n } else if (passed !== false) {\n calculateSuggestions()\n } else {\n hideSuggestionPanel()\n }\n}, props.debounce)\n\nconst handleInput = (val: string, e?: KeyboardEvent) => {\n !popperVisible.value && togglePopperVisible(true)\n\n if (e?.isComposing) return\n\n val ? handleFilter() : hideSuggestionPanel()\n}\n\nconst getInputInnerHeight = (inputInner: HTMLElement): number =>\n Number.parseFloat(\n useCssVar(nsInput.cssVarName('input-height'), inputInner).value\n ) - 2\n\nwatch(filtering, updatePopperPosition)\n\nwatch([checkedNodes, isDisabled], calculatePresentTags)\n\nwatch(presentTags, () => {\n nextTick(() => updateStyle())\n})\n\nwatch(popperVisible, tempSaveMultipleValues, { immediate: true })\n\nwatch(realSize, async () => {\n await nextTick()\n const inputInner = input.value!.input!\n inputInitialHeight = getInputInnerHeight(inputInner) || inputInitialHeight\n updateStyle()\n})\n\nwatch(presentText, syncPresentTextValue, { immediate: true })\n\nonMounted(() => {\n const inputInner = input.value!.input!\n\n const inputInnerHeight = getInputInnerHeight(inputInner)\n\n inputInitialHeight = inputInner.offsetHeight || inputInnerHeight\n useResizeObserver(inputInner, updateStyle)\n})\n\ndefineExpose({\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description cascader panel ref\n */\n cascaderPanelRef,\n /**\n * @description toggle the visible of popper\n */\n togglePopperVisible,\n /**\n * @description cascader content ref\n */\n contentRef,\n})\n</script>\n"],"names":["useAttrs","useNamespace","useLocale","useFormItem","ref","computed","useFormSize","UPDATE_MODEL_EVENT","CHANGE_EVENT","debugWarn","nextTick","cloneDeep","isClient","isKorean","EVENT_CODE","focusNode","getSibling","debounce","isPromise","useCssVar","watch"],"mappings":"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"}
1
+ {"version":3,"file":"dsh-cascader2.js","sources":["../../../../../../packages/components/dsh-cascader/src/dsh-cascader.ts"],"sourcesContent":["import { DshCommonProps } from '@code-monkey-ui/components/dsh-cascader-panel'\nimport { buildProps, definePropType, isBoolean } from '@code-monkey-ui/utils'\nimport { useSizeProp } from '@code-monkey-ui/hooks'\nimport { useTooltipContentProps } from '@code-monkey-ui/components/tooltip'\nimport { tagProps } from '@code-monkey-ui/components/tag'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@code-monkey-ui/constants'\nimport type {\n DshCascaderNode,\n DshCascaderValue,\n} from '@code-monkey-ui/components/dsh-cascader-panel'\n\nexport const dshCascaderProps = buildProps({\n ...DshCommonProps,\n /**\n * @description size of input\n */\n size: useSizeProp,\n /**\n * @description placeholder of input\n */\n placeholder: String,\n /**\n * @description whether Cascader is disabled\n */\n disabled: Boolean,\n /**\n * @description whether selected value can be cleared\n */\n clearable: Boolean,\n /**\n * @description whether the options can be searched\n */\n filterable: Boolean,\n /**\n * @description customize search logic, the first parameter is `node`, the second is `keyword`, and need return a boolean value indicating whether it hits.\n */\n filterMethod: {\n type: definePropType<(node: DshCascaderNode, keyword: string) => boolean>(\n Function\n ),\n default: (node: DshCascaderNode, keyword: string) =>\n node.text.includes(keyword),\n },\n /**\n * @description option label separator\n */\n separator: {\n type: String,\n default: ' / ',\n },\n /**\n * @description whether to display all levels of the selected value in the input\n */\n showAllLevels: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to collapse tags in multiple selection mode\n */\n collapseTags: Boolean,\n /**\n * @description The max tags number to be shown. To use this, collapse-tags must be true\n */\n maxCollapseTags: {\n type: Number,\n default: 1,\n },\n /**\n * @description native input id\n */\n collapseTagsTooltip: {\n type: Boolean,\n default: false,\n },\n /**\n * @description debounce delay when typing filter keyword, in milliseconds\n */\n debounce: {\n type: Number,\n default: 300,\n },\n /**\n * @description hook function before filtering with the value to be filtered as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, filtering will be aborted\n */\n beforeFilter: {\n type: definePropType<(value: string) => boolean | Promise<any>>(Function),\n default: () => true,\n },\n /**\n * @description custom class name for Cascader's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description whether cascader popup is teleported\n */\n teleported: useTooltipContentProps.teleported,\n /**\n * @description tag type\n */\n // eslint-disable-next-line vue/require-prop-types\n tagType: { ...tagProps.type, default: 'info' },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description 显示底部按钮\n */\n showFoot: {\n type: Boolean,\n default: true,\n },\n /**\n * @description 显示只选此项\n */\n onlyThis: {\n type: Boolean,\n default: true,\n },\n /**\n * @description 未选值时默认宽度\n */\n emptyWidth: {\n type: String,\n default: '',\n },\n /**\n * @description 宽度\n */\n width: {\n type: String,\n default: '100%',\n },\n /**\n * @description 聚焦时宽度\n */\n focusWidth: {\n type: String,\n default: '',\n },\n})\n\nexport const dshCascaderEmits = {\n [UPDATE_MODEL_EVENT]: (val: DshCascaderValue) => !!val || val === null,\n [CHANGE_EVENT]: (val: DshCascaderValue) => !!val || val === null,\n focus: (evt: FocusEvent) => evt instanceof FocusEvent,\n blur: (evt: FocusEvent) => evt instanceof FocusEvent,\n visibleChange: (val: boolean) => isBoolean(val),\n expandChange: (val: DshCascaderValue) => !!val,\n removeTag: (val: DshCascaderNode['valueByOption']) => !!val,\n confirm: (val: DshCascaderValue) => !!val || val === null,\n cancel: (val: DshCascaderValue) => !!val || val === null,\n}\n\n// Type name is taken(cascader-panel/src/node), needs discussion\n// export type dshCascaderProps = ExtractPropTypes<typeof dshCascaderProps>\n\nexport type DshCascaderEmits = typeof dshCascaderEmits\n"],"names":["buildProps","DshCommonProps","useSizeProp","definePropType","useTooltipContentProps","tagProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","isBoolean"],"mappings":"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"}
@@ -164,7 +164,7 @@ declare const _CascaderPanel: SFCWithInstall<import("vue").DefineComponent<{
164
164
  scrollToExpandingNode: () => void;
165
165
  expandParentNode: (node: any) => void;
166
166
  onlyThisConfirm: () => void;
167
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "close" | "expand-change" | "confirm")[], "change" | "close" | "update:modelValue" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
167
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "close" | "expand-change" | "confirm")[], "update:modelValue" | "change" | "close" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
168
168
  border: {
169
169
  type: BooleanConstructor;
170
170
  default: boolean;
@@ -360,7 +360,7 @@ export declare const ElDshCascaderPanel: SFCWithInstall<import("vue").DefineComp
360
360
  scrollToExpandingNode: () => void;
361
361
  expandParentNode: (node: any) => void;
362
362
  onlyThisConfirm: () => void;
363
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "close" | "expand-change" | "confirm")[], "change" | "close" | "update:modelValue" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
363
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "close" | "expand-change" | "confirm")[], "update:modelValue" | "change" | "close" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
364
364
  border: {
365
365
  type: BooleanConstructor;
366
366
  default: boolean;
@@ -9,7 +9,7 @@ require('../../../constants/index.js');
9
9
  require('../../../hooks/index.js');
10
10
  var menu = require('./menu.js');
11
11
  var store = require('./store.js');
12
- var node = require('./node2.js');
12
+ var node = require('./node.js');
13
13
  var config = require('./config.js');
14
14
  var utils = require('./utils.js');
15
15
  var types$1 = require('./types.js');
@@ -172,7 +172,7 @@ declare const _default: import("vue").DefineComponent<{
172
172
  scrollToExpandingNode: () => void;
173
173
  expandParentNode: (node: any) => void;
174
174
  onlyThisConfirm: () => void;
175
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "close" | "expand-change" | "confirm")[], "change" | "close" | "update:modelValue" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
175
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change" | "close" | "expand-change" | "confirm")[], "update:modelValue" | "change" | "close" | "confirm" | "expand-change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
176
176
  border: {
177
177
  type: BooleanConstructor;
178
178
  default: boolean;
@@ -8,7 +8,7 @@ var index$1 = require('../../scrollbar/index.js');
8
8
  require('../../../hooks/index.js');
9
9
  require('../../../utils/index.js');
10
10
  var index = require('../../icon/index.js');
11
- var node = require('./node.js');
11
+ var node = require('./node2.js');
12
12
  var types = require('./types.js');
13
13
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
14
  var index$2 = require('../../../hooks/use-namespace/index.js');
@@ -2,239 +2,125 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- var iconsVue = require('@element-plus/icons-vue');
7
- var index = require('../../checkbox/index.js');
8
- var index$1 = require('../../radio/index.js');
9
- var index$2 = require('../../icon/index.js');
10
- require('../../../hooks/index.js');
11
- var dshNodeContent = require('./dsh-node-content.js');
12
- var types = require('./types.js');
13
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
14
- var index$3 = require('../../../hooks/use-namespace/index.js');
5
+ var shared = require('@vue/shared');
6
+ require('../../../utils/index.js');
7
+ var types = require('../../../utils/types.js');
8
+ var strings = require('../../../utils/strings.js');
15
9
 
16
- const _sfc_main = vue.defineComponent({
17
- name: "ElDshCascaderNode",
18
- components: {
19
- ElCheckbox: index.ElCheckbox,
20
- ElRadio: index$1.ElRadio,
21
- ElDshNodeContent: dshNodeContent["default"],
22
- ElIcon: index$2.ElIcon,
23
- Check: iconsVue.Check,
24
- Loading: iconsVue.Loading,
25
- ArrowRight: iconsVue.ArrowRight
26
- },
27
- props: {
28
- node: {
29
- type: Object,
30
- required: true
31
- },
32
- menuId: String,
33
- onlyThis: {
34
- type: Boolean,
35
- default: true
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 DshNode {
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 DshNode(child, config, this));
41
+ this.loaded = !config.lazy || this.DshIsLeaf || !types.isEmpty(childrenData);
42
+ }
43
+ get DshIsDisabled() {
44
+ const { data, parent, config } = this;
45
+ const { disabled, checkStrictly } = config;
46
+ const DshIsDisabled = shared.isFunction(disabled) ? disabled(data, this) : !!data[disabled];
47
+ return DshIsDisabled || !checkStrictly && (parent == null ? void 0 : parent.DshIsDisabled);
48
+ }
49
+ get DshIsLeaf() {
50
+ const { data, config, childrenData, loaded } = this;
51
+ const { lazy, leaf } = config;
52
+ const DshIsLeaf = shared.isFunction(leaf) ? leaf(data, this) : data[leaf];
53
+ return types.isUndefined(DshIsLeaf) ? lazy && !loaded ? false : !(Array.isArray(childrenData) && childrenData.length) : !!DshIsLeaf;
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 DshNode(childData, this.config, this);
61
+ if (Array.isArray(childrenData)) {
62
+ childrenData.push(childData);
63
+ } else {
64
+ this.childrenData = [childData];
36
65
  }
37
- },
38
- emits: ["expand"],
39
- setup(props, { emit }) {
40
- var _a;
41
- const panel = vue.inject(types.DSH_CASCADER_PANEL_INJECTION_KEY);
42
- const ns = index$3.useNamespace("dsh-cascader-node");
43
- const isHoverMenu = vue.computed(() => panel.isHoverMenu);
44
- const multiple = vue.computed(() => panel.config.multiple);
45
- const checkStrictly = vue.computed(() => panel.config.checkStrictly);
46
- const checkedNodeId = vue.computed(() => {
47
- var _a2;
48
- return (_a2 = panel.checkedNodes[0]) == null ? void 0 : _a2.uid;
49
- });
50
- const DshIsDisabled = vue.computed(() => props.node.DshIsDisabled);
51
- const DshIsLeaf = vue.computed(() => props.node.DshIsLeaf);
52
- const expandable = vue.computed(() => checkStrictly.value && !DshIsLeaf.value || !DshIsDisabled.value);
53
- const inExpandingPath = vue.computed(() => isInPath(panel.expandingNode));
54
- const inCheckedPath = vue.computed(() => checkStrictly.value && panel.checkedNodes.some(isInPath));
55
- const propsValue = (_a = props.node.config.value) != null ? _a : "value";
56
- const isInPath = (node) => {
57
- var _a2;
58
- const { level, uid } = props.node;
59
- return ((_a2 = node == null ? void 0 : node.pathNodes[level - 1]) == null ? void 0 : _a2.uid) === uid;
60
- };
61
- const doExpand = () => {
62
- if (inExpandingPath.value)
63
- return;
64
- panel.expandNode(props.node);
65
- };
66
- const doCheck = (checked) => {
67
- const { node } = props;
68
- if (checked === node.checked)
69
- return;
70
- panel.handleCheckChange(node, checked);
71
- };
72
- const onlyCheck = () => {
73
- const { node } = props;
74
- panel.checkedNodes.forEach((item) => item.doCheck(false));
75
- panel.handleCheckChange(node, false);
76
- panel.onlyThisConfirm(node.value);
77
- };
78
- const doLoad = () => {
79
- panel.lazyLoad(props.node, () => {
80
- if (!DshIsLeaf.value)
81
- doExpand();
82
- });
83
- };
84
- const handleHoverExpand = (e) => {
85
- if (!isHoverMenu.value)
86
- return;
87
- handleExpand();
88
- !DshIsLeaf.value && emit("expand", e);
89
- };
90
- const handleExpand = () => {
91
- const { node } = props;
92
- if (!expandable.value || node.loading)
93
- return;
94
- node.loaded ? doExpand() : doLoad();
95
- };
96
- const handleClick = (node) => {
97
- if (node.data[propsValue] === "cascader-all" || isHoverMenu.value) {
98
- handleSelectCheck(!node.checked);
99
- return;
100
- }
101
- if (DshIsLeaf.value && !DshIsDisabled.value && !checkStrictly.value && !multiple.value) {
102
- handleCheck(true);
103
- } else {
104
- handleExpand();
105
- }
106
- };
107
- const handleSelectCheck = (checked) => {
108
- if (props.node.data[propsValue] === "cascader-all") {
109
- panel.checkedAll(checked);
110
- }
111
- if (checkStrictly.value) {
112
- doCheck(checked);
113
- if (props.node.loaded) {
114
- doExpand();
115
- }
116
- } else {
117
- handleCheck(checked);
118
- }
119
- };
120
- const handleCheck = (checked) => {
121
- if (!props.node.loaded) {
122
- doLoad();
123
- } else {
124
- doCheck(checked);
125
- !checkStrictly.value && doExpand();
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${strings.capitalize(event)}`;
76
+ this.children.forEach((child) => {
77
+ if (child) {
78
+ child.broadcast(event, ...args);
79
+ child[handlerName] && child[handlerName](...args);
126
80
  }
127
- };
128
- return {
129
- panel,
130
- isHoverMenu,
131
- multiple,
132
- checkStrictly,
133
- checkedNodeId,
134
- DshIsDisabled,
135
- DshIsLeaf,
136
- expandable,
137
- inExpandingPath,
138
- inCheckedPath,
139
- ns,
140
- handleHoverExpand,
141
- handleExpand,
142
- handleClick,
143
- handleCheck,
144
- handleSelectCheck,
145
- onlyCheck
146
- };
81
+ });
82
+ }
83
+ emit(event, ...args) {
84
+ const { parent } = this;
85
+ const handlerName = `onChild${strings.capitalize(event)}`;
86
+ if (parent) {
87
+ parent[handlerName] && parent[handlerName](...args);
88
+ parent.emit(event, ...args);
89
+ }
90
+ }
91
+ onParentCheck(checked) {
92
+ if (!this.DshIsDisabled) {
93
+ this.setCheckState(checked);
94
+ }
95
+ }
96
+ onChildCheck() {
97
+ const { children } = this;
98
+ const validChildren = children.filter((child) => !child.DshIsDisabled);
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.filter((child) => !child.DshIsDisabled).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
+ }
147
122
  }
148
- });
149
- const _hoisted_1 = ["id", "aria-haspopup", "aria-owns", "aria-expanded", "tabindex"];
150
- const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("span", null, null, -1);
151
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
152
- const _component_el_checkbox = vue.resolveComponent("el-checkbox");
153
- const _component_el_radio = vue.resolveComponent("el-radio");
154
- const _component_check = vue.resolveComponent("check");
155
- const _component_el_icon = vue.resolveComponent("el-icon");
156
- const _component_el_dsh_node_content = vue.resolveComponent("el-dsh-node-content");
157
- const _component_loading = vue.resolveComponent("loading");
158
- const _component_arrow_right = vue.resolveComponent("arrow-right");
159
- return vue.openBlock(), vue.createElementBlock("li", {
160
- id: `${_ctx.menuId}-${_ctx.node.uid}`,
161
- role: "menuitem",
162
- "aria-haspopup": !_ctx.DshIsLeaf,
163
- "aria-owns": _ctx.DshIsLeaf ? null : _ctx.menuId,
164
- "aria-expanded": _ctx.inExpandingPath,
165
- tabindex: _ctx.expandable ? -1 : void 0,
166
- class: vue.normalizeClass([
167
- _ctx.ns.b(),
168
- _ctx.ns.is("selectable", _ctx.checkStrictly),
169
- _ctx.ns.is("active", _ctx.node.checked),
170
- _ctx.ns.is("disabled", !_ctx.expandable),
171
- !_ctx.node.DshIsLeaf && _ctx.inExpandingPath && "in-active-path",
172
- _ctx.inCheckedPath && "in-checked-path"
173
- ]),
174
- onMouseenter: _cache[2] || (_cache[2] = (...args) => _ctx.handleHoverExpand && _ctx.handleHoverExpand(...args)),
175
- onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.handleHoverExpand && _ctx.handleHoverExpand(...args)),
176
- onClick: _cache[4] || (_cache[4] = ($event) => _ctx.handleClick(_ctx.node))
177
- }, [
178
- vue.createCommentVNode(" prefix "),
179
- _ctx.multiple ? (vue.openBlock(), vue.createBlock(_component_el_checkbox, {
180
- key: 0,
181
- "model-value": _ctx.node.checked,
182
- indeterminate: _ctx.node.indeterminate,
183
- disabled: _ctx.DshIsDisabled,
184
- onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
185
- }, ["stop"])),
186
- "onUpdate:modelValue": _ctx.handleSelectCheck
187
- }, null, 8, ["model-value", "indeterminate", "disabled", "onUpdate:modelValue"])) : _ctx.checkStrictly ? (vue.openBlock(), vue.createBlock(_component_el_radio, {
188
- key: 1,
189
- "model-value": _ctx.checkedNodeId,
190
- label: _ctx.node.uid,
191
- disabled: _ctx.DshIsDisabled,
192
- "onUpdate:modelValue": _ctx.handleSelectCheck,
193
- onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
194
- }, ["stop"]))
195
- }, {
196
- default: vue.withCtx(() => [
197
- vue.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 "),
198
- _hoisted_2
199
- ]),
200
- _: 1
201
- }, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"])) : _ctx.DshIsLeaf && _ctx.node.checked ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
202
- key: 2,
203
- class: vue.normalizeClass(_ctx.ns.e("prefix"))
204
- }, {
205
- default: vue.withCtx(() => [
206
- vue.createVNode(_component_check)
207
- ]),
208
- _: 1
209
- }, 8, ["class"])) : vue.createCommentVNode("v-if", true),
210
- vue.createCommentVNode(" content "),
211
- vue.createVNode(_component_el_dsh_node_content, {
212
- "only-check": _ctx.onlyCheck,
213
- node: _ctx.node
214
- }, null, 8, ["only-check", "node"]),
215
- vue.createCommentVNode(" postfix "),
216
- !_ctx.DshIsLeaf ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 3 }, [
217
- _ctx.node.loading ? (vue.openBlock(), vue.createBlock(_component_el_icon, {
218
- key: 0,
219
- class: vue.normalizeClass([_ctx.ns.is("loading"), _ctx.ns.e("postfix")])
220
- }, {
221
- default: vue.withCtx(() => [
222
- vue.createVNode(_component_loading)
223
- ]),
224
- _: 1
225
- }, 8, ["class"])) : (vue.openBlock(), vue.createBlock(_component_el_icon, {
226
- key: 1,
227
- class: vue.normalizeClass(["arrow-right", _ctx.ns.e("postfix")])
228
- }, {
229
- default: vue.withCtx(() => [
230
- vue.createVNode(_component_arrow_right)
231
- ]),
232
- _: 1
233
- }, 8, ["class"]))
234
- ], 64)) : vue.createCommentVNode("v-if", true)
235
- ], 42, _hoisted_1);
236
123
  }
237
- var ElDshCascaderNode = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render], ["__file", "D:\\project\\work\\code-monkey-ui\\packages\\components\\dsh-cascader-panel\\src\\node.vue"]]);
238
124
 
239
- exports["default"] = ElDshCascaderNode;
125
+ exports["default"] = DshNode;
240
126
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sources":["../../../../../../packages/components/dsh-cascader-panel/src/node.vue"],"sourcesContent":["<template>\n <li\n :id=\"`${menuId}-${node.uid}`\"\n role=\"menuitem\"\n :aria-haspopup=\"!DshIsLeaf\"\n :aria-owns=\"DshIsLeaf ? 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 !node.DshIsLeaf && inExpandingPath && 'in-active-path',\n inCheckedPath && 'in-checked-path',\n ]\"\n @mouseenter=\"handleHoverExpand\"\n @focus=\"handleHoverExpand\"\n @click=\"handleClick(node)\"\n >\n <!-- prefix -->\n <el-checkbox\n v-if=\"multiple\"\n :model-value=\"node.checked\"\n :indeterminate=\"node.indeterminate\"\n :disabled=\"DshIsDisabled\"\n @click.stop\n @update:model-value=\"handleSelectCheck\"\n />\n <el-radio\n v-else-if=\"checkStrictly\"\n :model-value=\"checkedNodeId\"\n :label=\"node.uid\"\n :disabled=\"DshIsDisabled\"\n @update:model-value=\"handleSelectCheck\"\n @click.stop\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 </el-radio>\n <el-icon v-else-if=\"DshIsLeaf && node.checked\" :class=\"ns.e('prefix')\">\n <check />\n </el-icon>\n\n <!-- content -->\n <el-dsh-node-content :only-check=\"onlyCheck\" :node=\"node\" />\n\n <!-- postfix -->\n <template v-if=\"!DshIsLeaf\">\n <el-icon v-if=\"node.loading\" :class=\"[ns.is('loading'), ns.e('postfix')]\">\n <loading />\n </el-icon>\n <el-icon v-else :class=\"['arrow-right', ns.e('postfix')]\">\n <arrow-right />\n </el-icon>\n </template>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { computed, defineComponent, inject } from 'vue'\nimport { ArrowRight, Check, Loading } from '@element-plus/icons-vue'\nimport ElCheckbox from '@code-monkey-ui/components/checkbox'\nimport ElRadio from '@code-monkey-ui/components/radio'\nimport ElIcon from '@code-monkey-ui/components/icon'\nimport { useNamespace } from '@code-monkey-ui/hooks'\nimport ElDshNodeContent from './dsh-node-content'\nimport { DSH_CASCADER_PANEL_INJECTION_KEY } from './types'\nimport type { default as DshCascaderNode } from './node'\n\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n name: 'ElDshCascaderNode',\n\n components: {\n ElCheckbox,\n ElRadio,\n ElDshNodeContent,\n ElIcon,\n Check,\n Loading,\n ArrowRight,\n },\n\n props: {\n node: {\n type: Object as PropType<DshCascaderNode>,\n required: true,\n },\n menuId: String,\n onlyThis: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: ['expand'],\n\n setup(props, { emit }) {\n const panel = inject(DSH_CASCADER_PANEL_INJECTION_KEY)!\n\n const ns = useNamespace('dsh-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 DshIsDisabled = computed(() => props.node.DshIsDisabled)\n const DshIsLeaf = computed(() => props.node.DshIsLeaf)\n const expandable = computed(\n () => (checkStrictly.value && !DshIsLeaf.value) || !DshIsDisabled.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 propsValue = props.node.config.value ?? 'value'\n\n const isInPath = (node: DshCascaderNode) => {\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 onlyCheck = () => {\n const { node } = props\n panel.checkedNodes.forEach((item) => item.doCheck(false))\n panel.handleCheckChange(node, false)\n panel.onlyThisConfirm(node.value)\n }\n\n const doLoad = () => {\n panel.lazyLoad(props.node, () => {\n if (!DshIsLeaf.value) doExpand()\n })\n }\n\n const handleHoverExpand = (e: Event) => {\n if (!isHoverMenu.value) return\n handleExpand()\n !DshIsLeaf.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 const handleClick = (node: DshCascaderNode) => {\n if (node.data[propsValue] === 'cascader-all' || isHoverMenu.value) {\n handleSelectCheck(!node.checked)\n return\n }\n if (\n DshIsLeaf.value &&\n !DshIsDisabled.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 (props.node.data[propsValue] === 'cascader-all') {\n panel.checkedAll(checked)\n }\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 DshIsDisabled,\n DshIsLeaf,\n expandable,\n inExpandingPath,\n inCheckedPath,\n ns,\n handleHoverExpand,\n handleExpand,\n handleClick,\n handleCheck,\n handleSelectCheck,\n onlyCheck,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCheckbox","ElRadio","ElDshNodeContent","ElIcon","Check","Loading","ArrowRight","useNamespace","computed","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_createBlock","_withModifiers","_withCtx","_createVNode","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sources":["../../../../../../packages/components/dsh-cascader-panel/src/node.ts"],"sourcesContent":["// @ts-nocheck\nimport { isFunction } from '@vue/shared'\nimport { capitalize, isEmpty, isUndefined } from '@code-monkey-ui/utils'\nimport type { VNode } from 'vue'\n\nexport type DshCascaderNodeValue = string | number\nexport type DshCascaderNodePathValue = DshCascaderNodeValue[]\nexport type DshCascaderValue =\n | DshCascaderNodeValue\n | DshCascaderNodePathValue\n | (DshCascaderNodeValue | DshCascaderNodePathValue)[]\nexport type DshCascaderConfig = Required<DshCascaderProps>\nexport type DshExpandTrigger = 'click' | 'hover'\nexport type DshIsDisabled = (data: DshCascaderOption, node: DshNode) => boolean\nexport type DshIsLeaf = (data: DshCascaderOption, node: DshNode) => boolean\nexport type DshResolve = (dataList?: DshCascaderOption[]) => void\nexport type DshLazyLoad = (node: DshNode, resolve: DshResolve) => void\nexport type DshRenderLabel = ({\n node: DshNode,\n data: DshCascaderOption,\n}) => VNode | VNode[]\nexport interface DshCascaderOption extends Record<string, unknown> {\n label?: string\n value?: DshCascaderNodeValue\n children?: DshCascaderOption[]\n disabled?: boolean\n leaf?: boolean\n}\n\nexport interface DshCascaderProps {\n expandTrigger?: DshExpandTrigger\n multiple?: boolean\n maxCollapseTags?: number\n checkStrictly?: boolean\n emitPath?: boolean\n lazy?: boolean\n lazyLoad?: DshLazyLoad\n value?: string\n label?: string\n children?: string\n disabled?: string | DshIsDisabled\n leaf?: string | DshIsLeaf\n hoverThreshold?: number\n}\n\nexport type Nullable<T> = null | T\n\ntype ChildrenData = DshCascaderOption[] | undefined\n\nlet uid = 0\n\nconst calculatePathNodes = (node: DshNode) => {\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 DshNode {\n readonly uid: number = uid++\n readonly level: number\n readonly value: DshCascaderNodeValue\n readonly label: string\n readonly pathNodes: DshNode[]\n readonly pathValues: DshCascaderNodePathValue\n readonly pathLabels: string[]\n\n childrenData: ChildrenData\n children: DshNode[]\n text: string\n loaded: boolean\n /**\n * Is it checked\n *\n * @default false\n */\n checked = false\n /**\n * Used to indicate the intermediate state of unchecked and fully checked child nodes\n *\n * @default false\n */\n indeterminate = false\n /**\n * Loading Status\n *\n * @default false\n */\n loading = false\n\n constructor(\n readonly data: Nullable<DshCascaderOption>,\n readonly config: DshCascaderConfig,\n readonly parent?: DshNode,\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 DshCascaderNodeValue\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 DshNode(child, config, this)\n )\n this.loaded = !config.lazy || this.DshIsLeaf || !isEmpty(childrenData)\n }\n\n get DshIsDisabled(): boolean {\n const { data, parent, config } = this\n const { disabled, checkStrictly } = config\n const DshIsDisabled = isFunction(disabled)\n ? disabled(data, this)\n : !!data[disabled]\n return DshIsDisabled || (!checkStrictly && parent?.DshIsDisabled)\n }\n\n get DshIsLeaf(): boolean {\n const { data, config, childrenData, loaded } = this\n const { lazy, leaf } = config\n const DshIsLeaf = isFunction(leaf) ? leaf(data, this) : data[leaf]\n\n return isUndefined(DshIsLeaf)\n ? lazy && !loaded\n ? false\n : !(Array.isArray(childrenData) && childrenData.length)\n : !!DshIsLeaf\n }\n\n get valueByOption() {\n return this.config.emitPath ? this.pathValues : this.value\n }\n\n appendChild(childData: DshCascaderOption) {\n const { childrenData, children } = this\n const node = new DshNode(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.DshIsDisabled) {\n this.setCheckState(checked)\n }\n }\n\n onChildCheck() {\n const { children } = this\n const validChildren = children.filter((child) => !child.DshIsDisabled)\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\n .filter((child) => !child.DshIsDisabled)\n .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 DshNode\n"],"names":["isEmpty","isFunction","isUndefined","capitalize"],"mappings":"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"}