element-plus 2.3.5 → 2.3.7

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 (531) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +219 -225
  4. package/dist/index.full.min.js +23 -23
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +23 -23
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +220 -225
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/az.js +1 -1
  18. package/dist/locale/az.min.js +1 -1
  19. package/dist/locale/az.min.mjs +1 -1
  20. package/dist/locale/az.mjs +1 -1
  21. package/dist/locale/bg.js +1 -1
  22. package/dist/locale/bg.min.js +1 -1
  23. package/dist/locale/bg.min.mjs +1 -1
  24. package/dist/locale/bg.mjs +1 -1
  25. package/dist/locale/bn.js +1 -1
  26. package/dist/locale/bn.min.js +1 -1
  27. package/dist/locale/bn.min.mjs +1 -1
  28. package/dist/locale/bn.mjs +1 -1
  29. package/dist/locale/ca.js +1 -1
  30. package/dist/locale/ca.min.js +1 -1
  31. package/dist/locale/ca.min.mjs +1 -1
  32. package/dist/locale/ca.mjs +1 -1
  33. package/dist/locale/ckb.js +1 -1
  34. package/dist/locale/ckb.min.js +1 -1
  35. package/dist/locale/ckb.min.mjs +1 -1
  36. package/dist/locale/ckb.mjs +1 -1
  37. package/dist/locale/cs.js +1 -1
  38. package/dist/locale/cs.min.js +1 -1
  39. package/dist/locale/cs.min.mjs +1 -1
  40. package/dist/locale/cs.mjs +1 -1
  41. package/dist/locale/da.js +1 -1
  42. package/dist/locale/da.min.js +1 -1
  43. package/dist/locale/da.min.mjs +1 -1
  44. package/dist/locale/da.mjs +1 -1
  45. package/dist/locale/de.js +1 -1
  46. package/dist/locale/de.min.js +1 -1
  47. package/dist/locale/de.min.mjs +1 -1
  48. package/dist/locale/de.mjs +1 -1
  49. package/dist/locale/el.js +1 -1
  50. package/dist/locale/el.min.js +1 -1
  51. package/dist/locale/el.min.mjs +1 -1
  52. package/dist/locale/el.mjs +1 -1
  53. package/dist/locale/en.js +1 -1
  54. package/dist/locale/en.min.js +1 -1
  55. package/dist/locale/en.min.mjs +1 -1
  56. package/dist/locale/en.mjs +1 -1
  57. package/dist/locale/eo.js +1 -1
  58. package/dist/locale/eo.min.js +1 -1
  59. package/dist/locale/eo.min.mjs +1 -1
  60. package/dist/locale/eo.mjs +1 -1
  61. package/dist/locale/es.js +1 -1
  62. package/dist/locale/es.min.js +1 -1
  63. package/dist/locale/es.min.mjs +1 -1
  64. package/dist/locale/es.mjs +1 -1
  65. package/dist/locale/et.js +1 -1
  66. package/dist/locale/et.min.js +1 -1
  67. package/dist/locale/et.min.mjs +1 -1
  68. package/dist/locale/et.mjs +1 -1
  69. package/dist/locale/eu.js +1 -1
  70. package/dist/locale/eu.min.js +1 -1
  71. package/dist/locale/eu.min.mjs +1 -1
  72. package/dist/locale/eu.mjs +1 -1
  73. package/dist/locale/fa.js +1 -1
  74. package/dist/locale/fa.min.js +1 -1
  75. package/dist/locale/fa.min.mjs +1 -1
  76. package/dist/locale/fa.mjs +1 -1
  77. package/dist/locale/fi.js +1 -1
  78. package/dist/locale/fi.min.js +1 -1
  79. package/dist/locale/fi.min.mjs +1 -1
  80. package/dist/locale/fi.mjs +1 -1
  81. package/dist/locale/fr.js +1 -1
  82. package/dist/locale/fr.min.js +1 -1
  83. package/dist/locale/fr.min.mjs +1 -1
  84. package/dist/locale/fr.mjs +1 -1
  85. package/dist/locale/he.js +1 -1
  86. package/dist/locale/he.min.js +1 -1
  87. package/dist/locale/he.min.mjs +1 -1
  88. package/dist/locale/he.mjs +1 -1
  89. package/dist/locale/hr.js +1 -1
  90. package/dist/locale/hr.min.js +1 -1
  91. package/dist/locale/hr.min.mjs +1 -1
  92. package/dist/locale/hr.mjs +1 -1
  93. package/dist/locale/hu.js +1 -1
  94. package/dist/locale/hu.min.js +1 -1
  95. package/dist/locale/hu.min.mjs +1 -1
  96. package/dist/locale/hu.mjs +1 -1
  97. package/dist/locale/hy-am.js +1 -1
  98. package/dist/locale/hy-am.min.js +1 -1
  99. package/dist/locale/hy-am.min.mjs +1 -1
  100. package/dist/locale/hy-am.mjs +1 -1
  101. package/dist/locale/id.js +1 -1
  102. package/dist/locale/id.min.js +1 -1
  103. package/dist/locale/id.min.mjs +1 -1
  104. package/dist/locale/id.mjs +1 -1
  105. package/dist/locale/it.js +1 -1
  106. package/dist/locale/it.min.js +1 -1
  107. package/dist/locale/it.min.mjs +1 -1
  108. package/dist/locale/it.mjs +1 -1
  109. package/dist/locale/ja.js +1 -1
  110. package/dist/locale/ja.min.js +1 -1
  111. package/dist/locale/ja.min.mjs +1 -1
  112. package/dist/locale/ja.mjs +1 -1
  113. package/dist/locale/kk.js +1 -1
  114. package/dist/locale/kk.min.js +1 -1
  115. package/dist/locale/kk.min.mjs +1 -1
  116. package/dist/locale/kk.mjs +1 -1
  117. package/dist/locale/km.js +1 -1
  118. package/dist/locale/km.min.js +1 -1
  119. package/dist/locale/km.min.mjs +1 -1
  120. package/dist/locale/km.mjs +1 -1
  121. package/dist/locale/ko.js +1 -1
  122. package/dist/locale/ko.min.js +1 -1
  123. package/dist/locale/ko.min.mjs +1 -1
  124. package/dist/locale/ko.mjs +1 -1
  125. package/dist/locale/ku.js +1 -1
  126. package/dist/locale/ku.min.js +1 -1
  127. package/dist/locale/ku.min.mjs +1 -1
  128. package/dist/locale/ku.mjs +1 -1
  129. package/dist/locale/ky.js +1 -1
  130. package/dist/locale/ky.min.js +1 -1
  131. package/dist/locale/ky.min.mjs +1 -1
  132. package/dist/locale/ky.mjs +1 -1
  133. package/dist/locale/lt.js +1 -1
  134. package/dist/locale/lt.min.js +1 -1
  135. package/dist/locale/lt.min.mjs +1 -1
  136. package/dist/locale/lt.mjs +1 -1
  137. package/dist/locale/lv.js +1 -1
  138. package/dist/locale/lv.min.js +1 -1
  139. package/dist/locale/lv.min.mjs +1 -1
  140. package/dist/locale/lv.mjs +1 -1
  141. package/dist/locale/mg.js +1 -1
  142. package/dist/locale/mg.min.js +1 -1
  143. package/dist/locale/mg.min.mjs +1 -1
  144. package/dist/locale/mg.mjs +1 -1
  145. package/dist/locale/mn.js +1 -1
  146. package/dist/locale/mn.min.js +1 -1
  147. package/dist/locale/mn.min.mjs +1 -1
  148. package/dist/locale/mn.mjs +1 -1
  149. package/dist/locale/nb-no.js +1 -1
  150. package/dist/locale/nb-no.min.js +1 -1
  151. package/dist/locale/nb-no.min.mjs +1 -1
  152. package/dist/locale/nb-no.mjs +1 -1
  153. package/dist/locale/nl.js +1 -1
  154. package/dist/locale/nl.min.js +1 -1
  155. package/dist/locale/nl.min.mjs +1 -1
  156. package/dist/locale/nl.mjs +1 -1
  157. package/dist/locale/pa.js +1 -1
  158. package/dist/locale/pa.min.js +1 -1
  159. package/dist/locale/pa.min.mjs +1 -1
  160. package/dist/locale/pa.mjs +1 -1
  161. package/dist/locale/pl.js +1 -1
  162. package/dist/locale/pl.min.js +1 -1
  163. package/dist/locale/pl.min.mjs +1 -1
  164. package/dist/locale/pl.mjs +1 -1
  165. package/dist/locale/pt-br.js +1 -1
  166. package/dist/locale/pt-br.min.js +1 -1
  167. package/dist/locale/pt-br.min.mjs +1 -1
  168. package/dist/locale/pt-br.mjs +1 -1
  169. package/dist/locale/pt.js +1 -1
  170. package/dist/locale/pt.min.js +1 -1
  171. package/dist/locale/pt.min.mjs +1 -1
  172. package/dist/locale/pt.mjs +1 -1
  173. package/dist/locale/ro.js +1 -1
  174. package/dist/locale/ro.min.js +1 -1
  175. package/dist/locale/ro.min.mjs +1 -1
  176. package/dist/locale/ro.mjs +1 -1
  177. package/dist/locale/ru.js +1 -1
  178. package/dist/locale/ru.min.js +1 -1
  179. package/dist/locale/ru.min.mjs +1 -1
  180. package/dist/locale/ru.mjs +1 -1
  181. package/dist/locale/sk.js +1 -1
  182. package/dist/locale/sk.min.js +1 -1
  183. package/dist/locale/sk.min.mjs +1 -1
  184. package/dist/locale/sk.mjs +1 -1
  185. package/dist/locale/sl.js +1 -1
  186. package/dist/locale/sl.min.js +1 -1
  187. package/dist/locale/sl.min.mjs +1 -1
  188. package/dist/locale/sl.mjs +1 -1
  189. package/dist/locale/sr.js +10 -10
  190. package/dist/locale/sr.min.js +1 -1
  191. package/dist/locale/sr.min.js.map +1 -1
  192. package/dist/locale/sr.min.mjs +1 -1
  193. package/dist/locale/sr.min.mjs.map +1 -1
  194. package/dist/locale/sr.mjs +10 -10
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/ta.js +1 -1
  200. package/dist/locale/ta.min.js +1 -1
  201. package/dist/locale/ta.min.mjs +1 -1
  202. package/dist/locale/ta.mjs +1 -1
  203. package/dist/locale/th.js +1 -1
  204. package/dist/locale/th.min.js +1 -1
  205. package/dist/locale/th.min.mjs +1 -1
  206. package/dist/locale/th.mjs +1 -1
  207. package/dist/locale/tk.js +1 -1
  208. package/dist/locale/tk.min.js +1 -1
  209. package/dist/locale/tk.min.mjs +1 -1
  210. package/dist/locale/tk.mjs +1 -1
  211. package/dist/locale/tr.js +1 -1
  212. package/dist/locale/tr.min.js +1 -1
  213. package/dist/locale/tr.min.mjs +1 -1
  214. package/dist/locale/tr.mjs +1 -1
  215. package/dist/locale/ug-cn.js +1 -1
  216. package/dist/locale/ug-cn.min.js +1 -1
  217. package/dist/locale/ug-cn.min.mjs +1 -1
  218. package/dist/locale/ug-cn.mjs +1 -1
  219. package/dist/locale/uk.js +1 -1
  220. package/dist/locale/uk.min.js +1 -1
  221. package/dist/locale/uk.min.mjs +1 -1
  222. package/dist/locale/uk.mjs +1 -1
  223. package/dist/locale/uz-uz.js +1 -1
  224. package/dist/locale/uz-uz.min.js +1 -1
  225. package/dist/locale/uz-uz.min.mjs +1 -1
  226. package/dist/locale/uz-uz.mjs +1 -1
  227. package/dist/locale/vi.js +1 -1
  228. package/dist/locale/vi.min.js +1 -1
  229. package/dist/locale/vi.min.mjs +1 -1
  230. package/dist/locale/vi.mjs +1 -1
  231. package/dist/locale/zh-cn.js +1 -1
  232. package/dist/locale/zh-cn.min.js +1 -1
  233. package/dist/locale/zh-cn.min.mjs +1 -1
  234. package/dist/locale/zh-cn.mjs +1 -1
  235. package/dist/locale/zh-tw.js +1 -1
  236. package/dist/locale/zh-tw.min.js +1 -1
  237. package/dist/locale/zh-tw.min.mjs +1 -1
  238. package/dist/locale/zh-tw.mjs +1 -1
  239. package/es/components/backtop/src/use-backtop.mjs +1 -0
  240. package/es/components/backtop/src/use-backtop.mjs.map +1 -1
  241. package/es/components/calendar/index.d.ts +1 -1
  242. package/es/components/calendar/index.mjs.map +1 -1
  243. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  244. package/es/components/form/index.d.ts +4 -4
  245. package/es/components/form/src/form.d.ts +1 -1
  246. package/es/components/form/src/form.mjs +1 -4
  247. package/es/components/form/src/form.mjs.map +1 -1
  248. package/es/components/form/src/form.vue.d.ts +4 -4
  249. package/es/components/form/src/types.d.ts +62 -1
  250. package/es/components/image/index.d.ts +24 -21
  251. package/es/components/image/src/image.d.ts +3 -3
  252. package/es/components/image/src/image.mjs +3 -12
  253. package/es/components/image/src/image.mjs.map +1 -1
  254. package/es/components/image/src/image.vue.d.ts +24 -21
  255. package/es/components/image/src/image2.mjs +6 -5
  256. package/es/components/image/src/image2.mjs.map +1 -1
  257. package/es/components/image-viewer/index.d.ts +10 -8
  258. package/es/components/image-viewer/src/image-viewer.d.ts +2 -2
  259. package/es/components/image-viewer/src/image-viewer.mjs +2 -8
  260. package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
  261. package/es/components/image-viewer/src/image-viewer.vue.d.ts +10 -8
  262. package/es/components/image-viewer/src/image-viewer2.mjs +12 -10
  263. package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
  264. package/es/components/index.mjs +1 -1
  265. package/es/components/input/src/input2.mjs +3 -3
  266. package/es/components/input/src/input2.mjs.map +1 -1
  267. package/es/components/message-box/src/index.mjs +0 -2
  268. package/es/components/message-box/src/index.mjs.map +1 -1
  269. package/es/components/notification/src/notification.d.ts +1 -1
  270. package/es/components/notification/src/notification.mjs +1 -4
  271. package/es/components/notification/src/notification.mjs.map +1 -1
  272. package/es/components/notification/src/notification.vue.d.ts +3 -4
  273. package/es/components/notification/src/notification2.mjs +2 -1
  274. package/es/components/notification/src/notification2.mjs.map +1 -1
  275. package/es/components/pagination/index.d.ts +6 -6
  276. package/es/components/pagination/src/components/pager.vue.d.ts +2 -0
  277. package/es/components/pagination/src/components/pager2.mjs +14 -12
  278. package/es/components/pagination/src/components/pager2.mjs.map +1 -1
  279. package/es/components/pagination/src/components/sizes.vue.d.ts +1 -4
  280. package/es/components/pagination/src/pagination.d.ts +9 -9
  281. package/es/components/pagination/src/pagination.mjs +3 -3
  282. package/es/components/pagination/src/pagination.mjs.map +1 -1
  283. package/es/components/popper/src/composables/use-content-dom.mjs +2 -2
  284. package/es/components/popper/src/composables/use-content-dom.mjs.map +1 -1
  285. package/es/components/scrollbar/index.mjs +2 -2
  286. package/es/components/scrollbar/src/scrollbar.mjs +174 -46
  287. package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
  288. package/es/components/scrollbar/src/scrollbar2.mjs +46 -174
  289. package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
  290. package/es/components/select/index.d.ts +1 -4
  291. package/es/components/select/src/option.mjs +1 -1
  292. package/es/components/select/src/option.mjs.map +1 -1
  293. package/es/components/select/src/select.mjs +7 -12
  294. package/es/components/select/src/select.mjs.map +1 -1
  295. package/es/components/select/src/select.vue.d.ts +1 -4
  296. package/es/components/select/src/token.d.ts +1 -1
  297. package/es/components/select/src/token.mjs.map +1 -1
  298. package/es/components/select/src/useSelect.d.ts +1 -4
  299. package/es/components/select/src/useSelect.mjs +13 -18
  300. package/es/components/select/src/useSelect.mjs.map +1 -1
  301. package/es/components/select-v2/src/useSelect.mjs +19 -10
  302. package/es/components/select-v2/src/useSelect.mjs.map +1 -1
  303. package/es/components/steps/index.d.ts +5 -3
  304. package/es/components/steps/src/item.vue.d.ts +4 -2
  305. package/es/components/steps/src/item2.mjs +3 -3
  306. package/es/components/steps/src/item2.mjs.map +1 -1
  307. package/es/components/steps/src/steps.vue.d.ts +3 -2
  308. package/es/components/steps/src/steps2.mjs +8 -3
  309. package/es/components/steps/src/steps2.mjs.map +1 -1
  310. package/es/components/switch/index.d.ts +38 -35
  311. package/es/components/switch/src/switch.d.ts +26 -11
  312. package/es/components/switch/src/switch.mjs +21 -21
  313. package/es/components/switch/src/switch.mjs.map +1 -1
  314. package/es/components/switch/src/switch.vue.d.ts +38 -35
  315. package/es/components/switch/src/switch2.mjs +33 -21
  316. package/es/components/switch/src/switch2.mjs.map +1 -1
  317. package/es/components/table/index.d.ts +21 -5
  318. package/es/components/table/src/store/watcher.mjs +1 -1
  319. package/es/components/table/src/store/watcher.mjs.map +1 -1
  320. package/es/components/table/src/table/defaults.d.ts +3 -0
  321. package/es/components/table/src/table/defaults.mjs +2 -1
  322. package/es/components/table/src/table/defaults.mjs.map +1 -1
  323. package/es/components/table/src/table/style-helper.mjs +7 -9
  324. package/es/components/table/src/table/style-helper.mjs.map +1 -1
  325. package/es/components/table/src/table/utils-helper.d.ts +1 -1
  326. package/es/components/table/src/table/utils-helper.mjs.map +1 -1
  327. package/es/components/table/src/table-column/defaults.d.ts +4 -1
  328. package/es/components/table/src/table-column/defaults.mjs +4 -1
  329. package/es/components/table/src/table-column/defaults.mjs.map +1 -1
  330. package/es/components/table/src/table-column/index.d.ts +9 -2
  331. package/es/components/table/src/table-column/index.mjs +3 -1
  332. package/es/components/table/src/table-column/index.mjs.map +1 -1
  333. package/es/components/table/src/table.vue.d.ts +3 -1
  334. package/es/components/time-picker/src/common/picker.mjs +19 -18
  335. package/es/components/time-picker/src/common/picker.mjs.map +1 -1
  336. package/es/components/time-picker/src/common/picker.vue.d.ts +5 -0
  337. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +7 -1
  338. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
  339. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +526 -526
  340. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +14 -12
  341. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  342. package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -0
  343. package/es/components/time-select/index.d.ts +4 -16
  344. package/es/components/time-select/src/time-select.vue.d.ts +2 -8
  345. package/es/components/tooltip-v2/index.mjs +1 -1
  346. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  347. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  348. package/es/components/tooltip-v2/src/trigger.mjs +89 -12
  349. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  350. package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
  351. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  352. package/es/components/tree-select/src/tree.mjs +1 -1
  353. package/es/components/tree-select/src/tree.mjs.map +1 -1
  354. package/es/components/upload/src/upload-list2.mjs +7 -5
  355. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  356. package/es/hooks/index.d.ts +0 -1
  357. package/es/hooks/index.mjs +0 -1
  358. package/es/hooks/index.mjs.map +1 -1
  359. package/es/index.mjs +1 -2
  360. package/es/index.mjs.map +1 -1
  361. package/es/locale/lang/sr.mjs +9 -9
  362. package/es/locale/lang/sr.mjs.map +1 -1
  363. package/es/version.d.ts +1 -1
  364. package/es/version.mjs +1 -1
  365. package/es/version.mjs.map +1 -1
  366. package/lib/components/backtop/src/use-backtop.js +1 -0
  367. package/lib/components/backtop/src/use-backtop.js.map +1 -1
  368. package/lib/components/calendar/index.d.ts +1 -1
  369. package/lib/components/calendar/index.js.map +1 -1
  370. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  371. package/lib/components/form/index.d.ts +4 -4
  372. package/lib/components/form/src/form.d.ts +1 -1
  373. package/lib/components/form/src/form.js +1 -4
  374. package/lib/components/form/src/form.js.map +1 -1
  375. package/lib/components/form/src/form.vue.d.ts +4 -4
  376. package/lib/components/form/src/types.d.ts +62 -1
  377. package/lib/components/image/index.d.ts +24 -21
  378. package/lib/components/image/src/image.d.ts +3 -3
  379. package/lib/components/image/src/image.js +3 -12
  380. package/lib/components/image/src/image.js.map +1 -1
  381. package/lib/components/image/src/image.vue.d.ts +24 -21
  382. package/lib/components/image/src/image2.js +6 -5
  383. package/lib/components/image/src/image2.js.map +1 -1
  384. package/lib/components/image-viewer/index.d.ts +10 -8
  385. package/lib/components/image-viewer/src/image-viewer.d.ts +2 -2
  386. package/lib/components/image-viewer/src/image-viewer.js +2 -8
  387. package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
  388. package/lib/components/image-viewer/src/image-viewer.vue.d.ts +10 -8
  389. package/lib/components/image-viewer/src/image-viewer2.js +12 -10
  390. package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
  391. package/lib/components/index.js +1 -1
  392. package/lib/components/input/src/input2.js +3 -3
  393. package/lib/components/input/src/input2.js.map +1 -1
  394. package/lib/components/message-box/src/index.js +0 -2
  395. package/lib/components/message-box/src/index.js.map +1 -1
  396. package/lib/components/notification/src/notification.d.ts +1 -1
  397. package/lib/components/notification/src/notification.js +1 -4
  398. package/lib/components/notification/src/notification.js.map +1 -1
  399. package/lib/components/notification/src/notification.vue.d.ts +3 -4
  400. package/lib/components/notification/src/notification2.js +2 -1
  401. package/lib/components/notification/src/notification2.js.map +1 -1
  402. package/lib/components/pagination/index.d.ts +6 -6
  403. package/lib/components/pagination/src/components/pager.vue.d.ts +2 -0
  404. package/lib/components/pagination/src/components/pager2.js +14 -12
  405. package/lib/components/pagination/src/components/pager2.js.map +1 -1
  406. package/lib/components/pagination/src/components/sizes.vue.d.ts +1 -4
  407. package/lib/components/pagination/src/pagination.d.ts +9 -9
  408. package/lib/components/pagination/src/pagination.js +3 -3
  409. package/lib/components/pagination/src/pagination.js.map +1 -1
  410. package/lib/components/popper/src/composables/use-content-dom.js +2 -2
  411. package/lib/components/popper/src/composables/use-content-dom.js.map +1 -1
  412. package/lib/components/scrollbar/index.js +2 -2
  413. package/lib/components/scrollbar/src/scrollbar.js +174 -47
  414. package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
  415. package/lib/components/scrollbar/src/scrollbar2.js +47 -174
  416. package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
  417. package/lib/components/select/index.d.ts +1 -4
  418. package/lib/components/select/src/option.js +1 -1
  419. package/lib/components/select/src/option.js.map +1 -1
  420. package/lib/components/select/src/select.js +7 -12
  421. package/lib/components/select/src/select.js.map +1 -1
  422. package/lib/components/select/src/select.vue.d.ts +1 -4
  423. package/lib/components/select/src/token.d.ts +1 -1
  424. package/lib/components/select/src/token.js.map +1 -1
  425. package/lib/components/select/src/useSelect.d.ts +1 -4
  426. package/lib/components/select/src/useSelect.js +13 -18
  427. package/lib/components/select/src/useSelect.js.map +1 -1
  428. package/lib/components/select-v2/src/useSelect.js +19 -10
  429. package/lib/components/select-v2/src/useSelect.js.map +1 -1
  430. package/lib/components/steps/index.d.ts +5 -3
  431. package/lib/components/steps/src/item.vue.d.ts +4 -2
  432. package/lib/components/steps/src/item2.js +3 -3
  433. package/lib/components/steps/src/item2.js.map +1 -1
  434. package/lib/components/steps/src/steps.vue.d.ts +3 -2
  435. package/lib/components/steps/src/steps2.js +7 -2
  436. package/lib/components/steps/src/steps2.js.map +1 -1
  437. package/lib/components/switch/index.d.ts +38 -35
  438. package/lib/components/switch/src/switch.d.ts +26 -11
  439. package/lib/components/switch/src/switch.js +21 -21
  440. package/lib/components/switch/src/switch.js.map +1 -1
  441. package/lib/components/switch/src/switch.vue.d.ts +38 -35
  442. package/lib/components/switch/src/switch2.js +33 -21
  443. package/lib/components/switch/src/switch2.js.map +1 -1
  444. package/lib/components/table/index.d.ts +21 -5
  445. package/lib/components/table/src/store/watcher.js +1 -1
  446. package/lib/components/table/src/store/watcher.js.map +1 -1
  447. package/lib/components/table/src/table/defaults.d.ts +3 -0
  448. package/lib/components/table/src/table/defaults.js +2 -1
  449. package/lib/components/table/src/table/defaults.js.map +1 -1
  450. package/lib/components/table/src/table/style-helper.js +7 -9
  451. package/lib/components/table/src/table/style-helper.js.map +1 -1
  452. package/lib/components/table/src/table/utils-helper.d.ts +1 -1
  453. package/lib/components/table/src/table/utils-helper.js.map +1 -1
  454. package/lib/components/table/src/table-column/defaults.d.ts +4 -1
  455. package/lib/components/table/src/table-column/defaults.js +4 -1
  456. package/lib/components/table/src/table-column/defaults.js.map +1 -1
  457. package/lib/components/table/src/table-column/index.d.ts +9 -2
  458. package/lib/components/table/src/table-column/index.js +3 -1
  459. package/lib/components/table/src/table-column/index.js.map +1 -1
  460. package/lib/components/table/src/table.vue.d.ts +3 -1
  461. package/lib/components/time-picker/src/common/picker.js +18 -17
  462. package/lib/components/time-picker/src/common/picker.js.map +1 -1
  463. package/lib/components/time-picker/src/common/picker.vue.d.ts +5 -0
  464. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +7 -1
  465. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
  466. package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +526 -526
  467. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +14 -12
  468. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  469. package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -0
  470. package/lib/components/time-select/index.d.ts +4 -16
  471. package/lib/components/time-select/src/time-select.vue.d.ts +2 -8
  472. package/lib/components/tooltip-v2/index.js +1 -1
  473. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  474. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  475. package/lib/components/tooltip-v2/src/trigger.js +89 -12
  476. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  477. package/lib/components/tooltip-v2/src/trigger2.js +12 -89
  478. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  479. package/lib/components/tree-select/src/tree.js +1 -1
  480. package/lib/components/tree-select/src/tree.js.map +1 -1
  481. package/lib/components/upload/src/upload-list2.js +7 -5
  482. package/lib/components/upload/src/upload-list2.js.map +1 -1
  483. package/lib/hooks/index.d.ts +0 -1
  484. package/lib/hooks/index.js +52 -54
  485. package/lib/hooks/index.js.map +1 -1
  486. package/lib/index.js +53 -55
  487. package/lib/index.js.map +1 -1
  488. package/lib/locale/lang/sr.js +9 -9
  489. package/lib/locale/lang/sr.js.map +1 -1
  490. package/lib/version.d.ts +1 -1
  491. package/lib/version.js +1 -1
  492. package/lib/version.js.map +1 -1
  493. package/package.json +2 -2
  494. package/tags.json +1 -1
  495. package/theme-chalk/el-checkbox-button.css +1 -1
  496. package/theme-chalk/el-date-picker.css +1 -1
  497. package/theme-chalk/el-form.css +1 -1
  498. package/theme-chalk/el-input-number.css +1 -1
  499. package/theme-chalk/el-input.css +1 -1
  500. package/theme-chalk/el-tag.css +1 -1
  501. package/theme-chalk/el-time-picker.css +1 -1
  502. package/theme-chalk/el-time-select.css +1 -1
  503. package/theme-chalk/index.css +1 -1
  504. package/theme-chalk/src/alert.scss +0 -2
  505. package/theme-chalk/src/badge.scss +0 -3
  506. package/theme-chalk/src/carousel.scss +0 -2
  507. package/theme-chalk/src/check-tag.scss +0 -2
  508. package/theme-chalk/src/checkbox-button.scss +1 -1
  509. package/theme-chalk/src/common/var.scss +2 -0
  510. package/theme-chalk/src/dark/css-vars.scss +0 -2
  511. package/theme-chalk/src/date-picker/picker.scss +0 -1
  512. package/theme-chalk/src/form.scss +14 -0
  513. package/theme-chalk/src/icon.scss +0 -2
  514. package/theme-chalk/src/input-number.scss +1 -1
  515. package/theme-chalk/src/input.scss +1 -1
  516. package/theme-chalk/src/loading.scss +0 -2
  517. package/theme-chalk/src/message.scss +0 -2
  518. package/theme-chalk/src/mixins/_button.scss +0 -2
  519. package/theme-chalk/src/pagination.scss +0 -2
  520. package/theme-chalk/src/table-v2.scss +0 -2
  521. package/theme-chalk/src/tag.scss +1 -1
  522. package/theme-chalk/src/timeline-item.scss +0 -1
  523. package/theme-chalk/src/transfer.scss +0 -3
  524. package/theme-chalk/src/var.scss +0 -2
  525. package/web-types.json +1 -1
  526. package/es/hooks/use-restore-active/index.d.ts +0 -6
  527. package/es/hooks/use-restore-active/index.mjs +0 -23
  528. package/es/hooks/use-restore-active/index.mjs.map +0 -1
  529. package/lib/hooks/use-restore-active/index.d.ts +0 -6
  530. package/lib/hooks/use-restore-active/index.js +0 -27
  531. package/lib/hooks/use-restore-active/index.js.map +0 -1
