@element-plus/nightly 0.0.20231125 → 0.0.20231126

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 +2 -2
  2. package/dist/index.full.min.js +2 -2
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +2 -2
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +2 -2
  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/sw.js +1 -1
  196. package/dist/locale/sw.min.js +1 -1
  197. package/dist/locale/sw.min.mjs +1 -1
  198. package/dist/locale/sw.mjs +1 -1
  199. package/dist/locale/ta.js +1 -1
  200. package/dist/locale/ta.min.js +1 -1
  201. package/dist/locale/ta.min.mjs +1 -1
  202. package/dist/locale/ta.mjs +1 -1
  203. package/dist/locale/th.js +1 -1
  204. package/dist/locale/th.min.js +1 -1
  205. package/dist/locale/th.min.mjs +1 -1
  206. package/dist/locale/th.mjs +1 -1
  207. package/dist/locale/tk.js +1 -1
  208. package/dist/locale/tk.min.js +1 -1
  209. package/dist/locale/tk.min.mjs +1 -1
  210. package/dist/locale/tk.mjs +1 -1
  211. package/dist/locale/tr.js +1 -1
  212. package/dist/locale/tr.min.js +1 -1
  213. package/dist/locale/tr.min.mjs +1 -1
  214. package/dist/locale/tr.mjs +1 -1
  215. package/dist/locale/ug-cn.js +1 -1
  216. package/dist/locale/ug-cn.min.js +1 -1
  217. package/dist/locale/ug-cn.min.mjs +1 -1
  218. package/dist/locale/ug-cn.mjs +1 -1
  219. package/dist/locale/uk.js +1 -1
  220. package/dist/locale/uk.min.js +1 -1
  221. package/dist/locale/uk.min.mjs +1 -1
  222. package/dist/locale/uk.mjs +1 -1
  223. package/dist/locale/uz-uz.js +1 -1
  224. package/dist/locale/uz-uz.min.js +1 -1
  225. package/dist/locale/uz-uz.min.mjs +1 -1
  226. package/dist/locale/uz-uz.mjs +1 -1
  227. package/dist/locale/vi.js +1 -1
  228. package/dist/locale/vi.min.js +1 -1
  229. package/dist/locale/vi.min.mjs +1 -1
  230. package/dist/locale/vi.mjs +1 -1
  231. package/dist/locale/zh-cn.js +1 -1
  232. package/dist/locale/zh-cn.min.js +1 -1
  233. package/dist/locale/zh-cn.min.mjs +1 -1
  234. package/dist/locale/zh-cn.mjs +1 -1
  235. package/dist/locale/zh-tw.js +1 -1
  236. package/dist/locale/zh-tw.min.js +1 -1
  237. package/dist/locale/zh-tw.min.mjs +1 -1
  238. package/dist/locale/zh-tw.mjs +1 -1
  239. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  240. package/es/components/calendar/index.mjs +2 -2
  241. package/es/components/calendar/src/calendar.mjs +18 -131
  242. package/es/components/calendar/src/calendar.mjs.map +1 -1
  243. package/es/components/calendar/src/calendar2.mjs +131 -18
  244. package/es/components/calendar/src/calendar2.mjs.map +1 -1
  245. package/es/components/cascader/src/cascader.mjs +1 -1
  246. package/es/components/dropdown/index.mjs +2 -2
  247. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  248. package/es/components/dropdown/src/dropdown-item.mjs +1 -1
  249. package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
  250. package/es/components/dropdown/src/dropdown.mjs +306 -97
  251. package/es/components/dropdown/src/dropdown.mjs.map +1 -1
  252. package/es/components/dropdown/src/dropdown2.mjs +97 -306
  253. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  254. package/es/components/index.mjs +3 -3
  255. package/es/components/popconfirm/src/popconfirm.mjs +1 -1
  256. package/es/components/popover/src/popover.mjs +2 -2
  257. package/es/components/select/src/select.mjs +1 -1
  258. package/es/components/select-v2/src/defaults.mjs +1 -1
  259. package/es/components/tooltip/index.mjs +1 -1
  260. package/es/components/tooltip/src/content.mjs +31 -177
  261. package/es/components/tooltip/src/content.mjs.map +1 -1
  262. package/es/components/tooltip/src/content2.mjs +177 -31
  263. package/es/components/tooltip/src/content2.mjs.map +1 -1
  264. package/es/components/tooltip/src/tooltip.mjs +1 -1
  265. package/es/components/tooltip/src/tooltip2.mjs +1 -1
  266. package/es/components/tooltip-v2/index.mjs +1 -1
  267. package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
  268. package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
  269. package/es/components/tooltip-v2/src/trigger.mjs +12 -89
  270. package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
  271. package/es/components/tooltip-v2/src/trigger2.mjs +89 -12
  272. package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
  273. package/es/index.mjs +3 -3
  274. package/es/version.d.ts +1 -1
  275. package/es/version.mjs +1 -1
  276. package/es/version.mjs.map +1 -1
  277. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  278. package/lib/components/calendar/index.js +2 -2
  279. package/lib/components/calendar/src/calendar.js +19 -131
  280. package/lib/components/calendar/src/calendar.js.map +1 -1
  281. package/lib/components/calendar/src/calendar2.js +131 -19
  282. package/lib/components/calendar/src/calendar2.js.map +1 -1
  283. package/lib/components/cascader/src/cascader.js +1 -1
  284. package/lib/components/dropdown/index.js +2 -2
  285. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  286. package/lib/components/dropdown/src/dropdown-item.js +1 -1
  287. package/lib/components/dropdown/src/dropdown-menu.js +1 -1
  288. package/lib/components/dropdown/src/dropdown.js +306 -106
  289. package/lib/components/dropdown/src/dropdown.js.map +1 -1
  290. package/lib/components/dropdown/src/dropdown2.js +106 -306
  291. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  292. package/lib/components/index.js +3 -3
  293. package/lib/components/popconfirm/src/popconfirm.js +1 -1
  294. package/lib/components/popover/src/popover.js +2 -2
  295. package/lib/components/select/src/select.js +1 -1
  296. package/lib/components/select-v2/src/defaults.js +1 -1
  297. package/lib/components/tooltip/index.js +1 -1
  298. package/lib/components/tooltip/src/content.js +31 -177
  299. package/lib/components/tooltip/src/content.js.map +1 -1
  300. package/lib/components/tooltip/src/content2.js +177 -31
  301. package/lib/components/tooltip/src/content2.js.map +1 -1
  302. package/lib/components/tooltip/src/tooltip.js +1 -1
  303. package/lib/components/tooltip/src/tooltip2.js +1 -1
  304. package/lib/components/tooltip-v2/index.js +1 -1
  305. package/lib/components/tooltip-v2/src/tooltip.js +1 -1
  306. package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
  307. package/lib/components/tooltip-v2/src/trigger.js +12 -89
  308. package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
  309. package/lib/components/tooltip-v2/src/trigger2.js +89 -12
  310. package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
  311. package/lib/index.js +3 -3
  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 +1 -1
  316. package/web-types.json +1 -1
