@element-plus/nightly 0.0.20240902 → 0.0.20240903

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 (340) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +55 -35
  3. package/dist/index.full.min.js +11 -11
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +11 -11
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +55 -35
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hr.js +1 -1
  93. package/dist/locale/hr.min.js +1 -1
  94. package/dist/locale/hr.min.mjs +1 -1
  95. package/dist/locale/hr.mjs +1 -1
  96. package/dist/locale/hu.js +1 -1
  97. package/dist/locale/hu.min.js +1 -1
  98. package/dist/locale/hu.min.mjs +1 -1
  99. package/dist/locale/hu.mjs +1 -1
  100. package/dist/locale/hy-am.js +1 -1
  101. package/dist/locale/hy-am.min.js +1 -1
  102. package/dist/locale/hy-am.min.mjs +1 -1
  103. package/dist/locale/hy-am.mjs +1 -1
  104. package/dist/locale/id.js +1 -1
  105. package/dist/locale/id.min.js +1 -1
  106. package/dist/locale/id.min.mjs +1 -1
  107. package/dist/locale/id.mjs +1 -1
  108. package/dist/locale/it.js +1 -1
  109. package/dist/locale/it.min.js +1 -1
  110. package/dist/locale/it.min.mjs +1 -1
  111. package/dist/locale/it.mjs +1 -1
  112. package/dist/locale/ja.js +1 -1
  113. package/dist/locale/ja.min.js +1 -1
  114. package/dist/locale/ja.min.mjs +1 -1
  115. package/dist/locale/ja.mjs +1 -1
  116. package/dist/locale/kk.js +1 -1
  117. package/dist/locale/kk.min.js +1 -1
  118. package/dist/locale/kk.min.mjs +1 -1
  119. package/dist/locale/kk.mjs +1 -1
  120. package/dist/locale/km.js +1 -1
  121. package/dist/locale/km.min.js +1 -1
  122. package/dist/locale/km.min.mjs +1 -1
  123. package/dist/locale/km.mjs +1 -1
  124. package/dist/locale/ko.js +1 -1
  125. package/dist/locale/ko.min.js +1 -1
  126. package/dist/locale/ko.min.mjs +1 -1
  127. package/dist/locale/ko.mjs +1 -1
  128. package/dist/locale/ku.js +1 -1
  129. package/dist/locale/ku.min.js +1 -1
  130. package/dist/locale/ku.min.mjs +1 -1
  131. package/dist/locale/ku.mjs +1 -1
  132. package/dist/locale/ky.js +1 -1
  133. package/dist/locale/ky.min.js +1 -1
  134. package/dist/locale/ky.min.mjs +1 -1
  135. package/dist/locale/ky.mjs +1 -1
  136. package/dist/locale/lt.js +1 -1
  137. package/dist/locale/lt.min.js +1 -1
  138. package/dist/locale/lt.min.mjs +1 -1
  139. package/dist/locale/lt.mjs +1 -1
  140. package/dist/locale/lv.js +1 -1
  141. package/dist/locale/lv.min.js +1 -1
  142. package/dist/locale/lv.min.mjs +1 -1
  143. package/dist/locale/lv.mjs +1 -1
  144. package/dist/locale/mg.js +1 -1
  145. package/dist/locale/mg.min.js +1 -1
  146. package/dist/locale/mg.min.mjs +1 -1
  147. package/dist/locale/mg.mjs +1 -1
  148. package/dist/locale/mn.js +1 -1
  149. package/dist/locale/mn.min.js +1 -1
  150. package/dist/locale/mn.min.mjs +1 -1
  151. package/dist/locale/mn.mjs +1 -1
  152. package/dist/locale/my.js +1 -1
  153. package/dist/locale/my.min.js +1 -1
  154. package/dist/locale/my.min.mjs +1 -1
  155. package/dist/locale/my.mjs +1 -1
  156. package/dist/locale/nb-no.js +1 -1
  157. package/dist/locale/nb-no.min.js +1 -1
  158. package/dist/locale/nb-no.min.mjs +1 -1
  159. package/dist/locale/nb-no.mjs +1 -1
  160. package/dist/locale/nl.js +1 -1
  161. package/dist/locale/nl.min.js +1 -1
  162. package/dist/locale/nl.min.mjs +1 -1
  163. package/dist/locale/nl.mjs +1 -1
  164. package/dist/locale/pa.js +1 -1
  165. package/dist/locale/pa.min.js +1 -1
  166. package/dist/locale/pa.min.mjs +1 -1
  167. package/dist/locale/pa.mjs +1 -1
  168. package/dist/locale/pl.js +1 -1
  169. package/dist/locale/pl.min.js +1 -1
  170. package/dist/locale/pl.min.mjs +1 -1
  171. package/dist/locale/pl.mjs +1 -1
  172. package/dist/locale/pt-br.js +1 -1
  173. package/dist/locale/pt-br.min.js +1 -1
  174. package/dist/locale/pt-br.min.mjs +1 -1
  175. package/dist/locale/pt-br.mjs +1 -1
  176. package/dist/locale/pt.js +1 -1
  177. package/dist/locale/pt.min.js +1 -1
  178. package/dist/locale/pt.min.mjs +1 -1
  179. package/dist/locale/pt.mjs +1 -1
  180. package/dist/locale/ro.js +1 -1
  181. package/dist/locale/ro.min.js +1 -1
  182. package/dist/locale/ro.min.mjs +1 -1
  183. package/dist/locale/ro.mjs +1 -1
  184. package/dist/locale/ru.js +1 -1
  185. package/dist/locale/ru.min.js +1 -1
  186. package/dist/locale/ru.min.mjs +1 -1
  187. package/dist/locale/ru.mjs +1 -1
  188. package/dist/locale/sk.js +1 -1
  189. package/dist/locale/sk.min.js +1 -1
  190. package/dist/locale/sk.min.mjs +1 -1
  191. package/dist/locale/sk.mjs +1 -1
  192. package/dist/locale/sl.js +1 -1
  193. package/dist/locale/sl.min.js +1 -1
  194. package/dist/locale/sl.min.mjs +1 -1
  195. package/dist/locale/sl.mjs +1 -1
  196. package/dist/locale/sr.js +1 -1
  197. package/dist/locale/sr.min.js +1 -1
  198. package/dist/locale/sr.min.mjs +1 -1
  199. package/dist/locale/sr.mjs +1 -1
  200. package/dist/locale/sv.js +1 -1
  201. package/dist/locale/sv.min.js +1 -1
  202. package/dist/locale/sv.min.mjs +1 -1
  203. package/dist/locale/sv.mjs +1 -1
  204. package/dist/locale/sw.js +1 -1
  205. package/dist/locale/sw.min.js +1 -1
  206. package/dist/locale/sw.min.mjs +1 -1
  207. package/dist/locale/sw.mjs +1 -1
  208. package/dist/locale/ta.js +1 -1
  209. package/dist/locale/ta.min.js +1 -1
  210. package/dist/locale/ta.min.mjs +1 -1
  211. package/dist/locale/ta.mjs +1 -1
  212. package/dist/locale/th.js +1 -1
  213. package/dist/locale/th.min.js +1 -1
  214. package/dist/locale/th.min.mjs +1 -1
  215. package/dist/locale/th.mjs +1 -1
  216. package/dist/locale/tk.js +1 -1
  217. package/dist/locale/tk.min.js +1 -1
  218. package/dist/locale/tk.min.mjs +1 -1
  219. package/dist/locale/tk.mjs +1 -1
  220. package/dist/locale/tr.js +1 -1
  221. package/dist/locale/tr.min.js +1 -1
  222. package/dist/locale/tr.min.mjs +1 -1
  223. package/dist/locale/tr.mjs +1 -1
  224. package/dist/locale/ug-cn.js +1 -1
  225. package/dist/locale/ug-cn.min.js +1 -1
  226. package/dist/locale/ug-cn.min.mjs +1 -1
  227. package/dist/locale/ug-cn.mjs +1 -1
  228. package/dist/locale/uk.js +1 -1
  229. package/dist/locale/uk.min.js +1 -1
  230. package/dist/locale/uk.min.mjs +1 -1
  231. package/dist/locale/uk.mjs +1 -1
  232. package/dist/locale/uz-uz.js +1 -1
  233. package/dist/locale/uz-uz.min.js +1 -1
  234. package/dist/locale/uz-uz.min.mjs +1 -1
  235. package/dist/locale/uz-uz.mjs +1 -1
  236. package/dist/locale/vi.js +1 -1
  237. package/dist/locale/vi.min.js +1 -1
  238. package/dist/locale/vi.min.mjs +1 -1
  239. package/dist/locale/vi.mjs +1 -1
  240. package/dist/locale/zh-cn.js +1 -1
  241. package/dist/locale/zh-cn.min.js +1 -1
  242. package/dist/locale/zh-cn.min.mjs +1 -1
  243. package/dist/locale/zh-cn.mjs +1 -1
  244. package/dist/locale/zh-tw.js +1 -1
  245. package/dist/locale/zh-tw.min.js +1 -1
  246. package/dist/locale/zh-tw.min.mjs +1 -1
  247. package/dist/locale/zh-tw.mjs +1 -1
  248. package/es/components/calendar/src/use-calendar.mjs +2 -1
  249. package/es/components/calendar/src/use-calendar.mjs.map +1 -1
  250. package/es/components/cascader/index.mjs +2 -2
  251. package/es/components/cascader/src/cascader.mjs +621 -83
  252. package/es/components/cascader/src/cascader.mjs.map +1 -1
  253. package/es/components/cascader/src/cascader2.mjs +83 -621
  254. package/es/components/cascader/src/cascader2.mjs.map +1 -1
  255. package/es/components/cascader-panel/src/index.mjs +1 -1
  256. package/es/components/cascader-panel/src/menu.mjs +1 -1
  257. package/es/components/cascader-panel/src/node.mjs +207 -116
  258. package/es/components/cascader-panel/src/node.mjs.map +1 -1
  259. package/es/components/cascader-panel/src/node2.mjs +116 -207
  260. package/es/components/cascader-panel/src/node2.mjs.map +1 -1
  261. package/es/components/cascader-panel/src/store.mjs +1 -1
  262. package/es/components/dialog/src/dialog.d.ts +2 -0
  263. package/es/components/dialog/src/dialog.mjs.map +1 -1
  264. package/es/components/dialog/src/dialog.vue.d.ts +2 -2
  265. package/es/components/drawer/src/drawer.vue.d.ts +2 -2
  266. package/es/components/index.mjs +2 -2
  267. package/es/components/input-number/index.mjs +2 -2
  268. package/es/components/input-number/src/input-number.mjs +329 -60
  269. package/es/components/input-number/src/input-number.mjs.map +1 -1
  270. package/es/components/input-number/src/input-number2.mjs +60 -329
  271. package/es/components/input-number/src/input-number2.mjs.map +1 -1
  272. package/es/components/select/src/select.vue.d.ts +287 -286
  273. package/es/components/select/src/select2.mjs +19 -4
  274. package/es/components/select/src/select2.mjs.map +1 -1
  275. package/es/components/table-v2/src/components/header-row.mjs.map +1 -1
  276. package/es/components/table-v2/src/components/row.mjs.map +1 -1
  277. package/es/components/table-v2/src/composables/use-columns.d.ts +115 -7
  278. package/es/components/table-v2/src/composables/use-columns.mjs +11 -5
  279. package/es/components/table-v2/src/composables/use-columns.mjs.map +1 -1
  280. package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -1
  281. package/es/components/table-v2/src/types.d.ts +1 -0
  282. package/es/components/table-v2/src/use-table.d.ts +58 -4
  283. package/es/components/tree-v2/src/composables/useTree.mjs +24 -23
  284. package/es/components/tree-v2/src/composables/useTree.mjs.map +1 -1
  285. package/es/hooks/use-popper-container/index.mjs +1 -1
  286. package/es/hooks/use-popper-container/index.mjs.map +1 -1
  287. package/es/index.mjs +2 -2
  288. package/es/version.d.ts +1 -1
  289. package/es/version.mjs +1 -1
  290. package/es/version.mjs.map +1 -1
  291. package/global.d.ts +1 -1
  292. package/lib/components/calendar/src/use-calendar.js +2 -1
  293. package/lib/components/calendar/src/use-calendar.js.map +1 -1
  294. package/lib/components/cascader/index.js +2 -2
  295. package/lib/components/cascader/src/cascader.js +621 -84
  296. package/lib/components/cascader/src/cascader.js.map +1 -1
  297. package/lib/components/cascader/src/cascader2.js +84 -621
  298. package/lib/components/cascader/src/cascader2.js.map +1 -1
  299. package/lib/components/cascader-panel/src/index.js +1 -1
  300. package/lib/components/cascader-panel/src/menu.js +1 -1
  301. package/lib/components/cascader-panel/src/node.js +207 -116
  302. package/lib/components/cascader-panel/src/node.js.map +1 -1
  303. package/lib/components/cascader-panel/src/node2.js +116 -207
  304. package/lib/components/cascader-panel/src/node2.js.map +1 -1
  305. package/lib/components/cascader-panel/src/store.js +1 -1
  306. package/lib/components/dialog/src/dialog.d.ts +2 -0
  307. package/lib/components/dialog/src/dialog.js.map +1 -1
  308. package/lib/components/dialog/src/dialog.vue.d.ts +2 -2
  309. package/lib/components/drawer/src/drawer.vue.d.ts +2 -2
  310. package/lib/components/index.js +2 -2
  311. package/lib/components/input-number/index.js +2 -2
  312. package/lib/components/input-number/src/input-number.js +327 -59
  313. package/lib/components/input-number/src/input-number.js.map +1 -1
  314. package/lib/components/input-number/src/input-number2.js +59 -327
  315. package/lib/components/input-number/src/input-number2.js.map +1 -1
  316. package/lib/components/select/src/select.vue.d.ts +287 -286
  317. package/lib/components/select/src/select2.js +18 -3
  318. package/lib/components/select/src/select2.js.map +1 -1
  319. package/lib/components/table-v2/src/components/header-row.js.map +1 -1
  320. package/lib/components/table-v2/src/components/row.js.map +1 -1
  321. package/lib/components/table-v2/src/composables/use-columns.d.ts +115 -7
  322. package/lib/components/table-v2/src/composables/use-columns.js +11 -5
  323. package/lib/components/table-v2/src/composables/use-columns.js.map +1 -1
  324. package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -1
  325. package/lib/components/table-v2/src/types.d.ts +1 -0
  326. package/lib/components/table-v2/src/use-table.d.ts +58 -4
  327. package/lib/components/tree-v2/src/composables/useTree.js +24 -23
  328. package/lib/components/tree-v2/src/composables/useTree.js.map +1 -1
  329. package/lib/hooks/use-popper-container/index.js +1 -1
  330. package/lib/hooks/use-popper-container/index.js.map +1 -1
  331. package/lib/index.js +2 -2
  332. package/lib/version.d.ts +1 -1
  333. package/lib/version.js +1 -1
  334. package/lib/version.js.map +1 -1
  335. package/package.json +2 -2
  336. package/theme-chalk/el-select-v2.css +1 -1
  337. package/theme-chalk/el-select.css +1 -1
  338. package/theme-chalk/index.css +1 -1
  339. package/theme-chalk/src/select.scss +1 -0
  340. package/web-types.json +1 -1
