@element-plus/nightly 0.0.20230307 → 0.0.20230309

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 (316) hide show
  1. package/dist/index.full.js +60 -31
  2. package/dist/index.full.min.js +14 -14
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +14 -14
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +60 -31
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/ckb.js +1 -1
  32. package/dist/locale/ckb.min.js +1 -1
  33. package/dist/locale/ckb.min.mjs +1 -1
  34. package/dist/locale/ckb.mjs +1 -1
  35. package/dist/locale/cs.js +1 -1
  36. package/dist/locale/cs.min.js +1 -1
  37. package/dist/locale/cs.min.mjs +1 -1
  38. package/dist/locale/cs.mjs +1 -1
  39. package/dist/locale/da.js +1 -1
  40. package/dist/locale/da.min.js +1 -1
  41. package/dist/locale/da.min.mjs +1 -1
  42. package/dist/locale/da.mjs +1 -1
  43. package/dist/locale/de.js +1 -1
  44. package/dist/locale/de.min.js +1 -1
  45. package/dist/locale/de.min.mjs +1 -1
  46. package/dist/locale/de.mjs +1 -1
  47. package/dist/locale/el.js +1 -1
  48. package/dist/locale/el.min.js +1 -1
  49. package/dist/locale/el.min.mjs +1 -1
  50. package/dist/locale/el.mjs +1 -1
  51. package/dist/locale/en.js +1 -1
  52. package/dist/locale/en.min.js +1 -1
  53. package/dist/locale/en.min.mjs +1 -1
  54. package/dist/locale/en.mjs +1 -1
  55. package/dist/locale/eo.js +1 -1
  56. package/dist/locale/eo.min.js +1 -1
  57. package/dist/locale/eo.min.mjs +1 -1
  58. package/dist/locale/eo.mjs +1 -1
  59. package/dist/locale/es.js +1 -1
  60. package/dist/locale/es.min.js +1 -1
  61. package/dist/locale/es.min.mjs +1 -1
  62. package/dist/locale/es.mjs +1 -1
  63. package/dist/locale/et.js +1 -1
  64. package/dist/locale/et.min.js +1 -1
  65. package/dist/locale/et.min.mjs +1 -1
  66. package/dist/locale/et.mjs +1 -1
  67. package/dist/locale/eu.js +1 -1
  68. package/dist/locale/eu.min.js +1 -1
  69. package/dist/locale/eu.min.mjs +1 -1
  70. package/dist/locale/eu.mjs +1 -1
  71. package/dist/locale/fa.js +1 -1
  72. package/dist/locale/fa.min.js +1 -1
  73. package/dist/locale/fa.min.mjs +1 -1
  74. package/dist/locale/fa.mjs +1 -1
  75. package/dist/locale/fi.js +1 -1
  76. package/dist/locale/fi.min.js +1 -1
  77. package/dist/locale/fi.min.mjs +1 -1
  78. package/dist/locale/fi.mjs +1 -1
  79. package/dist/locale/fr.js +1 -1
  80. package/dist/locale/fr.min.js +1 -1
  81. package/dist/locale/fr.min.mjs +1 -1
  82. package/dist/locale/fr.mjs +1 -1
  83. package/dist/locale/he.js +1 -1
  84. package/dist/locale/he.min.js +1 -1
  85. package/dist/locale/he.min.mjs +1 -1
  86. package/dist/locale/he.mjs +1 -1
  87. package/dist/locale/hr.js +1 -1
  88. package/dist/locale/hr.min.js +1 -1
  89. package/dist/locale/hr.min.mjs +1 -1
  90. package/dist/locale/hr.mjs +1 -1
  91. package/dist/locale/hu.js +1 -1
  92. package/dist/locale/hu.min.js +1 -1
  93. package/dist/locale/hu.min.mjs +1 -1
  94. package/dist/locale/hu.mjs +1 -1
  95. package/dist/locale/hy-am.js +1 -1
  96. package/dist/locale/hy-am.min.js +1 -1
  97. package/dist/locale/hy-am.min.mjs +1 -1
  98. package/dist/locale/hy-am.mjs +1 -1
  99. package/dist/locale/id.js +1 -1
  100. package/dist/locale/id.min.js +1 -1
  101. package/dist/locale/id.min.mjs +1 -1
  102. package/dist/locale/id.mjs +1 -1
  103. package/dist/locale/it.js +1 -1
  104. package/dist/locale/it.min.js +1 -1
  105. package/dist/locale/it.min.mjs +1 -1
  106. package/dist/locale/it.mjs +1 -1
  107. package/dist/locale/ja.js +1 -1
  108. package/dist/locale/ja.min.js +1 -1
  109. package/dist/locale/ja.min.mjs +1 -1
  110. package/dist/locale/ja.mjs +1 -1
  111. package/dist/locale/kk.js +1 -1
  112. package/dist/locale/kk.min.js +1 -1
  113. package/dist/locale/kk.min.mjs +1 -1
  114. package/dist/locale/kk.mjs +1 -1
  115. package/dist/locale/km.js +1 -1
  116. package/dist/locale/km.min.js +1 -1
  117. package/dist/locale/km.min.mjs +1 -1
  118. package/dist/locale/km.mjs +1 -1
  119. package/dist/locale/ko.js +1 -1
  120. package/dist/locale/ko.min.js +1 -1
  121. package/dist/locale/ko.min.mjs +1 -1
  122. package/dist/locale/ko.mjs +1 -1
  123. package/dist/locale/ku.js +1 -1
  124. package/dist/locale/ku.min.js +1 -1
  125. package/dist/locale/ku.min.mjs +1 -1
  126. package/dist/locale/ku.mjs +1 -1
  127. package/dist/locale/ky.js +1 -1
  128. package/dist/locale/ky.min.js +1 -1
  129. package/dist/locale/ky.min.mjs +1 -1
  130. package/dist/locale/ky.mjs +1 -1
  131. package/dist/locale/lt.js +1 -1
  132. package/dist/locale/lt.min.js +1 -1
  133. package/dist/locale/lt.min.mjs +1 -1
  134. package/dist/locale/lt.mjs +1 -1
  135. package/dist/locale/lv.js +1 -1
  136. package/dist/locale/lv.min.js +1 -1
  137. package/dist/locale/lv.min.mjs +1 -1
  138. package/dist/locale/lv.mjs +1 -1
  139. package/dist/locale/mg.js +1 -1
  140. package/dist/locale/mg.min.js +1 -1
  141. package/dist/locale/mg.min.mjs +1 -1
  142. package/dist/locale/mg.mjs +1 -1
  143. package/dist/locale/mn.js +1 -1
  144. package/dist/locale/mn.min.js +1 -1
  145. package/dist/locale/mn.min.mjs +1 -1
  146. package/dist/locale/mn.mjs +1 -1
  147. package/dist/locale/nb-no.js +1 -1
  148. package/dist/locale/nb-no.min.js +1 -1
  149. package/dist/locale/nb-no.min.mjs +1 -1
  150. package/dist/locale/nb-no.mjs +1 -1
  151. package/dist/locale/nl.js +1 -1
  152. package/dist/locale/nl.min.js +1 -1
  153. package/dist/locale/nl.min.mjs +1 -1
  154. package/dist/locale/nl.mjs +1 -1
  155. package/dist/locale/pa.js +1 -1
  156. package/dist/locale/pa.min.js +1 -1
  157. package/dist/locale/pa.min.mjs +1 -1
  158. package/dist/locale/pa.mjs +1 -1
  159. package/dist/locale/pl.js +1 -1
  160. package/dist/locale/pl.min.js +1 -1
  161. package/dist/locale/pl.min.mjs +1 -1
  162. package/dist/locale/pl.mjs +1 -1
  163. package/dist/locale/pt-br.js +1 -1
  164. package/dist/locale/pt-br.min.js +1 -1
  165. package/dist/locale/pt-br.min.mjs +1 -1
  166. package/dist/locale/pt-br.mjs +1 -1
  167. package/dist/locale/pt.js +1 -1
  168. package/dist/locale/pt.min.js +1 -1
  169. package/dist/locale/pt.min.mjs +1 -1
  170. package/dist/locale/pt.mjs +1 -1
  171. package/dist/locale/ro.js +1 -1
  172. package/dist/locale/ro.min.js +1 -1
  173. package/dist/locale/ro.min.mjs +1 -1
  174. package/dist/locale/ro.mjs +1 -1
  175. package/dist/locale/ru.js +1 -1
  176. package/dist/locale/ru.min.js +1 -1
  177. package/dist/locale/ru.min.mjs +1 -1
  178. package/dist/locale/ru.mjs +1 -1
  179. package/dist/locale/sk.js +1 -1
  180. package/dist/locale/sk.min.js +1 -1
  181. package/dist/locale/sk.min.mjs +1 -1
  182. package/dist/locale/sk.mjs +1 -1
  183. package/dist/locale/sl.js +1 -1
  184. package/dist/locale/sl.min.js +1 -1
  185. package/dist/locale/sl.min.mjs +1 -1
  186. package/dist/locale/sl.mjs +1 -1
  187. package/dist/locale/sr.js +1 -1
  188. package/dist/locale/sr.min.js +1 -1
  189. package/dist/locale/sr.min.mjs +1 -1
  190. package/dist/locale/sr.mjs +1 -1
  191. package/dist/locale/sv.js +1 -1
  192. package/dist/locale/sv.min.js +1 -1
  193. package/dist/locale/sv.min.mjs +1 -1
  194. package/dist/locale/sv.mjs +1 -1
  195. package/dist/locale/ta.js +1 -1
  196. package/dist/locale/ta.min.js +1 -1
  197. package/dist/locale/ta.min.mjs +1 -1
  198. package/dist/locale/ta.mjs +1 -1
  199. package/dist/locale/th.js +1 -1
  200. package/dist/locale/th.min.js +1 -1
  201. package/dist/locale/th.min.mjs +1 -1
  202. package/dist/locale/th.mjs +1 -1
  203. package/dist/locale/tk.js +1 -1
  204. package/dist/locale/tk.min.js +1 -1
  205. package/dist/locale/tk.min.mjs +1 -1
  206. package/dist/locale/tk.mjs +1 -1
  207. package/dist/locale/tr.js +1 -1
  208. package/dist/locale/tr.min.js +1 -1
  209. package/dist/locale/tr.min.mjs +1 -1
  210. package/dist/locale/tr.mjs +1 -1
  211. package/dist/locale/ug-cn.js +1 -1
  212. package/dist/locale/ug-cn.min.js +1 -1
  213. package/dist/locale/ug-cn.min.mjs +1 -1
  214. package/dist/locale/ug-cn.mjs +1 -1
  215. package/dist/locale/uk.js +1 -1
  216. package/dist/locale/uk.min.js +1 -1
  217. package/dist/locale/uk.min.mjs +1 -1
  218. package/dist/locale/uk.mjs +1 -1
  219. package/dist/locale/uz-uz.js +1 -1
  220. package/dist/locale/uz-uz.min.js +1 -1
  221. package/dist/locale/uz-uz.min.mjs +1 -1
  222. package/dist/locale/uz-uz.mjs +1 -1
  223. package/dist/locale/vi.js +1 -1
  224. package/dist/locale/vi.min.js +1 -1
  225. package/dist/locale/vi.min.mjs +1 -1
  226. package/dist/locale/vi.mjs +1 -1
  227. package/dist/locale/zh-cn.js +1 -1
  228. package/dist/locale/zh-cn.min.js +1 -1
  229. package/dist/locale/zh-cn.min.mjs +1 -1
  230. package/dist/locale/zh-cn.mjs +1 -1
  231. package/dist/locale/zh-tw.js +1 -1
  232. package/dist/locale/zh-tw.min.js +1 -1
  233. package/dist/locale/zh-tw.min.mjs +1 -1
  234. package/dist/locale/zh-tw.mjs +1 -1
  235. package/es/components/config-provider/src/hooks/use-global-config.mjs +1 -0
  236. package/es/components/config-provider/src/hooks/use-global-config.mjs.map +1 -1
  237. package/es/components/dialog/index.d.ts +0 -12
  238. package/es/components/dialog/src/dialog.vue.d.ts +0 -12
  239. package/es/components/message-box/src/index.mjs +2 -3
  240. package/es/components/message-box/src/index.mjs.map +1 -1
  241. package/es/components/overlay/index.d.ts +0 -12
  242. package/es/components/overlay/src/overlay.d.ts +0 -18
  243. package/es/components/overlay/src/overlay.mjs +1 -6
  244. package/es/components/overlay/src/overlay.mjs.map +1 -1
  245. package/es/components/select/src/options.mjs +35 -12
  246. package/es/components/select/src/options.mjs.map +1 -1
  247. package/es/components/table/src/table-body/events-helper.mjs +4 -1
  248. package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
  249. package/es/components/table/src/util.d.ts +1 -1
  250. package/es/components/table/src/util.mjs +1 -3
  251. package/es/components/table/src/util.mjs.map +1 -1
  252. package/es/components/table-v2/src/components/header-row.mjs +2 -1
  253. package/es/components/table-v2/src/components/header-row.mjs.map +1 -1
  254. package/es/components/table-v2/src/components/header.mjs +2 -1
  255. package/es/components/table-v2/src/components/header.mjs.map +1 -1
  256. package/es/components/table-v2/src/components/row.mjs +4 -2
  257. package/es/components/table-v2/src/components/row.mjs.map +1 -1
  258. package/es/components/table-v2/src/renderers/cell.mjs +3 -1
  259. package/es/components/table-v2/src/renderers/cell.mjs.map +1 -1
  260. package/es/components/table-v2/src/renderers/header-cell.mjs +4 -2
  261. package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -1
  262. package/es/components/table-v2/src/table-grid.mjs +1 -0
  263. package/es/components/table-v2/src/table-grid.mjs.map +1 -1
  264. package/es/components/virtual-list/src/builders/build-grid.d.ts +2 -0
  265. package/es/components/virtual-list/src/builders/build-grid.mjs +2 -1
  266. package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
  267. package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -0
  268. package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -0
  269. package/es/components/virtual-list/src/props.d.ts +1 -0
  270. package/es/components/virtual-list/src/props.mjs +1 -0
  271. package/es/components/virtual-list/src/props.mjs.map +1 -1
  272. package/es/version.d.ts +1 -1
  273. package/es/version.mjs +1 -1
  274. package/es/version.mjs.map +1 -1
  275. package/lib/components/config-provider/src/hooks/use-global-config.js +1 -0
  276. package/lib/components/config-provider/src/hooks/use-global-config.js.map +1 -1
  277. package/lib/components/dialog/index.d.ts +0 -12
  278. package/lib/components/dialog/src/dialog.vue.d.ts +0 -12
  279. package/lib/components/message-box/src/index.js +2 -3
  280. package/lib/components/message-box/src/index.js.map +1 -1
  281. package/lib/components/overlay/index.d.ts +0 -12
  282. package/lib/components/overlay/src/overlay.d.ts +0 -18
  283. package/lib/components/overlay/src/overlay.js +1 -6
  284. package/lib/components/overlay/src/overlay.js.map +1 -1
  285. package/lib/components/select/src/options.js +35 -12
  286. package/lib/components/select/src/options.js.map +1 -1
  287. package/lib/components/table/src/table-body/events-helper.js +4 -1
  288. package/lib/components/table/src/table-body/events-helper.js.map +1 -1
  289. package/lib/components/table/src/util.d.ts +1 -1
  290. package/lib/components/table/src/util.js +3 -5
  291. package/lib/components/table/src/util.js.map +1 -1
  292. package/lib/components/table-v2/src/components/header-row.js +2 -1
  293. package/lib/components/table-v2/src/components/header-row.js.map +1 -1
  294. package/lib/components/table-v2/src/components/header.js +2 -1
  295. package/lib/components/table-v2/src/components/header.js.map +1 -1
  296. package/lib/components/table-v2/src/components/row.js +4 -2
  297. package/lib/components/table-v2/src/components/row.js.map +1 -1
  298. package/lib/components/table-v2/src/renderers/cell.js +3 -1
  299. package/lib/components/table-v2/src/renderers/cell.js.map +1 -1
  300. package/lib/components/table-v2/src/renderers/header-cell.js +3 -1
  301. package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -1
  302. package/lib/components/table-v2/src/table-grid.js +1 -0
  303. package/lib/components/table-v2/src/table-grid.js.map +1 -1
  304. package/lib/components/virtual-list/src/builders/build-grid.d.ts +2 -0
  305. package/lib/components/virtual-list/src/builders/build-grid.js +2 -1
  306. package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
  307. package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +2 -0
  308. package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +2 -0
  309. package/lib/components/virtual-list/src/props.d.ts +1 -0
  310. package/lib/components/virtual-list/src/props.js +1 -0
  311. package/lib/components/virtual-list/src/props.js.map +1 -1
  312. package/lib/version.d.ts +1 -1
  313. package/lib/version.js +1 -1
  314. package/lib/version.js.map +1 -1
  315. package/package.json +2 -2
  316. package/web-types.json +1 -1
