@element-plus/nightly 0.0.20220719 → 0.0.20220722

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 (329) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +69 -106
  3. package/dist/index.full.min.js +13 -13
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +13 -13
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +69 -105
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +1 -1
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.mjs +1 -1
  35. package/dist/locale/cs.mjs +1 -1
  36. package/dist/locale/da.js +1 -1
  37. package/dist/locale/da.min.js +1 -1
  38. package/dist/locale/da.min.mjs +1 -1
  39. package/dist/locale/da.mjs +1 -1
  40. package/dist/locale/de.js +1 -1
  41. package/dist/locale/de.min.js +1 -1
  42. package/dist/locale/de.min.mjs +1 -1
  43. package/dist/locale/de.mjs +1 -1
  44. package/dist/locale/el.js +1 -1
  45. package/dist/locale/el.min.js +1 -1
  46. package/dist/locale/el.min.mjs +1 -1
  47. package/dist/locale/el.mjs +1 -1
  48. package/dist/locale/en.js +1 -1
  49. package/dist/locale/en.min.js +1 -1
  50. package/dist/locale/en.min.mjs +1 -1
  51. package/dist/locale/en.mjs +1 -1
  52. package/dist/locale/eo.js +1 -1
  53. package/dist/locale/eo.min.js +1 -1
  54. package/dist/locale/eo.min.mjs +1 -1
  55. package/dist/locale/eo.mjs +1 -1
  56. package/dist/locale/es.js +1 -1
  57. package/dist/locale/es.min.js +1 -1
  58. package/dist/locale/es.min.mjs +1 -1
  59. package/dist/locale/es.mjs +1 -1
  60. package/dist/locale/et.js +1 -1
  61. package/dist/locale/et.min.js +1 -1
  62. package/dist/locale/et.min.mjs +1 -1
  63. package/dist/locale/et.mjs +1 -1
  64. package/dist/locale/eu.js +1 -1
  65. package/dist/locale/eu.min.js +1 -1
  66. package/dist/locale/eu.min.mjs +1 -1
  67. package/dist/locale/eu.mjs +1 -1
  68. package/dist/locale/fa.js +1 -1
  69. package/dist/locale/fa.min.js +1 -1
  70. package/dist/locale/fa.min.mjs +1 -1
  71. package/dist/locale/fa.mjs +1 -1
  72. package/dist/locale/fi.js +1 -1
  73. package/dist/locale/fi.min.js +1 -1
  74. package/dist/locale/fi.min.mjs +1 -1
  75. package/dist/locale/fi.mjs +1 -1
  76. package/dist/locale/fr.js +1 -1
  77. package/dist/locale/fr.min.js +1 -1
  78. package/dist/locale/fr.min.mjs +1 -1
  79. package/dist/locale/fr.mjs +1 -1
  80. package/dist/locale/he.js +1 -1
  81. package/dist/locale/he.min.js +1 -1
  82. package/dist/locale/he.min.mjs +1 -1
  83. package/dist/locale/he.mjs +1 -1
  84. package/dist/locale/hr.js +1 -1
  85. package/dist/locale/hr.min.js +1 -1
  86. package/dist/locale/hr.min.mjs +1 -1
  87. package/dist/locale/hr.mjs +1 -1
  88. package/dist/locale/hu.js +1 -1
  89. package/dist/locale/hu.min.js +1 -1
  90. package/dist/locale/hu.min.mjs +1 -1
  91. package/dist/locale/hu.mjs +1 -1
  92. package/dist/locale/hy-am.js +1 -1
  93. package/dist/locale/hy-am.min.js +1 -1
  94. package/dist/locale/hy-am.min.mjs +1 -1
  95. package/dist/locale/hy-am.mjs +1 -1
  96. package/dist/locale/id.js +1 -1
  97. package/dist/locale/id.min.js +1 -1
  98. package/dist/locale/id.min.mjs +1 -1
  99. package/dist/locale/id.mjs +1 -1
  100. package/dist/locale/it.js +1 -1
  101. package/dist/locale/it.min.js +1 -1
  102. package/dist/locale/it.min.mjs +1 -1
  103. package/dist/locale/it.mjs +1 -1
  104. package/dist/locale/ja.js +1 -1
  105. package/dist/locale/ja.min.js +1 -1
  106. package/dist/locale/ja.min.mjs +1 -1
  107. package/dist/locale/ja.mjs +1 -1
  108. package/dist/locale/kk.js +1 -1
  109. package/dist/locale/kk.min.js +1 -1
  110. package/dist/locale/kk.min.mjs +1 -1
  111. package/dist/locale/kk.mjs +1 -1
  112. package/dist/locale/km.js +1 -1
  113. package/dist/locale/km.min.js +1 -1
  114. package/dist/locale/km.min.mjs +1 -1
  115. package/dist/locale/km.mjs +1 -1
  116. package/dist/locale/ko.js +1 -1
  117. package/dist/locale/ko.min.js +1 -1
  118. package/dist/locale/ko.min.mjs +1 -1
  119. package/dist/locale/ko.mjs +1 -1
  120. package/dist/locale/ku.js +1 -1
  121. package/dist/locale/ku.min.js +1 -1
  122. package/dist/locale/ku.min.mjs +1 -1
  123. package/dist/locale/ku.mjs +1 -1
  124. package/dist/locale/ky.js +1 -1
  125. package/dist/locale/ky.min.js +1 -1
  126. package/dist/locale/ky.min.mjs +1 -1
  127. package/dist/locale/ky.mjs +1 -1
  128. package/dist/locale/lt.js +1 -1
  129. package/dist/locale/lt.min.js +1 -1
  130. package/dist/locale/lt.min.mjs +1 -1
  131. package/dist/locale/lt.mjs +1 -1
  132. package/dist/locale/lv.js +1 -1
  133. package/dist/locale/lv.min.js +1 -1
  134. package/dist/locale/lv.min.mjs +1 -1
  135. package/dist/locale/lv.mjs +1 -1
  136. package/dist/locale/mg.js +1 -1
  137. package/dist/locale/mg.min.js +1 -1
  138. package/dist/locale/mg.min.mjs +1 -1
  139. package/dist/locale/mg.mjs +1 -1
  140. package/dist/locale/mn.js +1 -1
  141. package/dist/locale/mn.min.js +1 -1
  142. package/dist/locale/mn.min.mjs +1 -1
  143. package/dist/locale/mn.mjs +1 -1
  144. package/dist/locale/nb-no.js +1 -1
  145. package/dist/locale/nb-no.min.js +1 -1
  146. package/dist/locale/nb-no.min.mjs +1 -1
  147. package/dist/locale/nb-no.mjs +1 -1
  148. package/dist/locale/nl.js +1 -1
  149. package/dist/locale/nl.min.js +1 -1
  150. package/dist/locale/nl.min.mjs +1 -1
  151. package/dist/locale/nl.mjs +1 -1
  152. package/dist/locale/pa.js +1 -1
  153. package/dist/locale/pa.min.js +1 -1
  154. package/dist/locale/pa.min.mjs +1 -1
  155. package/dist/locale/pa.mjs +1 -1
  156. package/dist/locale/pl.js +1 -1
  157. package/dist/locale/pl.min.js +1 -1
  158. package/dist/locale/pl.min.mjs +1 -1
  159. package/dist/locale/pl.mjs +1 -1
  160. package/dist/locale/pt-br.js +1 -1
  161. package/dist/locale/pt-br.min.js +1 -1
  162. package/dist/locale/pt-br.min.mjs +1 -1
  163. package/dist/locale/pt-br.mjs +1 -1
  164. package/dist/locale/pt.js +1 -1
  165. package/dist/locale/pt.min.js +1 -1
  166. package/dist/locale/pt.min.mjs +1 -1
  167. package/dist/locale/pt.mjs +1 -1
  168. package/dist/locale/ro.js +1 -1
  169. package/dist/locale/ro.min.js +1 -1
  170. package/dist/locale/ro.min.mjs +1 -1
  171. package/dist/locale/ro.mjs +1 -1
  172. package/dist/locale/ru.js +1 -1
  173. package/dist/locale/ru.min.js +1 -1
  174. package/dist/locale/ru.min.mjs +1 -1
  175. package/dist/locale/ru.mjs +1 -1
  176. package/dist/locale/sk.js +1 -1
  177. package/dist/locale/sk.min.js +1 -1
  178. package/dist/locale/sk.min.mjs +1 -1
  179. package/dist/locale/sk.mjs +1 -1
  180. package/dist/locale/sl.js +1 -1
  181. package/dist/locale/sl.min.js +1 -1
  182. package/dist/locale/sl.min.mjs +1 -1
  183. package/dist/locale/sl.mjs +1 -1
  184. package/dist/locale/sr.js +1 -1
  185. package/dist/locale/sr.min.js +1 -1
  186. package/dist/locale/sr.min.mjs +1 -1
  187. package/dist/locale/sr.mjs +1 -1
  188. package/dist/locale/sv.js +1 -1
  189. package/dist/locale/sv.min.js +1 -1
  190. package/dist/locale/sv.min.mjs +1 -1
  191. package/dist/locale/sv.mjs +1 -1
  192. package/dist/locale/ta.js +1 -1
  193. package/dist/locale/ta.min.js +1 -1
  194. package/dist/locale/ta.min.mjs +1 -1
  195. package/dist/locale/ta.mjs +1 -1
  196. package/dist/locale/th.js +1 -1
  197. package/dist/locale/th.min.js +1 -1
  198. package/dist/locale/th.min.mjs +1 -1
  199. package/dist/locale/th.mjs +1 -1
  200. package/dist/locale/tk.js +1 -1
  201. package/dist/locale/tk.min.js +1 -1
  202. package/dist/locale/tk.min.mjs +1 -1
  203. package/dist/locale/tk.mjs +1 -1
  204. package/dist/locale/tr.js +1 -1
  205. package/dist/locale/tr.min.js +1 -1
  206. package/dist/locale/tr.min.mjs +1 -1
  207. package/dist/locale/tr.mjs +1 -1
  208. package/dist/locale/ug-cn.js +1 -1
  209. package/dist/locale/ug-cn.min.js +1 -1
  210. package/dist/locale/ug-cn.min.mjs +1 -1
  211. package/dist/locale/ug-cn.mjs +1 -1
  212. package/dist/locale/uk.js +1 -1
  213. package/dist/locale/uk.min.js +1 -1
  214. package/dist/locale/uk.min.mjs +1 -1
  215. package/dist/locale/uk.mjs +1 -1
  216. package/dist/locale/uz-uz.js +1 -1
  217. package/dist/locale/uz-uz.min.js +1 -1
  218. package/dist/locale/uz-uz.min.mjs +1 -1
  219. package/dist/locale/uz-uz.mjs +1 -1
  220. package/dist/locale/vi.js +1 -1
  221. package/dist/locale/vi.min.js +1 -1
  222. package/dist/locale/vi.min.mjs +1 -1
  223. package/dist/locale/vi.mjs +1 -1
  224. package/dist/locale/zh-cn.js +1 -1
  225. package/dist/locale/zh-cn.min.js +1 -1
  226. package/dist/locale/zh-cn.min.mjs +1 -1
  227. package/dist/locale/zh-cn.mjs +1 -1
  228. package/dist/locale/zh-tw.js +1 -1
  229. package/dist/locale/zh-tw.min.js +1 -1
  230. package/dist/locale/zh-tw.min.mjs +1 -1
  231. package/dist/locale/zh-tw.mjs +1 -1
  232. package/es/components/calendar/index.mjs +2 -2
  233. package/es/components/calendar/src/calendar.mjs +230 -16
  234. package/es/components/calendar/src/calendar.mjs.map +1 -1
  235. package/es/components/calendar/src/calendar2.mjs +16 -230
  236. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  237. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +21 -8
  238. package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
  239. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +5 -2
  240. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
  241. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
  242. package/es/components/date-picker/src/panel-utils.d.ts +10 -4
  243. package/es/components/dialog/src/use-dialog.mjs.map +1 -1
  244. package/es/components/index.mjs +3 -3
  245. package/es/components/input-number/src/input-number2.mjs +3 -3
  246. package/es/components/menu/src/menu.mjs +16 -8
  247. package/es/components/menu/src/menu.mjs.map +1 -1
  248. package/es/components/popper/index.mjs +2 -2
  249. package/es/components/popper/src/content.mjs +207 -87
  250. package/es/components/popper/src/content.mjs.map +1 -1
  251. package/es/components/popper/src/content2.mjs +87 -207
  252. package/es/components/popper/src/content2.mjs.map +1 -1
  253. package/es/components/rate/src/rate2.mjs +2 -1
  254. package/es/components/rate/src/rate2.mjs.map +1 -1
  255. package/es/components/select/src/option.mjs +4 -4
  256. package/es/components/select/src/option.mjs.map +1 -1
  257. package/es/components/table/src/table-header/event-helper.mjs +5 -9
  258. package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
  259. package/es/components/table/src/util.d.ts +1 -1
  260. package/es/components/table/src/util.mjs +2 -8
  261. package/es/components/table/src/util.mjs.map +1 -1
  262. package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +3 -3
  263. package/es/components/tooltip/src/content.mjs +1 -1
  264. package/es/components/tooltip/src/tooltip.mjs +1 -1
  265. package/es/directives/index.d.ts +0 -1
  266. package/es/directives/index.mjs +0 -1
  267. package/es/directives/index.mjs.map +1 -1
  268. package/es/directives/repeat-click/index.d.ts +2 -2
  269. package/es/directives/repeat-click/index.mjs +13 -13
  270. package/es/directives/repeat-click/index.mjs.map +1 -1
  271. package/es/index.mjs +3 -4
  272. package/es/index.mjs.map +1 -1
  273. package/es/version.d.ts +1 -1
  274. package/es/version.mjs +1 -1
  275. package/es/version.mjs.map +1 -1
  276. package/lib/components/calendar/index.js +2 -2
  277. package/lib/components/calendar/src/calendar.js +233 -16
  278. package/lib/components/calendar/src/calendar.js.map +1 -1
  279. package/lib/components/calendar/src/calendar2.js +16 -233
  280. package/lib/components/calendar/src/calendar2.js.map +1 -1
  281. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +21 -8
  282. package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
  283. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +5 -2
  284. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +5 -2
  285. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +5 -2
  286. package/lib/components/date-picker/src/panel-utils.d.ts +10 -4
  287. package/lib/components/dialog/src/use-dialog.js.map +1 -1
  288. package/lib/components/index.js +3 -3
  289. package/lib/components/menu/src/menu.js +17 -9
  290. package/lib/components/menu/src/menu.js.map +1 -1
  291. package/lib/components/popper/index.js +2 -2
  292. package/lib/components/popper/src/content.js +206 -88
  293. package/lib/components/popper/src/content.js.map +1 -1
  294. package/lib/components/popper/src/content2.js +88 -206
  295. package/lib/components/popper/src/content2.js.map +1 -1
  296. package/lib/components/rate/src/rate2.js +2 -1
  297. package/lib/components/rate/src/rate2.js.map +1 -1
  298. package/lib/components/select/src/option.js +4 -4
  299. package/lib/components/select/src/option.js.map +1 -1
  300. package/lib/components/table/src/table-header/event-helper.js +5 -9
  301. package/lib/components/table/src/table-header/event-helper.js.map +1 -1
  302. package/lib/components/table/src/util.d.ts +1 -1
  303. package/lib/components/table/src/util.js +2 -8
  304. package/lib/components/table/src/util.js.map +1 -1
  305. package/lib/components/tooltip/src/content.js +1 -1
  306. package/lib/components/tooltip/src/tooltip.js +1 -1
  307. package/lib/directives/index.d.ts +0 -1
  308. package/lib/directives/index.js +0 -2
  309. package/lib/directives/index.js.map +1 -1
  310. package/lib/directives/repeat-click/index.d.ts +2 -2
  311. package/lib/directives/repeat-click/index.js +13 -13
  312. package/lib/directives/repeat-click/index.js.map +1 -1
  313. package/lib/index.js +82 -84
  314. package/lib/index.js.map +1 -1
  315. package/lib/version.d.ts +1 -1
  316. package/lib/version.js +1 -1
  317. package/lib/version.js.map +1 -1
  318. package/package.json +2 -2
  319. package/theme-chalk/el-message.css +1 -1
  320. package/theme-chalk/index.css +1 -1
  321. package/theme-chalk/src/common/var.scss +1 -1
  322. package/theme-chalk/src/message.scss +2 -1
  323. package/web-types.json +1 -1
  324. package/es/directives/resize/index.d.ts +0 -3
  325. package/es/directives/resize/index.mjs +0 -18
  326. package/es/directives/resize/index.mjs.map +0 -1
  327. package/lib/directives/resize/index.d.ts +0 -3
  328. package/lib/directives/resize/index.js +0 -22
  329. package/lib/directives/resize/index.js.map +0 -1