@@ -1,8 +1,14 @@
1
1
  import type { CSSProperties } from 'vue';
2
2
  declare const _default: import("vue").DefineComponent<{
3
3
  readonly modelValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
4
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
5
4
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
5
+ readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
6
+ readonly size: {
7
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
8
+ readonly required: false;
9
+ readonly validator: ((val: unknown) => boolean) | undefined;
10
+ __epPropKey: true;
11
+ };
6
12
  readonly width: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
7
13
  readonly inlinePrompt: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
8
14
  readonly activeIcon: {
@@ -19,39 +25,39 @@ declare const _default: import("vue").DefineComponent<{
19
25
  };
20
26
  readonly activeText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
21
27
  readonly inactiveText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
28
+ readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
29
+ readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
22
30
  readonly activeColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
23
31
  readonly inactiveColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
24
32
  readonly borderColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
25
- readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
26
- readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
27
33
  readonly name: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
28
34
  readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
29
- readonly id: StringConstructor;
30
- readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
31
35
  readonly beforeChange: {
32
36
  readonly type: import("vue").PropType<() => boolean | Promise<boolean>>;
33
37
  readonly required: false;
34
38
  readonly validator: ((val: unknown) => boolean) | undefined;
35
39
  __epPropKey: true;
36
40
  };
37
- readonly size: {
38
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
39
- readonly required: false;
40
- readonly validator: ((val: unknown) => boolean) | undefined;
41
- __epPropKey: true;
42
- };
41
+ readonly id: StringConstructor;
43
42
  readonly tabindex: {
44
43
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
45
44
  readonly required: false;
46
45
  readonly validator: ((val: unknown) => boolean) | undefined;
47
46
  __epPropKey: true;
48
47
  };
48
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
49
49
  }, {
50
50
  COMPONENT_NAME: string;
51
51
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
52
52
  readonly modelValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
53
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
54
53
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
54
+ readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
55
+ readonly size: {
56
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
57
+ readonly required: false;
58
+ readonly validator: ((val: unknown) => boolean) | undefined;
59
+ __epPropKey: true;
60
+ };
55
61
  readonly width: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
56
62
  readonly inlinePrompt: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
57
63
  readonly activeIcon: {
@@ -68,33 +74,27 @@ declare const _default: import("vue").DefineComponent<{
68
74
  };
69
75
  readonly activeText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
70
76
  readonly inactiveText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
77
+ readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
78
+ readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
71
79
  readonly activeColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
72
80
  readonly inactiveColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
73
81
  readonly borderColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
74
- readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
75
- readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
76
82
  readonly name: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
77
83
  readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
78
- readonly id: StringConstructor;
79
- readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
80
84
  readonly beforeChange: {
81
85
  readonly type: import("vue").PropType<() => boolean | Promise<boolean>>;
82
86
  readonly required: false;
83
87
  readonly validator: ((val: unknown) => boolean) | undefined;
84
88
  __epPropKey: true;
85
89
  };
86
- readonly size: {
87
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
88
- readonly required: false;
89
- readonly validator: ((val: unknown) => boolean) | undefined;
90
- __epPropKey: true;
91
- };
90
+ readonly id: StringConstructor;
92
91
  readonly tabindex: {
93
92
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
94
93
  readonly required: false;
95
94
  readonly validator: ((val: unknown) => boolean) | undefined;
96
95
  __epPropKey: true;
97
96
  };
97
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
98
98
  }>> & {
99
99
  onChange?: ((val: string | number | boolean) => any) | undefined;
100
100
  "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
@@ -122,12 +122,15 @@ declare const _default: import("vue").DefineComponent<{
122
122
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
123
123
  cssVarBlockName: (name: string) => string;
124
124
  };
125
+ useBatchDeprecated: (list: string[][]) => void;
125
126
  inputId: import("vue").Ref<string | undefined>;
126
127
  switchDisabled: import("vue").ComputedRef<boolean>;
127
128
  isControlled: import("vue").Ref<boolean>;
128
129
  input: import("vue").Ref<HTMLInputElement | undefined>;
129
130
  core: import("vue").Ref<HTMLSpanElement | undefined>;
130
131
  switchKls: import("vue").ComputedRef<string[]>;
132
+ labelLeftKls: import("vue").ComputedRef<string[]>;
133
+ labelRightKls: import("vue").ComputedRef<string[]>;
131
134
  coreStyle: import("vue").ComputedRef<CSSProperties>;
132
135
  actualValue: import("vue").ComputedRef<import("element-plus/es/utils").EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>>;
133
136
  checked: import("vue").ComputedRef<boolean>;
@@ -205,8 +208,14 @@ declare const _default: import("vue").DefineComponent<{
205
208
  input: (val: string | number | boolean) => boolean;
206
209
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
207
210
  readonly modelValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
208
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
209
211
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
212
+ readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
213
+ readonly size: {
214
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
215
+ readonly required: false;
216
+ readonly validator: ((val: unknown) => boolean) | undefined;
217
+ __epPropKey: true;
218
+ };
210
219
  readonly width: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
211
220
  readonly inlinePrompt: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
212
221
  readonly activeIcon: {
@@ -223,33 +232,27 @@ declare const _default: import("vue").DefineComponent<{
223
232
  };
224
233
  readonly activeText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
225
234
  readonly inactiveText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
235
+ readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
236
+ readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
226
237
  readonly activeColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
227
238
  readonly inactiveColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
228
239
  readonly borderColor: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
229
- readonly activeValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, true, boolean>;
230
- readonly inactiveValue: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
231
240
  readonly name: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
232
241
  readonly validateEvent: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
233
- readonly id: StringConstructor;
234
- readonly loading: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
235
242
  readonly beforeChange: {
236
243
  readonly type: import("vue").PropType<() => boolean | Promise<boolean>>;
237
244
  readonly required: false;
238
245
  readonly validator: ((val: unknown) => boolean) | undefined;
239
246
  __epPropKey: true;
240
247
  };
241
- readonly size: {
242
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large") | ((new (...args: any[]) => ("" | "default" | "small" | "large") & {}) | (() => "" | "default" | "small" | "large"))[], unknown, "" | "default" | "small" | "large">>;
243
- readonly required: false;
244
- readonly validator: ((val: unknown) => boolean) | undefined;
245
- __epPropKey: true;
246
- };
248
+ readonly id: StringConstructor;
247
249
  readonly tabindex: {
248
250
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
249
251
  readonly required: false;
250
252
  readonly validator: ((val: unknown) => boolean) | undefined;
251
253
  __epPropKey: true;
252
254
  };
255
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown, false, boolean>;
253
256
  }>> & {
254
257
  onChange?: ((val: string | number | boolean) => any) | undefined;
255
258
  "onUpdate:modelValue"?: ((val: string | number | boolean) => any) | undefined;
@@ -266,9 +269,9 @@ declare const _default: import("vue").DefineComponent<{
266
269
  readonly inlinePrompt: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
267
270
  readonly activeText: string;
268
271
  readonly inactiveText: string;
269
- readonly activeColor: string;
270
- readonly inactiveColor: string;
271
272
  readonly activeValue: import("element-plus/es/utils").EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
272
273
  readonly inactiveValue: import("element-plus/es/utils").EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>;
274
+ readonly activeColor: string;
275
+ readonly inactiveColor: string;
273
276
  }>;
274
277
  export default _default;
@@ -36,17 +36,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
36
  const { formItem } = useFormItem();
37
37
  const switchSize = useFormSize();
38
38
  const ns = useNamespace("switch");
39
- useDeprecated({
40
- from: '"value"',
41
- replacement: '"model-value" or "v-model"',
42
- scope: COMPONENT_NAME,
43
- version: "2.3.0",
44
- ref: "https://element-plus.org/en-US/component/switch.html#attributes",
45
- type: "Attribute"
46
- }, computed(() => {
47
- var _a;
48
- return !!((_a = vm.vnode.props) == null ? void 0 : _a.value);
49
- }));
39
+ const useBatchDeprecated = (list) => {
40
+ list.forEach((param) => {
41
+ useDeprecated({
42
+ from: param[0],
43
+ replacement: param[1],
44
+ scope: COMPONENT_NAME,
45
+ version: "2.3.0",
46
+ ref: "https://element-plus.org/en-US/component/switch.html#attributes",
47
+ type: "Attribute"
48
+ }, computed(() => {
49
+ var _a;
50
+ return !!((_a = vm.vnode.props) == null ? void 0 : _a[param[2]]);
51
+ }));
52
+ });
53
+ };
54
+ useBatchDeprecated([
55
+ ['"value"', '"model-value" or "v-model"', "value"],
56
+ ['"active-color"', "CSS var `--el-switch-on-color`", "activeColor"],
57
+ ['"inactive-color"', "CSS var `--el-switch-off-color`", "inactiveColor"],
58
+ ['"border-color"', "CSS var `--el-switch-border-color`", "borderColor"]
59
+ ]);
50
60
  const { inputId } = useFormItemInputId(props, {
51
61
  formItemContext: formItem
52
62
  });
@@ -60,6 +70,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
70
  ns.is("disabled", switchDisabled.value),
61
71
  ns.is("checked", checked.value)
62
72
  ]);
73
+ const labelLeftKls = computed(() => [
74
+ ns.e("label"),
75
+ ns.em("label", "left"),
76
+ ns.is("active", !checked.value)
77
+ ]);
78
+ const labelRightKls = computed(() => [
79
+ ns.e("label"),
80
+ ns.em("label", "right"),
81
+ ns.is("active", checked.value)
82
+ ]);
63
83
  const coreStyle = computed(() => ({
64
84
  width: addUnit(props.width)
65
85
  }));
@@ -165,11 +185,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
165
185
  }, null, 42, _hoisted_2),
166
186
  !_ctx.inlinePrompt && (_ctx.inactiveIcon || _ctx.inactiveText) ? (openBlock(), createElementBlock("span", {
167
187
  key: 0,
168
- class: normalizeClass([
169
- unref(ns).e("label"),
170
- unref(ns).em("label", "left"),
171
- unref(ns).is("active", !unref(checked))
172
- ])
188
+ class: normalizeClass(unref(labelLeftKls))
173
189
  }, [
174
190
  _ctx.inactiveIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
175
191
  default: withCtx(() => [
@@ -222,11 +238,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
222
238
  ], 6),
223
239
  !_ctx.inlinePrompt && (_ctx.activeIcon || _ctx.activeText) ? (openBlock(), createElementBlock("span", {
224
240
  key: 1,
225
- class: normalizeClass([
226
- unref(ns).e("label"),
227
- unref(ns).em("label", "right"),
228
- unref(ns).is("active", unref(checked))
229
- ])
241
+ class: normalizeClass(unref(labelRightKls))
230
242
  }, [
231
243
  _ctx.activeIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
232
244
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" :style=\"styles\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked),\n ]\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked),\n ]\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { addUnit, debugWarn, isBoolean, throwError } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useDeprecated, useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst vm = getCurrentInstance()!\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nuseDeprecated(\n {\n from: '\"value\"',\n replacement: '\"model-value\" or \"v-model\"',\n scope: COMPONENT_NAME,\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/switch.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!vm.vnode.props?.value)\n)\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nwatch(\n () => props.value,\n () => {\n isControlled.value = false\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : props.value\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst styles = computed(() => {\n return ns.cssVarBlock({\n ...(props.activeColor ? { 'on-color': props.activeColor } : null),\n ...(props.inactiveColor ? { 'off-color': props.inactiveColor } : null),\n ...(props.borderColor ? { 'border-color': props.borderColor } : null),\n })\n})\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" :style=\"styles\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n getCurrentInstance,\n nextTick,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { addUnit, debugWarn, isBoolean, throwError } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useDeprecated, useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst vm = getCurrentInstance()!\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst useBatchDeprecated = (list: string[][]) => {\n list.forEach((param) => {\n useDeprecated(\n {\n from: param[0],\n replacement: param[1],\n scope: COMPONENT_NAME,\n version: '2.3.0',\n ref: 'https://element-plus.org/en-US/component/switch.html#attributes',\n type: 'Attribute',\n },\n computed(() => !!vm.vnode.props?.[param[2]])\n )\n })\n}\nuseBatchDeprecated([\n ['\"value\"', '\"model-value\" or \"v-model\"', 'value'],\n ['\"active-color\"', 'CSS var `--el-switch-on-color`', 'activeColor'],\n ['\"inactive-color\"', 'CSS var `--el-switch-off-color`', 'inactiveColor'],\n ['\"border-color\"', 'CSS var `--el-switch-border-color`', 'borderColor'],\n])\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nwatch(\n () => props.value,\n () => {\n isControlled.value = false\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : props.value\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst styles = computed(() => {\n return ns.cssVarBlock({\n ...(props.activeColor ? { 'on-color': props.activeColor } : null),\n ...(props.inactiveColor ? { 'off-color': props.inactiveColor } : null),\n ...(props.borderColor ? { 'border-color': props.borderColor } : null),\n })\n})\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -90,6 +90,7 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
90
90
  default: boolean;
91
91
  };
92
92
  flexible: BooleanConstructor;
93
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
93
94
  }, {
94
95
  ns: {
95
96
  namespace: import("vue").ComputedRef<string>;
@@ -139,7 +140,7 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
139
140
  getSelectionRows: () => any;
140
141
  toggleRowSelection: (row: any, selected: boolean) => void;
141
142
  clearSelection: () => void;
142
- clearFilter: (columnKeys: string[]) => void;
143
+ clearFilter: (columnKeys?: string[] | undefined) => void;
143
144
  toggleAllSelection: () => void;
144
145
  toggleRowExpansion: (row: any, expanded?: boolean | undefined) => void;
145
146
  clearSort: () => void;
@@ -269,6 +270,7 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
269
270
  default: boolean;
270
271
  };
271
272
  flexible: BooleanConstructor;
273
+ showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
272
274
  }>> & {
273
275
  onSelect?: ((...args: any[]) => any) | undefined;
274
276
  "onExpand-change"?: ((...args: any[]) => any) | undefined;
@@ -347,7 +349,10 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
347
349
  columnKey: StringConstructor;
348
350
  align: StringConstructor;
349
351
  headerAlign: StringConstructor;
350
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
352
+ showOverflowTooltip: {
353
+ type: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
354
+ default: undefined;
355
+ };
351
356
  fixed: (BooleanConstructor | StringConstructor)[];
352
357
  formatter: import("vue").PropType<(row: any, column: import("./src/table-column/defaults").TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
353
358
  [key: string]: any;
@@ -405,7 +410,10 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
405
410
  columnKey: StringConstructor;
406
411
  align: StringConstructor;
407
412
  headerAlign: StringConstructor;
408
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
413
+ showOverflowTooltip: {
414
+ type: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
415
+ default: undefined;
416
+ };
409
417
  fixed: (BooleanConstructor | StringConstructor)[];
410
418
  formatter: import("vue").PropType<(row: any, column: import("./src/table-column/defaults").TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
411
419
  [key: string]: any;
@@ -430,6 +438,7 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
430
438
  type: string;
431
439
  width: string | number;
432
440
  minWidth: string | number;
441
+ showOverflowTooltip: boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined;
433
442
  sortOrders: ("ascending" | "descending" | null)[];
434
443
  sortable: string | boolean;
435
444
  resizable: boolean;
@@ -475,7 +484,10 @@ export declare const ElTableColumn: import("element-plus/es/utils").SFCWithInsta
475
484
  columnKey: StringConstructor;
476
485
  align: StringConstructor;
477
486
  headerAlign: StringConstructor;
478
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
487
+ showOverflowTooltip: {
488
+ type: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
489
+ default: undefined;
490
+ };
479
491
  fixed: (BooleanConstructor | StringConstructor)[];
480
492
  formatter: import("vue").PropType<(row: any, column: import("./src/table-column/defaults").TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
481
493
  [key: string]: any;
@@ -533,7 +545,10 @@ export declare const ElTableColumn: import("element-plus/es/utils").SFCWithInsta
533
545
  columnKey: StringConstructor;
534
546
  align: StringConstructor;
535
547
  headerAlign: StringConstructor;
536
- showOverflowTooltip: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
548
+ showOverflowTooltip: {
549
+ type: import("vue").PropType<boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined>;
550
+ default: undefined;
551
+ };
537
552
  fixed: (BooleanConstructor | StringConstructor)[];
538
553
  formatter: import("vue").PropType<(row: any, column: import("./src/table-column/defaults").TableColumnCtx<any>, cellValue: any, index: number) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
539
554
  [key: string]: any;
@@ -558,6 +573,7 @@ export declare const ElTableColumn: import("element-plus/es/utils").SFCWithInsta
558
573
  type: string;
559
574
  width: string | number;
560
575
  minWidth: string | number;
576
+ showOverflowTooltip: boolean | Partial<Pick<import("..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "showArrow">> | undefined;
561
577
  sortOrders: ("ascending" | "descending" | null)[];
562
578
  sortable: string | boolean;
563
579
  resizable: boolean;
@@ -16,7 +16,7 @@ const sortData = (data, states) => {
16
16
  const doFlattenColumns = (columns) => {
17
17
  const result = [];
18
18
  columns.forEach((column) => {
19
- if (column.children) {
19
+ if (column.children && column.children.length > 0) {
20
20
  result.push.apply(result, doFlattenColumns(column.children));
21
21
  } else {
22
22
  result.push(column);
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新 fixed\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n // 更新列\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.includes(row)\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n if (oldSelection.length) {\n selection.value = []\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const toggleRowSelection = (\n row: T,\n selected = undefined,\n emitChange = true\n ) => {\n const changed = toggleRowStatus(selection.value, row, selected)\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (selectable.value) {\n if (\n selectable.value.call(null, row, rowIndex) &&\n toggleRowStatus(selection.value, row, value)\n ) {\n selectionChanged = true\n }\n } else {\n if (toggleRowStatus(selection.value, row, value)) {\n selectionChanged = true\n }\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', selection.value)\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let selectedMap\n if (rowKey.value) {\n selectedMap = getKeysMap(selection.value, rowKey.value)\n }\n const isSelected = function (row) {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n let isAllSelected_ = true\n let selectedCount = 0\n let childrenCount = 0\n for (let i = 0, j = (data.value || []).length; i < j; i++) {\n const keyProp = instance?.store?.states?.rowKey.value\n const rowIndex = i + childrenCount\n const item = data.value[i]\n const isRowSelectable =\n selectable.value && selectable.value.call(null, item, rowIndex)\n if (!isSelected(item)) {\n if (!selectable.value || isRowSelectable) {\n isAllSelected_ = false\n break\n }\n } else {\n selectedCount++\n }\n childrenCount += getChildrenCount(getRowIdentity(item, keyProp))\n }\n\n if (selectedCount === 0) isAllSelected_ = false\n isAllSelected.value = isAllSelected_\n }\n\n // gets the number of all child nodes by rowKey\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":";;;;;;;;AAaA,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK;AACnC,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC7C,EAAE,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACpE,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1G,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK;AACtC,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AAC9B,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AACzB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnE,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AACF,SAAS,UAAU,GAAG;AACtB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;AACxC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACzF,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACvB,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAChC,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,EAAE,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9B,EAAE,MAAM,gBAAgB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,EAAE,MAAM,qBAAqB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACxC,EAAE,MAAM,cAAc,GAAG,EAAE,CAAC;AAC5B,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,EAAE,MAAM,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACxC,EAAE,MAAM,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACnC,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5B,EAAE,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,EAAE,MAAM,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,EAAE,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,EAAE,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;AAC7D,IAAI,IAAI,EAAE,IAAI;AACd,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,MAAM;AAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;AACrB,MAAM,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK;AACvC,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC5E,MAAM,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACvC,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACpC,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACvC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/B,KAAK,CAAC,CAAC;AACP,IAAI,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;AAC7G,IAAI,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;AAC1F,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;AAClI,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;AACrC,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAI,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAChH,IAAI,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC3D,IAAI,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACnE,IAAI,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAI,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;AAClD,IAAI,sBAAsB,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC;AAC5D,IAAI,2BAA2B,CAAC,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC;AACtE,IAAI,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACrG,IAAI,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1F,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,SAAS,GAAG,KAAK,KAAK;AACnE,IAAI,IAAI,iBAAiB,EAAE;AAC3B,MAAM,aAAa,EAAE,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChC,KAAK,MAAM;AACX,MAAM,QAAQ,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;AAC7C,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK;AAC9B,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzC,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,IAAI,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;AACzC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE;AAC7B,MAAM,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;AAC3B,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC5C,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;AACtB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,MAAM,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AACrC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACvD,UAAU,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7C,SAAS;AACT,OAAO;AACP,KAAK,MAAM;AACX,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,KAAK;AACL,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE;AACxB,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,MAAM,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;AACrC,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9D,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,KAAK;AAC5E,IAAI,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AACpE,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;AAC3D,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;AACnD,OAAO;AACP,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AACtD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,MAAM;AACpC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;AAChB,IAAI,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,aAAa,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxH,IAAI,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,IAAI,IAAI,gBAAgB,GAAG,KAAK,CAAC;AACjC,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC;AAC1B,IAAI,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/I,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK;AACvC,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,aAAa,CAAC;AAC7C,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE;AACxG,UAAU,gBAAgB,GAAG,IAAI,CAAC;AAClC,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE;AAC1D,UAAU,gBAAgB,GAAG,IAAI,CAAC;AAClC,SAAS;AACT,OAAO;AACP,MAAM,aAAa,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,gBAAgB,EAAE;AAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACxF,KAAK;AACL,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACjD,GAAG,CAAC;AACJ,EAAE,MAAM,uBAAuB,GAAG,MAAM;AACxC,IAAI,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAChC,MAAM,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AACzC,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AAC7C,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,MAAM;AAClC,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,EAAE;AAClE,MAAM,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAClC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,WAAW,CAAC;AACpB,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;AACtB,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,SAAS,GAAG,EAAE;AACtC,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,OAAO,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,OAAO,MAAM;AACb,QAAQ,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7C,OAAO;AACP,KAAK,CAAC;AACN,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;AAC9B,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC;AAC1B,IAAI,IAAI,aAAa,GAAG,CAAC,CAAC;AAC1B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC/D,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/I,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC;AACzC,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9F,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AAC9B,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,eAAe,EAAE;AAClD,UAAU,cAAc,GAAG,KAAK,CAAC;AACjC,UAAU,MAAM;AAChB,SAAS;AACT,OAAO,MAAM;AACb,QAAQ,aAAa,EAAE,CAAC;AACxB,OAAO;AACP,MAAM,aAAa,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,IAAI,aAAa,KAAK,CAAC;AAC3B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,IAAI,aAAa,CAAC,KAAK,GAAG,cAAc,CAAC;AACzC,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK;AACxC,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK;AACpC,MAAM,OAAO,CAAC,CAAC;AACf,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/C,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;AACrF,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;AAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACrC,QAAQ,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC5C,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK;AAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAClC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,EAAE,CAAC;AACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC9B,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACrC,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;AACjD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK;AAC9C,IAAI,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,KAAK,MAAM,EAAE;AAC/D,MAAM,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;AACvC,KAAK;AACL,IAAI,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC;AACjC,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;AAC1B,IAAI,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACrD,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AACxC,QAAQ,OAAO;AACf,MAAM,MAAM,MAAM,GAAG,aAAa,CAAC;AACnC,QAAQ,OAAO,EAAE,OAAO,CAAC,KAAK;AAC9B,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnB,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE;AACzC,QAAQ,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;AAChD,UAAU,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5F,SAAS,CAAC,CAAC;AACX,OAAO;AACP,KAAK,CAAC,CAAC;AACP,IAAI,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;AACpC,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;AAC9C,MAAM,aAAa,EAAE,aAAa,CAAC,KAAK;AACxC,MAAM,QAAQ,EAAE,QAAQ,CAAC,KAAK;AAC9B,MAAM,SAAS,EAAE,SAAS,CAAC,KAAK;AAChC,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;AACzC,IAAI,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;AACpC,MAAM,UAAU,EAAE,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,EAAE,CAAC;AACf,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,UAAU,KAAK;AACtC,IAAI,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC7C,IAAI,IAAI,CAAC,cAAc;AACvB,MAAM,OAAO;AACb,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AAClE,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;AACpB,MAAM,OAAO;AACb,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACxC,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACnC,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC;AAC9D,QAAQ,OAAO,EAAE,OAAO,CAAC,KAAK;AAC9B,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACf,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC5B,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAC9D,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;AACpC,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;AAC5C,QAAQ,MAAM,EAAE,QAAQ;AACxB,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,MAAM,EAAE,IAAI;AACpB,QAAQ,KAAK,EAAE,IAAI;AACnB,OAAO,CAAC,CAAC;AACT,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC5B,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AACnE,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;AACpC,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;AAC5C,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,MAAM,EAAE,IAAI;AACpB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM;AAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK;AAC5B,MAAM,OAAO;AACb,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE;AACjD,MAAM,MAAM,EAAE,IAAI;AAClB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,MAAM;AACR,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,MAAM,EAAE,YAAY;AACxB,IAAI,aAAa;AACjB,GAAG,GAAG,SAAS,CAAC;AAChB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,MAAM;AACR,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,MAAM,EAAE,UAAU;AACtB,GAAG,GAAG,OAAO,CAAC;AACd,IAAI,IAAI;AACR,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,MAAM;AACR,IAAI,oBAAoB;AACxB,IAAI,gBAAgB;AACpB,IAAI,gBAAgB;AACpB,IAAI,MAAM,EAAE,WAAW;AACvB,GAAG,GAAG,UAAU,CAAC;AACjB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,uBAAuB,GAAG,CAAC,GAAG,KAAK;AAC3C,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;AACvD,IAAI,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,QAAQ,CAAC,CAAC;AAChF,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACxC,KAAK,MAAM;AACX,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzC,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,kBAAkB,EAAE,IAAI;AAC5B,IAAI,uBAAuB;AAC3B,IAAI,iBAAiB;AACrB,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,IAAI,uBAAuB;AAC3B,IAAI,gBAAgB;AACpB,IAAI,yBAAyB;AAC7B,IAAI,aAAa;AACjB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,MAAM,EAAE;AACZ,MAAM,SAAS;AACf,MAAM,MAAM;AACZ,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,aAAa;AACnB,MAAM,OAAO;AACb,MAAM,YAAY;AAClB,MAAM,iBAAiB;AACvB,MAAM,WAAW;AACjB,MAAM,gBAAgB;AACtB,MAAM,qBAAqB;AAC3B,MAAM,cAAc;AACpB,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,2BAA2B;AACjC,MAAM,aAAa;AACnB,MAAM,SAAS;AACf,MAAM,gBAAgB;AACtB,MAAM,qBAAqB;AAC3B,MAAM,UAAU;AAChB,MAAM,OAAO;AACb,MAAM,YAAY;AAClB,MAAM,aAAa;AACnB,MAAM,QAAQ;AACd,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,GAAG,YAAY;AACrB,MAAM,GAAG,UAAU;AACnB,MAAM,GAAG,WAAW;AACpB,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children && column.children.length > 0) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新 fixed\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n // 更新列\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.includes(row)\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n if (oldSelection.length) {\n selection.value = []\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const toggleRowSelection = (\n row: T,\n selected = undefined,\n emitChange = true\n ) => {\n const changed = toggleRowStatus(selection.value, row, selected)\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (selectable.value) {\n if (\n selectable.value.call(null, row, rowIndex) &&\n toggleRowStatus(selection.value, row, value)\n ) {\n selectionChanged = true\n }\n } else {\n if (toggleRowStatus(selection.value, row, value)) {\n selectionChanged = true\n }\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', selection.value)\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let selectedMap\n if (rowKey.value) {\n selectedMap = getKeysMap(selection.value, rowKey.value)\n }\n const isSelected = function (row) {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n let isAllSelected_ = true\n let selectedCount = 0\n let childrenCount = 0\n for (let i = 0, j = (data.value || []).length; i < j; i++) {\n const keyProp = instance?.store?.states?.rowKey.value\n const rowIndex = i + childrenCount\n const item = data.value[i]\n const isRowSelectable =\n selectable.value && selectable.value.call(null, item, rowIndex)\n if (!isSelected(item)) {\n if (!selectable.value || isRowSelectable) {\n isAllSelected_ = false\n break\n }\n } else {\n selectedCount++\n }\n childrenCount += getChildrenCount(getRowIdentity(item, keyProp))\n }\n\n if (selectedCount === 0) isAllSelected_ = false\n isAllSelected.value = isAllSelected_\n }\n\n // gets the number of all child nodes by rowKey\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}