@@ -1,9 +1,7 @@
1
1
  import { defineComponent, createVNode, renderSlot, h } from 'vue';
2
2
  import '../../../utils/index.mjs';
3
3
  import '../../../hooks/index.mjs';
4
- import '../../config-provider/index.mjs';
5
4
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
- import { useGlobalComponentSettings } from '../../config-provider/src/hooks/use-global-config.mjs';
7
5
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
8
6
  import { useSameTarget } from '../../../hooks/use-same-target/index.mjs';
9
7
  import { PatchFlags } from '../../../utils/vue/vnode.mjs';
@@ -26,9 +24,6 @@ const overlayProps = buildProps({
26
24
  },
27
25
  zIndex: {
28
26
  type: definePropType([String, Number])
29
- },
30
- isGlobal: {
31
- type: Boolean
32
27
  }
33
28
  });
34
29
  const overlayEmits = {
@@ -40,7 +35,7 @@ var Overlay = defineComponent({
40
35
  props: overlayProps,
41
36
  emits: overlayEmits,
42
37
  setup(props, { slots, emit }) {
43
- const ns = props.isGlobal ? useGlobalComponentSettings(BLOCK).ns : useNamespace(BLOCK);
38
+ const ns = useNamespace(BLOCK);
44
39
  const onMaskClick = (e) => {
45
40
  emit("click", e);
46
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.mjs","sources":["../../../../../../packages/components/overlay/src/overlay.ts"],"sourcesContent":["import { createVNode, defineComponent, h, renderSlot } from 'vue'\nimport { PatchFlags, buildProps, definePropType } from '@element-plus/utils'\nimport { useNamespace, useSameTarget } from '@element-plus/hooks'\nimport { useGlobalComponentSettings } from '@element-plus/components/config-provider'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\n\nexport const overlayProps = buildProps({\n mask: {\n type: Boolean,\n default: true,\n },\n customMaskEvent: {\n type: Boolean,\n default: false,\n },\n overlayClass: {\n type: definePropType<string | string[] | Record<string, boolean>>([\n String,\n Array,\n Object,\n ]),\n },\n zIndex: {\n type: definePropType<ZIndexProperty>([String, Number]),\n },\n isGlobal: {\n type: Boolean,\n },\n} as const)\nexport type OverlayProps = ExtractPropTypes<typeof overlayProps>\n\nexport const overlayEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type OverlayEmits = typeof overlayEmits\n\nconst BLOCK = 'overlay'\n\nexport default defineComponent({\n name: 'ElOverlay',\n\n props: overlayProps,\n emits: overlayEmits,\n\n setup(props, { slots, emit }) {\n // No reactivity on this prop because when its rendering with a global\n // component, this will be a constant flag.\n const ns = props.isGlobal\n ? useGlobalComponentSettings(BLOCK).ns\n : useNamespace(BLOCK)\n\n const onMaskClick = (e: MouseEvent) => {\n emit('click', e)\n }\n\n const { onClick, onMousedown, onMouseup } = useSameTarget(\n props.customMaskEvent ? undefined : onMaskClick\n )\n\n // init here\n return () => {\n // when the vnode meets the same structure but with different change trigger\n // it will not automatically update, thus we simply use h function to manage updating\n return props.mask\n ? createVNode(\n 'div',\n {\n class: [ns.b(), props.overlayClass],\n style: {\n zIndex: props.zIndex,\n },\n onClick,\n onMousedown,\n onMouseup,\n },\n [renderSlot(slots, 'default')],\n PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS,\n ['onClick', 'onMouseup', 'onMousedown']\n )\n : h(\n 'div',\n {\n class: props.overlayClass,\n style: {\n zIndex: props.zIndex,\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n } as CSSProperties,\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n"],"names":[],"mappings":";;;;;;;;;;AAIY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE;AACF,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,cAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;AAChC,IAAI,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3F,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;AAC5G,IAAI,OAAO,MAAM;AACjB,MAAM,OAAO,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE;AAC7C,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;AAC3C,QAAQ,KAAK,EAAE;AACf,UAAU,MAAM,EAAE,KAAK,CAAC,MAAM;AAC9B,SAAS;AACT,QAAQ,OAAO;AACf,QAAQ,WAAW;AACnB,QAAQ,SAAS;AACjB,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;AACrJ,QAAQ,KAAK,EAAE,KAAK,CAAC,YAAY;AACjC,QAAQ,KAAK,EAAE;AACf,UAAU,MAAM,EAAE,KAAK,CAAC,MAAM;AAC9B,UAAU,QAAQ,EAAE,OAAO;AAC3B,UAAU,GAAG,EAAE,KAAK;AACpB,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,MAAM,EAAE,KAAK;AACvB,UAAU,IAAI,EAAE,KAAK;AACrB,SAAS;AACT,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACzC,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"overlay.mjs","sources":["../../../../../../packages/components/overlay/src/overlay.ts"],"sourcesContent":["import { createVNode, defineComponent, h, renderSlot } from 'vue'\nimport { PatchFlags, buildProps, definePropType } from '@element-plus/utils'\nimport { useNamespace, useSameTarget } from '@element-plus/hooks'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\n\nexport const overlayProps = buildProps({\n mask: {\n type: Boolean,\n default: true,\n },\n customMaskEvent: {\n type: Boolean,\n default: false,\n },\n overlayClass: {\n type: definePropType<string | string[] | Record<string, boolean>>([\n String,\n Array,\n Object,\n ]),\n },\n zIndex: {\n type: definePropType<ZIndexProperty>([String, Number]),\n },\n} as const)\nexport type OverlayProps = ExtractPropTypes<typeof overlayProps>\n\nexport const overlayEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n}\nexport type OverlayEmits = typeof overlayEmits\n\nconst BLOCK = 'overlay'\n\nexport default defineComponent({\n name: 'ElOverlay',\n\n props: overlayProps,\n emits: overlayEmits,\n\n setup(props, { slots, emit }) {\n // No reactivity on this prop because when its rendering with a global\n // component, this will be a constant flag.\n const ns = useNamespace(BLOCK)\n\n const onMaskClick = (e: MouseEvent) => {\n emit('click', e)\n }\n\n const { onClick, onMousedown, onMouseup } = useSameTarget(\n props.customMaskEvent ? undefined : onMaskClick\n )\n\n // init here\n return () => {\n // when the vnode meets the same structure but with different change trigger\n // it will not automatically update, thus we simply use h function to manage updating\n return props.mask\n ? createVNode(\n 'div',\n {\n class: [ns.b(), props.overlayClass],\n style: {\n zIndex: props.zIndex,\n },\n onClick,\n onMousedown,\n onMouseup,\n },\n [renderSlot(slots, 'default')],\n PatchFlags.STYLE | PatchFlags.CLASS | PatchFlags.PROPS,\n ['onClick', 'onMouseup', 'onMousedown']\n )\n : h(\n 'div',\n {\n class: props.overlayClass,\n style: {\n zIndex: props.zIndex,\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n } as CSSProperties,\n },\n [renderSlot(slots, 'default')]\n )\n }\n },\n})\n"],"names":[],"mappings":";;;;;;;;AAGY,MAAC,YAAY,GAAG,UAAU,CAAC;AACvC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC;AACN,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,GAAG;AACH,CAAC,EAAE;AACS,MAAC,YAAY,GAAG;AAC5B,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,GAAG,YAAY,UAAU;AAC3C,EAAE;AACF,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,cAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;AAChC,IAAI,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACvB,KAAK,CAAC;AACN,IAAI,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC;AAC5G,IAAI,OAAO,MAAM;AACjB,MAAM,OAAO,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE;AAC7C,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC;AAC3C,QAAQ,KAAK,EAAE;AACf,UAAU,MAAM,EAAE,KAAK,CAAC,MAAM;AAC9B,SAAS;AACT,QAAQ,OAAO;AACf,QAAQ,WAAW;AACnB,QAAQ,SAAS;AACjB,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;AACrJ,QAAQ,KAAK,EAAE,KAAK,CAAC,YAAY;AACjC,QAAQ,KAAK,EAAE;AACf,UAAU,MAAM,EAAE,KAAK,CAAC,MAAM;AAC9B,UAAU,QAAQ,EAAE,OAAO;AAC3B,UAAU,GAAG,EAAE,KAAK;AACpB,UAAU,KAAK,EAAE,KAAK;AACtB,UAAU,MAAM,EAAE,KAAK;AACvB,UAAU,IAAI,EAAE,KAAK;AACrB,SAAS;AACT,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACzC,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}
@@ -1,24 +1,47 @@
1
1
  import { defineComponent } from 'vue';
2
+ import '../../../utils/index.mjs';
3
+ import { isString, isFunction } from '@vue/shared';
2
4
 
3
5
  var ElOptions = defineComponent({
4
6
  name: "ElOptions",
5
7
  emits: ["update-options"],
6
8
  setup(_, { slots, emit }) {
9
+ let cachedOptions = [];
10
+ function isSameOptions(a, b) {
11
+ if (a.length !== b.length)
12
+ return false;
13
+ for (const [index] of a.entries()) {
14
+ if (a[index] != b[index]) {
15
+ return false;
16
+ }
17
+ }
18
+ return true;
19
+ }
7
20
  return () => {
8
- var _a, _b, _c, _d;
21
+ var _a, _b;
9
22
  const children = (_a = slots.default) == null ? void 0 : _a.call(slots);
23
+ const filteredOptions = [];
24
+ function filterOptions(children2) {
25
+ if (!Array.isArray(children2))
26
+ return;
27
+ children2.forEach((item) => {
28
+ var _a2, _b2, _c, _d;
29
+ const name = (_a2 = (item == null ? void 0 : item.type) || {}) == null ? void 0 : _a2.name;
30
+ if (name === "ElOptionGroup") {
31
+ filterOptions(!isString(item.children) && !Array.isArray(item.children) && isFunction((_b2 = item.children) == null ? void 0 : _b2.default) ? (_c = item.children) == null ? void 0 : _c.default() : item.children);
32
+ } else if (name === "ElOption") {
33
+ filteredOptions.push((_d = item.props) == null ? void 0 : _d.label);
34
+ } else if (Array.isArray(item.children)) {
35
+ filterOptions(item.children);
36
+ }
37
+ });
38
+ }
10
39
  if (children.length) {
11
- const options = ((_d = (_c = (_b = children[0]) == null ? void 0 : _b.children) == null ? void 0 : _c[0]) == null ? void 0 : _d.children) || [];
12
- if (options && options.length) {
13
- const filteredOptions = options.filter((item) => {
14
- var _a2;
15
- return ((_a2 = (item == null ? void 0 : item.type) || {}) == null ? void 0 : _a2.name) === "ElOption";
16
- }).map((item) => {
17
- var _a2;
18
- return (_a2 = item.props) == null ? void 0 : _a2.label;
19
- });
20
- emit("update-options", filteredOptions);
21
- }
40
+ filterOptions((_b = children[0]) == null ? void 0 : _b.children);
41
+ }
42
+ if (!isSameOptions(filteredOptions, cachedOptions)) {
43
+ cachedOptions = filteredOptions;
44
+ emit("update-options", filteredOptions);
22
45
  }
23
46
  return children;
24
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"options.mjs","sources":["../../../../../../packages/components/select/src/options.ts"],"sourcesContent":["import { defineComponent } from 'vue'\n\nimport type { Component, VNode } from 'vue'\n\nexport default defineComponent({\n name: 'ElOptions',\n emits: ['update-options'],\n setup(_, { slots, emit }) {\n return () => {\n const children = slots.default?.()!\n\n if (children.length) {\n const options = (children![0]?.children as VNode[])?.[0]?.children || []\n if (options && options.length) {\n const filteredOptions = (options as VNode[])\n .filter(\n (item: VNode) =>\n ((item?.type || {}) as Component)?.name === 'ElOption'\n )\n .map((item: VNode) => item.props?.label)\n\n emit('update-options', filteredOptions)\n }\n }\n\n return children\n }\n },\n})\n"],"names":[],"mappings":";;AACA,gBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC;AAC3B,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;AAC5B,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzB,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9E,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC3B,QAAQ,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC;AACxJ,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;AACvC,UAAU,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC3D,YAAY,IAAI,GAAG,CAAC;AACpB,YAAY,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,UAAU,CAAC;AAClH,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,GAAG,CAAC;AACpB,YAAY,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;AACnE,WAAW,CAAC,CAAC;AACb,UAAU,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAClD,SAAS;AACT,OAAO;AACP,MAAM,OAAO,QAAQ,CAAC;AACtB,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"options.mjs","sources":["../../../../../../packages/components/select/src/options.ts"],"sourcesContent":["import { defineComponent } from 'vue'\nimport { isFunction, isString } from '@element-plus/utils'\nimport type { Component, VNode, VNodeNormalizedChildren } from 'vue'\n\nexport default defineComponent({\n name: 'ElOptions',\n emits: ['update-options'],\n setup(_, { slots, emit }) {\n let cachedOptions: any[] = []\n\n function isSameOptions(a: any[], b: any[]) {\n if (a.length !== b.length) return false\n for (const [index] of a.entries()) {\n if (a[index] != b[index]) {\n return false\n }\n }\n return true\n }\n\n return () => {\n const children = slots.default?.()!\n const filteredOptions: any[] = []\n\n function filterOptions(children?: VNodeNormalizedChildren) {\n if (!Array.isArray(children)) return\n ;(children as VNode[]).forEach((item) => {\n const name = ((item?.type || {}) as Component)?.name\n\n if (name === 'ElOptionGroup') {\n filterOptions(\n !isString(item.children) &&\n !Array.isArray(item.children) &&\n isFunction(item.children?.default)\n ? item.children?.default()\n : item.children\n )\n } else if (name === 'ElOption') {\n filteredOptions.push(item.props?.label)\n } else if (Array.isArray(item.children)) {\n filterOptions(item.children)\n }\n })\n }\n\n if (children.length) {\n filterOptions(children![0]?.children)\n }\n\n if (!isSameOptions(filteredOptions, cachedOptions)) {\n cachedOptions = filteredOptions\n emit('update-options', filteredOptions)\n }\n\n return children\n }\n },\n})\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import { inject, ref, h } from 'vue';
2
2
  import { debounce } from 'lodash-unified';
3
3
  import '../../../../utils/index.mjs';
4
+ import '../../../../hooks/index.mjs';
4
5
  import { getCell, getColumnByCell, createTablePopper } from '../util.mjs';
5
6
  import { TABLE_INJECTION_KEY } from '../tokens.mjs';
7
+ import { useZIndex } from '../../../../hooks/use-z-index/index.mjs';
6
8
  import { hasClass, getStyle } from '../../../../utils/dom/style.mjs';
7
9
 
8
10
  function useEvents(props) {
9
11
  const parent = inject(TABLE_INJECTION_KEY);
10
12
  const tooltipContent = ref("");
11
13
  const tooltipTrigger = ref(h("div"));
14
+ const { nextZIndex } = useZIndex();
12
15
  const handleEvent = (event, row, name) => {
13
16
  var _a;
14
17
  const table = parent;
@@ -66,7 +69,7 @@ function useEvents(props) {
66
69
  const rangeWidth = Math.round(range.getBoundingClientRect().width);
67
70
  const padding = (Number.parseInt(getStyle(cellChild, "paddingLeft"), 10) || 0) + (Number.parseInt(getStyle(cellChild, "paddingRight"), 10) || 0);
68
71
  if (rangeWidth + padding > cellChild.offsetWidth || cellChild.scrollWidth > cellChild.offsetWidth) {
69
- createTablePopper(parent == null ? void 0 : parent.refs.tableWrapper, cell, cell.innerText || cell.textContent, tooltipOptions);
72
+ createTablePopper(parent == null ? void 0 : parent.refs.tableWrapper, cell, cell.innerText || cell.textContent, nextZIndex, tooltipOptions);
70
73
  }
71
74
  };
72
75
  const handleCellMouseLeave = (event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"events-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-body/events-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { h, inject, ref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { getStyle, hasClass } from '@element-plus/utils'\nimport { createTablePopper, getCell, getColumnByCell } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nfunction useEvents<T>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const tooltipContent = ref('')\n const tooltipTrigger = ref(h('div'))\n const handleEvent = (event: Event, row: T, name: string) => {\n const table = parent\n const cell = getCell(event)\n let column: TableColumnCtx<T>\n const namespace = table?.vnode.el?.dataset.prefix\n if (cell) {\n column = getColumnByCell(\n {\n columns: props.store.states.columns.value,\n },\n cell,\n namespace\n )\n if (column) {\n table?.emit(`cell-${name}`, row, column, cell, event)\n }\n }\n table?.emit(`row-${name}`, row, column, event)\n }\n const handleDoubleClick = (event: Event, row: T) => {\n handleEvent(event, row, 'dblclick')\n }\n const handleClick = (event: Event, row: T) => {\n props.store.commit('setCurrentRow', row)\n handleEvent(event, row, 'click')\n }\n const handleContextMenu = (event: Event, row: T) => {\n handleEvent(event, row, 'contextmenu')\n }\n const handleMouseEnter = debounce((index: number) => {\n props.store.commit('setHoverRow', index)\n }, 30)\n const handleMouseLeave = debounce(() => {\n props.store.commit('setHoverRow', null)\n }, 30)\n const handleCellMouseEnter = (\n event: MouseEvent,\n row: T,\n tooltipOptions: TableOverflowTooltipOptions\n ) => {\n const table = parent\n const cell = getCell(event)\n const namespace = table?.vnode.el?.dataset.prefix\n if (cell) {\n const column = getColumnByCell(\n {\n columns: props.store.states.columns.value,\n },\n cell,\n namespace\n )\n const hoverState = (table.hoverState = { cell, column, row })\n table?.emit(\n 'cell-mouse-enter',\n hoverState.row,\n hoverState.column,\n hoverState.cell,\n event\n )\n }\n\n if (!tooltipOptions) {\n return\n }\n\n // 判断是否text-overflow, 如果是就显示tooltip\n const cellChild = (event.target as HTMLElement).querySelector(\n '.cell'\n ) as HTMLElement\n if (\n !(\n hasClass(cellChild, `${namespace}-tooltip`) &&\n cellChild.childNodes.length\n )\n ) {\n return\n }\n // use range width instead of scrollWidth to determine whether the text is overflowing\n // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3\n const range = document.createRange()\n range.setStart(cellChild, 0)\n range.setEnd(cellChild, cellChild.childNodes.length)\n /** detail: https://github.com/element-plus/element-plus/issues/10790\n * What went wrong?\n * UI > Browser > Zoom, In Blink/WebKit, getBoundingClientRect() sometimes returns inexact values, probably due to lost precision during internal calculations. In the example above:\n * - Expected: 188\n * - Actual: 188.00000762939453\n */\n const rangeWidth = Math.round(range.getBoundingClientRect().width)\n const padding =\n (Number.parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) +\n (Number.parseInt(getStyle(cellChild, 'paddingRight'), 10) || 0)\n if (\n rangeWidth + padding > cellChild.offsetWidth ||\n cellChild.scrollWidth > cellChild.offsetWidth\n ) {\n createTablePopper(\n parent?.refs.tableWrapper,\n cell,\n cell.innerText || cell.textContent,\n tooltipOptions\n )\n }\n }\n const handleCellMouseLeave = (event) => {\n const cell = getCell(event)\n if (!cell) return\n\n const oldHoverState = parent?.hoverState\n parent?.emit(\n 'cell-mouse-leave',\n oldHoverState?.row,\n oldHoverState?.column,\n oldHoverState?.cell,\n event\n )\n }\n\n return {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useEvents\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-body/events-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { h, inject, ref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { getStyle, hasClass } from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { createTablePopper, getCell, getColumnByCell } from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nfunction useEvents<T>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)\n const tooltipContent = ref('')\n const tooltipTrigger = ref(h('div'))\n const { nextZIndex } = useZIndex()\n const handleEvent = (event: Event, row: T, name: string) => {\n const table = parent\n const cell = getCell(event)\n let column: TableColumnCtx<T>\n const namespace = table?.vnode.el?.dataset.prefix\n if (cell) {\n column = getColumnByCell(\n {\n columns: props.store.states.columns.value,\n },\n cell,\n namespace\n )\n if (column) {\n table?.emit(`cell-${name}`, row, column, cell, event)\n }\n }\n table?.emit(`row-${name}`, row, column, event)\n }\n const handleDoubleClick = (event: Event, row: T) => {\n handleEvent(event, row, 'dblclick')\n }\n const handleClick = (event: Event, row: T) => {\n props.store.commit('setCurrentRow', row)\n handleEvent(event, row, 'click')\n }\n const handleContextMenu = (event: Event, row: T) => {\n handleEvent(event, row, 'contextmenu')\n }\n const handleMouseEnter = debounce((index: number) => {\n props.store.commit('setHoverRow', index)\n }, 30)\n const handleMouseLeave = debounce(() => {\n props.store.commit('setHoverRow', null)\n }, 30)\n const handleCellMouseEnter = (\n event: MouseEvent,\n row: T,\n tooltipOptions: TableOverflowTooltipOptions\n ) => {\n const table = parent\n const cell = getCell(event)\n const namespace = table?.vnode.el?.dataset.prefix\n if (cell) {\n const column = getColumnByCell(\n {\n columns: props.store.states.columns.value,\n },\n cell,\n namespace\n )\n const hoverState = (table.hoverState = { cell, column, row })\n table?.emit(\n 'cell-mouse-enter',\n hoverState.row,\n hoverState.column,\n hoverState.cell,\n event\n )\n }\n\n if (!tooltipOptions) {\n return\n }\n\n // 判断是否text-overflow, 如果是就显示tooltip\n const cellChild = (event.target as HTMLElement).querySelector(\n '.cell'\n ) as HTMLElement\n if (\n !(\n hasClass(cellChild, `${namespace}-tooltip`) &&\n cellChild.childNodes.length\n )\n ) {\n return\n }\n // use range width instead of scrollWidth to determine whether the text is overflowing\n // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3\n const range = document.createRange()\n range.setStart(cellChild, 0)\n range.setEnd(cellChild, cellChild.childNodes.length)\n /** detail: https://github.com/element-plus/element-plus/issues/10790\n * What went wrong?\n * UI > Browser > Zoom, In Blink/WebKit, getBoundingClientRect() sometimes returns inexact values, probably due to lost precision during internal calculations. In the example above:\n * - Expected: 188\n * - Actual: 188.00000762939453\n */\n const rangeWidth = Math.round(range.getBoundingClientRect().width)\n const padding =\n (Number.parseInt(getStyle(cellChild, 'paddingLeft'), 10) || 0) +\n (Number.parseInt(getStyle(cellChild, 'paddingRight'), 10) || 0)\n if (\n rangeWidth + padding > cellChild.offsetWidth ||\n cellChild.scrollWidth > cellChild.offsetWidth\n ) {\n createTablePopper(\n parent?.refs.tableWrapper,\n cell,\n cell.innerText || cell.textContent,\n nextZIndex,\n tooltipOptions\n )\n }\n }\n const handleCellMouseLeave = (event) => {\n const cell = getCell(event)\n if (!cell) return\n\n const oldHoverState = parent?.hoverState\n parent?.emit(\n 'cell-mouse-leave',\n oldHoverState?.row,\n oldHoverState?.column,\n oldHoverState?.cell,\n event\n )\n }\n\n return {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useEvents\n"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare function compose(...funcs: any[]): any;
26
26
  export declare function toggleRowStatus<T>(statusArr: T[], row: T, newVal: boolean): boolean;
27
27
  export declare function walkTreeNode(root: any, cb: any, childrenKey?: string, lazyKey?: string): void;
28
28
  export declare let removePopper: any;
29
- export declare function createTablePopper(parentNode: HTMLElement | undefined, trigger: HTMLElement, popperContent: string, tooltipOptions?: TableOverflowTooltipOptions): Nullable<{
29
+ export declare function createTablePopper(parentNode: HTMLElement | undefined, trigger: HTMLElement, popperContent: string, nextZIndex: () => number, tooltipOptions?: TableOverflowTooltipOptions): Nullable<{
30
30
  $: import("vue").ComponentInternalInstance;
31
31
  $data: {};
32
32
  $props: Partial<{
@@ -6,7 +6,6 @@ import '../../../hooks/index.mjs';
6
6
  import { isObject, hasOwn, isArray } from '@vue/shared';
7
7
  import { throwError } from '../../../utils/error.mjs';
8
8
  import { isBoolean } from '@vueuse/core';
9
- import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
10
9
  import { useDelayedToggle } from '../../../hooks/use-delayed-toggle/index.mjs';
11
10
 
12
11
  const getCell = function(event) {
@@ -237,12 +236,11 @@ function walkTreeNode(root, cb, childrenKey = "children", lazyKey = "hasChildren
237
236
  });
238
237
  }
239
238
  let removePopper;
240
- function createTablePopper(parentNode, trigger, popperContent, tooltipOptions) {
239
+ function createTablePopper(parentNode, trigger, popperContent, nextZIndex, tooltipOptions) {
241
240
  tooltipOptions = merge({
242
241
  enterable: true,
243
242
  showArrow: true
244
243
  }, tooltipOptions);
245
- const { nextZIndex } = useZIndex();
246
244
  const ns = parentNode == null ? void 0 : parentNode.dataset.prefix;
247
245
  const scrollContainer = parentNode == null ? void 0 : parentNode.querySelector(`.${ns}-scrollbar__wrap`);
248
246
  function renderContent() {
@@ -1 +1 @@
1
- {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["// @ts-nocheck\nimport { createPopper } from '@popperjs/core'\nimport { flatMap, get, merge } from 'lodash-unified'\nimport escapeHtml from 'escape-html'\nimport {\n hasOwn,\n isArray,\n isBoolean,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { useDelayedToggle, useZIndex } from '@element-plus/hooks'\nimport type { PopperInstance } from '@element-plus/components/popper'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { ElTooltipProps } from '@element-plus/components/tooltip'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n // | 'transition'\n >\n>\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map((by) => {\n if (typeof by === 'string') {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? get(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map((value, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (const element of key) {\n current = current[element]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Record<string, any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number | string {\n if (width === '') return width\n if (width !== undefined) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (minWidth !== undefined) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n if (isArray(row.children)) {\n row.children.forEach((item) => {\n toggleRowStatus(statusArr, item, newVal ?? !included)\n })\n }\n }\n\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n parentNode: HTMLElement | undefined,\n trigger: HTMLElement,\n popperContent: string,\n tooltipOptions?: TableOverflowTooltipOptions\n) {\n // TODO transition\n tooltipOptions = merge(\n {\n enterable: true,\n showArrow: true,\n } as TableOverflowTooltipOptions,\n tooltipOptions\n )\n const { nextZIndex } = useZIndex()\n const ns = parentNode?.dataset.prefix\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n function renderContent(): HTMLDivElement {\n const isLight = tooltipOptions.effect === 'light'\n const content = document.createElement('div')\n content.className = [\n `${ns}-popper`,\n isLight ? 'is-light' : 'is-dark',\n tooltipOptions.popperClass || '',\n ].join(' ')\n popperContent = escapeHtml(popperContent)\n content.innerHTML = popperContent\n content.style.zIndex = String(nextZIndex())\n // Avoid side effects caused by append to body\n parentNode?.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = `${ns}-popper__arrow`\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper?.()\n removePopper = () => {\n try {\n popperInstance && popperInstance.destroy()\n content && parentNode?.removeChild(content)\n trigger.removeEventListener('mouseenter', onOpen)\n trigger.removeEventListener('mouseleave', onClose)\n scrollContainer?.removeEventListener('scroll', removePopper)\n removePopper = undefined\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n let onOpen = showPopper\n let onClose = removePopper\n if (tooltipOptions.enterable) {\n ;({ onOpen, onClose } = useDelayedToggle({\n showAfter: tooltipOptions.showAfter,\n hideAfter: tooltipOptions.hideAfter,\n open: showPopper,\n close: removePopper,\n }))\n }\n const content = renderContent()\n content.onmouseenter = onOpen\n content.onmouseleave = onClose\n const modifiers = []\n if (tooltipOptions.offset) {\n modifiers.push({\n name: 'offset',\n options: {\n offset: [0, tooltipOptions.offset],\n },\n })\n }\n if (tooltipOptions.showArrow) {\n const arrow = content.appendChild(renderArrow())\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n })\n }\n const popperOptions = tooltipOptions.popperOptions || {}\n popperInstance = createPopper(trigger, content, {\n placement: tooltipOptions.placement || 'top',\n strategy: 'fixed',\n ...popperOptions,\n modifiers: popperOptions.modifiers\n ? modifiers.concat(popperOptions.modifiers)\n : modifiers,\n })\n trigger.addEventListener('mouseenter', onOpen)\n trigger.addEventListener('mouseleave', onClose)\n scrollContainer?.addEventListener('scroll', removePopper)\n return popperInstance\n}\n\nfunction getCurrentColumns<T>(column: TableColumnCtx<T>): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T>(colSpan: number, column: TableColumnCtx<T>) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T>(\n namespace: string,\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T>(offset: number, column: TableColumnCtx<T>) {\n return (\n offset +\n (column.realWidth === null || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: any = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (style, key: string) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px`\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/table/src/util.ts"],"sourcesContent":["// @ts-nocheck\nimport { createPopper } from '@popperjs/core'\nimport { flatMap, get, merge } from 'lodash-unified'\nimport escapeHtml from 'escape-html'\nimport {\n hasOwn,\n isArray,\n isBoolean,\n isObject,\n throwError,\n} from '@element-plus/utils'\nimport { useDelayedToggle } from '@element-plus/hooks'\nimport type { PopperInstance } from '@element-plus/components/popper'\nimport type { Nullable } from '@element-plus/utils'\nimport type { TableColumnCtx } from './table-column/defaults'\nimport type { ElTooltipProps } from '@element-plus/components/tooltip'\n\nexport type TableOverflowTooltipOptions = Partial<\n Pick<\n ElTooltipProps,\n | 'effect'\n | 'enterable'\n | 'hideAfter'\n | 'offset'\n | 'placement'\n | 'popperClass'\n | 'popperOptions'\n | 'showAfter'\n | 'showArrow'\n // | 'transition'\n >\n>\n\nexport const getCell = function (event: Event) {\n return (event.target as HTMLElement)?.closest('td')\n}\n\nexport const orderBy = function <T>(\n array: T[],\n sortKey: string,\n reverse: string | number,\n sortMethod,\n sortBy: string | (string | ((a: T, b: T, array?: T[]) => number))[]\n) {\n if (\n !sortKey &&\n !sortMethod &&\n (!sortBy || (Array.isArray(sortBy) && !sortBy.length))\n ) {\n return array\n }\n if (typeof reverse === 'string') {\n reverse = reverse === 'descending' ? -1 : 1\n } else {\n reverse = reverse && reverse < 0 ? -1 : 1\n }\n const getKey = sortMethod\n ? null\n : function (value, index) {\n if (sortBy) {\n if (!Array.isArray(sortBy)) {\n sortBy = [sortBy]\n }\n return sortBy.map((by) => {\n if (typeof by === 'string') {\n return get(value, by)\n } else {\n return by(value, index, array)\n }\n })\n }\n if (sortKey !== '$key') {\n if (isObject(value) && '$value' in value) value = value.$value\n }\n return [isObject(value) ? get(value, sortKey) : value]\n }\n const compare = function (a, b) {\n if (sortMethod) {\n return sortMethod(a.value, b.value)\n }\n for (let i = 0, len = a.key.length; i < len; i++) {\n if (a.key[i] < b.key[i]) {\n return -1\n }\n if (a.key[i] > b.key[i]) {\n return 1\n }\n }\n return 0\n }\n return array\n .map((value, index) => {\n return {\n value,\n index,\n key: getKey ? getKey(value, index) : null,\n }\n })\n .sort((a, b) => {\n let order = compare(a, b)\n if (!order) {\n // make stable https://en.wikipedia.org/wiki/Sorting_algorithm#Stability\n order = a.index - b.index\n }\n return order * +reverse\n })\n .map((item) => item.value)\n}\n\nexport const getColumnById = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnId: string\n): null | TableColumnCtx<T> {\n let column = null\n table.columns.forEach((item) => {\n if (item.id === columnId) {\n column = item\n }\n })\n return column\n}\n\nexport const getColumnByKey = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n columnKey: string\n): TableColumnCtx<T> {\n let column = null\n for (let i = 0; i < table.columns.length; i++) {\n const item = table.columns[i]\n if (item.columnKey === columnKey) {\n column = item\n break\n }\n }\n if (!column)\n throwError('ElTable', `No column matching with column-key: ${columnKey}`)\n return column\n}\n\nexport const getColumnByCell = function <T>(\n table: {\n columns: TableColumnCtx<T>[]\n },\n cell: HTMLElement,\n namespace: string\n): null | TableColumnCtx<T> {\n const matches = (cell.className || '').match(\n new RegExp(`${namespace}-table_[^\\\\s]+`, 'gm')\n )\n if (matches) {\n return getColumnById(table, matches[0])\n }\n return null\n}\n\nexport const getRowIdentity = <T>(\n row: T,\n rowKey: string | ((row: T) => any)\n): string => {\n if (!row) throw new Error('Row is required when get row identity')\n if (typeof rowKey === 'string') {\n if (!rowKey.includes('.')) {\n return `${row[rowKey]}`\n }\n const key = rowKey.split('.')\n let current = row\n for (const element of key) {\n current = current[element]\n }\n return `${current}`\n } else if (typeof rowKey === 'function') {\n return rowKey.call(null, row)\n }\n}\n\nexport const getKeysMap = function <T>(\n array: T[],\n rowKey: string\n): Record<string, { row: T; index: number }> {\n const arrayMap = {}\n ;(array || []).forEach((row, index) => {\n arrayMap[getRowIdentity(row, rowKey)] = { row, index }\n })\n return arrayMap\n}\n\nexport function mergeOptions<T, K>(defaults: T, config: K): T & K {\n const options = {} as T & K\n let key\n for (key in defaults) {\n options[key] = defaults[key]\n }\n for (key in config) {\n if (hasOwn(config as unknown as Record<string, any>, key)) {\n const value = config[key]\n if (typeof value !== 'undefined') {\n options[key] = value\n }\n }\n }\n return options\n}\n\nexport function parseWidth(width: number | string): number | string {\n if (width === '') return width\n if (width !== undefined) {\n width = Number.parseInt(width as string, 10)\n if (Number.isNaN(width)) {\n width = ''\n }\n }\n return width\n}\n\nexport function parseMinWidth(minWidth: number | string): number | string {\n if (minWidth === '') return minWidth\n if (minWidth !== undefined) {\n minWidth = parseWidth(minWidth)\n if (Number.isNaN(minWidth)) {\n minWidth = 80\n }\n }\n return minWidth\n}\n\nexport function parseHeight(height: number | string) {\n if (typeof height === 'number') {\n return height\n }\n if (typeof height === 'string') {\n if (/^\\d+(?:px)?$/.test(height)) {\n return Number.parseInt(height, 10)\n } else {\n return height\n }\n }\n return null\n}\n\n// https://github.com/reduxjs/redux/blob/master/src/compose.js\nexport function compose(...funcs) {\n if (funcs.length === 0) {\n return (arg) => arg\n }\n if (funcs.length === 1) {\n return funcs[0]\n }\n return funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args))\n )\n}\n\nexport function toggleRowStatus<T>(\n statusArr: T[],\n row: T,\n newVal: boolean\n): boolean {\n let changed = false\n const index = statusArr.indexOf(row)\n const included = index !== -1\n\n const toggleStatus = (type: 'add' | 'remove') => {\n if (type === 'add') {\n statusArr.push(row)\n } else {\n statusArr.splice(index, 1)\n }\n changed = true\n if (isArray(row.children)) {\n row.children.forEach((item) => {\n toggleRowStatus(statusArr, item, newVal ?? !included)\n })\n }\n }\n\n if (isBoolean(newVal)) {\n if (newVal && !included) {\n toggleStatus('add')\n } else if (!newVal && included) {\n toggleStatus('remove')\n }\n } else {\n included ? toggleStatus('remove') : toggleStatus('add')\n }\n return changed\n}\n\nexport function walkTreeNode(\n root,\n cb,\n childrenKey = 'children',\n lazyKey = 'hasChildren'\n) {\n const isNil = (array) => !(Array.isArray(array) && array.length)\n\n function _walker(parent, children, level) {\n cb(parent, children, level)\n children.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, level + 1)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, level + 1)\n }\n })\n }\n\n root.forEach((item) => {\n if (item[lazyKey]) {\n cb(item, null, 0)\n return\n }\n const children = item[childrenKey]\n if (!isNil(children)) {\n _walker(item, children, 0)\n }\n })\n}\n\nexport let removePopper\n\nexport function createTablePopper(\n parentNode: HTMLElement | undefined,\n trigger: HTMLElement,\n popperContent: string,\n nextZIndex: () => number,\n tooltipOptions?: TableOverflowTooltipOptions\n) {\n // TODO transition\n tooltipOptions = merge(\n {\n enterable: true,\n showArrow: true,\n } as TableOverflowTooltipOptions,\n tooltipOptions\n )\n const ns = parentNode?.dataset.prefix\n const scrollContainer = parentNode?.querySelector(`.${ns}-scrollbar__wrap`)\n function renderContent(): HTMLDivElement {\n const isLight = tooltipOptions.effect === 'light'\n const content = document.createElement('div')\n content.className = [\n `${ns}-popper`,\n isLight ? 'is-light' : 'is-dark',\n tooltipOptions.popperClass || '',\n ].join(' ')\n popperContent = escapeHtml(popperContent)\n content.innerHTML = popperContent\n content.style.zIndex = String(nextZIndex())\n // Avoid side effects caused by append to body\n parentNode?.appendChild(content)\n return content\n }\n function renderArrow(): HTMLDivElement {\n const arrow = document.createElement('div')\n arrow.className = `${ns}-popper__arrow`\n return arrow\n }\n function showPopper() {\n popperInstance && popperInstance.update()\n }\n removePopper?.()\n removePopper = () => {\n try {\n popperInstance && popperInstance.destroy()\n content && parentNode?.removeChild(content)\n trigger.removeEventListener('mouseenter', onOpen)\n trigger.removeEventListener('mouseleave', onClose)\n scrollContainer?.removeEventListener('scroll', removePopper)\n removePopper = undefined\n } catch {}\n }\n let popperInstance: Nullable<PopperInstance> = null\n let onOpen = showPopper\n let onClose = removePopper\n if (tooltipOptions.enterable) {\n ;({ onOpen, onClose } = useDelayedToggle({\n showAfter: tooltipOptions.showAfter,\n hideAfter: tooltipOptions.hideAfter,\n open: showPopper,\n close: removePopper,\n }))\n }\n const content = renderContent()\n content.onmouseenter = onOpen\n content.onmouseleave = onClose\n const modifiers = []\n if (tooltipOptions.offset) {\n modifiers.push({\n name: 'offset',\n options: {\n offset: [0, tooltipOptions.offset],\n },\n })\n }\n if (tooltipOptions.showArrow) {\n const arrow = content.appendChild(renderArrow())\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 10,\n },\n })\n }\n const popperOptions = tooltipOptions.popperOptions || {}\n popperInstance = createPopper(trigger, content, {\n placement: tooltipOptions.placement || 'top',\n strategy: 'fixed',\n ...popperOptions,\n modifiers: popperOptions.modifiers\n ? modifiers.concat(popperOptions.modifiers)\n : modifiers,\n })\n trigger.addEventListener('mouseenter', onOpen)\n trigger.addEventListener('mouseleave', onClose)\n scrollContainer?.addEventListener('scroll', removePopper)\n return popperInstance\n}\n\nfunction getCurrentColumns<T>(column: TableColumnCtx<T>): TableColumnCtx<T>[] {\n if (column.children) {\n return flatMap(column.children, getCurrentColumns)\n } else {\n return [column]\n }\n}\n\nfunction getColSpan<T>(colSpan: number, column: TableColumnCtx<T>) {\n return colSpan + column.colSpan\n}\n\nexport const isFixedColumn = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n let start = 0\n let after = index\n const columns = store.states.columns.value\n if (realColumns) {\n // fixed column supported in grouped header\n const curColumns = getCurrentColumns(realColumns[index])\n const preColumns = columns.slice(0, columns.indexOf(curColumns[0]))\n\n start = preColumns.reduce(getColSpan, 0)\n after = start + curColumns.reduce(getColSpan, 0) - 1\n } else {\n start = index\n }\n let fixedLayout\n switch (fixed) {\n case 'left':\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n }\n break\n case 'right':\n if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n break\n default:\n if (after < store.states.fixedLeafColumnsLength.value) {\n fixedLayout = 'left'\n } else if (\n start >=\n columns.length - store.states.rightFixedLeafColumnsLength.value\n ) {\n fixedLayout = 'right'\n }\n }\n return fixedLayout\n ? {\n direction: fixedLayout,\n start,\n after,\n }\n : {}\n}\n\nexport const getFixedColumnsClass = <T>(\n namespace: string,\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[],\n offset = 0\n) => {\n const classes: string[] = []\n const { direction, start, after } = isFixedColumn(\n index,\n fixed,\n store,\n realColumns\n )\n if (direction) {\n const isLeft = direction === 'left'\n classes.push(`${namespace}-fixed-column--${direction}`)\n if (\n isLeft &&\n after + offset === store.states.fixedLeafColumnsLength.value - 1\n ) {\n classes.push('is-last-column')\n } else if (\n !isLeft &&\n start - offset ===\n store.states.columns.value.length -\n store.states.rightFixedLeafColumnsLength.value\n ) {\n classes.push('is-first-column')\n }\n }\n return classes\n}\n\nfunction getOffset<T>(offset: number, column: TableColumnCtx<T>) {\n return (\n offset +\n (column.realWidth === null || Number.isNaN(column.realWidth)\n ? Number(column.width)\n : column.realWidth)\n )\n}\n\nexport const getFixedColumnOffset = <T>(\n index: number,\n fixed: string | boolean,\n store: any,\n realColumns?: TableColumnCtx<T>[]\n) => {\n const {\n direction,\n start = 0,\n after = 0,\n } = isFixedColumn(index, fixed, store, realColumns)\n if (!direction) {\n return\n }\n const styles: any = {}\n const isLeft = direction === 'left'\n const columns = store.states.columns.value\n if (isLeft) {\n styles.left = columns.slice(0, start).reduce(getOffset, 0)\n } else {\n styles.right = columns\n .slice(after + 1)\n .reverse()\n .reduce(getOffset, 0)\n }\n return styles\n}\n\nexport const ensurePosition = (style, key: string) => {\n if (!style) return\n if (!Number.isNaN(style[key])) {\n style[key] = `${style[key]}px`\n }\n}\n"],"names":[],"mappings":"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"}
@@ -39,7 +39,8 @@ const TableV2HeaderRow = defineComponent({
39
39
  }
40
40
  return createVNode("div", {
41
41
  "class": props.class,
42
- "style": style
42
+ "style": style,
43
+ "role": "row"
43
44
  }, [Cells]);
44
45
  };
45
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-row.mjs","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}>\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,eAAe,CAAC;AACvCC,EAAAA,IAAI,EAAE,oBADiC;AAEvCC,EAAAA,KAAK,EAAEC,qBAFgC;;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,OAAMS,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,WAAAA,CAAAA,KAAAA,EAAAA;AARmB,QAAA,OAArB,EAAA,KAAA,CAAA,KAAA;AAUD,QAAA,OAAA,EAAA,KAAA;;AAED,KAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"header-row.mjs","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,eAAe,CAAC;AACvCC,EAAAA,IAAI,EAAE,oBADiC;AAEvCC,EAAAA,KAAK,EAAEC,qBAFgC;;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,OAAMS,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,WAAAA,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;;;;;"}
@@ -83,7 +83,8 @@ const TableV2Header = defineComponent({
83
83
  return createVNode("div", {
84
84
  "ref": headerRef,
85
85
  "class": props.class,
86
- "style": unref(headerStyle)
86
+ "style": unref(headerStyle),
87
+ "role": "rowgroup"
87
88
  }, [createVNode("div", {
88
89
  "style": unref(rowStyle),
89
90
  "class": ns.e("header")
@@ -1 +1 @@
1
- {"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, ref, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div ref={headerRef} class={props.class} style={unref(headerStyle)}>\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import { computed, defineComponent, nextTick, ref, unref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div\n ref={headerRef}\n class={props.class}\n style={unref(headerStyle)}\n role=\"rowgroup\"\n >\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","_createVNode","headerStyle"],"mappings":"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"}
@@ -191,13 +191,15 @@ const TableV2Row = defineComponent({
191
191
  return createVNode("div", mergeProps({
192
192
  "ref": rowRef,
193
193
  "class": props.class,
194
- "style": _measured ? style : exceptHeightStyle
194
+ "style": _measured ? style : exceptHeightStyle,
195
+ "role": "row"
195
196
  }, attrs, unref(eventHandlers)), [ColumnCells]);
196
197
  }
197
198
  return createVNode("div", mergeProps(attrs, {
198
199
  "ref": rowRef,
199
200
  "class": props.class,
200
- "style": style
201
+ "style": style,
202
+ "role": "row"
201
203
  }, unref(eventHandlers)), [ColumnCells]);
202
204
  };
203
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"row.mjs","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 {...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 {...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","rowRef","ref","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","onMounted","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","ColumnCells","expandable","slots","depth","column","unref","undefined","cells","isArray","node","_createVNode","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"row.mjs","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","rowRef","ref","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","onMounted","COMPONENT_NAME","TableV2Row","attrs","measurable","expose","ColumnCells","expandable","slots","depth","column","unref","undefined","cells","isArray","node","_createVNode","_mergeProps"],"mappings":"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"}
@@ -92,7 +92,9 @@ const CellRenderer = ({
92
92
  return createVNode("div", mergeProps({
93
93
  "class": kls,
94
94
  "style": cellStyle
95
- }, extraCellProps), [IconOrPlaceholder, Cell]);
95
+ }, extraCellProps, {
96
+ "role": "cell"
97
+ }), [IconOrPlaceholder, Cell]);
96
98
  };
97
99
  CellRenderer.inheritAttrs = false;
98
100