@@ -1,213 +1,93 @@
1
- import { defineComponent, inject, ref, provide, computed, unref, onMounted, watch, toRefs, onBeforeUnmount, openBlock, createElementBlock, normalizeStyle, normalizeClass, createVNode, withCtx, renderSlot } from 'vue';
2
- import { NOOP } from '@vue/shared';
3
- import { isNil } from 'lodash-unified';
4
- import { createPopper } from '@popperjs/core';
5
- import '../../focus-trap/index.mjs';
6
- import '../../../hooks/index.mjs';
7
- import '../../../tokens/index.mjs';
1
+ import { placements } from '@popperjs/core';
8
2
  import '../../../utils/index.mjs';
9
- import { usePopperContentProps, usePopperContentEmits } from './content.mjs';
10
- import { unwrapMeasurableEl, buildPopperOptions } from './utils.mjs';
11
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
12
- import { POPPER_INJECTION_KEY, POPPER_CONTENT_INJECTION_KEY } from '../../../tokens/popper.mjs';
13
- import { formItemContextKey } from '../../../tokens/form.mjs';
14
- import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
15
- import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
16
- import { isElement } from '../../../utils/types.mjs';
17
- import ElFocusTrap from '../../focus-trap/src/focus-trap.mjs';
3
+ import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
18
4
 