@@ -9,6 +9,7 @@ var index$1 = require('../../scrollbar/index.js');
9
9
  var index = require('../../tag/index.js');
10
10
  var index$3 = require('../../icon/index.js');
11
11
  require('../../../constants/index.js');
12
+ require('../../../utils/index.js');
12
13
  var option = require('./option.js');
13
14
  var selectDropdown = require('./select-dropdown.js');
14
15
  var useSelect = require('./useSelect.js');
@@ -18,6 +19,7 @@ var select = require('./select.js');
18
19
  var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
19
20
  var index$4 = require('../../../directives/click-outside/index.js');
20
21
  var event = require('../../../constants/event.js');
22
+ var shared = require('@vue/shared');
21
23
 
22
24
  const COMPONENT_NAME = "ElSelect";
23
25
  const _sfc_main = vue.defineComponent({
@@ -44,9 +46,21 @@ const _sfc_main = vue.defineComponent({
44
46
  "blur"
45
47
  ],
46
48
  setup(props, { emit }) {
47
- const API = useSelect.useSelect(props, emit);
49
+ const modelValue = vue.computed(() => {
50
+ const { modelValue: rawModelValue, multiple } = props;
51
+ const fallback = multiple ? [] : void 0;
52
+ if (shared.isArray(rawModelValue)) {
53
+ return multiple ? rawModelValue : fallback;
54
+ }
55
+ return multiple ? fallback : rawModelValue;
56
+ });
57
+ const _props = vue.reactive({
58
+ ...vue.toRefs(props),
59
+ modelValue
60
+ });
61
+ const API = useSelect.useSelect(_props, emit);
48
62
  vue.provide(token.selectKey, vue.reactive({
49
- props,
63
+ props: _props,
50
64
  states: API.states,
51
65
  optionsArray: API.optionsArray,
52
66
  handleOptionSelect: API.handleOptionSelect,
@@ -56,7 +70,8 @@ const _sfc_main = vue.defineComponent({
56
70
  setSelected: API.setSelected
57
71
  }));
58
72
  return {
59
- ...API
73
+ ...API,
74
+ modelValue
60
75
  };
61
76
  }
62
77
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select2.js","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot v-if=\"multiple\" name=\"tag\">\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n v-if=\"!selectDisabled\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete.stop=\"deletePrevTag\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot />\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport { defineComponent, provide, reactive } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\n\nimport { SelectProps } from './select'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const API = useSelect(props, emit)\n\n provide(\n selectKey,\n reactive({\n props,\n states: API.states,\n optionsArray: API.optionsArray,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n selectRef: API.selectRef,\n setSelected: API.setSelected,\n }) as unknown as SelectContext\n )\n\n return {\n ...API,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElOption","ElOptions","ElTag","ElScrollbar","ElTooltip","ElIcon","ClickOutside","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useSelect","provide","selectKey","reactive","_createElementBlock","_normalizeClass","_toHandlerKey","_createVNode","_withCtx","_createElementVNode","_withModifiers","_openBlock","_renderSlot","_createCommentVNode","_Fragment","_renderList","_normalizeStyle","_createBlock","_withDirectives","_withKeys","_vModelText","_toDisplayString","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"select2.js","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n <div\n ref=\"selectRef\"\n v-click-outside:[popperRef]=\"handleClickOutside\"\n :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n @[mouseEnterEventName]=\"states.inputHovering = true\"\n @mouseleave=\"states.inputHovering = false\"\n >\n <el-tooltip\n ref=\"tooltipRef\"\n :visible=\"dropdownMenuVisible\"\n :placement=\"placement\"\n :teleported=\"teleported\"\n :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n :popper-options=\"popperOptions\"\n :fallback-placements=\"fallbackPlacements\"\n :effect=\"effect\"\n pure\n trigger=\"click\"\n :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n :stop-popper-mouse-event=\"false\"\n :gpu-acceleration=\"false\"\n :persistent=\"persistent\"\n @before-show=\"handleMenuEnter\"\n @hide=\"states.isBeforeHide = false\"\n >\n <template #default>\n <div\n ref=\"wrapperRef\"\n :class=\"[\n nsSelect.e('wrapper'),\n nsSelect.is('focused', isFocused),\n nsSelect.is('hovering', states.inputHovering),\n nsSelect.is('filterable', filterable),\n nsSelect.is('disabled', selectDisabled),\n ]\"\n @click.prevent=\"toggleMenu\"\n >\n <div\n v-if=\"$slots.prefix\"\n ref=\"prefixRef\"\n :class=\"nsSelect.e('prefix')\"\n >\n <slot name=\"prefix\" />\n </div>\n <div\n ref=\"selectionRef\"\n :class=\"[\n nsSelect.e('selection'),\n nsSelect.is(\n 'near',\n multiple && !$slots.prefix && !!states.selected.length\n ),\n ]\"\n >\n <slot v-if=\"multiple\" name=\"tag\">\n <div\n v-for=\"item in showTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"tagStyle\"\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n\n <el-tooltip\n v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n :teleported=\"teleported\"\n >\n <template #default>\n <div\n ref=\"collapseItemRef\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n :closable=\"false\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n :style=\"collapseTagStyle\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n + {{ states.selected.length - maxCollapseTags }}\n </span>\n </el-tag>\n </div>\n </template>\n <template #content>\n <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n <div\n v-for=\"item in collapseTagList\"\n :key=\"getValueKey(item)\"\n :class=\"nsSelect.e('selected-item')\"\n >\n <el-tag\n class=\"in-tooltip\"\n :closable=\"!selectDisabled && !item.isDisabled\"\n :size=\"collapseTagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"deleteTag($event, item)\"\n >\n <span :class=\"nsSelect.e('tags-text')\">\n <slot\n name=\"label\"\n :label=\"item.currentLabel\"\n :value=\"item.value\"\n >\n {{ item.currentLabel }}\n </slot>\n </span>\n </el-tag>\n </div>\n </div>\n </template>\n </el-tooltip>\n </slot>\n <div\n v-if=\"!selectDisabled\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('input-wrapper'),\n nsSelect.is('hidden', !filterable),\n ]\"\n >\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"states.inputValue\"\n type=\"text\"\n :name=\"name\"\n :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n :disabled=\"selectDisabled\"\n :autocomplete=\"autocomplete\"\n :style=\"inputStyle\"\n role=\"combobox\"\n :readonly=\"!filterable\"\n spellcheck=\"false\"\n :aria-activedescendant=\"hoverOption?.id || ''\"\n :aria-controls=\"contentId\"\n :aria-expanded=\"dropdownMenuVisible\"\n :aria-label=\"ariaLabel\"\n aria-autocomplete=\"none\"\n aria-haspopup=\"listbox\"\n @keydown.down.stop.prevent=\"navigateOptions('next')\"\n @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n @keydown.esc.stop.prevent=\"handleEsc\"\n @keydown.enter.stop.prevent=\"selectOption\"\n @keydown.delete.stop=\"deletePrevTag\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"onInput\"\n @click.stop=\"toggleMenu\"\n />\n <span\n v-if=\"filterable\"\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"nsSelect.e('input-calculator')\"\n v-text=\"states.inputValue\"\n />\n </div>\n <div\n v-if=\"shouldShowPlaceholder\"\n :class=\"[\n nsSelect.e('selected-item'),\n nsSelect.e('placeholder'),\n nsSelect.is(\n 'transparent',\n !hasModelValue || (expanded && !states.inputValue)\n ),\n ]\"\n >\n <slot\n v-if=\"hasModelValue\"\n name=\"label\"\n :label=\"currentPlaceholder\"\n :value=\"modelValue\"\n >\n <span>{{ currentPlaceholder }}</span>\n </slot>\n <span v-else>{{ currentPlaceholder }}</span>\n </div>\n </div>\n <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n <el-icon\n v-if=\"iconComponent && !showClose\"\n :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n >\n <component :is=\"iconComponent\" />\n </el-icon>\n <el-icon\n v-if=\"showClose && clearIcon\"\n :class=\"[\n nsSelect.e('caret'),\n nsSelect.e('icon'),\n nsSelect.e('clear'),\n ]\"\n @click=\"handleClearClick\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon\"\n :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n </template>\n <template #content>\n <el-select-menu ref=\"menuRef\">\n <div\n v-if=\"$slots.header\"\n :class=\"nsSelect.be('dropdown', 'header')\"\n @click.stop\n >\n <slot name=\"header\" />\n </div>\n <el-scrollbar\n v-show=\"states.options.size > 0 && !loading\"\n :id=\"contentId\"\n ref=\"scrollbarRef\"\n tag=\"ul\"\n :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n :view-class=\"nsSelect.be('dropdown', 'list')\"\n :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n role=\"listbox\"\n :aria-label=\"ariaLabel\"\n aria-orientation=\"vertical\"\n >\n <el-option\n v-if=\"showNewOption\"\n :value=\"states.inputValue\"\n :created=\"true\"\n />\n <el-options>\n <slot />\n </el-options>\n </el-scrollbar>\n <div\n v-if=\"$slots.loading && loading\"\n :class=\"nsSelect.be('dropdown', 'loading')\"\n >\n <slot name=\"loading\" />\n </div>\n <div\n v-else-if=\"loading || filteredOptionsCount === 0\"\n :class=\"nsSelect.be('dropdown', 'empty')\"\n >\n <slot name=\"empty\">\n <span>{{ emptyText }}</span>\n </slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n :class=\"nsSelect.be('dropdown', 'footer')\"\n @click.stop\n >\n <slot name=\"footer\" />\n </div>\n </el-select-menu>\n </template>\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isArray } from '@element-plus/utils'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\n\nimport { SelectProps } from './select'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption,\n ElOptions,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon,\n },\n directives: { ClickOutside },\n props: SelectProps,\n emits: [\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n 'remove-tag',\n 'clear',\n 'visible-change',\n 'focus',\n 'blur',\n ],\n\n setup(props, { emit }) {\n const modelValue = computed(() => {\n const { modelValue: rawModelValue, multiple } = props\n const fallback = multiple ? [] : undefined\n // When it is array, we check if this is multi-select.\n // Based on the result we get\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback\n }\n\n return multiple ? fallback : rawModelValue\n })\n\n const _props = reactive({\n ...toRefs(props),\n modelValue,\n })\n\n const API = useSelect(_props, emit)\n\n provide(\n selectKey,\n reactive({\n props: _props,\n states: API.states,\n optionsArray: API.optionsArray,\n handleOptionSelect: API.handleOptionSelect,\n onOptionCreate: API.onOptionCreate,\n onOptionDestroy: API.onOptionDestroy,\n selectRef: API.selectRef,\n setSelected: API.setSelected,\n }) as unknown as SelectContext\n )\n\n return {\n ...API,\n modelValue,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElOption","ElOptions","ElTag","ElScrollbar","ElTooltip","ElIcon","ClickOutside","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","computed","isArray","reactive","toRefs","useSelect","provide","selectKey","_createElementBlock","_normalizeClass","_toHandlerKey","_createVNode","_withCtx","_createElementVNode","_withModifiers","_openBlock","_renderSlot","_createCommentVNode","_Fragment","_renderList","_normalizeStyle","_createBlock","_withDirectives","_withKeys","_vModelText","_toDisplayString","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuTA,MAAM,cAAiB,GAAA,UAAA,CAAA;AACvB,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,cAAA;AAAA,EACN,aAAe,EAAA,cAAA;AAAA,EACf,UAAY,EAAA;AAAA,kBACVC,yBAAA;AAAA,cACAC,iBAAA;AAAA,eACAC,kBAAA;AAAA,WACAC,WAAA;AAAA,iBACAC,mBAAA;AAAA,eACAC,iBAAA;AAAA,YACAC,cAAA;AAAA,GACF;AAAA,EACA,UAAA,EAAY,gBAAEC,kBAAa,EAAA;AAAA,EAC3B,KAAO,EAAAC,kBAAA;AAAA,EACP,KAAO,EAAA;AAAA,IACLC,wBAAA;AAAA,IACAC,kBAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,GACF;AAAA,EAEA,KAAA,CAAM,KAAO,EAAA,EAAE,IAAQ,EAAA,EAAA;AACrB,IAAM,MAAA,UAAA,GAAaC,aAAS,MAAM;AAChC,MAAM,MAAA,EAAE,UAAY,EAAA,aAAA,EAAe,QAAa,EAAA,GAAA,KAAA,CAAA;AAChD,MAAM,MAAA,QAAA,GAAW,QAAW,GAAA,EAAK,GAAA,KAAA,CAAA,CAAA;AAGjC,MAAI,IAAAC,cAAA,CAAQ,aAAa,CAAG,EAAA;AAC1B,QAAA,OAAO,WAAW,aAAgB,GAAA,QAAA,CAAA;AAAA,OACpC;AAEA,MAAA,OAAO,WAAW,QAAW,GAAA,aAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,MAAM,SAASC,YAAS,CAAA;AAAA,MACtB,GAAGC,WAAO,KAAK,CAAA;AAAA,MACf,UAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,GAAA,GAAMC,mBAAU,CAAA,MAAA,EAAQ,IAAI,CAAA,CAAA;AAElC,IAAAC,WAAA,CACEC,iBACAJ,YAAS,CAAA;AAAA,MACP,KAAO,EAAA,MAAA;AAAA,MACP,QAAQ,GAAI,CAAA,MAAA;AAAA,MACZ,cAAc,GAAI,CAAA,YAAA;AAAA,MAClB,oBAAoB,GAAI,CAAA,kBAAA;AAAA,MACxB,gBAAgB,GAAI,CAAA,cAAA;AAAA,MACpB,iBAAiB,GAAI,CAAA,eAAA;AAAA,MACrB,WAAW,GAAI,CAAA,SAAA;AAAA,MACf,aAAa,GAAI,CAAA,WAAA;AAAA,KAClB,CACH,CAAA,CAAA;AAEA,IAAO,OAAA;AAAA,MACL,GAAG,GAAA;AAAA,MACH,UAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;;;;;;;8CAtXCK,sBAiSM,CAAA,KAAA,EAAA;AAAA,IAhSJ,GAAI,EAAA,WAAA;AAAA,IAEH,OAAKC,kBAAG,CAAA,CAAA,IAAA,CAAA,QAAA,CAAS,GAAK,EAAA,IAAA,CAAA,QAAA,CAAS,EAAE,IAAU,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,IAC3C,CAAAC,gBAAA,CAAA,IAAA,CAAA,mBAAqB,CAAE,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,aAAa,GAAA,IAAA;AAAA,IAC3C,YAAA,EAAU,CAAE,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,aAAa,GAAA,KAAA;AAAA,GAAA,EAAA;IAEjCC,eAyRa,CAAA,qBAAA,EAAA;AAAA,MAxRX,GAAI,EAAA,YAAA;AAAA,MACH,OAAS,EAAA,IAAA,CAAA,mBAAA;AAAA,MACT,SAAW,EAAA,IAAA,CAAA,SAAA;AAAA,MACX,UAAY,EAAA,IAAA,CAAA,UAAA;AAAA,MACZ,cAAY,EAAA,CAAG,IAAS,CAAA,QAAA,CAAA,CAAA,CAAC,WAAY,IAAW,CAAA,WAAA,CAAA;AAAA,MAChD,gBAAgB,EAAA,IAAA,CAAA,aAAA;AAAA,MAChB,qBAAqB,EAAA,IAAA,CAAA,kBAAA;AAAA,MACrB,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,MACT,IAAA,EAAA,EAAA;AAAA,MACA,OAAQ,EAAA,OAAA;AAAA,MACP,UAAA,EAAU,CAAK,EAAA,IAAA,CAAA,QAAA,CAAS,SAAU,CAAA,KAAA,CAAA,YAAA,CAAA;AAAA,MAClC,yBAAyB,EAAA,KAAA;AAAA,MACzB,kBAAkB,EAAA,KAAA;AAAA,MAClB,UAAY,EAAA,IAAA,CAAA,UAAA;AAAA,MACZ,YAAa,EAAA,IAAA,CAAA,eAAA;AAAA,MACb,MAAA,EAAI,CAAE,MAAA,KAAA,IAAA,CAAA,MAAA,CAAO,YAAY,GAAA,KAAA;AAAA,KAAA,EAAA;AAEf,MAAA,OAAA,EAAOC,YAChB,MA+MM;AAAA,QA/MN,IA+MM,EAAA,CAAA;AAAA,QAAA,OA9MA;AAAA,UACHC,sBAAK,CAAA,KAAA,EAAA;AAAA,YAAgB,iBAAU;AAAA,YAAyB,KAAA,EAAAJ,kBAAW,CAAA;AAAqB,cAAwB,IAAA,CAAA,QAAA,CAAA,CAAE,CAAa,SAAA,CAAA;AAAoB,cAAe,IAAA,CAAA,QAAW,CAAA,EAAA,CAAA,SAAA,EAAA,IAAyB,CAAA,SAAA,CAAA;AAAA,cAAe,IAAA,CAAA,QAAW,CAAA,EAAA,CAAA,UAAa,EAAc,IAAA,CAAA,MAAA,CAAA,aAAA,CAAA;AAAA,cAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,YAAA,EAAA,IAAA,CAAA,UAAA,CAAA;AAO3P,cAAA,IAAA,CAAK,sBAAoB,EAAA,IAAA,CAAA,cAAA,CAAA;AAAA,aAAA,CAAA;AAGlB,YAAA,OAAA,EAAAK,iCAKF,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,WAAA,EAAA;YAJJ,IAAI,CAAA,MAAA,CAAA,MAAA,IAAAC,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAAA,cACH,GAAA,EAAK,CAAE;AAAU,cAAA,GAAA,EAAA,WAAA;cAEI,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA;AAAA,aAAA,EAAA;cAqKlBO,cAAA,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,aAlKA,EAAA,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,YACHJ,sBAAK,CAAA,KAAA,EAAA;AAAA,cAAkB,mBAAU;AAAA,cAA6B,KAAA,EAAAJ;;;eAQ/D,CAAA;AAqFO,aAAA,EAAA;4CA5DC,CAAA,IAAA,CAAA,MAAA,EAAA,KAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA,MAAA;AAAA,iBAtBHM,2CAAqB,CAAAG,YAAA,EAAA,IAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,WAAA,EAAA,CAAA,IAAA,KAAA;AAAA,kBACrB,OAAKJ,aAAE,EAAA,EAAAP,sBAAU,CAAA,KAAA,EAAA;AAAA,oBAAA,GAAA,EAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA;oBAoBT,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,mBAAA,EAjBE;AAA2B,oBACnCE,eAAM,CAAA,iBAAA,EAAA;AAAA,sBACA,QAAA,EAAA,CAAA,IAAA,CAAA,cAAA,IAAA,CAAA,IAAA,CAAA,UAAA;AAAA,sBACE,IAAA,EAAA,IAAA,CAAA,eAAA;AAAA,sBACT,IAAA,EAAA,IAAA,CAAA,OAAA;AAAA,sBACC,sBAAe;AAAA,sBACV,qBAAY,EAAA,EAAA;AAAY,sBAAA,KAAA,EAAAS,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA;sCAE9B,KAQO,IAAA,CAAA,SAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,qBAAA,EAAA;AAAA,sBARA,OAAA,EAAKR,WAAE,CAAA,MAAA;AAAU,wBAAAC,sBAAA,CAAA,MAAA,EAAA;0BAOf,KAAA,EAAAJ,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,yBAAA;AAJQ,0BACZO,cAAY,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,4BAGR,KAAA,EAAA,IAAA,CAAA,YAAA;AAAA,4BAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AADe,2BAAA,EAAA,MAAA;;;;;;;AAOpB,mBAAA,EAAA,CAAA,CAAA,CAAA;AAwDK,iBAAA,CAAA,EAAA,GAAA,CAAA;gBAvDX,IAAI,CAAA,YAAA,IAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,GAAA,IAAA,CAAA,eAAA,IAAAD,aAAA,EAAA,EAAAM,eAAA,CAAA,qBAAA,EAAA;AAAA,kBACH,GAAA,EAAA,CAAA;AAAkC,kBACb,GAAA,EAAA,eAAA;AAAA,kBACb,QAAA,EAAA,IAAA,CAAA,mBAAA,IAAA,CAAA,IAAA,CAAA,mBAAA;AAAA,kBACC,qBAAA,EAAA,CAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAAA,kBACG,MAAA,EAAA,IAAA,CAAA,MAAA;AAAA,kBAAA,SAAA,EAAA,QAAA;AAEF,kBAAA,gBACT,CAgBM,UAAA;AAAA,iBAAA,EAAA;AAAA,kBAAA,OAfA,EAAAT,WAAA,CAAA,MAAA;AAAA,oBACHC,sBAAO,CAAA,KAAA,EAAA;AAAU,sBAAA,GAAA,EAAA,iBAAA;sBAaT,KAAA,EAAAJ,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,qBAAA,EAVI;AAAA,sBACVE,eAAM,CAAA,iBAAA,EAAA;AAAA,wBACA,QAAA,EAAA,KAAA;AAAA,wBACE,IAAA,EAAA,IAAA,CAAA,eAAA;AAAA,wBACT,IAAA,EAAA,IAAA,CAAA,OAAA;AAAA,wBACC,sBAAuB;AAAA,wBAAA,qBAAA,EAAA,EAAA;iDAIjB,CAAA,IAAA,CAAA,gBAAA,CAAA;AAAA,uBAAA,EAAA;AAAA,wBAFA,OAAA,EAAKC,WAAE,CAAA,MAAA;AAAU,0BAAAC,sBACpB,CAAA,MAAG,EAAO;AAAiC,4BAAA,KAAA,EAAAJ,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;;;;;AAK1C,qBAAA,EAAA,CAAA,CAAO;AA2BV,mBAAA,CAAA;AAAA,kBAAA,OA1BG,EAAAG,WAAA,CAAA,MAAA;AAAA,oBAAcC,sBAAO,CAAA,KAAA,EAAA;AAAU,sBAAA,GAAA,EAAA,YAAA;+CAyBhC,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;;AAAA,uBAtBHE,2CAAqB,CAAAG,YAAA,EAAA,IAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,eAAA,EAAA,CAAA,IAAA,KAAA;AAAA,wBACrB,OAAKJ,aAAE,EAAA,EAAAP,sBAAU,CAAA,KAAA,EAAA;AAAA,0BAAA,GAAA,EAAA,IAAA,CAAA,WAAA,CAAA,IAAA,CAAA;0BAoBT,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA,CAAA;AAAA,yBAAA,EAjBD;AAAA,0BACLE,eAAyB,CAAA,iBAAA,EAAA;AAAU,4BAC7B,KAAA,EAAA,YAAA;AAAA,4BACA,QAAA,EAAA,CAAA,IAAA,CAAA,cAAA,IAAA,CAAA,IAAA,CAAA,UAAA;AAAA,4BACE,IAAA,EAAA,IAAA,CAAA,eAAA;AAAA,4BACT,IAAA,EAAA,IAAA,CAAA,OAAA;AAAA,4BACM,MAAA,EAAA,IAAA,CAAA,SAAY;AAAY,4BAAA,qBAAA,EAAA,EAAA;4CAE9B,KAQO,IAAA,CAAA,SAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,2BAAA,EAAA;AAAA,4BARA,OAAA,EAAKC,WAAE,CAAA,MAAA;AAAU,8BAAAC,sBAAA,CAAA,MAAA,EAAA;gCAOf,KAAA,EAAAJ,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,+BAAA;AAJQ,gCACZO,cAAY,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,kCAGR,KAAA,EAAA,IAAA,CAAA,YAAA;AAAA,kCAAA,KAAA,EAAA,IAAA,CAAA,KAAA;AADe,iCAAA,EAAA,MAAA;;;;;;;;;;;;AAU3B,iBAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,YA4CH,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,eAAA,CAAA,GAAAA,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;cA3CH,CAAK,IAAA,CAAA,cAAA,IAAAF,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAAA,gBAAoB;AAAU,gBAAmC,yBAAU,CAAA;AAAA,kBAAmC,IAAA,CAAA,QAAW,CAAA,CAAA,CAAA,eAAsB,CAAA;AAAA,kBAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAA,CAAA;;;AAmCnJ,eAAA,EA5BK;AAAA,gBACLc,kBAAI,CAAAT,sBAAA,CAAA,OAAA,EAAA;AAAA,kBAAA,EAAA,EAAA,IAAA,CAAA,OAAA;AACsB,kBACrB,GAAA,EAAA,UAAA;AAAA,kBACE,qBAAA,EAAA,CAAA,MAAA,KAAA,IAAA,CAAA,MAAA,CAAA,UAAA,GAAA,MAAA;AAAA,wBACE,MAAA;AAA2C,kBACzC,IAAA,EAAA,IAAA,CAAA,IAAA;AAAA,kBACI,KAAA,EAAAJ,kBAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,OAAA,CAAA,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,kBACd,6BAAiB;AAAA,kBACb,YAAA,EAAA,IAAA,CAAA,YAAA;AAAA,2CACO,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,kBACD,IAAA,EAAA,UAAA;AAAA,kBACV,QAAA,EAAA,CAAA,IAAA,CAAA;AAAsC,kBACvB,UAAA,EAAA,OAAA;AAAA,kBACA,uBAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA,WAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,KAAA,EAAA;AAAA,kBACH,eAAA,EAAA,IAAA,CAAA,SAAA;AAAA,kBACK,eAAA,EAAA,IAAA,CAAA,mBAAA;AAAA,kBACJ,YAAA,EAAA,IAAA,CAAA,SAAA;AAAA,kBACN,mBAAA,EAAA,MAAA;AAAA,kBAAA,eAAA,EAAA,SAAA;AAAmC,kBAAA,SAAA,EAAA;AACF,oBAAAc,YAAA,CAAAT,iBACL,CAAA,CAAA,MAAA,KAAA,IAAA,CAAA,eAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,oBAAAS,YAAA,CAAAT,iBACK,CAAA,CAAA,MAAA,KAAA,IAAA,CAAA,eAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA;AAAA,oBAAAS,YAAA,CAAAT,iBACN,CAAA,IAAA,CAAA,SAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAA,oBAAAS,YAAA,CAAAT,iBAAA,CAAA,IAAA,CAAA,YAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;oBAChBS,YAAA,CAAAT,iBAAA,CAAA,IAAA,CAAA,aAAA,EAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAAA,mBACC;AAAA,kBACH,kBAAA,EAAA,IAAA,CAAA,sBAAA;AAAA,kBACT,mBAAA,EAAA,IAAA,CAAA,uBAAA;AAAA,kBACP,sBAAY,CAAU,oBAAA;AAAA,kBAAA,OAAA,EAAA,IAAA,CAAA,OAAA;AAzBd,kBAAA,OAAA,EAAAA,iBAAA,CAAO,IAAU,CAAA,UAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,IAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,SAAA,CAAA,CAAA,EAAA;AA4BpB,kBAAA,CAAAU,cAAA,EAAA,IAAA,CAAA,MAAA,CAAA,UAKN,CAAA;AAAA,iBAAA,CAAA;gBAJA,IAAI,CAAA,UAAA,IAAAT,aAAA,EAAA,EAAAP,sBAAA,CAAA,MAAA,EAAA;AAAA,kBACQ,GAAA,EAAA,CAAA;AAAA,kBACX,GAAA,EAAK,eAAE;AAAU,kBAClB,aAAA,EAAA,MAAA;AAAyB,kBAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,CAAA;;AAIrB,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,IAAAQ,sBAmBF,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,eAAA,EAAA,CAAA,CAAA,IAAAA,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;cAlBH,IAAK,CAAA,qBAAA,IAAAF,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAAA,gBAAoB;AAAU,gBAAmC,yBAAU,CAAA;AAAA,kBAA0C,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,eAAwD,CAAkB;;;AAU7L,iBAAA,CAAA;AAMD,eAAA,EAAA;gBAJJ,IAAO,CAAA,aAAA,GAAAQ,cAAA,CAAA,IAAA,CAAA,MAAA,EAAA,OAAA,EAAA;AAAA,kBACA,GAAA,EAAA,CAAA;AAAA,kBAGH,KAAA,EAAA,IAAA,CAAA,kBAAA;AAAA,kBADL,KAAA,EAAA,IAAA,CAAA;AAA2B,iBAE7B,EAAA,MAAA;AAAkC,kBAAAH,sBAAA,CAAA,MAAA,EAAA,IAAA,EAAAY,mBAAA,CAAA,IAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,CAAA;;eA2BhC,EAAA,CAAA,CAAA,IAAAR,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,aAxBG,EAAA,CAAA,CAAA;AAAA,YAAaJ,sBAAO,CAAA,KAAA,EAAA;AAAU,cAAA,GAAA,EAAA,WAAA;cAEhB,KAAA,EAAAJ;AAIX,aAAA,EAAA;AAHP,cAAA,IAAA,CAAA,sBAAiB,CAAA,SAAA,iBAAqB,EAAA,EAAAY,kCAAsB,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;yCAE5B,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,OAAA,CAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA,CAAA;AAAA,eAAjC,EAAA;AAA6B,gBAAA,OAAA,EAAAT,WAAA,CAAA,MAAA;;;AAGvB,gBAAA,CAAA,EAAA,CAAA;AASE,eAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,IAAAK,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;cARP,IAAK,CAAA,SAAA,IAAA,IAAA,CAAA,SAAA,IAAAF,aAAA,EAAA,EAAAM,eAAA,CAAA,kBAAA,EAAA;AAAA,gBAAoB;AAAU,gBAA2B,yBAAU,CAAA;AAAA,+BAAoC,CAAA,CAAA,CAAA,OAAA,CAAA;AAAA,kBAAA,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,MAAA,CAAA;kBAKrG,IAAA,CAAA,QAAA,CAAA,CAAA,CAAA,OAAA,CAAA;AAAA,iBAAA,CAAA;8CAEqB;AAAA,eAA7B,EAAA;AAAyB,gBAAA,OAAA,EAAAT,WAAA,CAAA,MAAA;;;AAGnB,gBAAA,CAAA,EAAA,CAAA;AAIE,eAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,CAAA,IAAAK,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAHP,cAAA,IAAA,CAAA,aAAQ,IAAA,IAAA,CAAA,YAAS,IAAAF,gCAAmB,CAAA,kBAAA,EAAA;AAAA,gBAAA,GAAA,EAAA,CAAA;yCAEL,CAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAAA,eAAhC,EAAA;AAA4B,gBAAA,OAAA,EAAAH,WAAA,CAAA,MAAA;;;;;;AAKzB,WAAA,EAAA,EAAO,YAmDC,CAAA,CAAA;AAAA,SAlDjB,CAAA;AAA6B,OAAA,CAAA;AAOrB,MALE,OAAA,EAAAA,WAAA,CAAO;AAKT,QAAAD,eAAA,CAAA,yBAAA,EAAA,EAAA,GAAA,EAAA,SAAA,EAAA,EAAA;iBAJE,EAAAC,WAAA,CAAA,MAAA;AAAa,YAAA,WACb,CAAN,MAAA,IAAAG,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAAA,cAAW,GAAA,EAAA,CAAA;AAAA,cAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;cAEX,OAAsB,EAAAK,iBAAA,CAAA,MAAA;AAAA,eAAA,EAAA,CAAA,MAAA,CAAA,CAAA;;AAsBT,cAlBZE,cAAI,CAAA,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,aAAA,EACD,EAAA,EAAA,CAAA,SAAA,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,YAAAK,kBACA,CAAAX,eAAA,CAAA,uBAAA,EAAA;AAAA,cACH,EAAA,EAAA,IAAA,CAAA;AAAuB,cACvB,GAAA,EAAA;AAAuB,cACvB,GAAK,EAAA,IAAA;AAA4C,cAClD,YAAK,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA;AAAA,cACJ,YAAY,EAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA;AAAA,cACb,KAAiB,EAAAF,kBAAA,CAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,cAAA,IAAA,EAAA,SAAA;gCAEjB,CAIE,SAAA;AAAA,cAAA;AAAA,aAAA,EAAA;AAFC,cAAA,OAAA,EAAAG,WAAc,CAAA,MAAA;AAAA,gBAAA,IACL,CAAA,aAAA,IAAAG,aAAA,EAAA,EAAAM,eAAA,CAAA,oBAAA,EAAA;AAAA,kBAAA,GAAA,EAAA,CAAA;kBAIC,KAAA,EAAA,IAAA,CAAA,MAAA,CAAA,UAAA;AAAA,kBAAA,OAAA,EAAA,IAAA;AADH,iBAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,IAAAJ,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,gBAAAN,eAAA,CAAA,qBAAA,EAAA,IAAA,EAAA;;;;;;;AAjBiC,cAAA,CAAA,EAAA,CAAA;aAqB9B,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,iDAIT,CAAA,CAAA,EAAA;AAAA,cAAA,CAAAe,SAAA,EAAA,IAAA,CAAA,MAAA,CAAA,OAAA,CAAA,IAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA;cAHH;AAAkB,YAAA,IAAA,CAAA,MAAA,CAAA,OAAA,IAAA,IAAA,CAAA,OAAA,IAAAX,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;cAEnB,GAAuB,EAAA,CAAA;AAAA,cAGZ,KAAA,EAAAC,kBAAA,CAAW,IAAoB,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,SAAA,CAAA,CAAA;AAMtC,aAAA,EAAA;cALHO,cAAK,CAAA,IAAA,CAAA,MAAE;AAAW,aAAA,EAAA,CAAA,CAAA,IAAA,IAAA,CAAA,OAAA,IAAA,IAAA,CAAA,oBAAA,KAAA,CAAA,IAAAD,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAEnB,cAAA,GAAA,EAAA,CAAA;AAEO,cADL,KAAA,EAAAC,kBAA4B,qCAAV,CAAA,CAAA;AAAA,aAAA,EAAA;;AAId,gBAAAI,mCADR,EAMMY,mBAAA,CAAA,IAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAA,eAAA,CAAA;eAJE,CAAA,CAAA,IAAAR,mCAAa,CAAA;AAAA,YAAA,WACb,CAAN,MAAA,IAAAF,aAAA,EAAA,EAAAP,sBAAA,CAAA,KAAA,EAAA;AAAA,cAAW,GAAA,EAAA,CAAA;AAAA,cAAA,KAAA,EAAAC,kBAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,CAAA;cAEX,OAAsB,EAAAK,iBAAA,CAAA,MAAA;AAAA,eAAA,EAAA,CAAA,MAAA,CAAA,CAAA;;;;;;;;AA1RD,MAAA,CAAA,EAAA,CAAA;AAAF,KAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,CAAA,CAAA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"header-row.js","sources":["../../../../../../../packages/components/table-v2/src/components/header-row.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { tableV2HeaderRowProps } from '../header-row'\n\nimport type { CSSProperties } from 'vue'\nimport type { ColumnCellsType } from '../types'\nimport type { TableV2HeaderRowProps } from '../header-row'\n\nconst TableV2HeaderRow = defineComponent({\n name: 'ElTableV2HeaderRow',\n props: tableV2HeaderRowProps,\n setup(props, { slots }) {\n return () => {\n const { columns, columnsStyles, headerIndex, style } = props\n let Cells: ColumnCellsType = columns.map((column, columnIndex) => {\n return slots.cell!({\n columns,\n column,\n columnIndex,\n headerIndex,\n style: columnsStyles[column.key],\n })\n })\n\n if (slots.header) {\n Cells = slots.header({\n cells: Cells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n columns,\n headerIndex,\n })\n }\n\n return (\n <div class={props.class} style={style} role=\"row\">\n {Cells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2HeaderRow\n\nexport type TableV2HeaderRowCellRendererParams = {\n columns: TableV2HeaderRowProps['columns']\n column: TableV2HeaderRowProps['columns'][number]\n columnIndex: number\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n cells: ColumnCellsType\n columns: TableV2HeaderRowProps['columns']\n headerIndex: number\n}\n"],"names":["TableV2HeaderRow","defineComponent","name","props","tableV2HeaderRowProps","slots","columns","columnsStyles","headerIndex","style","Cells","map","column","columnIndex","header","cells","node","isArray"],"mappings":";;;;;;;;;AAQMA,MAAAA,gBAAgB,GAAGC,mBAAe,CAAC;AACvCC,EAAAA,IAAI,EAAE,oBADiC;AAEvCC,EAAAA,KAAK,EAAEC,+BAFgC;;IAGlC;AAAUC,GAAAA,EAAAA;AAAF,IAAW,OAAA,MAAA;AACtB,MAAA,MAAa;QACL,OAAA;QAAEC,aAAF;QAAWC,WAAX;QAA0BC,KAA1B;AAAuCC,OAAAA,GAAAA,KAAAA,CAAAA;AAAvC,MAAA,IAAiDN,KAAvD,GAAA,OAAA,CAAA,GAAA,CAAA,CAAA,MAAA,EAAA,WAAA,KAAA;QACIO,OAAsB,KAAGJ,CAAAA,IAAO,CAACK;UAC5BN,OAAAA;UACLC,MADiB;UAEjBM,WAFiB;UAGjBC,WAHiB;UAIjBL,KAJiB,EAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA;AAKjBC,SAAAA,CAAAA,CAAAA;AALiB,OAAA,CAAA,CAAZ;AAOR,MAAA,IARD,KAAA,CAAA,MAAA,EAAA;;UAUIJ,KAAK,EAACS,KAAV,CAAkB,GAAA,CAAA,CAAA,IAAA,KAAA;AAChBJ,YAAAA,IAAQL,cAAMS,CAAAA,IAAN,CAAa,IAAA,IAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACnBC,cAAAA,OAAY,IAAL,CAAA,CAAWC;aACZC;mBACKD,IAAAA,CAAAA;AACR,WAAA,CAAA;;AACD,UAAA,WAAA;AACD,SAAA,CAAA,CALM;;AAOPR,MAAAA,OAAAA,eAAAA,CAAAA,KAAAA,EAAAA;AARmB,QAAA,OAArB,EAAA,KAAA,CAAA,KAAA;AAUD,QAAA,OAAA,EAAA,KAAA;;AAED,OAAA,EAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;AAAA,GAAA;;;;;"}
1
+ {"version":3,"file":"header-row.js","sources":["../../../../../../../packages/components/table-v2/src/components/header-row.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { tableV2HeaderRowProps } from '../header-row'\n\nimport type { CSSProperties } from 'vue'\nimport type { ColumnCellsType } from '../types'\nimport type { TableV2HeaderRowProps } from '../header-row'\n\nconst TableV2HeaderRow = defineComponent({\n name: 'ElTableV2HeaderRow',\n props: tableV2HeaderRowProps,\n setup(props, { slots }) {\n return () => {\n const { columns, columnsStyles, headerIndex, style } = props\n let Cells: ColumnCellsType = columns.map((column, columnIndex) => {\n return slots.cell!({\n columns,\n column,\n columnIndex,\n headerIndex,\n style: columnsStyles[column.key!],\n })\n })\n\n if (slots.header) {\n Cells = slots.header({\n cells: Cells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n columns,\n headerIndex,\n })\n }\n\n return (\n <div class={props.class} style={style} role=\"row\">\n {Cells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2HeaderRow\n\nexport type TableV2HeaderRowCellRendererParams = {\n columns: TableV2HeaderRowProps['columns']\n column: TableV2HeaderRowProps['columns'][number]\n columnIndex: number\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n cells: ColumnCellsType\n columns: TableV2HeaderRowProps['columns']\n headerIndex: number\n}\n"],"names":["TableV2HeaderRow","defineComponent","name","props","tableV2HeaderRowProps","slots","columns","columnsStyles","headerIndex","style","Cells","map","column","columnIndex","header","cells","node","isArray"],"mappings":";;;;;;;;;AAQMA,MAAAA,gBAAgB,GAAGC,mBAAe,CAAC;AACvCC,EAAAA,IAAI,EAAE,oBADiC;AAEvCC,EAAAA,KAAK,EAAEC,+BAFgC;;IAGlC;AAAUC,GAAAA,EAAAA;AAAF,IAAW,OAAA,MAAA;AACtB,MAAA,MAAa;QACL,OAAA;QAAEC,aAAF;QAAWC,WAAX;QAA0BC,KAA1B;AAAuCC,OAAAA,GAAAA,KAAAA,CAAAA;AAAvC,MAAA,IAAiDN,KAAvD,GAAA,OAAA,CAAA,GAAA,CAAA,CAAA,MAAA,EAAA,WAAA,KAAA;QACIO,OAAsB,KAAGJ,CAAAA,IAAO,CAACK;UAC5BN,OAAAA;UACLC,MADiB;UAEjBM,WAFiB;UAGjBC,WAHiB;UAIjBL,KAJiB,EAAA,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA;AAKjBC,SAAAA,CAAAA,CAAAA;AALiB,OAAA,CAAA,CAAZ;AAOR,MAAA,IARD,KAAA,CAAA,MAAA,EAAA;;UAUIJ,KAAK,EAACS,KAAV,CAAkB,GAAA,CAAA,CAAA,IAAA,KAAA;AAChBJ,YAAAA,IAAQL,cAAMS,CAAAA,IAAN,CAAa,IAAA,IAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACnBC,cAAAA,OAAY,IAAL,CAAA,CAAWC;aACZC;mBACKD,IAAAA,CAAAA;AACR,WAAA,CAAA;;AACD,UAAA,WAAA;AACD,SAAA,CAAA,CALM;;AAOPR,MAAAA,OAAAA,eAAAA,CAAAA,KAAAA,EAAAA;AARmB,QAAA,OAArB,EAAA,KAAA,CAAA,KAAA;AAUD,QAAA,OAAA,EAAA,KAAA;;AAED,OAAA,EAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;AAAA,GAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"row.js","sources":["../../../../../../../packages/components/table-v2/src/components/row.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { isArray, isFunction, isNumber } from '@element-plus/utils'\nimport { tableV2RowProps } from '../row'\nimport { TableV2InjectionKey } from '../tokens'\nimport { placeholderSign } from '../private'\n\nimport type { CSSProperties, RendererElement, RendererNode, VNode } from 'vue'\nimport type { RowEventHandlers, TableV2RowProps } from '../row'\n\ntype CustomizedCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[]\n\ntype DefaultCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[][]\n\ntype ColumnCellsType = DefaultCellsType | CustomizedCellsType\n\nconst useTableRow = (props: TableV2RowProps) => {\n const { isScrolling } = inject(TableV2InjectionKey)!\n\n const measured = ref(false)\n const rowRef = ref<HTMLElement>()\n const measurable = computed(() => {\n return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0\n })\n\n const doMeasure = (isInit = false) => {\n const $rowRef = unref(rowRef)\n if (!$rowRef) return\n const { columns, onRowHeightChange, rowKey, rowIndex, style } = props\n const { height } = $rowRef.getBoundingClientRect()\n measured.value = true\n\n nextTick(() => {\n if (isInit || height !== Number.parseInt(style!.height as string)) {\n const firstColumn = columns[0]\n const isPlaceholder = firstColumn?.placeholderSign === placeholderSign\n onRowHeightChange?.(\n { rowKey, height, rowIndex },\n firstColumn && !isPlaceholder && firstColumn.fixed\n )\n }\n })\n }\n\n const eventHandlers = computed(() => {\n const { rowData, rowIndex, rowKey, onRowHover } = props\n const handlers = props.rowEventHandlers || ({} as RowEventHandlers)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers] = (event: Event) => {\n handler({\n event,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n }\n })\n\n if (onRowHover) {\n ;(\n [\n { name: 'onMouseleave', hovered: false },\n { name: 'onMouseenter', hovered: true },\n ] as const\n ).forEach(({ name, hovered }) => {\n const existedHandler = eventHandlers[name]\n eventHandlers[name] = ((event: MouseEvent) => {\n onRowHover({\n event,\n hovered,\n rowData,\n rowIndex,\n rowKey,\n })\n\n existedHandler?.(event)\n }) as any\n })\n }\n return eventHandlers\n })\n\n const onExpand = (expanded: boolean) => {\n const { onRowExpand, rowData, rowIndex, rowKey } = props\n\n onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n\n onMounted(() => {\n if (unref(measurable)) {\n doMeasure(true)\n }\n })\n\n return { isScrolling, measurable, measured, rowRef, eventHandlers, onExpand }\n}\n\nconst COMPONENT_NAME = 'ElTableV2TableRow'\n\nconst TableV2Row = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2RowProps,\n setup(props, { expose, slots, attrs }) {\n const {\n eventHandlers,\n isScrolling,\n measurable,\n measured,\n rowRef,\n\n onExpand,\n } = useTableRow(props)\n\n expose({\n /**\n * @description manually dispatching expand action on row.\n */\n onExpand,\n })\n\n return () => {\n const {\n columns,\n columnsStyles,\n expandColumnKey,\n depth,\n rowData,\n rowIndex,\n style,\n } = props\n\n let ColumnCells: ColumnCellsType = columns.map((column, columnIndex) => {\n const expandable =\n isArray(rowData.children) &&\n rowData.children.length > 0 &&\n column.key === expandColumnKey\n\n return slots.cell!({\n column,\n columns,\n columnIndex,\n depth,\n style: columnsStyles[column.key],\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n expandIconProps: expandable\n ? {\n rowData,\n rowIndex,\n onExpand,\n }\n : undefined,\n })\n })\n\n if (slots.row) {\n ColumnCells = slots.row({\n cells: ColumnCells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n style,\n columns,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n })\n }\n\n if (unref(measurable)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { height, ...exceptHeightStyle } = style || {}\n const _measured = unref(measured)\n return (\n <div\n ref={rowRef}\n class={props.class}\n style={_measured ? style : exceptHeightStyle}\n role=\"row\"\n {...attrs}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n\n return (\n <div\n {...attrs}\n ref={rowRef}\n class={props.class}\n style={style}\n role=\"row\"\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2Row\n\nexport type TableV2RowCellRenderParam = {\n column: TableV2RowProps['columns'][number]\n columns: TableV2RowProps['columns']\n columnIndex: number\n depth: number\n style: CSSProperties\n rowData: any\n rowIndex: number\n isScrolling: boolean\n expandIconProps?: {\n rowData: any\n rowIndex: number\n onExpand: (expand: boolean) => void\n }\n}\n"],"names":["useTableRow","isScrolling","inject","TableV2InjectionKey","measured","ref","rowRef","computed","isNumber","doMeasure","columns","onRowHeightChange","rowKey","rowIndex","style","height","$rowRef","getBoundingClientRect","value","nextTick","parseInt","firstColumn","placeholderSign","rowData","onRowHover","handlers","props","rowEventHandlers","eventHandlers","Object","forEach","eventName","isFunction","handler","event","name","hovered","onExpand","onRowExpand","unref","onMounted","defineComponent","tableV2RowProps","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","isArray","ColumnCells","expandable","slots","depth","column","undefined","cells","node","_createVNode","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"row.js","sources":["../../../../../../../packages/components/table-v2/src/components/row.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { isArray, isFunction, isNumber } from '@element-plus/utils'\nimport { tableV2RowProps } from '../row'\nimport { TableV2InjectionKey } from '../tokens'\nimport { placeholderSign } from '../private'\n\nimport type { CSSProperties, RendererElement, RendererNode, VNode } from 'vue'\nimport type { RowEventHandlers, TableV2RowProps } from '../row'\n\ntype CustomizedCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[]\n\ntype DefaultCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[][]\n\ntype ColumnCellsType = DefaultCellsType | CustomizedCellsType\n\nconst useTableRow = (props: TableV2RowProps) => {\n const { isScrolling } = inject(TableV2InjectionKey)!\n\n const measured = ref(false)\n const rowRef = ref<HTMLElement>()\n const measurable = computed(() => {\n return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0\n })\n\n const doMeasure = (isInit = false) => {\n const $rowRef = unref(rowRef)\n if (!$rowRef) return\n const { columns, onRowHeightChange, rowKey, rowIndex, style } = props\n const { height } = $rowRef.getBoundingClientRect()\n measured.value = true\n\n nextTick(() => {\n if (isInit || height !== Number.parseInt(style!.height as string)) {\n const firstColumn = columns[0]\n const isPlaceholder = firstColumn?.placeholderSign === placeholderSign\n onRowHeightChange?.(\n { rowKey, height, rowIndex },\n firstColumn && !isPlaceholder && firstColumn.fixed\n )\n }\n })\n }\n\n const eventHandlers = computed(() => {\n const { rowData, rowIndex, rowKey, onRowHover } = props\n const handlers = props.rowEventHandlers || ({} as RowEventHandlers)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers] = (event: Event) => {\n handler({\n event,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n }\n })\n\n if (onRowHover) {\n ;(\n [\n { name: 'onMouseleave', hovered: false },\n { name: 'onMouseenter', hovered: true },\n ] as const\n ).forEach(({ name, hovered }) => {\n const existedHandler = eventHandlers[name]\n eventHandlers[name] = ((event: MouseEvent) => {\n onRowHover({\n event,\n hovered,\n rowData,\n rowIndex,\n rowKey,\n })\n\n existedHandler?.(event)\n }) as any\n })\n }\n return eventHandlers\n })\n\n const onExpand = (expanded: boolean) => {\n const { onRowExpand, rowData, rowIndex, rowKey } = props\n\n onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n\n onMounted(() => {\n if (unref(measurable)) {\n doMeasure(true)\n }\n })\n\n return { isScrolling, measurable, measured, rowRef, eventHandlers, onExpand }\n}\n\nconst COMPONENT_NAME = 'ElTableV2TableRow'\n\nconst TableV2Row = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2RowProps,\n setup(props, { expose, slots, attrs }) {\n const {\n eventHandlers,\n isScrolling,\n measurable,\n measured,\n rowRef,\n\n onExpand,\n } = useTableRow(props)\n\n expose({\n /**\n * @description manually dispatching expand action on row.\n */\n onExpand,\n })\n\n return () => {\n const {\n columns,\n columnsStyles,\n expandColumnKey,\n depth,\n rowData,\n rowIndex,\n style,\n } = props\n\n let ColumnCells: ColumnCellsType = columns.map((column, columnIndex) => {\n const expandable =\n isArray(rowData.children) &&\n rowData.children.length > 0 &&\n column.key === expandColumnKey\n\n return slots.cell!({\n column,\n columns,\n columnIndex,\n depth,\n style: columnsStyles[column.key!],\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n expandIconProps: expandable\n ? {\n rowData,\n rowIndex,\n onExpand,\n }\n : undefined,\n })\n })\n\n if (slots.row) {\n ColumnCells = slots.row({\n cells: ColumnCells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n style,\n columns,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n })\n }\n\n if (unref(measurable)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { height, ...exceptHeightStyle } = style || {}\n const _measured = unref(measured)\n return (\n <div\n ref={rowRef}\n class={props.class}\n style={_measured ? style : exceptHeightStyle}\n role=\"row\"\n {...attrs}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n\n return (\n <div\n {...attrs}\n ref={rowRef}\n class={props.class}\n style={style}\n role=\"row\"\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2Row\n\nexport type TableV2RowCellRenderParam = {\n column: TableV2RowProps['columns'][number]\n columns: TableV2RowProps['columns']\n columnIndex: number\n depth: number\n style: CSSProperties\n rowData: any\n rowIndex: number\n isScrolling: boolean\n expandIconProps?: {\n rowData: any\n rowIndex: number\n onExpand: (expand: boolean) => void\n }\n}\n"],"names":["useTableRow","isScrolling","inject","TableV2InjectionKey","measured","ref","rowRef","computed","isNumber","doMeasure","columns","onRowHeightChange","rowKey","rowIndex","style","height","$rowRef","getBoundingClientRect","value","nextTick","parseInt","firstColumn","placeholderSign","rowData","onRowHover","handlers","props","rowEventHandlers","eventHandlers","Object","forEach","eventName","isFunction","handler","event","name","hovered","onExpand","onRowExpand","unref","onMounted","defineComponent","tableV2RowProps","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","isArray","ColumnCells","expandable","slots","depth","column","undefined","cells","node","_createVNode","_mergeProps"],"mappings":"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"}
@@ -2,16 +2,124 @@ import type { CSSProperties, Ref } from 'vue';
2
2
  import type { TableV2Props } from '../table';
3
3
  import type { AnyColumns, Column, KeyType } from '../types';
4
4
  declare function useColumns(props: TableV2Props, columns: Ref<AnyColumns>, fixed: Ref<boolean>): {
5
- columns: Ref<AnyColumns>;
6
- columnsStyles: import("vue").ComputedRef<Record<any, CSSProperties>>;
5
+ columns: import("vue").ComputedRef<{
6
+ key: KeyType;
7
+ align?: import("../types").Alignment | undefined;
8
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
9
+ dataKey?: KeyType | undefined;
10
+ fixed?: true | import("../constants").FixedDir | undefined;
11
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
12
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
13
+ title?: string | undefined;
14
+ hidden?: boolean | undefined;
15
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
16
+ maxWidth?: number | undefined;
17
+ minWidth?: number | undefined;
18
+ style?: CSSProperties | undefined;
19
+ sortable?: boolean | undefined;
20
+ width: number;
21
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
22
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
23
+ }[]>;
24
+ columnsStyles: import("vue").ComputedRef<Record<KeyType | undefined, CSSProperties>>;
7
25
  columnsTotalWidth: import("vue").ComputedRef<number>;
8
- fixedColumnsOnLeft: import("vue").ComputedRef<Column<any>[]>;
9
- fixedColumnsOnRight: import("vue").ComputedRef<Column<any>[]>;
26
+ fixedColumnsOnLeft: import("vue").ComputedRef<{
27
+ key: KeyType;
28
+ align?: import("../types").Alignment | undefined;
29
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
30
+ dataKey?: KeyType | undefined;
31
+ fixed?: true | import("../constants").FixedDir | undefined;
32
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
33
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
34
+ title?: string | undefined;
35
+ hidden?: boolean | undefined;
36
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
37
+ maxWidth?: number | undefined;
38
+ minWidth?: number | undefined;
39
+ style?: CSSProperties | undefined;
40
+ sortable?: boolean | undefined;
41
+ width: number;
42
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
43
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
44
+ }[]>;
45
+ fixedColumnsOnRight: import("vue").ComputedRef<{
46
+ key: KeyType;
47
+ align?: import("../types").Alignment | undefined;
48
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
49
+ dataKey?: KeyType | undefined;
50
+ fixed?: true | import("../constants").FixedDir | undefined;
51
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
52
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
53
+ title?: string | undefined;
54
+ hidden?: boolean | undefined;
55
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
56
+ maxWidth?: number | undefined;
57
+ minWidth?: number | undefined;
58
+ style?: CSSProperties | undefined;
59
+ sortable?: boolean | undefined;
60
+ width: number;
61
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
62
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
63
+ }[]>;
10
64
  hasFixedColumns: import("vue").ComputedRef<number>;
11
65
  mainColumns: import("vue").ComputedRef<AnyColumns>;
12
- normalColumns: import("vue").ComputedRef<Column<any>[]>;
13
- visibleColumns: import("vue").ComputedRef<Column<any>[]>;
14
- getColumn: (key: KeyType) => Column<any> | undefined;
66
+ normalColumns: import("vue").ComputedRef<{
67
+ key: KeyType;
68
+ align?: import("../types").Alignment | undefined;
69
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
70
+ dataKey?: KeyType | undefined;
71
+ fixed?: true | import("../constants").FixedDir | undefined;
72
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
73
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
74
+ title?: string | undefined;
75
+ hidden?: boolean | undefined;
76
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
77
+ maxWidth?: number | undefined;
78
+ minWidth?: number | undefined;
79
+ style?: CSSProperties | undefined;
80
+ sortable?: boolean | undefined;
81
+ width: number;
82
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
83
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
84
+ }[]>;
85
+ visibleColumns: import("vue").ComputedRef<{
86
+ key: KeyType;
87
+ align?: import("../types").Alignment | undefined;
88
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
89
+ dataKey?: KeyType | undefined;
90
+ fixed?: true | import("../constants").FixedDir | undefined;
91
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
92
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
93
+ title?: string | undefined;
94
+ hidden?: boolean | undefined;
95
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
96
+ maxWidth?: number | undefined;
97
+ minWidth?: number | undefined;
98
+ style?: CSSProperties | undefined;
99
+ sortable?: boolean | undefined;
100
+ width: number;
101
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
102
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
103
+ }[]>;
104
+ getColumn: (key: KeyType) => {
105
+ key: KeyType;
106
+ align?: import("../types").Alignment | undefined;
107
+ class?: string | import("../types").ClassNameGetter<any> | undefined;
108
+ dataKey?: KeyType | undefined;
109
+ fixed?: true | import("../constants").FixedDir | undefined;
110
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
111
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
112
+ title?: string | undefined;
113
+ hidden?: boolean | undefined;
114
+ headerClass?: string | import("../types").HeaderClassGetter<any> | undefined;
115
+ maxWidth?: number | undefined;
116
+ minWidth?: number | undefined;
117
+ style?: CSSProperties | undefined;
118
+ sortable?: boolean | undefined;
119
+ width: number;
120
+ cellRenderer?: import("../types").CellRenderer<any> | undefined;
121
+ headerCellRenderer?: import("../types").HeaderCellRenderer<any> | undefined;
122
+ } | undefined;
15
123
  getColumnStyle: (key: KeyType) => CSSProperties;
16
124
  updateColumnWidth: (column: Column<any>, width: number) => void;
17
125
  onColumnSorted: (e: MouseEvent) => void;
@@ -10,8 +10,15 @@ var utils = require('./utils.js');
10
10
  var shared = require('@vue/shared');
11
11
 
12
12
  function useColumns(props, columns, fixed) {
13
+ const _columns = vue.computed(() => vue.unref(columns).map((column, index) => {
14
+ var _a, _b;
15
+ return {
16
+ ...column,
17
+ key: (_b = (_a = column.key) != null ? _a : column.dataKey) != null ? _b : index
18
+ };
19
+ }));
13
20
  const visibleColumns = vue.computed(() => {
14
- return vue.unref(columns).filter((column) => !column.hidden);
21
+ return vue.unref(_columns).filter((column) => !column.hidden);
15
22
  });
16
23
  const fixedColumnsOnLeft = vue.computed(() => vue.unref(visibleColumns).filter((column) => column.fixed === "left" || column.fixed === true));
17
24
  const fixedColumnsOnRight = vue.computed(() => vue.unref(visibleColumns).filter((column) => column.fixed === "right"));
@@ -39,8 +46,7 @@ function useColumns(props, columns, fixed) {
39
46
  return vue.unref(fixedColumnsOnLeft).length || vue.unref(fixedColumnsOnRight).length;
40
47
  });
41
48
  const columnsStyles = vue.computed(() => {
42
- const _columns = vue.unref(columns);
43
- return _columns.reduce((style, column) => {
49
+ return vue.unref(_columns).reduce((style, column) => {
44
50
  style[column.key] = utils.calcColumnStyle(column, vue.unref(fixed), props.fixed);
45
51
  return style;
46
52
  }, {});
@@ -49,7 +55,7 @@ function useColumns(props, columns, fixed) {
49
55
  return vue.unref(visibleColumns).reduce((width, column) => width + column.width, 0);
50
56
  });
51
57
  const getColumn = (key) => {
52
- return vue.unref(columns).find((column) => column.key === key);
58
+ return vue.unref(_columns).find((column) => column.key === key);
53
59
  };
54
60
  const getColumnStyle = (key) => {
55
61
  return vue.unref(columnsStyles)[key];
@@ -72,7 +78,7 @@ function useColumns(props, columns, fixed) {
72
78
  (_a = props.onColumnSort) == null ? void 0 : _a.call(props, { column: getColumn(key), key, order });
73
79
  }
74
80
  return {
75
- columns,
81
+ columns: _columns,
76
82
  columnsStyles,
77
83
  columnsTotalWidth,
78
84
  fixedColumnsOnLeft,
@@ -1 +1 @@
1
- {"version":3,"file":"use-columns.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-columns.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, unref } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport { SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { calcColumnStyle } from './utils'\n\nimport type { CSSProperties, Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { AnyColumns, Column, KeyType } from '../types'\n\nfunction useColumns(\n props: TableV2Props,\n columns: Ref<AnyColumns>,\n fixed: Ref<boolean>\n) {\n const visibleColumns = computed(() => {\n return unref(columns).filter((column) => !column.hidden)\n })\n\n const fixedColumnsOnLeft = computed(() =>\n unref(visibleColumns).filter(\n (column) => column.fixed === 'left' || column.fixed === true\n )\n )\n\n const fixedColumnsOnRight = computed(() =>\n unref(visibleColumns).filter((column) => column.fixed === 'right')\n )\n\n const normalColumns = computed(() =>\n unref(visibleColumns).filter((column) => !column.fixed)\n )\n\n const mainColumns = computed(() => {\n const ret: AnyColumns = []\n\n unref(fixedColumnsOnLeft).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n unref(normalColumns).forEach((column) => {\n ret.push(column)\n })\n\n unref(fixedColumnsOnRight).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n return ret\n })\n\n const hasFixedColumns = computed(() => {\n return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length\n })\n\n const columnsStyles = computed(() => {\n const _columns = unref(columns)\n\n return _columns.reduce<Record<Column<any>['key'], CSSProperties>>(\n (style, column) => {\n style[column.key] = calcColumnStyle(column, unref(fixed), props.fixed)\n return style\n },\n {}\n )\n })\n\n const columnsTotalWidth = computed(() => {\n return unref(visibleColumns).reduce(\n (width, column) => width + column.width,\n 0\n )\n })\n\n const getColumn = (key: KeyType) => {\n return unref(columns).find((column) => column.key === key)\n }\n\n const getColumnStyle = (key: KeyType) => {\n return unref(columnsStyles)[key]\n }\n\n const updateColumnWidth = (column: Column<any>, width: number) => {\n column.width = width\n }\n\n function onColumnSorted(e: MouseEvent) {\n const { key } = (e.currentTarget as HTMLElement).dataset\n if (!key) return\n const { sortState, sortBy } = props\n\n let order = SortOrder.ASC\n\n if (isObject(sortState)) {\n order = oppositeOrderMap[sortState[key]]\n } else {\n order = oppositeOrderMap[sortBy.order]\n }\n\n props.onColumnSort?.({ column: getColumn(key)!, key, order })\n }\n\n return {\n columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n normalColumns,\n visibleColumns,\n\n getColumn,\n getColumnStyle,\n updateColumnWidth,\n onColumnSorted,\n }\n}\n\nexport { useColumns }\nexport type UseColumnsReturn = ReturnType<typeof useColumns>\n"],"names":["computed","unref","placeholderSign","calcColumnStyle","SortOrder","isObject","oppositeOrderMap"],"mappings":"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"}
1
+ {"version":3,"file":"use-columns.js","sources":["../../../../../../../packages/components/table-v2/src/composables/use-columns.ts"],"sourcesContent":["// @ts-nocheck\nimport { computed, unref } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport { SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { calcColumnStyle } from './utils'\n\nimport type { CSSProperties, Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { AnyColumns, Column, KeyType } from '../types'\n\nfunction useColumns(\n props: TableV2Props,\n columns: Ref<AnyColumns>,\n fixed: Ref<boolean>\n) {\n const _columns = computed(() =>\n unref(columns).map((column, index) => ({\n ...column,\n key: column.key ?? column.dataKey ?? index,\n }))\n )\n\n const visibleColumns = computed(() => {\n return unref(_columns).filter((column) => !column.hidden)\n })\n\n const fixedColumnsOnLeft = computed(() =>\n unref(visibleColumns).filter(\n (column) => column.fixed === 'left' || column.fixed === true\n )\n )\n\n const fixedColumnsOnRight = computed(() =>\n unref(visibleColumns).filter((column) => column.fixed === 'right')\n )\n\n const normalColumns = computed(() =>\n unref(visibleColumns).filter((column) => !column.fixed)\n )\n\n const mainColumns = computed(() => {\n const ret: AnyColumns = []\n\n unref(fixedColumnsOnLeft).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n unref(normalColumns).forEach((column) => {\n ret.push(column)\n })\n\n unref(fixedColumnsOnRight).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n return ret\n })\n\n const hasFixedColumns = computed(() => {\n return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length\n })\n\n const columnsStyles = computed(() => {\n return unref(_columns).reduce<Record<Column<any>['key'], CSSProperties>>(\n (style, column) => {\n style[column.key] = calcColumnStyle(column, unref(fixed), props.fixed)\n return style\n },\n {}\n )\n })\n\n const columnsTotalWidth = computed(() => {\n return unref(visibleColumns).reduce(\n (width, column) => width + column.width,\n 0\n )\n })\n\n const getColumn = (key: KeyType) => {\n return unref(_columns).find((column) => column.key === key)\n }\n\n const getColumnStyle = (key: KeyType) => {\n return unref(columnsStyles)[key]\n }\n\n const updateColumnWidth = (column: Column<any>, width: number) => {\n column.width = width\n }\n\n function onColumnSorted(e: MouseEvent) {\n const { key } = (e.currentTarget as HTMLElement).dataset\n if (!key) return\n const { sortState, sortBy } = props\n\n let order = SortOrder.ASC\n\n if (isObject(sortState)) {\n order = oppositeOrderMap[sortState[key]]\n } else {\n order = oppositeOrderMap[sortBy.order]\n }\n\n props.onColumnSort?.({ column: getColumn(key)!, key, order })\n }\n\n return {\n columns: _columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n normalColumns,\n visibleColumns,\n\n getColumn,\n getColumnStyle,\n updateColumnWidth,\n onColumnSorted,\n }\n}\n\nexport { useColumns }\nexport type UseColumnsReturn = ReturnType<typeof useColumns>\n"],"names":["computed","unref","placeholderSign","calcColumnStyle","SortOrder","isObject","oppositeOrderMap"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"header-cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/header-cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { HeaderCell, SortIcon } from '../components'\n// import ColumnResizer from '../table-column-resizer'\nimport { Alignment, SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { TableV2HeaderRowCellRendererParams } from '../components'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\nexport type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &\n UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> &\n Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {\n ns: UseNamespaceReturn\n }\n\nconst HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps> = (\n props,\n { slots }\n) => {\n const { column, ns, style, onColumnSorted } = props\n\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return (\n <div class={ns.em('header-row-cell', 'placeholder')} style={cellStyle} />\n )\n }\n\n const { headerCellRenderer, headerClass, sortable } = column\n\n /**\n * render Cell children\n */\n\n const cellProps = {\n ...props,\n class: ns.e('header-cell-text'),\n }\n\n const columnCellRenderer =\n componentToSlot<typeof cellProps>(headerCellRenderer)\n\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <HeaderCell {...cellProps} />,\n ])\n\n /**\n * Render cell container and sort indicator\n */\n const { sortBy, sortState, headerCellProps } = props\n\n let sorting: boolean, sortOrder: SortOrder\n if (sortState) {\n const order = sortState[column.key]\n sorting = Boolean(oppositeOrderMap[order])\n sortOrder = sorting ? order : SortOrder.ASC\n } else {\n sorting = column.key === sortBy.key\n sortOrder = sorting ? sortBy.order : SortOrder.ASC\n }\n\n const cellKls = [\n ns.e('header-cell'),\n tryCall(headerClass, props, ''),\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n sortable && ns.is('sortable'),\n ]\n\n const cellWrapperProps = {\n ...tryCall(headerCellProps, props),\n onClick: column.sortable ? onColumnSorted : undefined,\n class: cellKls,\n style: cellStyle,\n ['data-key']: column.key,\n }\n\n // For now we don't deliver resizable column feature since it has some UX issue.\n return (\n <div {...cellWrapperProps} role=\"columnheader\">\n {Cell}\n\n {sortable && (\n <SortIcon\n class={[ns.e('sort-icon'), sorting && ns.is('sorting')]}\n sortOrder={sortOrder}\n />\n )}\n </div>\n )\n}\n\nexport default HeaderCellRenderer\nexport type HeaderCellSlotProps = HeaderCellRendererProps & { class: string }\n"],"names":["enforceUnit","HeaderCellRenderer","slots","column","ns","onColumnSorted","props","placeholderSign","_createVNode","cellStyle","headerClass","sortable","componentToSlot","renderSlot","HeaderCell","class","Cell","columnCellRenderer","oppositeOrderMap","SortOrder","sortBy","headerCellProps","sorting","sortOrder","sortState","_mergeProps","SortIcon","cellKls"],"mappings":"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"}
1
+ {"version":3,"file":"header-cell.js","sources":["../../../../../../../packages/components/table-v2/src/renderers/header-cell.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport { HeaderCell, SortIcon } from '../components'\n// import ColumnResizer from '../table-column-resizer'\nimport { Alignment, SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { TableV2HeaderRowCellRendererParams } from '../components'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\nexport type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams &\n UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> &\n Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {\n ns: UseNamespaceReturn\n }\n\nconst HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps> = (\n props,\n { slots }\n) => {\n const { column, ns, style, onColumnSorted } = props\n\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return (\n <div class={ns.em('header-row-cell', 'placeholder')} style={cellStyle} />\n )\n }\n\n const { headerCellRenderer, headerClass, sortable } = column\n\n /**\n * render Cell children\n */\n\n const cellProps = {\n ...props,\n class: ns.e('header-cell-text'),\n }\n\n const columnCellRenderer =\n componentToSlot<typeof cellProps>(headerCellRenderer)\n\n const Cell = columnCellRenderer\n ? columnCellRenderer(cellProps)\n : renderSlot(slots, 'default', cellProps, () => [\n <HeaderCell {...cellProps} />,\n ])\n\n /**\n * Render cell container and sort indicator\n */\n const { sortBy, sortState, headerCellProps } = props\n\n let sorting: boolean, sortOrder: SortOrder\n if (sortState) {\n const order = sortState[column.key!]\n sorting = Boolean(oppositeOrderMap[order])\n sortOrder = sorting ? order : SortOrder.ASC\n } else {\n sorting = column.key === sortBy.key\n sortOrder = sorting ? sortBy.order : SortOrder.ASC\n }\n\n const cellKls = [\n ns.e('header-cell'),\n tryCall(headerClass, props, ''),\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n sortable && ns.is('sortable'),\n ]\n\n const cellWrapperProps = {\n ...tryCall(headerCellProps, props),\n onClick: column.sortable ? onColumnSorted : undefined,\n class: cellKls,\n style: cellStyle,\n ['data-key']: column.key,\n }\n\n // For now we don't deliver resizable column feature since it has some UX issue.\n return (\n <div {...cellWrapperProps} role=\"columnheader\">\n {Cell}\n\n {sortable && (\n <SortIcon\n class={[ns.e('sort-icon'), sorting && ns.is('sorting')]}\n sortOrder={sortOrder}\n />\n )}\n </div>\n )\n}\n\nexport default HeaderCellRenderer\nexport type HeaderCellSlotProps = HeaderCellRendererProps & { class: string }\n"],"names":["enforceUnit","HeaderCellRenderer","slots","column","ns","onColumnSorted","props","placeholderSign","_createVNode","cellStyle","headerClass","sortable","componentToSlot","renderSlot","HeaderCell","class","Cell","columnCellRenderer","oppositeOrderMap","SortOrder","sortBy","headerCellProps","sorting","sortOrder","sortState","_mergeProps","SortIcon","cellKls"],"mappings":"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"}
@@ -45,6 +45,7 @@ export declare type Column<T = any> = {
45
45
  */
46
46
  align?: Alignment;
47
47
  class?: string | ClassNameGetter<T>;
48
+ key?: KeyType;
48
49
  dataKey?: KeyType;
49
50
  fixed?: true | FixedDirection;
50
51
  flexGrow?: CSSProperties['flexGrow'];
@@ -1,7 +1,25 @@
1
1
  import type { TableV2Props } from './table';
2
2
  import type { TableGridInstance } from './table-grid';
3
3
  declare function useTable(props: TableV2Props): {
4
- columns: import("vue").Ref<import("./types").AnyColumns>;
4
+ columns: import("vue").ComputedRef<{
5
+ key: import("./types").KeyType;
6
+ align?: import("./types").Alignment | undefined;
7
+ class?: string | import("./types").ClassNameGetter<any> | undefined;
8
+ dataKey?: import("./types").KeyType | undefined;
9
+ fixed?: true | import("./constants").FixedDir | undefined;
10
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
11
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
12
+ title?: string | undefined;
13
+ hidden?: boolean | undefined;
14
+ headerClass?: string | import("./types").HeaderClassGetter<any> | undefined;
15
+ maxWidth?: number | undefined;
16
+ minWidth?: number | undefined;
17
+ style?: import("vue").CSSProperties | undefined;
18
+ sortable?: boolean | undefined;
19
+ width: number;
20
+ cellRenderer?: import("./types").CellRenderer<any> | undefined;
21
+ headerCellRenderer?: import("./types").HeaderCellRenderer<any> | undefined;
22
+ }[]>;
5
23
  containerRef: import("vue").Ref<any>;
6
24
  mainTableRef: import("vue").Ref<TableGridInstance | undefined>;
7
25
  leftTableRef: import("vue").Ref<TableGridInstance | undefined>;
@@ -10,13 +28,49 @@ declare function useTable(props: TableV2Props): {
10
28
  isResetting: import("vue").ShallowRef<boolean>;
11
29
  isScrolling: import("vue").ShallowRef<boolean>;
12
30
  hasFixedColumns: import("vue").ComputedRef<number>;
13
- columnsStyles: import("vue").ComputedRef<Record<any, import("vue").CSSProperties>>;
31
+ columnsStyles: import("vue").ComputedRef<Record<import("./types").KeyType | undefined, import("vue").CSSProperties>>;
14
32
  columnsTotalWidth: import("vue").ComputedRef<number>;
15
33
  data: import("vue").ComputedRef<any[]>;
16
34
  expandedRowKeys: import("vue").Ref<import("./types").KeyType[]>;
17
35
  depthMap: import("vue").Ref<Record<import("./types").KeyType, number>>;
18
- fixedColumnsOnLeft: import("vue").ComputedRef<import("./types").Column<any>[]>;
19
- fixedColumnsOnRight: import("vue").ComputedRef<import("./types").Column<any>[]>;
36
+ fixedColumnsOnLeft: import("vue").ComputedRef<{
37
+ key: import("./types").KeyType;
38
+ align?: import("./types").Alignment | undefined;
39
+ class?: string | import("./types").ClassNameGetter<any> | undefined;
40
+ dataKey?: import("./types").KeyType | undefined;
41
+ fixed?: true | import("./constants").FixedDir | undefined;
42
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
43
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
44
+ title?: string | undefined;
45
+ hidden?: boolean | undefined;
46
+ headerClass?: string | import("./types").HeaderClassGetter<any> | undefined;
47
+ maxWidth?: number | undefined;
48
+ minWidth?: number | undefined;
49
+ style?: import("vue").CSSProperties | undefined;
50
+ sortable?: boolean | undefined;
51
+ width: number;
52
+ cellRenderer?: import("./types").CellRenderer<any> | undefined;
53
+ headerCellRenderer?: import("./types").HeaderCellRenderer<any> | undefined;
54
+ }[]>;
55
+ fixedColumnsOnRight: import("vue").ComputedRef<{
56
+ key: import("./types").KeyType;
57
+ align?: import("./types").Alignment | undefined;
58
+ class?: string | import("./types").ClassNameGetter<any> | undefined;
59
+ dataKey?: import("./types").KeyType | undefined;
60
+ fixed?: true | import("./constants").FixedDir | undefined;
61
+ flexGrow?: import("csstype").GlobalsNumber | undefined;
62
+ flexShrink?: import("csstype").GlobalsNumber | undefined;
63
+ title?: string | undefined;
64
+ hidden?: boolean | undefined;
65
+ headerClass?: string | import("./types").HeaderClassGetter<any> | undefined;
66
+ maxWidth?: number | undefined;
67
+ minWidth?: number | undefined;
68
+ style?: import("vue").CSSProperties | undefined;
69
+ sortable?: boolean | undefined;
70
+ width: number;
71
+ cellRenderer?: import("./types").CellRenderer<any> | undefined;
72
+ headerCellRenderer?: import("./types").HeaderCellRenderer<any> | undefined;
73
+ }[]>;
20
74
  mainColumns: import("vue").ComputedRef<import("./types").AnyColumns>;
21
75
  bodyWidth: import("vue").ComputedRef<number>;
22
76
  emptyStyle: import("vue").ComputedRef<import("vue").CSSProperties>;