@@ -1,23 +1,136 @@
1
- import '../../../utils/index.mjs';
2
- import '../../../constants/index.mjs';
3
- import { isArray, isDate } from '@vue/shared';
4
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
5
- import { UPDATE_MODEL_EVENT, INPUT_EVENT } from '../../../constants/event.mjs';
1
+ import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, toDisplayString, createVNode, withCtx, createTextVNode, createCommentVNode, createSlots, normalizeProps, mergeProps, Fragment, renderList, createBlock } from 'vue';
2
+ import { ElButtonGroup, ElButton } from '../../button/index.mjs';
3
+ import '../../../hooks/index.mjs';
4
+ import DateTable from './date-table2.mjs';
5
+ import { useCalendar } from './use-calendar.mjs';
6
+ import { calendarProps, calendarEmits } from './calendar.mjs';
7
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
6
10
 
7
- const isValidRange = (range) => isArray(range) && range.length === 2 && range.every((item) => isDate(item));
8
- const calendarProps = buildProps({
9
- modelValue: {
10
- type: Date
11
- },
12
- range: {
13
- type: definePropType(Array),
14
- validator: isValidRange
11
+ const COMPONENT_NAME = "ElCalendar";
12
+ const __default__ = defineComponent({
13
+ name: COMPONENT_NAME
14
+ });
15
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16
+ ...__default__,
17
+ props: calendarProps,
18
+ emits: calendarEmits,
19
+ setup(__props, { expose, emit }) {
20
+ const props = __props;
21
+ const ns = useNamespace("calendar");
22
+ const {
23
+ calculateValidatedDateRange,
24
+ date,
25
+ pickDay,
26
+ realSelectedDay,
27
+ selectDate,
28
+ validatedRange
29
+ } = useCalendar(props, emit, COMPONENT_NAME);
30
+ const { t } = useLocale();
31
+ const i18nDate = computed(() => {
32
+ const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
33
+ return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
34
+ });
35
+ expose({
36
+ selectedDay: realSelectedDay,
37
+ pickDay,
38
+ selectDate,
39
+ calculateValidatedDateRange
40
+ });
41
+ return (_ctx, _cache) => {
42
+ return openBlock(), createElementBlock("div", {
43
+ class: normalizeClass(unref(ns).b())
44
+ }, [
45
+ createElementVNode("div", {
46
+ class: normalizeClass(unref(ns).e("header"))
47
+ }, [
48
+ renderSlot(_ctx.$slots, "header", { date: unref(i18nDate) }, () => [
49
+ createElementVNode("div", {
50
+ class: normalizeClass(unref(ns).e("title"))
51
+ }, toDisplayString(unref(i18nDate)), 3),
52
+ unref(validatedRange).length === 0 ? (openBlock(), createElementBlock("div", {
53
+ key: 0,
54
+ class: normalizeClass(unref(ns).e("button-group"))
55
+ }, [
56
+ createVNode(unref(ElButtonGroup), null, {
57
+ default: withCtx(() => [
58
+ createVNode(unref(ElButton), {
59
+ size: "small",
60
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(selectDate)("prev-month"))
61
+ }, {
62
+ default: withCtx(() => [
63
+ createTextVNode(toDisplayString(unref(t)("el.datepicker.prevMonth")), 1)
64
+ ]),
65
+ _: 1
66
+ }),
67
+ createVNode(unref(ElButton), {
68
+ size: "small",
69
+ onClick: _cache[1] || (_cache[1] = ($event) => unref(selectDate)("today"))
70
+ }, {
71
+ default: withCtx(() => [
72
+ createTextVNode(toDisplayString(unref(t)("el.datepicker.today")), 1)
73
+ ]),
74
+ _: 1
75
+ }),
76
+ createVNode(unref(ElButton), {
77
+ size: "small",
78
+ onClick: _cache[2] || (_cache[2] = ($event) => unref(selectDate)("next-month"))
79
+ }, {
80
+ default: withCtx(() => [
81
+ createTextVNode(toDisplayString(unref(t)("el.datepicker.nextMonth")), 1)
82
+ ]),
83
+ _: 1
84
+ })
85
+ ]),
86
+ _: 1
87
+ })
88
+ ], 2)) : createCommentVNode("v-if", true)
89
+ ])
90
+ ], 2),
91
+ unref(validatedRange).length === 0 ? (openBlock(), createElementBlock("div", {
92
+ key: 0,
93
+ class: normalizeClass(unref(ns).e("body"))
94
+ }, [
95
+ createVNode(DateTable, {
96
+ date: unref(date),
97
+ "selected-day": unref(realSelectedDay),
98
+ onPick: unref(pickDay)
99
+ }, createSlots({ _: 2 }, [
100
+ _ctx.$slots["date-cell"] || _ctx.$slots.dateCell ? {
101
+ name: "date-cell",
102
+ fn: withCtx((data) => [
103
+ _ctx.$slots["date-cell"] ? renderSlot(_ctx.$slots, "date-cell", normalizeProps(mergeProps({ key: 0 }, data))) : renderSlot(_ctx.$slots, "dateCell", normalizeProps(mergeProps({ key: 1 }, data)))
104
+ ])
105
+ } : void 0
106
+ ]), 1032, ["date", "selected-day", "onPick"])
107
+ ], 2)) : (openBlock(), createElementBlock("div", {
108
+ key: 1,
109
+ class: normalizeClass(unref(ns).e("body"))
110
+ }, [
111
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(validatedRange), (range_, index) => {
112
+ return openBlock(), createBlock(DateTable, {
113
+ key: index,
114
+ date: range_[0],
115
+ "selected-day": unref(realSelectedDay),
116
+ range: range_,
117
+ "hide-header": index !== 0,
118
+ onPick: unref(pickDay)
119
+ }, createSlots({ _: 2 }, [
120
+ _ctx.$slots["date-cell"] || _ctx.$slots.dateCell ? {
121
+ name: "date-cell",
122
+ fn: withCtx((data) => [
123
+ _ctx.$slots["date-cell"] ? renderSlot(_ctx.$slots, "date-cell", normalizeProps(mergeProps({ key: 0 }, data))) : renderSlot(_ctx.$slots, "dateCell", normalizeProps(mergeProps({ key: 1 }, data)))
124
+ ])
125
+ } : void 0
126
+ ]), 1032, ["date", "selected-day", "range", "hide-header", "onPick"]);
127
+ }), 128))
128
+ ], 2))
129
+ ], 2);
130
+ };
15
131
  }