19
- const __default__ = {
20
- name: "ElPopperContent"
21
- };
22
- const _sfc_main = /* @__PURE__ */ defineComponent({
23
- ...__default__,
24
- props: usePopperContentProps,
25
- emits: usePopperContentEmits,
26
- setup(__props, { expose, emit }) {
27
- const props = __props;
28
- const { popperInstanceRef, contentRef, triggerRef, role } = inject(POPPER_INJECTION_KEY, void 0);
29
- const formItemContext = inject(formItemContextKey, void 0);
30
- const { nextZIndex } = useZIndex();
31
- const ns = useNamespace("popper");
32
- const popperContentRef = ref();
33
- const focusStartRef = ref("first");
34
- const arrowRef = ref();
35
- const arrowOffset = ref();
36
- provide(POPPER_CONTENT_INJECTION_KEY, {
37
- arrowRef,
38
- arrowOffset
39
- });
40
- if (formItemContext && (formItemContext.addInputId || formItemContext.removeInputId)) {
41
- provide(formItemContextKey, {
42
- ...formItemContext,
43
- addInputId: NOOP,
44
- removeInputId: NOOP
45
- });
46
- }
47
- const contentZIndex = ref(props.zIndex || nextZIndex());
48
- const trapped = ref(false);
49
- let triggerTargetAriaStopWatch = void 0;
50
- const computedReference = computed(() => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef));
51
- const contentStyle = computed(() => [{ zIndex: unref(contentZIndex) }, props.popperStyle]);
52
- const contentClass = computed(() => [
53
- ns.b(),
54
- ns.is("pure", props.pure),
55
- ns.is(props.effect),
56
- props.popperClass
57
- ]);
58
- const ariaModal = computed(() => {
59
- return role && role.value === "dialog" ? "false" : void 0;
60
- });
61
- const createPopperInstance = ({ referenceEl, popperContentEl, arrowEl }) => {
62
- const options = buildPopperOptions(props, {
63
- arrowEl,
64
- arrowOffset: unref(arrowOffset)
65
- });
66
- return createPopper(referenceEl, popperContentEl, options);
67
- };
68
- const updatePopper = (shouldUpdateZIndex = true) => {
69
- var _a;
70
- (_a = unref(popperInstanceRef)) == null ? void 0 : _a.update();
71
- shouldUpdateZIndex && (contentZIndex.value = props.zIndex || nextZIndex());
72
- };
73
- const togglePopperAlive = () => {
74
- var _a, _b;
75
- const monitorable = { name: "eventListeners", enabled: props.visible };
76
- (_b = (_a = unref(popperInstanceRef)) == null ? void 0 : _a.setOptions) == null ? void 0 : _b.call(_a, (options) => ({
77
- ...options,
78
- modifiers: [...options.modifiers || [], monitorable]
79
- }));
80
- updatePopper(false);
81
- if (props.visible && props.focusOnShow) {
82
- trapped.value = true;
83
- } else if (props.visible === false) {
84
- trapped.value = false;
85
- }
86
- };
87
- const onFocusAfterTrapped = () => {
88
- emit("focus");
89
- };
90
- const onFocusAfterReleased = () => {
91
- focusStartRef.value = "first";
92
- emit("blur");
93
- };
94
- const onFocusInTrap = (event) => {
95
- var _a;
96
- if (props.visible && !trapped.value) {
97
- if (event.target) {
98
- focusStartRef.value = event.target;
99
- }
100
- trapped.value = true;
101
- if (event.relatedTarget) {
102
- ;
103
- (_a = event.relatedTarget) == null ? void 0 : _a.focus();
104
- }
105
- }
106
- };
107
- const onFocusoutPrevented = () => {
108
- if (!props.trapping) {
109
- trapped.value = false;
110
- }
111
- };
112
- const onReleaseRequested = () => {
113
- trapped.value = false;
114
- emit("close");
115
- };
116
- onMounted(() => {
117
- let updateHandle;
118
- watch(computedReference, (referenceEl) => {
119
- var _a;
120
- updateHandle == null ? void 0 : updateHandle();
121
- const popperInstance = unref(popperInstanceRef);
122
- (_a = popperInstance == null ? void 0 : popperInstance.destroy) == null ? void 0 : _a.call(popperInstance);
123
- if (referenceEl) {
124
- const popperContentEl = unref(popperContentRef);
125
- contentRef.value = popperContentEl;
126
- popperInstanceRef.value = createPopperInstance({
127
- referenceEl,
128
- popperContentEl,
129
- arrowEl: unref(arrowRef)
130
- });
131
- updateHandle = watch(() => referenceEl.getBoundingClientRect(), () => updatePopper(), {
132
- immediate: true
133
- });
134
- } else {
135
- popperInstanceRef.value = void 0;
136
- }
137
- }, {
138
- immediate: true
139
- });
140
- watch(() => props.triggerTargetEl, (triggerTargetEl, prevTriggerTargetEl) => {
141
- triggerTargetAriaStopWatch == null ? void 0 : triggerTargetAriaStopWatch();
142
- triggerTargetAriaStopWatch = void 0;
143
- const el = unref(triggerTargetEl || popperContentRef.value);
144
- const prevEl = unref(prevTriggerTargetEl || popperContentRef.value);
145
- if (isElement(el)) {
146
- const { ariaLabel, id } = toRefs(props);
147
- triggerTargetAriaStopWatch = watch([role, ariaLabel, ariaModal, id], (watches) => {
148
- ;
149
- ["role", "aria-label", "aria-modal", "id"].forEach((key, idx) => {
150
- isNil(watches[idx]) ? el.removeAttribute(key) : el.setAttribute(key, watches[idx]);
151
- });
152
- }, { immediate: true });
153
- }
154
- if (isElement(prevEl)) {
155
- ;
156
- ["role", "aria-label", "aria-modal", "id"].forEach((key) => {
157
- prevEl.removeAttribute(key);
158
- });
159
- }
160
- }, { immediate: true });
161
- watch(() => props.visible, togglePopperAlive, { immediate: true });
162
- watch(() => buildPopperOptions(props, {
163
- arrowEl: unref(arrowRef),
164
- arrowOffset: unref(arrowOffset)
165
- }), (option) => {
166
- var _a;
167
- return (_a = popperInstanceRef.value) == null ? void 0 : _a.setOptions(option);
168
- });
169
- });
170
- onBeforeUnmount(() => {
171
- triggerTargetAriaStopWatch == null ? void 0 : triggerTargetAriaStopWatch();
172
- triggerTargetAriaStopWatch = void 0;
173
- });
174
- expose({
175
- popperContentRef,
176
- popperInstanceRef,
177
- updatePopper,
178
- contentStyle
179
- });
180
- return (_ctx, _cache) => {
181
- return openBlock(), createElementBlock("div", {
182
- ref_key: "popperContentRef",
183
- ref: popperContentRef,
184
- style: normalizeStyle(unref(contentStyle)),
185
- class: normalizeClass(unref(contentClass)),
186
- tabindex: "-1",
187
- onMouseenter: _cache[0] || (_cache[0] = (e) => _ctx.$emit("mouseenter", e)),
188
- onMouseleave: _cache[1] || (_cache[1] = (e) => _ctx.$emit("mouseleave", e))
189
- }, [
190
- createVNode(unref(ElFocusTrap), {
191
- trapped: trapped.value,
192
- "trap-on-focus-in": true,
193
- "focus-trap-el": popperContentRef.value,
194
- "focus-start-el": focusStartRef.value,
195
- onFocusAfterTrapped,
196
- onFocusAfterReleased,
197
- onFocusin: onFocusInTrap,
198
- onFocusoutPrevented,
199
- onReleaseRequested
200
- }, {
201
- default: withCtx(() => [
202
- renderSlot(_ctx.$slots, "default")
203
- ]),
204
- _: 3
205
- }, 8, ["trapped", "focus-trap-el", "focus-start-el"])
206
- ], 38);
207
- };
5
+ const POSITIONING_STRATEGIES = ["fixed", "absolute"];
6
+ const usePopperCoreConfigProps = buildProps({
7
+ boundariesPadding: {
8
+ type: Number,
9
+ default: 0
10
+ },
11
+ fallbackPlacements: {
12
+ type: definePropType(Array),
13
+ default: () => []
14
+ },
15
+ gpuAcceleration: {
16
+ type: Boolean,
17
+ default: true
18
+ },
19
+ offset: {
20
+ type: Number,
21
+ default: 12
22
+ },
23
+ placement: {
24
+ type: String,
25
+ values: placements,
26
+ default: "bottom"
27
+ },
28
+ popperOptions: {
29
+ type: definePropType(Object),
30
+ default: () => ({})
31
+ },
32
+ strategy: {
33
+ type: String,
34
+ values: POSITIONING_STRATEGIES,
35
+ default: "absolute"
208
36
  }
209
37
  });
210
- var ElPopperContent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/content.vue"]]);
38
+ const usePopperContentProps = buildProps({
39
+ ...usePopperCoreConfigProps,
40
+ id: String,
41
+ style: { type: definePropType([String, Array, Object]) },
42
+ className: { type: definePropType([String, Array, Object]) },
43
+ effect: {
44
+ type: String,
45
+ default: "dark"
46
+ },
47
+ visible: Boolean,
48
+ enterable: {
49
+ type: Boolean,
50
+ default: true
51
+ },
52
+ pure: Boolean,
53
+ focusOnShow: {
54
+ type: Boolean,
55
+ default: false
56
+ },
57
+ trapping: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ popperClass: {
62
+ type: definePropType([String, Array, Object])
63
+ },
64
+ popperStyle: {
65
+ type: definePropType([String, Array, Object])
66
+ },
67
+ referenceEl: {
68
+ type: definePropType(Object)
69
+ },
70
+ triggerTargetEl: {
71
+ type: definePropType(Object)
72
+ },
73
+ stopPopperMouseEvent: {
74
+ type: Boolean,
75
+ default: true
76
+ },
77
+ ariaLabel: {
78
+ type: String,
79
+ default: void 0
80
+ },
81
+ virtualTriggering: Boolean,
82
+ zIndex: Number
83
+ });
84
+ const usePopperContentEmits = [
85
+ "mouseenter",
86
+ "mouseleave",
87
+ "focus",
88
+ "blur",
89
+ "close"
90
+ ];
211
91
 
212
- export { ElPopperContent as default };
92
+ export { usePopperContentEmits, usePopperContentProps, usePopperCoreConfigProps };
213
93
  //# sourceMappingURL=content2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/popper/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"popperContentRef\"\n :style=\"contentStyle\"\n :class=\"contentClass\"\n tabindex=\"-1\"\n @mouseenter=\"(e) => $emit('mouseenter', e)\"\n @mouseleave=\"(e) => $emit('mouseleave', e)\"\n >\n <el-focus-trap\n :trapped=\"trapped\"\n :trap-on-focus-in=\"true\"\n :focus-trap-el=\"popperContentRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onFocusAfterTrapped\"\n @focus-after-released=\"onFocusAfterReleased\"\n @focusin=\"onFocusInTrap\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onReleaseRequested\"\n >\n <slot />\n </el-focus-trap>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n toRefs,\n unref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\nimport { createPopper } from '@popperjs/core'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useNamespace, useZIndex } from '@element-plus/hooks'\nimport {\n POPPER_CONTENT_INJECTION_KEY,\n POPPER_INJECTION_KEY,\n formItemContextKey,\n} from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { usePopperContentEmits, usePopperContentProps } from './content'\nimport { buildPopperOptions, unwrapMeasurableEl } from './utils'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n name: 'ElPopperContent',\n})\n\nconst emit = defineEmits(usePopperContentEmits)\n\nconst props = defineProps(usePopperContentProps)\n\nconst { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n)!\nconst formItemContext = inject(formItemContextKey, undefined)\nconst { nextZIndex } = useZIndex()\nconst ns = useNamespace('popper')\nconst popperContentRef = ref<HTMLElement>()\nconst focusStartRef = ref<string | HTMLElement>('first')\nconst arrowRef = ref<HTMLElement>()\nconst arrowOffset = ref<number>()\nprovide(POPPER_CONTENT_INJECTION_KEY, {\n arrowRef,\n arrowOffset,\n})\n\nif (\n formItemContext &&\n (formItemContext.addInputId || formItemContext.removeInputId)\n) {\n // disallow auto-id from inside popper content\n provide(formItemContextKey, {\n ...formItemContext,\n addInputId: NOOP,\n removeInputId: NOOP,\n })\n}\n\nconst contentZIndex = ref<number>(props.zIndex || nextZIndex())\nconst trapped = ref<boolean>(false)\n\nlet triggerTargetAriaStopWatch: WatchStopHandle | undefined = undefined\n\nconst computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n)\n\nconst contentStyle = computed(\n () => [{ zIndex: unref(contentZIndex) }, props.popperStyle] as any\n)\n\nconst contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n])\n\nconst ariaModal = computed<string | undefined>(() => {\n return role && role.value === 'dialog' ? 'false' : undefined\n})\n\nconst createPopperInstance = ({ referenceEl, popperContentEl, arrowEl }) => {\n const options = buildPopperOptions(props, {\n arrowEl,\n arrowOffset: unref(arrowOffset),\n })\n\n return createPopper(referenceEl, popperContentEl, options)\n}\n\nconst updatePopper = (shouldUpdateZIndex = true) => {\n unref(popperInstanceRef)?.update()\n shouldUpdateZIndex && (contentZIndex.value = props.zIndex || nextZIndex())\n}\n\nconst togglePopperAlive = () => {\n const monitorable = { name: 'eventListeners', enabled: props.visible }\n unref(popperInstanceRef)?.setOptions?.((options) => ({\n ...options,\n modifiers: [...(options.modifiers || []), monitorable],\n }))\n updatePopper(false)\n if (props.visible && props.focusOnShow) {\n trapped.value = true\n } else if (props.visible === false) {\n trapped.value = false\n }\n}\n\nconst onFocusAfterTrapped = () => {\n emit('focus')\n}\n\nconst onFocusAfterReleased = () => {\n focusStartRef.value = 'first'\n emit('blur')\n}\n\nconst onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n if (event.relatedTarget) {\n ;(event.relatedTarget as HTMLElement)?.focus()\n }\n }\n}\n\nconst onFocusoutPrevented = () => {\n if (!props.trapping) {\n trapped.value = false\n }\n}\n\nconst onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n}\n\nonMounted(() => {\n let updateHandle: WatchStopHandle\n watch(\n computedReference,\n (referenceEl) => {\n updateHandle?.()\n const popperInstance = unref(popperInstanceRef)\n popperInstance?.destroy?.()\n if (referenceEl) {\n const popperContentEl = unref(popperContentRef)!\n contentRef.value = popperContentEl\n\n popperInstanceRef.value = createPopperInstance({\n referenceEl,\n popperContentEl,\n arrowEl: unref(arrowRef),\n })\n\n updateHandle = watch(\n () => referenceEl.getBoundingClientRect(),\n () => updatePopper(),\n {\n immediate: true,\n }\n )\n } else {\n popperInstanceRef.value = undefined\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.triggerTargetEl,\n (triggerTargetEl, prevTriggerTargetEl) => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n\n const el = unref(triggerTargetEl || popperContentRef.value)\n const prevEl = unref(prevTriggerTargetEl || popperContentRef.value)\n\n if (isElement(el)) {\n const { ariaLabel, id } = toRefs(props)\n triggerTargetAriaStopWatch = watch(\n [role, ariaLabel, ariaModal, id],\n (watches) => {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx])\n })\n },\n { immediate: true }\n )\n }\n if (isElement(prevEl)) {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key) => {\n prevEl.removeAttribute(key)\n })\n }\n },\n { immediate: true }\n )\n\n watch(() => props.visible, togglePopperAlive, { immediate: true })\n\n watch(\n () =>\n buildPopperOptions(props, {\n arrowEl: unref(arrowRef),\n arrowOffset: unref(arrowOffset),\n }),\n (option) => popperInstanceRef.value?.setOptions(option)\n )\n})\n\nonBeforeUnmount(() => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n})\n\ndefineExpose({\n /**\n * @description popper content element\n */\n popperContentRef,\n /**\n * @description popperjs instance\n */\n popperInstanceRef,\n /**\n * @description method for updating popper\n */\n updatePopper,\n\n /**\n * @description content style\n */\n contentStyle,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content2.mjs","sources":["../../../../../../packages/components/popper/src/content.ts"],"sourcesContent":["import { placements } from '@popperjs/core'\nimport { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Options, Placement } from '@popperjs/core'\n\ntype ClassObjectType = Record<string, boolean>\ntype ClassType = string | ClassObjectType | ClassType[]\n\nconst POSITIONING_STRATEGIES = ['fixed', 'absolute'] as const\nexport const usePopperCoreConfigProps = buildProps({\n boundariesPadding: {\n type: Number,\n default: 0,\n },\n fallbackPlacements: {\n type: definePropType<Placement[]>(Array),\n default: () => [],\n },\n gpuAcceleration: {\n type: Boolean,\n default: true,\n },\n offset: {\n type: Number,\n default: 12,\n },\n placement: {\n type: String,\n values: placements,\n default: 'bottom',\n },\n popperOptions: {\n type: definePropType<Partial<Options>>(Object),\n default: () => ({}),\n },\n strategy: {\n type: String,\n values: POSITIONING_STRATEGIES,\n default: 'absolute',\n },\n} as const)\n\nexport const usePopperContentProps = buildProps({\n ...usePopperCoreConfigProps,\n id: String,\n style: { type: definePropType<StyleValue>([String, Array, Object]) },\n className: { type: definePropType<ClassType>([String, Array, Object]) },\n effect: {\n type: String,\n default: 'dark',\n },\n visible: Boolean,\n enterable: {\n type: Boolean,\n default: true,\n },\n pure: Boolean,\n focusOnShow: {\n type: Boolean,\n default: false,\n },\n trapping: {\n type: Boolean,\n default: false,\n },\n popperClass: {\n type: definePropType<ClassType>([String, Array, Object]),\n },\n popperStyle: {\n type: definePropType<StyleValue>([String, Array, Object]),\n },\n referenceEl: {\n type: definePropType<HTMLElement>(Object),\n },\n triggerTargetEl: {\n type: definePropType<HTMLElement>(Object),\n },\n stopPopperMouseEvent: {\n type: Boolean,\n default: true,\n },\n ariaLabel: {\n type: String,\n default: undefined,\n },\n virtualTriggering: Boolean,\n zIndex: Number,\n} as const)\n\nexport const usePopperContentEmits = [\n 'mouseenter',\n 'mouseleave',\n 'focus',\n 'blur',\n 'close',\n]\n\nexport type UsePopperContentProps = ExtractPropTypes<\n typeof usePopperContentProps\n>\n\nexport type UsePopperCoreConfigProps = ExtractPropTypes<\n typeof usePopperCoreConfigProps\n>\n"],"names":[],"mappings":"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"}
@@ -195,12 +195,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
195
195
  resetCurrentValue
196
196
  });
197
197
  return (_ctx, _cache) => {
198
+ var _a;
198
199
  return openBlock(), createElementBlock("div", {
199
200
  id: unref(inputId),
200
201
  class: normalizeClass([unref(rateClasses), unref(ns).is("disabled", unref(rateDisabled))]),
201
202
  role: "slider",
202
203
  "aria-label": !unref(isLabeledByFormItem) ? _ctx.label || "rating" : void 0,
203
- "aria-labelledby": unref(isLabeledByFormItem) ? unref(formItemContext).labelId : void 0,
204
+ "aria-labelledby": unref(isLabeledByFormItem) ? (_a = unref(formItemContext)) == null ? void 0 : _a.labelId : void 0,
204
205
  "aria-valuenow": currentValue.value,
205
206
  "aria-valuetext": unref(text) || void 0,
206
207
  "aria-valuemin": "0",
@@ -1 +1 @@
1
- {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-label=\"!isLabeledByFormItem ? label || 'rating' : undefined\"\n :aria-labelledby=\"isLabeledByFormItem ? formItemContext.labelId : undefined\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text || undefined\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span v-if=\"showText || showScore\" :class=\"ns.e('text')\">\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport { type CSSProperties, computed, inject, ref, watch } from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { hasClass, isArray, isObject } from '@element-plus/utils'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItemInputId, useNamespace, useSize } from '@element-plus/hooks'\nimport { rateEmits, rateProps } from './rate'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'ElRate',\n})\n\nconst props = defineProps(rateProps)\nconst emit = defineEmits(rateEmits)\n\nconst formContext = inject(formContextKey, undefined)\nconst formItemContext = inject(formItemContextKey, undefined)\nconst rateSize = useSize()\nconst ns = useNamespace('rate')\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext,\n})\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return ns.cssVarBlock({\n 'void-color': props.voidColor,\n 'disabled-void-color': props.disabledVoidColor,\n 'fill-color': activeColor.value,\n }) as CSSProperties\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n)\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value ? props.disabledVoidIcon : props.voidIcon\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\nconst iconComponents = computed(() => {\n const result = Array.from({ length: props.max })\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n})\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n}\n\nfunction handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n}\n\nfunction setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\nfunction resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n)\n\nif (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n /** @description reset current value */\n resetCurrentValue,\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :id=\"inputId\"\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-label=\"!isLabeledByFormItem ? label || 'rating' : undefined\"\n :aria-labelledby=\"\n isLabeledByFormItem ? formItemContext?.labelId : undefined\n \"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text || undefined\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n @keydown=\"handleKey\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n @mousemove=\"setCurrentValue(item, $event)\"\n @mouseleave=\"resetCurrentValue\"\n @click=\"selectValue(item)\"\n >\n <el-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <el-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </el-icon>\n </el-icon>\n </span>\n <span v-if=\"showText || showScore\" :class=\"ns.e('text')\">\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { type CSSProperties, computed, inject, ref, watch } from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { hasClass, isArray, isObject } from '@element-plus/utils'\nimport { formContextKey, formItemContextKey } from '@element-plus/tokens'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useFormItemInputId, useNamespace, useSize } from '@element-plus/hooks'\nimport { rateEmits, rateProps } from './rate'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'ElRate',\n})\n\nconst props = defineProps(rateProps)\nconst emit = defineEmits(rateEmits)\n\nconst formContext = inject(formContextKey, undefined)\nconst formItemContext = inject(formItemContextKey, undefined)\nconst rateSize = useSize()\nconst ns = useNamespace('rate')\nconst { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext,\n})\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return ns.cssVarBlock({\n 'void-color': props.voidColor,\n 'disabled-void-color': props.disabledVoidColor,\n 'fill-color': activeColor.value,\n }) as CSSProperties\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n)\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value ? props.disabledVoidIcon : props.voidIcon\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\nconst iconComponents = computed(() => {\n const result = Array.from({ length: props.max })\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n})\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction selectValue(value: number) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf && pointerAtLeftHalf.value) {\n emit(UPDATE_MODEL_EVENT, currentValue.value)\n if (props.modelValue !== currentValue.value) {\n emit('change', currentValue.value)\n }\n } else {\n emit(UPDATE_MODEL_EVENT, value)\n if (props.modelValue !== value) {\n emit('change', value)\n }\n }\n}\n\nfunction handleKey(e: KeyboardEvent) {\n if (rateDisabled.value) {\n return\n }\n let _currentValue = currentValue.value\n const code = e.code\n if (code === EVENT_CODE.up || code === EVENT_CODE.right) {\n if (props.allowHalf) {\n _currentValue += 0.5\n } else {\n _currentValue += 1\n }\n e.stopPropagation()\n e.preventDefault()\n } else if (code === EVENT_CODE.left || code === EVENT_CODE.down) {\n if (props.allowHalf) {\n _currentValue -= 0.5\n } else {\n _currentValue -= 1\n }\n e.stopPropagation()\n e.preventDefault()\n }\n _currentValue = _currentValue < 0 ? 0 : _currentValue\n _currentValue = _currentValue > props.max ? props.max : _currentValue\n emit(UPDATE_MODEL_EVENT, _currentValue)\n emit('change', _currentValue)\n return _currentValue\n}\n\nfunction setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-plus/element-plus/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\nfunction resetCurrentValue() {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n currentValue.value = props.modelValue\n hoverIndex.value = -1\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n currentValue.value = val\n pointerAtLeftHalf.value = props.modelValue !== Math.floor(props.modelValue)\n }\n)\n\nif (!props.modelValue) {\n emit(UPDATE_MODEL_EVENT, 0)\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n /** @description reset current value */\n resetCurrentValue,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -39,11 +39,11 @@ const _sfc_main = defineComponent({
39
39
  const doesSelected = selectedOptions.some((item) => {
40
40
  return item.value === vm.value;
41
41
  });
42
- if (select.cachedOptions.get(key) === vm && !doesSelected) {
43
- nextTick(() => {
42
+ nextTick(() => {
43
+ if (select.cachedOptions.get(key) === vm && !doesSelected) {
44
44
  select.cachedOptions.delete(key);
45
- });
46
- }
45
+ }
46
+ });
47
47
  select.onOptionDestroy(key, vm);
48
48
  });
49
49
  function selectOptionClick() {
@@ -1 +1 @@
1
- {"version":3,"file":"option.mjs","sources":["../../../../../../packages/components/select/src/option.vue"],"sourcesContent":["<template>\n <li\n v-show=\"visible\"\n :class=\"[\n ns.be('dropdown', 'item'),\n ns.is('disabled', isDisabled),\n {\n selected: itemSelected,\n hover,\n },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot>\n <span>{{ currentLabel }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n nextTick,\n onBeforeUnmount,\n reactive,\n toRefs,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport type { SelectOptionProxy } from './token'\n\nexport default defineComponent({\n name: 'ElOption',\n componentName: 'ElOption',\n\n props: {\n value: {\n required: true,\n type: [String, Number, Boolean, Object],\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup(props) {\n const ns = useNamespace('select')\n const states = reactive({\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false,\n })\n\n const { currentLabel, itemSelected, isDisabled, select, hoverItem } =\n useOption(props, states)\n\n const { visible, hover } = toRefs(states)\n\n const vm = getCurrentInstance().proxy\n const key = (vm as unknown as SelectOptionProxy).value\n select.onOptionCreate(vm as unknown as SelectOptionProxy)\n\n onBeforeUnmount(() => {\n const { selected } = select\n const selectedOptions = select.props.multiple ? selected : [selected]\n const doesSelected = selectedOptions.some((item) => {\n return item.value === (vm as unknown as SelectOptionProxy).value\n })\n // if option is not selected, remove it from cache\n if (select.cachedOptions.get(key) === vm && !doesSelected) {\n nextTick(() => {\n select.cachedOptions.delete(key)\n })\n }\n select.onOptionDestroy(key, vm)\n })\n\n function selectOptionClick() {\n if (props.disabled !== true && states.groupDisabled !== true) {\n select.handleOptionSelect(vm, true)\n }\n }\n\n return {\n ns,\n currentLabel,\n itemSelected,\n isDisabled,\n select,\n hoverItem,\n visible,\n hover,\n selectOptionClick,\n states,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode"],"mappings":";;;;;;AAkCA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,UAAA;AAAA,EACN,aAAe,EAAA,UAAA;AAAA,EAEf,KAAO,EAAA;AAAA,IACL,KAAO,EAAA;AAAA,MACL,QAAU,EAAA,IAAA;AAAA,MACV,IAAM,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,SAAS,MAAM,CAAA;AAAA,KACxC;AAAA,IACA,KAAA,EAAO,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtB,OAAS,EAAA,OAAA;AAAA,IACT,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,GACF;AAAA,EAEA,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,SAAS,QAAS,CAAA;AAAA,MACtB,KAAO,EAAA,CAAA,CAAA;AAAA,MACP,aAAe,EAAA,KAAA;AAAA,MACf,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,KAAO,EAAA,KAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,cAAc,YAAc,EAAA,UAAA,EAAY,QAAQ,SACtD,EAAA,GAAA,SAAA,CAAU,OAAO,MAAM,CAAA,CAAA;AAEzB,IAAA,MAAM,EAAE,OAAA,EAAS,KAAU,EAAA,GAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAExC,IAAM,MAAA,EAAA,GAAK,oBAAqB,CAAA,KAAA,CAAA;AAChC,IAAA,MAAM,MAAO,EAAoC,CAAA,KAAA,CAAA;AACjD,IAAA,MAAA,CAAO,eAAe,EAAkC,CAAA,CAAA;AAExD,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,QAAa,EAAA,GAAA,MAAA,CAAA;AACrB,MAAA,MAAM,kBAAkB,MAAO,CAAA,KAAA,CAAM,QAAW,GAAA,QAAA,GAAW,CAAC,QAAQ,CAAA,CAAA;AACpE,MAAA,MAAM,YAAe,GAAA,eAAA,CAAgB,IAAK,CAAA,CAAC,IAAS,KAAA;AAClD,QAAO,OAAA,IAAA,CAAK,UAAW,EAAoC,CAAA,KAAA,CAAA;AAAA,OAC5D,CAAA,CAAA;AAED,MAAA,IAAI,OAAO,aAAc,CAAA,GAAA,CAAI,GAAG,CAAM,KAAA,EAAA,IAAM,CAAC,YAAc,EAAA;AACzD,QAAA,QAAA,CAAS,MAAM;AACb,UAAO,MAAA,CAAA,aAAA,CAAc,OAAO,GAAG,CAAA,CAAA;AAAA,SAChC,CAAA,CAAA;AAAA,OACH;AACA,MAAO,MAAA,CAAA,eAAA,CAAgB,KAAK,EAAE,CAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AAED,IAA6B,SAAA,iBAAA,GAAA;AAC3B,MAAA,IAAI,KAAM,CAAA,QAAA,KAAa,IAAQ,IAAA,MAAA,CAAO,kBAAkB,IAAM,EAAA;AAC5D,QAAO,MAAA,CAAA,kBAAA,CAAmB,IAAI,IAAI,CAAA,CAAA;AAAA,OACpC;AAAA,KACF;AAEA,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,MAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;sCAvGCA,kBAgBK,CAAA,IAAA,EAAA;AAAA,IAdF,KAAK,EAAAC,cAAA,CAAA;AAAA,MAAU,QAAG,EAAE,CAAA,UAAA,EAAA,MAAA,CAAA;AAAA,MAA4B,IAAA,CAAA,EAAA,CAAG,EAAE,CAAA,UAAA,EAAa,IAAU,CAAA,UAAA,CAAA;AAAA,MAAA;AAA6B,QAAA,QAAA,EAAA,IAAA,CAAA,YAAA;AAAA,QAAsB,KAAA,EAAA,IAAA,CAAA,KAAA;AAAA,OAAA;;AAQ/H,IAAA,YAAA,EAAU,MAAE,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,SAAA,IAAA,IAAA,CAAA,SAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,IACZ,OAAA,EAAK,qDAAO,IAAiB,CAAA,iBAAA,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AAE9B,IAAAC,UAAA,CAEO,4BAFP,MAEO;AAAA,MADLC,kBAAA,CAA+B,8BAAtB,IAAY,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;YAbf,IAAO,CAAA,OAAA,CAAA;AAAA,GAAA,CAAA,CAAA;;;;;;"}
1
+ {"version":3,"file":"option.mjs","sources":["../../../../../../packages/components/select/src/option.vue"],"sourcesContent":["<template>\n <li\n v-show=\"visible\"\n :class=\"[\n ns.be('dropdown', 'item'),\n ns.is('disabled', isDisabled),\n {\n selected: itemSelected,\n hover,\n },\n ]\"\n @mouseenter=\"hoverItem\"\n @click.stop=\"selectOptionClick\"\n >\n <slot>\n <span>{{ currentLabel }}</span>\n </slot>\n </li>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n defineComponent,\n getCurrentInstance,\n nextTick,\n onBeforeUnmount,\n reactive,\n toRefs,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useOption } from './useOption'\nimport type { SelectOptionProxy } from './token'\n\nexport default defineComponent({\n name: 'ElOption',\n componentName: 'ElOption',\n\n props: {\n value: {\n required: true,\n type: [String, Number, Boolean, Object],\n },\n label: [String, Number],\n created: Boolean,\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup(props) {\n const ns = useNamespace('select')\n const states = reactive({\n index: -1,\n groupDisabled: false,\n visible: true,\n hitState: false,\n hover: false,\n })\n\n const { currentLabel, itemSelected, isDisabled, select, hoverItem } =\n useOption(props, states)\n\n const { visible, hover } = toRefs(states)\n\n const vm = getCurrentInstance().proxy\n const key = (vm as unknown as SelectOptionProxy).value\n select.onOptionCreate(vm as unknown as SelectOptionProxy)\n\n onBeforeUnmount(() => {\n const { selected } = select\n const selectedOptions = select.props.multiple ? selected : [selected]\n const doesSelected = selectedOptions.some((item) => {\n return item.value === (vm as unknown as SelectOptionProxy).value\n })\n // if option is not selected, remove it from cache\n nextTick(() => {\n if (select.cachedOptions.get(key) === vm && !doesSelected) {\n select.cachedOptions.delete(key)\n }\n })\n select.onOptionDestroy(key, vm)\n })\n\n function selectOptionClick() {\n if (props.disabled !== true && states.groupDisabled !== true) {\n select.handleOptionSelect(vm, true)\n }\n }\n\n return {\n ns,\n currentLabel,\n itemSelected,\n isDisabled,\n select,\n hoverItem,\n visible,\n hover,\n selectOptionClick,\n states,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_renderSlot","_createElementVNode"],"mappings":"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"}
@@ -88,12 +88,10 @@ function useEvent(props, emit) {
88
88
  }
89
89
  };
90
90
  const handleMouseMove = (event, column) => {
91
+ var _a;
91
92
  if (column.children && column.children.length > 0)
92
93
  return;
93
- let target = event.target;
94
- while (target && target.tagName !== "TH") {
95
- target = target.parentNode;
96
- }
94
+ const target = (_a = event.target) == null ? void 0 : _a.closest("th");
97
95
  if (!column || !column.resizable)
98
96
  return;
99
97
  if (!dragging.value && props.border) {
@@ -126,13 +124,11 @@ function useEvent(props, emit) {
126
124
  return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1];
127
125
  };
128
126
  const handleSortClick = (event, column, givenOrder) => {
127
+ var _a;
129
128
  event.stopPropagation();
130
129
  const order = column.order === givenOrder ? null : givenOrder || toggleOrder(column);
131
- let target = event.target;
132
- while (target && target.tagName !== "TH") {
133
- target = target.parentNode;
134
- }
135
- if (target && target.tagName === "TH") {
130
+ const target = (_a = event.target) == null ? void 0 : _a.closest("th");
131
+ if (target) {
136
132
  if (hasClass(target, "noclick")) {
137
133
  removeClass(target, "noclick");
138
134
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"event-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-header/event-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, inject, ref } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { addClass, hasClass, removeClass } from '@element-plus/utils'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport type { TableHeaderProps } from '.'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useEvent<T>(props: TableHeaderProps<T>, emit) {\n const instance = getCurrentInstance()\n const parent = inject(TABLE_INJECTION_KEY)\n const handleFilterClick = (event: Event) => {\n event.stopPropagation()\n return\n }\n\n const handleHeaderClick = (event: Event, column: TableColumnCtx<T>) => {\n if (!column.filters && column.sortable) {\n handleSortClick(event, column, false)\n } else if (column.filterable && !column.sortable) {\n handleFilterClick(event)\n }\n parent?.emit('header-click', column, event)\n }\n\n const handleHeaderContextMenu = (event: Event, column: TableColumnCtx<T>) => {\n parent?.emit('header-contextmenu', column, event)\n }\n const draggingColumn = ref(null)\n const dragging = ref(false)\n const dragState = ref({})\n const handleMouseDown = (event: MouseEvent, column: TableColumnCtx<T>) => {\n if (!isClient) return\n if (column.children && column.children.length > 0) return\n /* istanbul ignore if */\n if (draggingColumn.value && props.border) {\n dragging.value = true\n\n const table = parent\n emit('set-drag-visible', true)\n const tableEl = table?.vnode.el\n const tableLeft = tableEl.getBoundingClientRect().left\n const columnEl = instance.vnode.el.querySelector(`th.${column.id}`)\n const columnRect = columnEl.getBoundingClientRect()\n const minLeft = columnRect.left - tableLeft + 30\n\n addClass(columnEl, 'noclick')\n\n dragState.value = {\n startMouseLeft: event.clientX,\n startLeft: columnRect.right - tableLeft,\n startColumnLeft: columnRect.left - tableLeft,\n tableLeft,\n }\n const resizeProxy = table?.refs.resizeProxy as HTMLElement\n resizeProxy.style.left = `${(dragState.value as any).startLeft}px`\n\n document.onselectstart = function () {\n return false\n }\n document.ondragstart = function () {\n return false\n }\n\n const handleMouseMove = (event: MouseEvent) => {\n const deltaLeft =\n event.clientX - (dragState.value as any).startMouseLeft\n const proxyLeft = (dragState.value as any).startLeft + deltaLeft\n\n resizeProxy.style.left = `${Math.max(minLeft, proxyLeft)}px`\n }\n\n const handleMouseUp = () => {\n if (dragging.value) {\n const { startColumnLeft, startLeft } = dragState.value as any\n const finalLeft = Number.parseInt(resizeProxy.style.left, 10)\n const columnWidth = finalLeft - startColumnLeft\n column.width = column.realWidth = columnWidth\n table?.emit(\n 'header-dragend',\n column.width,\n startLeft - startColumnLeft,\n column,\n event\n )\n requestAnimationFrame(() => {\n props.store.scheduleLayout(false, true)\n })\n document.body.style.cursor = ''\n dragging.value = false\n draggingColumn.value = null\n dragState.value = {}\n emit('set-drag-visible', false)\n }\n\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n document.onselectstart = null\n document.ondragstart = null\n\n setTimeout(() => {\n removeClass(columnEl, 'noclick')\n }, 0)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n }\n }\n\n const handleMouseMove = (event: MouseEvent, column: TableColumnCtx<T>) => {\n if (column.children && column.children.length > 0) return\n let target = event.target as HTMLElement\n while (target && target.tagName !== 'TH') {\n target = target.parentNode as HTMLElement\n }\n\n if (!column || !column.resizable) return\n\n if (!dragging.value && props.border) {\n const rect = target.getBoundingClientRect()\n\n const bodyStyle = document.body.style\n if (rect.width > 12 && rect.right - event.pageX < 8) {\n bodyStyle.cursor = 'col-resize'\n if (hasClass(target, 'is-sortable')) {\n target.style.cursor = 'col-resize'\n }\n draggingColumn.value = column\n } else if (!dragging.value) {\n bodyStyle.cursor = ''\n if (hasClass(target, 'is-sortable')) {\n target.style.cursor = 'pointer'\n }\n draggingColumn.value = null\n }\n }\n }\n\n const handleMouseOut = () => {\n if (!isClient) return\n document.body.style.cursor = ''\n }\n const toggleOrder = ({ order, sortOrders }) => {\n if (order === '') return sortOrders[0]\n const index = sortOrders.indexOf(order || null)\n return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]\n }\n const handleSortClick = (\n event: Event,\n column: TableColumnCtx<T>,\n givenOrder: string | boolean\n ) => {\n event.stopPropagation()\n const order =\n column.order === givenOrder ? null : givenOrder || toggleOrder(column)\n\n let target = event.target as HTMLElement\n while (target && target.tagName !== 'TH') {\n target = target.parentNode as HTMLElement\n }\n\n if (target && target.tagName === 'TH') {\n if (hasClass(target, 'noclick')) {\n removeClass(target, 'noclick')\n return\n }\n }\n\n if (!column.sortable) return\n\n const states = props.store.states\n let sortProp = states.sortProp.value\n let sortOrder\n const sortingColumn = states.sortingColumn.value\n\n if (\n sortingColumn !== column ||\n (sortingColumn === column && sortingColumn.order === null)\n ) {\n if (sortingColumn) {\n sortingColumn.order = null\n }\n states.sortingColumn.value = column\n sortProp = column.property\n }\n if (!order) {\n sortOrder = column.order = null\n } else {\n sortOrder = column.order = order\n }\n\n states.sortProp.value = sortProp\n states.sortOrder.value = sortOrder\n\n parent?.store.commit('changeSortCondition')\n }\n\n return {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n }\n}\n\nexport default useEvent\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-helper.mjs","sources":["../../../../../../../packages/components/table/src/table-header/event-helper.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, inject, ref } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport { addClass, hasClass, removeClass } from '@element-plus/utils'\nimport { TABLE_INJECTION_KEY } from '../tokens'\nimport type { TableHeaderProps } from '.'\nimport type { TableColumnCtx } from '../table-column/defaults'\n\nfunction useEvent<T>(props: TableHeaderProps<T>, emit) {\n const instance = getCurrentInstance()\n const parent = inject(TABLE_INJECTION_KEY)\n const handleFilterClick = (event: Event) => {\n event.stopPropagation()\n return\n }\n\n const handleHeaderClick = (event: Event, column: TableColumnCtx<T>) => {\n if (!column.filters && column.sortable) {\n handleSortClick(event, column, false)\n } else if (column.filterable && !column.sortable) {\n handleFilterClick(event)\n }\n parent?.emit('header-click', column, event)\n }\n\n const handleHeaderContextMenu = (event: Event, column: TableColumnCtx<T>) => {\n parent?.emit('header-contextmenu', column, event)\n }\n const draggingColumn = ref(null)\n const dragging = ref(false)\n const dragState = ref({})\n const handleMouseDown = (event: MouseEvent, column: TableColumnCtx<T>) => {\n if (!isClient) return\n if (column.children && column.children.length > 0) return\n /* istanbul ignore if */\n if (draggingColumn.value && props.border) {\n dragging.value = true\n\n const table = parent\n emit('set-drag-visible', true)\n const tableEl = table?.vnode.el\n const tableLeft = tableEl.getBoundingClientRect().left\n const columnEl = instance.vnode.el.querySelector(`th.${column.id}`)\n const columnRect = columnEl.getBoundingClientRect()\n const minLeft = columnRect.left - tableLeft + 30\n\n addClass(columnEl, 'noclick')\n\n dragState.value = {\n startMouseLeft: event.clientX,\n startLeft: columnRect.right - tableLeft,\n startColumnLeft: columnRect.left - tableLeft,\n tableLeft,\n }\n const resizeProxy = table?.refs.resizeProxy as HTMLElement\n resizeProxy.style.left = `${(dragState.value as any).startLeft}px`\n\n document.onselectstart = function () {\n return false\n }\n document.ondragstart = function () {\n return false\n }\n\n const handleMouseMove = (event: MouseEvent) => {\n const deltaLeft =\n event.clientX - (dragState.value as any).startMouseLeft\n const proxyLeft = (dragState.value as any).startLeft + deltaLeft\n\n resizeProxy.style.left = `${Math.max(minLeft, proxyLeft)}px`\n }\n\n const handleMouseUp = () => {\n if (dragging.value) {\n const { startColumnLeft, startLeft } = dragState.value as any\n const finalLeft = Number.parseInt(resizeProxy.style.left, 10)\n const columnWidth = finalLeft - startColumnLeft\n column.width = column.realWidth = columnWidth\n table?.emit(\n 'header-dragend',\n column.width,\n startLeft - startColumnLeft,\n column,\n event\n )\n requestAnimationFrame(() => {\n props.store.scheduleLayout(false, true)\n })\n document.body.style.cursor = ''\n dragging.value = false\n draggingColumn.value = null\n dragState.value = {}\n emit('set-drag-visible', false)\n }\n\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n document.onselectstart = null\n document.ondragstart = null\n\n setTimeout(() => {\n removeClass(columnEl, 'noclick')\n }, 0)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n }\n }\n\n const handleMouseMove = (event: MouseEvent, column: TableColumnCtx<T>) => {\n if (column.children && column.children.length > 0) return\n\n const target = (event.target as HTMLElement)?.closest('th')\n\n if (!column || !column.resizable) return\n\n if (!dragging.value && props.border) {\n const rect = target.getBoundingClientRect()\n\n const bodyStyle = document.body.style\n if (rect.width > 12 && rect.right - event.pageX < 8) {\n bodyStyle.cursor = 'col-resize'\n if (hasClass(target, 'is-sortable')) {\n target.style.cursor = 'col-resize'\n }\n draggingColumn.value = column\n } else if (!dragging.value) {\n bodyStyle.cursor = ''\n if (hasClass(target, 'is-sortable')) {\n target.style.cursor = 'pointer'\n }\n draggingColumn.value = null\n }\n }\n }\n\n const handleMouseOut = () => {\n if (!isClient) return\n document.body.style.cursor = ''\n }\n const toggleOrder = ({ order, sortOrders }) => {\n if (order === '') return sortOrders[0]\n const index = sortOrders.indexOf(order || null)\n return sortOrders[index > sortOrders.length - 2 ? 0 : index + 1]\n }\n const handleSortClick = (\n event: Event,\n column: TableColumnCtx<T>,\n givenOrder: string | boolean\n ) => {\n event.stopPropagation()\n const order =\n column.order === givenOrder ? null : givenOrder || toggleOrder(column)\n\n const target = (event.target as HTMLElement)?.closest('th')\n\n if (target) {\n if (hasClass(target, 'noclick')) {\n removeClass(target, 'noclick')\n return\n }\n }\n\n if (!column.sortable) return\n\n const states = props.store.states\n let sortProp = states.sortProp.value\n let sortOrder\n const sortingColumn = states.sortingColumn.value\n\n if (\n sortingColumn !== column ||\n (sortingColumn === column && sortingColumn.order === null)\n ) {\n if (sortingColumn) {\n sortingColumn.order = null\n }\n states.sortingColumn.value = column\n sortProp = column.property\n }\n if (!order) {\n sortOrder = column.order = null\n } else {\n sortOrder = column.order = order\n }\n\n states.sortProp.value = sortProp\n states.sortOrder.value = sortOrder\n\n parent?.store.commit('changeSortCondition')\n }\n\n return {\n handleHeaderClick,\n handleHeaderContextMenu,\n handleMouseDown,\n handleMouseMove,\n handleMouseOut,\n handleSortClick,\n handleFilterClick,\n }\n}\n\nexport default useEvent\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IPopperOptions } from 'element-plus/es/components/popper';
2
2
  import type { TableColumnCtx } from './table-column/defaults';
3
- export declare const getCell: (event: Event) => HTMLElement;
3
+ export declare const getCell: (event: Event) => HTMLTableCellElement | null;
4
4
  export declare const orderBy: <T>(array: T[], sortKey: string, reverse: string | number, sortMethod: any, sortBy: string | (string | ((a: T, b: T, array?: T[] | undefined) => number))[]) => T[];
5
5
  export declare const getColumnById: <T>(table: {
6
6
  columns: TableColumnCtx<T>[];
@@ -7,14 +7,8 @@ import { hasOwn } from '@vue/shared';
7
7
  import { useZIndex } from '../../../hooks/use-z-index/index.mjs';
8
8
 
9
9
  const getCell = function(event) {
10
- let cell = event.target;
11
- while (cell && cell.tagName.toUpperCase() !== "HTML") {
12
- if (cell.tagName.toUpperCase() === "TD") {
13
- return cell;
14
- }
15
- cell = cell.parentNode;
16
- }
17
- return null;
10
+ var _a;
11
+ return (_a = event.target) == null ? void 0 : _a.closest("td");
18
12
  };
19
13
  const isObject = function(obj) {
20
14
  return obj !== null && typeof obj === "object";