16
132
  });
17
- const calendarEmits = {
18
- [UPDATE_MODEL_EVENT]: (value) => isDate(value),
19
- [INPUT_EVENT]: (value) => isDate(value)
20
- };
133
+ var Calendar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/calendar/src/calendar.vue"]]);
21
134
 
22
- export { calendarEmits, calendarProps };
135
+ export { Calendar as default };
23
136
  //# sourceMappingURL=calendar2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n /**\n * @description binding value\n */\n modelValue: {\n type: Date,\n },\n /**\n * @description time range, including start time and end time.\n * Start time must be start day of week, end time must be end day of week, the time span cannot exceed two months.\n */\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n"],"names":[],"mappings":";;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AACzC;;;;"}
1
+ {"version":3,"file":"calendar2.mjs","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template\n v-if=\"$slots['date-cell'] || $slots.dateCell\"\n #date-cell=\"data\"\n >\n <slot v-if=\"$slots['date-cell']\" name=\"date-cell\" v-bind=\"data\" />\n <slot v-else name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\n\nimport DateTable from './date-table.vue'\nimport { useCalendar } from './use-calendar'\nimport { calendarEmits, calendarProps } from './calendar'\n\nconst ns = useNamespace('calendar')\n\nconst COMPONENT_NAME = 'ElCalendar'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst {\n calculateValidatedDateRange,\n date,\n pickDay,\n realSelectedDay,\n selectDate,\n validatedRange,\n} = useCalendar(props, emit, COMPONENT_NAME)\n\nconst { t } = useLocale()\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;mCAiEc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AALA,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAUlC,IAAM,MAAA;AAAA,MACJ,2BAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,KACE,GAAA,WAAA,CAAY,KAAO,EAAA,IAAA,EAAM,cAAc,CAAA,CAAA;AAE3C,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AAExB,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,MAAM,WAAc,GAAA,CAAA,mBAAA,EAAsB,IAAK,CAAA,KAAA,CAAM,OAAO,GAAG,CAAA,CAAA,CAAA,CAAA;AAC/D,MAAO,OAAA,CAAA,EAAG,KAAK,KAAM,CAAA,IAAA,MAAU,CAAE,CAAA,oBAAoB,CAAK,CAAA,CAAA,EAAA,CAAA,CAAE,WAAW,CAAA,CAAA,CAAA,CAAA;AAAA,KACxE,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAEX,WAAa,EAAA,eAAA;AAAA,MAEb,OAAA;AAAA,MAEA,UAAA;AAAA,MAEA,2BAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,7 +7,7 @@ import '../../../constants/index.mjs';
7
7
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
8
8
  import { CommonProps } from '../../cascader-panel/src/config.mjs';
9
9
  import { useSizeProp } from '../../../hooks/use-size/index.mjs';
10
- import { useTooltipContentProps } from '../../tooltip/src/content2.mjs';
10
+ import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
11
11
  import { tagProps } from '../../tag/src/tag.mjs';
12
12
  import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
13
13
  import { isBoolean } from '../../../utils/types.mjs';
@@ -1,8 +1,8 @@
1
1
  import '../../utils/index.mjs';
2
- import Dropdown from './src/dropdown2.mjs';
2
+ import Dropdown from './src/dropdown.mjs';
3
3
  import DropdownItem from './src/dropdown-item.mjs';
4
4
  import DropdownMenu from './src/dropdown-menu.mjs';
5
- export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './src/dropdown.mjs';
5
+ export { DROPDOWN_COLLECTION_INJECTION_KEY, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps } from './src/dropdown2.mjs';
6
6
  import './src/instance.mjs';
7
7
  export { DROPDOWN_INJECTION_KEY } from './src/tokens.mjs';
8
8
  import { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';
@@ -5,7 +5,7 @@ import { ElIcon } from '../../icon/index.mjs';
5
5
  import '../../../hooks/index.mjs';
6
6
  import '../../../utils/index.mjs';
7
7
  import '../../../constants/index.mjs';
8
- import { dropdownItemProps, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY } from './dropdown.mjs';
8
+ import { dropdownItemProps, DROPDOWN_COLLECTION_ITEM_INJECTION_KEY as COLLECTION_ITEM_INJECTION_KEY } from './dropdown2.mjs';
9
9
  import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
10
10
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
11
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
@@ -3,7 +3,7 @@ import '../../roving-focus-group/index.mjs';
3
3
  import '../../../utils/index.mjs';
4
4
  import ElDropdownItemImpl from './dropdown-item-impl.mjs';
5
5
  import { useDropdown } from './useDropdown.mjs';
6
- import { ElCollectionItem, dropdownItemProps } from './dropdown.mjs';
6
+ import { ElCollectionItem, dropdownItemProps } from './dropdown2.mjs';
7
7
  import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
8
8
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
9
  import ElRovingFocusItem from '../../roving-focus-group/src/roving-focus-item.mjs';
@@ -5,7 +5,7 @@ import '../../focus-trap/index.mjs';
5
5
  import '../../roving-focus-group/index.mjs';
6
6
  import '../../../hooks/index.mjs';
7
7
  import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
8
- import { dropdownMenuProps, DROPDOWN_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY, FIRST_LAST_KEYS, LAST_KEYS } from './dropdown.mjs';
8
+ import { dropdownMenuProps, DROPDOWN_COLLECTION_INJECTION_KEY as COLLECTION_INJECTION_KEY, FIRST_LAST_KEYS, LAST_KEYS } from './dropdown2.mjs';
9
9
  import { useDropdown } from './useDropdown.mjs';
10
10
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
11
11
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
@@ -1,106 +1,315 @@
1
+ import { defineComponent, getCurrentInstance, ref, computed, watch, onBeforeUnmount, unref, provide, toRef, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, createSlots, withCtx, renderSlot, createBlock, mergeProps, createCommentVNode } from 'vue';
2
+ import { ElButton } from '../../button/index.mjs';
3
+ import { ElTooltip } from '../../tooltip/index.mjs';
4
+ import { ElScrollbar } from '../../scrollbar/index.mjs';
5
+ import { ElIcon } from '../../icon/index.mjs';
6
+ import '../../roving-focus-group/index.mjs';
7
+ import '../../slot/index.mjs';
8
+ import '../../form/index.mjs';
1
9
  import '../../../utils/index.mjs';
10
+ import { ArrowDown } from '@element-plus/icons-vue';
2
11
  import '../../../constants/index.mjs';
3
- import '../../collection/index.mjs';
4
- import '../../tooltip/index.mjs';
5
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
6
- import { useTooltipTriggerProps } from '../../tooltip/src/trigger.mjs';
7
- import { useTooltipContentProps } from '../../tooltip/src/content2.mjs';
8
- import { iconPropType } from '../../../utils/vue/icon.mjs';
12
+ import '../../../hooks/index.mjs';
13
+ import { ElCollection, dropdownProps } from './dropdown2.mjs';
14
+ import { DROPDOWN_INJECTION_KEY } from './tokens.mjs';
15
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
16
+ import ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-group2.mjs';
17
+ import { OnlyChild } from '../../slot/src/only-child.mjs';
18
+ import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
19
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
9
20
  import { EVENT_CODE } from '../../../constants/aria.mjs';
10
- import { createCollectionWithScope } from '../../collection/src/collection.mjs';
21
+ import { addUnit } from '../../../utils/dom/style.mjs';
22
+ import { castArray } from 'lodash-unified';
23
+ import { useId } from '../../../hooks/use-id/index.mjs';
24
+ import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
11
25
 
12
- const dropdownProps = buildProps({
13
- trigger: useTooltipTriggerProps.trigger,
14
- effect: {
15
- ...useTooltipContentProps.effect,
16
- default: "light"
26
+ const { ButtonGroup: ElButtonGroup } = ElButton;
27
+ const _sfc_main = defineComponent({
28
+ name: "ElDropdown",
29
+ components: {
30
+ ElButton,
31
+ ElButtonGroup,
32
+ ElScrollbar,
33
+ ElDropdownCollection: ElCollection,
34
+ ElTooltip,
35
+ ElRovingFocusGroup,
36
+ ElOnlyChild: OnlyChild,
37
+ ElIcon,
38
+ ArrowDown
17
39
  },
18
- type: {
19
- type: definePropType(String)
20
- },
21
- placement: {
22
- type: definePropType(String),
23
- default: "bottom"
24
- },
25
- popperOptions: {
26
- type: definePropType(Object),
27
- default: () => ({})
28
- },
29
- id: String,
30
- size: {
31
- type: String,
32
- default: ""
33
- },
34
- splitButton: Boolean,
35
- hideOnClick: {
36
- type: Boolean,
37
- default: true
38
- },
39
- loop: {
40
- type: Boolean,
41
- default: true
42
- },
43
- showTimeout: {
44
- type: Number,
45
- default: 150
46
- },
47
- hideTimeout: {
48
- type: Number,
49
- default: 150
50
- },
51
- tabindex: {
52
- type: definePropType([Number, String]),
53
- default: 0
54
- },
55
- maxHeight: {
56
- type: definePropType([Number, String]),
57
- default: ""
58
- },
59
- popperClass: {
60
- type: String,
61
- default: ""
62
- },
63
- disabled: {
64
- type: Boolean,
65
- default: false
66
- },
67
- role: {
68
- type: String,
69
- default: "menu"
70
- },
71
- buttonProps: {
72
- type: definePropType(Object)
73
- },
74
- teleported: useTooltipContentProps.teleported
75
- });
76
- const dropdownItemProps = buildProps({
77
- command: {
78
- type: [Object, String, Number],
79
- default: () => ({})
80
- },
81
- disabled: Boolean,
82
- divided: Boolean,
83
- textValue: String,
84
- icon: {
85
- type: iconPropType
40
+ props: dropdownProps,
41
+ emits: ["visible-change", "click", "command"],
42
+ setup(props, { emit }) {
43
+ const _instance = getCurrentInstance();
44
+ const ns = useNamespace("dropdown");
45
+ const { t } = useLocale();
46
+ const triggeringElementRef = ref();
47
+ const referenceElementRef = ref();
48
+ const popperRef = ref(null);
49
+ const contentRef = ref(null);
50
+ const scrollbar = ref(null);
51
+ const currentTabId = ref(null);
52
+ const isUsingKeyboard = ref(false);
53
+ const triggerKeys = [EVENT_CODE.enter, EVENT_CODE.space, EVENT_CODE.down];
54
+ const wrapStyle = computed(() => ({
55
+ maxHeight: addUnit(props.maxHeight)
56
+ }));
57
+ const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)]);
58
+ const trigger = computed(() => castArray(props.trigger));
59
+ const defaultTriggerId = useId().value;
60
+ const triggerId = computed(() => {
61
+ return props.id || defaultTriggerId;
62
+ });
63
+ watch([triggeringElementRef, trigger], ([triggeringElement, trigger2], [prevTriggeringElement]) => {
64
+ var _a, _b, _c;
65
+ if ((_a = prevTriggeringElement == null ? void 0 : prevTriggeringElement.$el) == null ? void 0 : _a.removeEventListener) {
66
+ prevTriggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
67
+ }
68
+ if ((_b = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _b.removeEventListener) {
69
+ triggeringElement.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
70
+ }
71
+ if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) && trigger2.includes("hover")) {
72
+ triggeringElement.$el.addEventListener("pointerenter", onAutofocusTriggerEnter);
73
+ }
74
+ }, { immediate: true });
75
+ onBeforeUnmount(() => {
76
+ var _a, _b;
77
+ if ((_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.removeEventListener) {
78
+ triggeringElementRef.value.$el.removeEventListener("pointerenter", onAutofocusTriggerEnter);
79
+ }
80
+ });
81
+ function handleClick() {
82
+ handleClose();
83
+ }
84
+ function handleClose() {
85
+ var _a;
86
+ (_a = popperRef.value) == null ? void 0 : _a.onClose();
87
+ }
88
+ function handleOpen() {
89
+ var _a;
90
+ (_a = popperRef.value) == null ? void 0 : _a.onOpen();
91
+ }
92
+ const dropdownSize = useFormSize();
93
+ function commandHandler(...args) {
94
+ emit("command", ...args);
95
+ }
96
+ function onAutofocusTriggerEnter() {
97
+ var _a, _b;
98
+ (_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.focus();
99
+ }
100
+ function onItemEnter() {
101
+ }
102
+ function onItemLeave() {
103
+ const contentEl = unref(contentRef);
104
+ trigger.value.includes("hover") && (contentEl == null ? void 0 : contentEl.focus());
105
+ currentTabId.value = null;
106
+ }
107
+ function handleCurrentTabIdChange(id) {
108
+ currentTabId.value = id;
109
+ }
110
+ function handleEntryFocus(e) {
111
+ if (!isUsingKeyboard.value) {
112
+ e.preventDefault();
113
+ e.stopImmediatePropagation();
114
+ }
115
+ }
116
+ function handleBeforeShowTooltip() {
117
+ emit("visible-change", true);
118
+ }
119
+ function handleShowTooltip(event) {
120
+ if ((event == null ? void 0 : event.type) === "keydown") {
121
+ contentRef.value.focus();
122
+ }
123
+ }
124
+ function handleBeforeHideTooltip() {
125
+ emit("visible-change", false);
126
+ }
127
+ provide(DROPDOWN_INJECTION_KEY, {
128
+ contentRef,
129
+ role: computed(() => props.role),
130
+ triggerId,
131
+ isUsingKeyboard,
132
+ onItemEnter,
133
+ onItemLeave
134
+ });
135
+ provide("elDropdown", {
136
+ instance: _instance,
137
+ dropdownSize,
138
+ handleClick,
139
+ commandHandler,
140
+ trigger: toRef(props, "trigger"),
141
+ hideOnClick: toRef(props, "hideOnClick")
142
+ });
143
+ const onFocusAfterTrapped = (e) => {
144
+ var _a, _b;
145
+ e.preventDefault();
146
+ (_b = (_a = contentRef.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a, {
147
+ preventScroll: true
148
+ });
149
+ };
150
+ const handlerMainButtonClick = (event) => {
151
+ emit("click", event);
152
+ };
153
+ return {
154
+ t,
155
+ ns,
156
+ scrollbar,
157
+ wrapStyle,
158
+ dropdownTriggerKls,
159
+ dropdownSize,
160
+ triggerId,
161
+ triggerKeys,
162
+ currentTabId,
163
+ handleCurrentTabIdChange,
164
+ handlerMainButtonClick,
165
+ handleEntryFocus,
166
+ handleClose,
167
+ handleOpen,
168
+ handleBeforeShowTooltip,
169
+ handleShowTooltip,
170
+ handleBeforeHideTooltip,
171
+ onFocusAfterTrapped,
172
+ popperRef,
173
+ contentRef,
174
+ triggeringElementRef,
175
+ referenceElementRef
176
+ };
86
177
  }
87
178
  });
88
- const dropdownMenuProps = buildProps({
89
- onKeydown: { type: definePropType(Function) }
90
- });
91
- const FIRST_KEYS = [
92
- EVENT_CODE.down,
93
- EVENT_CODE.pageDown,
94
- EVENT_CODE.home
95
- ];
96
- const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end];
97
- const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
98
- const {
99
- ElCollection,
100
- ElCollectionItem,
101
- COLLECTION_INJECTION_KEY,
102
- COLLECTION_ITEM_INJECTION_KEY
103
- } = createCollectionWithScope("Dropdown");
179
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
180
+ var _a;
181
+ const _component_el_dropdown_collection = resolveComponent("el-dropdown-collection");
182
+ const _component_el_roving_focus_group = resolveComponent("el-roving-focus-group");
183
+ const _component_el_scrollbar = resolveComponent("el-scrollbar");
184
+ const _component_el_only_child = resolveComponent("el-only-child");
185
+ const _component_el_tooltip = resolveComponent("el-tooltip");
186
+ const _component_el_button = resolveComponent("el-button");
187
+ const _component_arrow_down = resolveComponent("arrow-down");
188
+ const _component_el_icon = resolveComponent("el-icon");
189
+ const _component_el_button_group = resolveComponent("el-button-group");
190
+ return openBlock(), createElementBlock("div", {
191
+ class: normalizeClass([_ctx.ns.b(), _ctx.ns.is("disabled", _ctx.disabled)])
192
+ }, [
193
+ createVNode(_component_el_tooltip, {
194
+ ref: "popperRef",
195
+ role: _ctx.role,
196
+ effect: _ctx.effect,
197
+ "fallback-placements": ["bottom", "top"],
198
+ "popper-options": _ctx.popperOptions,
199
+ "gpu-acceleration": false,
200
+ "hide-after": _ctx.trigger === "hover" ? _ctx.hideTimeout : 0,
201
+ "manual-mode": true,
202
+ placement: _ctx.placement,
203
+ "popper-class": [_ctx.ns.e("popper"), _ctx.popperClass],
204
+ "reference-element": (_a = _ctx.referenceElementRef) == null ? void 0 : _a.$el,
205
+ trigger: _ctx.trigger,
206
+ "trigger-keys": _ctx.triggerKeys,
207
+ "trigger-target-el": _ctx.contentRef,
208
+ "show-after": _ctx.trigger === "hover" ? _ctx.showTimeout : 0,
209
+ "stop-popper-mouse-event": false,
210
+ "virtual-ref": _ctx.triggeringElementRef,
211
+ "virtual-triggering": _ctx.splitButton,
212
+ disabled: _ctx.disabled,
213
+ transition: `${_ctx.ns.namespace.value}-zoom-in-top`,
214
+ teleported: _ctx.teleported,
215
+ pure: "",
216
+ persistent: "",
217
+ onBeforeShow: _ctx.handleBeforeShowTooltip,
218
+ onShow: _ctx.handleShowTooltip,
219
+ onBeforeHide: _ctx.handleBeforeHideTooltip
220
+ }, createSlots({
221
+ content: withCtx(() => [
222
+ createVNode(_component_el_scrollbar, {
223
+ ref: "scrollbar",
224
+ "wrap-style": _ctx.wrapStyle,
225
+ tag: "div",
226
+ "view-class": _ctx.ns.e("list")
227
+ }, {
228
+ default: withCtx(() => [
229
+ createVNode(_component_el_roving_focus_group, {
230
+ loop: _ctx.loop,
231
+ "current-tab-id": _ctx.currentTabId,
232
+ orientation: "horizontal",
233
+ onCurrentTabIdChange: _ctx.handleCurrentTabIdChange,
234
+ onEntryFocus: _ctx.handleEntryFocus
235
+ }, {
236
+ default: withCtx(() => [
237
+ createVNode(_component_el_dropdown_collection, null, {
238
+ default: withCtx(() => [
239
+ renderSlot(_ctx.$slots, "dropdown")
240
+ ]),
241
+ _: 3
242
+ })
243
+ ]),
244
+ _: 3
245
+ }, 8, ["loop", "current-tab-id", "onCurrentTabIdChange", "onEntryFocus"])
246
+ ]),
247
+ _: 3
248
+ }, 8, ["wrap-style", "view-class"])
249
+ ]),
250
+ _: 2
251
+ }, [
252
+ !_ctx.splitButton ? {
253
+ name: "default",
254
+ fn: withCtx(() => [
255
+ createVNode(_component_el_only_child, {
256
+ id: _ctx.triggerId,
257
+ ref: "triggeringElementRef",
258
+ role: "button",
259
+ tabindex: _ctx.tabindex
260
+ }, {
261
+ default: withCtx(() => [
262
+ renderSlot(_ctx.$slots, "default")
263
+ ]),
264
+ _: 3
265
+ }, 8, ["id", "tabindex"])
266
+ ])
267
+ } : void 0
268
+ ]), 1032, ["role", "effect", "popper-options", "hide-after", "placement", "popper-class", "reference-element", "trigger", "trigger-keys", "trigger-target-el", "show-after", "virtual-ref", "virtual-triggering", "disabled", "transition", "teleported", "onBeforeShow", "onShow", "onBeforeHide"]),
269
+ _ctx.splitButton ? (openBlock(), createBlock(_component_el_button_group, { key: 0 }, {
270
+ default: withCtx(() => [
271
+ createVNode(_component_el_button, mergeProps({ ref: "referenceElementRef" }, _ctx.buttonProps, {
272
+ size: _ctx.dropdownSize,
273
+ type: _ctx.type,
274
+ disabled: _ctx.disabled,
275
+ tabindex: _ctx.tabindex,
276
+ onClick: _ctx.handlerMainButtonClick
277
+ }), {
278
+ default: withCtx(() => [
279
+ renderSlot(_ctx.$slots, "default")
280
+ ]),
281
+ _: 3
282
+ }, 16, ["size", "type", "disabled", "tabindex", "onClick"]),
283
+ createVNode(_component_el_button, mergeProps({
284
+ id: _ctx.triggerId,
285
+ ref: "triggeringElementRef"
286
+ }, _ctx.buttonProps, {
287
+ role: "button",
288
+ size: _ctx.dropdownSize,
289
+ type: _ctx.type,
290
+ class: _ctx.ns.e("caret-button"),
291
+ disabled: _ctx.disabled,
292
+ tabindex: _ctx.tabindex,
293
+ "aria-label": _ctx.t("el.dropdown.toggleDropdown")
294
+ }), {
295
+ default: withCtx(() => [
296
+ createVNode(_component_el_icon, {
297
+ class: normalizeClass(_ctx.ns.e("icon"))
298
+ }, {
299
+ default: withCtx(() => [
300
+ createVNode(_component_arrow_down)
301
+ ]),
302
+ _: 1
303
+ }, 8, ["class"])
304
+ ]),
305
+ _: 1
306
+ }, 16, ["id", "size", "type", "class", "disabled", "tabindex", "aria-label"])
307
+ ]),
308
+ _: 3
309
+ })) : createCommentVNode("v-if", true)
310
+ ], 2);
311
+ }
312
+ var Dropdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/dropdown/src/dropdown.vue"]]);
104
313
 
105
- export { COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY, COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps };
314
+ export { Dropdown as default };
106
315
  //# sourceMappingURL=dropdown.mjs.map