@element-plus/nightly 0.0.20220319 → 0.0.20220322

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 (333) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +325 -315
  4. package/dist/index.full.min.js +7 -7
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +7 -7
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +325 -315
  9. package/dist/locale/af.js +1 -1
  10. package/dist/locale/af.min.js +1 -1
  11. package/dist/locale/af.min.mjs +1 -1
  12. package/dist/locale/af.mjs +1 -1
  13. package/dist/locale/ar.js +1 -1
  14. package/dist/locale/ar.min.js +1 -1
  15. package/dist/locale/ar.min.mjs +1 -1
  16. package/dist/locale/ar.mjs +1 -1
  17. package/dist/locale/bg.js +1 -1
  18. package/dist/locale/bg.min.js +1 -1
  19. package/dist/locale/bg.min.mjs +1 -1
  20. package/dist/locale/bg.mjs +1 -1
  21. package/dist/locale/bn.js +1 -1
  22. package/dist/locale/bn.min.js +1 -1
  23. package/dist/locale/bn.min.mjs +1 -1
  24. package/dist/locale/bn.mjs +1 -1
  25. package/dist/locale/ca.js +1 -1
  26. package/dist/locale/ca.min.js +1 -1
  27. package/dist/locale/ca.min.mjs +1 -1
  28. package/dist/locale/ca.mjs +1 -1
  29. package/dist/locale/cs.js +1 -1
  30. package/dist/locale/cs.min.js +1 -1
  31. package/dist/locale/cs.min.mjs +1 -1
  32. package/dist/locale/cs.mjs +1 -1
  33. package/dist/locale/da.js +1 -1
  34. package/dist/locale/da.min.js +1 -1
  35. package/dist/locale/da.min.mjs +1 -1
  36. package/dist/locale/da.mjs +1 -1
  37. package/dist/locale/de.js +1 -1
  38. package/dist/locale/de.min.js +1 -1
  39. package/dist/locale/de.min.mjs +1 -1
  40. package/dist/locale/de.mjs +1 -1
  41. package/dist/locale/el.js +1 -1
  42. package/dist/locale/el.min.js +1 -1
  43. package/dist/locale/el.min.mjs +1 -1
  44. package/dist/locale/el.mjs +1 -1
  45. package/dist/locale/en.js +1 -1
  46. package/dist/locale/en.min.js +1 -1
  47. package/dist/locale/en.min.mjs +1 -1
  48. package/dist/locale/en.mjs +1 -1
  49. package/dist/locale/eo.js +1 -1
  50. package/dist/locale/eo.min.js +1 -1
  51. package/dist/locale/eo.min.mjs +1 -1
  52. package/dist/locale/eo.mjs +1 -1
  53. package/dist/locale/es.js +1 -1
  54. package/dist/locale/es.min.js +1 -1
  55. package/dist/locale/es.min.mjs +1 -1
  56. package/dist/locale/es.mjs +1 -1
  57. package/dist/locale/et.js +1 -1
  58. package/dist/locale/et.min.js +1 -1
  59. package/dist/locale/et.min.mjs +1 -1
  60. package/dist/locale/et.mjs +1 -1
  61. package/dist/locale/eu.js +1 -1
  62. package/dist/locale/eu.min.js +1 -1
  63. package/dist/locale/eu.min.mjs +1 -1
  64. package/dist/locale/eu.mjs +1 -1
  65. package/dist/locale/fa.js +1 -1
  66. package/dist/locale/fa.min.js +1 -1
  67. package/dist/locale/fa.min.mjs +1 -1
  68. package/dist/locale/fa.mjs +1 -1
  69. package/dist/locale/fi.js +1 -1
  70. package/dist/locale/fi.min.js +1 -1
  71. package/dist/locale/fi.min.mjs +1 -1
  72. package/dist/locale/fi.mjs +1 -1
  73. package/dist/locale/fr.js +1 -1
  74. package/dist/locale/fr.min.js +1 -1
  75. package/dist/locale/fr.min.mjs +1 -1
  76. package/dist/locale/fr.mjs +1 -1
  77. package/dist/locale/he.js +1 -1
  78. package/dist/locale/he.min.js +1 -1
  79. package/dist/locale/he.min.mjs +1 -1
  80. package/dist/locale/he.mjs +1 -1
  81. package/dist/locale/hr.js +1 -1
  82. package/dist/locale/hr.min.js +1 -1
  83. package/dist/locale/hr.min.mjs +1 -1
  84. package/dist/locale/hr.mjs +1 -1
  85. package/dist/locale/hu.js +1 -1
  86. package/dist/locale/hu.min.js +1 -1
  87. package/dist/locale/hu.min.mjs +1 -1
  88. package/dist/locale/hu.mjs +1 -1
  89. package/dist/locale/hy-am.js +1 -1
  90. package/dist/locale/hy-am.min.js +1 -1
  91. package/dist/locale/hy-am.min.mjs +1 -1
  92. package/dist/locale/hy-am.mjs +1 -1
  93. package/dist/locale/id.js +1 -1
  94. package/dist/locale/id.min.js +1 -1
  95. package/dist/locale/id.min.mjs +1 -1
  96. package/dist/locale/id.mjs +1 -1
  97. package/dist/locale/it.js +1 -1
  98. package/dist/locale/it.min.js +1 -1
  99. package/dist/locale/it.min.mjs +1 -1
  100. package/dist/locale/it.mjs +1 -1
  101. package/dist/locale/ja.js +1 -1
  102. package/dist/locale/ja.min.js +1 -1
  103. package/dist/locale/ja.min.mjs +1 -1
  104. package/dist/locale/ja.mjs +1 -1
  105. package/dist/locale/kk.js +1 -1
  106. package/dist/locale/kk.min.js +1 -1
  107. package/dist/locale/kk.min.mjs +1 -1
  108. package/dist/locale/kk.mjs +1 -1
  109. package/dist/locale/km.js +1 -1
  110. package/dist/locale/km.min.js +1 -1
  111. package/dist/locale/km.min.mjs +1 -1
  112. package/dist/locale/km.mjs +1 -1
  113. package/dist/locale/ko.js +1 -1
  114. package/dist/locale/ko.min.js +1 -1
  115. package/dist/locale/ko.min.mjs +1 -1
  116. package/dist/locale/ko.mjs +1 -1
  117. package/dist/locale/ku.js +1 -1
  118. package/dist/locale/ku.min.js +1 -1
  119. package/dist/locale/ku.min.mjs +1 -1
  120. package/dist/locale/ku.mjs +1 -1
  121. package/dist/locale/ky.js +1 -1
  122. package/dist/locale/ky.min.js +1 -1
  123. package/dist/locale/ky.min.mjs +1 -1
  124. package/dist/locale/ky.mjs +1 -1
  125. package/dist/locale/lt.js +1 -1
  126. package/dist/locale/lt.min.js +1 -1
  127. package/dist/locale/lt.min.mjs +1 -1
  128. package/dist/locale/lt.mjs +1 -1
  129. package/dist/locale/lv.js +1 -1
  130. package/dist/locale/lv.min.js +1 -1
  131. package/dist/locale/lv.min.mjs +1 -1
  132. package/dist/locale/lv.mjs +1 -1
  133. package/dist/locale/mg.js +1 -1
  134. package/dist/locale/mg.min.js +1 -1
  135. package/dist/locale/mg.min.mjs +1 -1
  136. package/dist/locale/mg.mjs +1 -1
  137. package/dist/locale/mn.js +1 -1
  138. package/dist/locale/mn.min.js +1 -1
  139. package/dist/locale/mn.min.mjs +1 -1
  140. package/dist/locale/mn.mjs +1 -1
  141. package/dist/locale/nb-no.js +1 -1
  142. package/dist/locale/nb-no.min.js +1 -1
  143. package/dist/locale/nb-no.min.mjs +1 -1
  144. package/dist/locale/nb-no.mjs +1 -1
  145. package/dist/locale/nl.js +1 -1
  146. package/dist/locale/nl.min.js +1 -1
  147. package/dist/locale/nl.min.mjs +1 -1
  148. package/dist/locale/nl.mjs +1 -1
  149. package/dist/locale/pa.js +1 -1
  150. package/dist/locale/pa.min.js +1 -1
  151. package/dist/locale/pa.min.mjs +1 -1
  152. package/dist/locale/pa.mjs +1 -1
  153. package/dist/locale/pl.js +1 -1
  154. package/dist/locale/pl.min.js +1 -1
  155. package/dist/locale/pl.min.mjs +1 -1
  156. package/dist/locale/pl.mjs +1 -1
  157. package/dist/locale/pt-br.js +1 -1
  158. package/dist/locale/pt-br.min.js +1 -1
  159. package/dist/locale/pt-br.min.mjs +1 -1
  160. package/dist/locale/pt-br.mjs +1 -1
  161. package/dist/locale/pt.js +1 -1
  162. package/dist/locale/pt.min.js +1 -1
  163. package/dist/locale/pt.min.mjs +1 -1
  164. package/dist/locale/pt.mjs +1 -1
  165. package/dist/locale/ro.js +1 -1
  166. package/dist/locale/ro.min.js +1 -1
  167. package/dist/locale/ro.min.mjs +1 -1
  168. package/dist/locale/ro.mjs +1 -1
  169. package/dist/locale/ru.js +1 -1
  170. package/dist/locale/ru.min.js +1 -1
  171. package/dist/locale/ru.min.mjs +1 -1
  172. package/dist/locale/ru.mjs +1 -1
  173. package/dist/locale/sk.js +1 -1
  174. package/dist/locale/sk.min.js +1 -1
  175. package/dist/locale/sk.min.mjs +1 -1
  176. package/dist/locale/sk.mjs +1 -1
  177. package/dist/locale/sl.js +1 -1
  178. package/dist/locale/sl.min.js +1 -1
  179. package/dist/locale/sl.min.mjs +1 -1
  180. package/dist/locale/sl.mjs +1 -1
  181. package/dist/locale/sr.js +1 -1
  182. package/dist/locale/sr.min.js +1 -1
  183. package/dist/locale/sr.min.mjs +1 -1
  184. package/dist/locale/sr.mjs +1 -1
  185. package/dist/locale/sv.js +1 -1
  186. package/dist/locale/sv.min.js +1 -1
  187. package/dist/locale/sv.min.mjs +1 -1
  188. package/dist/locale/sv.mjs +1 -1
  189. package/dist/locale/ta.js +1 -1
  190. package/dist/locale/ta.min.js +1 -1
  191. package/dist/locale/ta.min.mjs +1 -1
  192. package/dist/locale/ta.mjs +1 -1
  193. package/dist/locale/th.js +1 -1
  194. package/dist/locale/th.min.js +1 -1
  195. package/dist/locale/th.min.mjs +1 -1
  196. package/dist/locale/th.mjs +1 -1
  197. package/dist/locale/tk.js +1 -1
  198. package/dist/locale/tk.min.js +1 -1
  199. package/dist/locale/tk.min.mjs +1 -1
  200. package/dist/locale/tk.mjs +1 -1
  201. package/dist/locale/tr.js +1 -1
  202. package/dist/locale/tr.min.js +1 -1
  203. package/dist/locale/tr.min.mjs +1 -1
  204. package/dist/locale/tr.mjs +1 -1
  205. package/dist/locale/ug-cn.js +1 -1
  206. package/dist/locale/ug-cn.min.js +1 -1
  207. package/dist/locale/ug-cn.min.mjs +1 -1
  208. package/dist/locale/ug-cn.mjs +1 -1
  209. package/dist/locale/uk.js +1 -1
  210. package/dist/locale/uk.min.js +1 -1
  211. package/dist/locale/uk.min.mjs +1 -1
  212. package/dist/locale/uk.mjs +1 -1
  213. package/dist/locale/uz-uz.js +1 -1
  214. package/dist/locale/uz-uz.min.js +1 -1
  215. package/dist/locale/uz-uz.min.mjs +1 -1
  216. package/dist/locale/uz-uz.mjs +1 -1
  217. package/dist/locale/vi.js +1 -1
  218. package/dist/locale/vi.min.js +1 -1
  219. package/dist/locale/vi.min.mjs +1 -1
  220. package/dist/locale/vi.mjs +1 -1
  221. package/dist/locale/zh-cn.js +1 -1
  222. package/dist/locale/zh-cn.min.js +1 -1
  223. package/dist/locale/zh-cn.min.mjs +1 -1
  224. package/dist/locale/zh-cn.mjs +1 -1
  225. package/dist/locale/zh-tw.js +1 -1
  226. package/dist/locale/zh-tw.min.js +1 -1
  227. package/dist/locale/zh-tw.min.mjs +1 -1
  228. package/dist/locale/zh-tw.mjs +1 -1
  229. package/es/components/autocomplete/index.d.ts +36 -4
  230. package/es/components/autocomplete/src/autocomplete.d.ts +9 -1
  231. package/es/components/autocomplete/src/autocomplete.mjs +1 -1
  232. package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
  233. package/es/components/autocomplete/src/autocomplete.vue.d.ts +36 -4
  234. package/es/components/autocomplete/src/autocomplete2.mjs +13 -3
  235. package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
  236. package/es/components/cascader/index.d.ts +30 -0
  237. package/es/components/cascader/src/index.mjs +7 -5
  238. package/es/components/cascader/src/index.mjs.map +1 -1
  239. package/es/components/cascader/src/index.vue.d.ts +15 -0
  240. package/es/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
  241. package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  242. package/es/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  243. package/es/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  244. package/es/components/dropdown/src/dropdown2.mjs +2 -2
  245. package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
  246. package/es/components/empty/index.d.ts +17 -0
  247. package/es/components/empty/index.mjs +2 -2
  248. package/es/components/empty/index.mjs.map +1 -1
  249. package/es/components/empty/src/empty.vue.d.ts +17 -0
  250. package/es/components/empty/src/empty2.mjs +39 -46
  251. package/es/components/empty/src/empty2.mjs.map +1 -1
  252. package/es/components/select/index.d.ts +1 -1
  253. package/es/components/select/src/select.vue.d.ts +1 -1
  254. package/es/components/tabs/src/tabs.mjs +1 -1
  255. package/es/components/tabs/src/tabs.mjs.map +1 -1
  256. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +1 -1
  257. package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
  258. package/es/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  259. package/es/version.d.ts +1 -1
  260. package/es/version.mjs +1 -1
  261. package/es/version.mjs.map +1 -1
  262. package/lib/components/autocomplete/index.d.ts +36 -4
  263. package/lib/components/autocomplete/src/autocomplete.d.ts +9 -1
  264. package/lib/components/autocomplete/src/autocomplete.js +1 -1
  265. package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
  266. package/lib/components/autocomplete/src/autocomplete.vue.d.ts +36 -4
  267. package/lib/components/autocomplete/src/autocomplete2.js +13 -3
  268. package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
  269. package/lib/components/cascader/index.d.ts +30 -0
  270. package/lib/components/cascader/src/index.js +7 -5
  271. package/lib/components/cascader/src/index.js.map +1 -1
  272. package/lib/components/cascader/src/index.vue.d.ts +15 -0
  273. package/lib/components/date-picker/src/date-picker-com/basic-date-table.vue.d.ts +2 -2
  274. package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
  275. package/lib/components/date-picker/src/date-picker-com/panel-date-range.vue.d.ts +2 -2
  276. package/lib/components/date-picker/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
  277. package/lib/components/dropdown/src/dropdown2.js +2 -2
  278. package/lib/components/dropdown/src/dropdown2.js.map +1 -1
  279. package/lib/components/empty/index.d.ts +17 -0
  280. package/lib/components/empty/src/empty.vue.d.ts +17 -0
  281. package/lib/components/empty/src/empty2.js +38 -45
  282. package/lib/components/empty/src/empty2.js.map +1 -1
  283. package/lib/components/select/index.d.ts +1 -1
  284. package/lib/components/select/src/select.vue.d.ts +1 -1
  285. package/lib/components/tabs/src/tabs.js +1 -1
  286. package/lib/components/tabs/src/tabs.js.map +1 -1
  287. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +1 -1
  288. package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
  289. package/lib/components/time-picker/src/time-picker-com/useTimePicker.d.ts +2 -2
  290. package/lib/version.d.ts +1 -1
  291. package/lib/version.js +1 -1
  292. package/lib/version.js.map +1 -1
  293. package/package.json +7 -7
  294. package/tags.json +1 -1
  295. package/theme-chalk/base.css +1 -1
  296. package/theme-chalk/el-avatar.css +1 -1
  297. package/theme-chalk/el-button.css +1 -1
  298. package/theme-chalk/el-calendar.css +1 -1
  299. package/theme-chalk/el-cascader-panel.css +1 -1
  300. package/theme-chalk/el-cascader.css +1 -1
  301. package/theme-chalk/el-checkbox.css +1 -1
  302. package/theme-chalk/el-color-picker.css +1 -1
  303. package/theme-chalk/el-date-picker.css +1 -1
  304. package/theme-chalk/el-descriptions.css +1 -1
  305. package/theme-chalk/el-input.css +1 -1
  306. package/theme-chalk/el-message.css +1 -1
  307. package/theme-chalk/el-reset.css +1 -1
  308. package/theme-chalk/el-select-v2.css +1 -1
  309. package/theme-chalk/el-select.css +1 -1
  310. package/theme-chalk/el-skeleton.css +1 -1
  311. package/theme-chalk/el-spinner.css +1 -1
  312. package/theme-chalk/el-table.css +1 -1
  313. package/theme-chalk/el-tabs.css +1 -1
  314. package/theme-chalk/el-time-picker.css +1 -1
  315. package/theme-chalk/el-time-select.css +1 -1
  316. package/theme-chalk/el-upload.css +1 -1
  317. package/theme-chalk/el-var.css +1 -1
  318. package/theme-chalk/index.css +1 -1
  319. package/theme-chalk/src/button.scss +4 -1
  320. package/theme-chalk/src/calendar.scss +1 -1
  321. package/theme-chalk/src/color-picker.scss +3 -3
  322. package/theme-chalk/src/common/var.scss +9 -9
  323. package/theme-chalk/src/date-picker/picker-panel.scss +6 -6
  324. package/theme-chalk/src/mixins/mixins.scss +2 -2
  325. package/theme-chalk/src/reset.scss +1 -1
  326. package/theme-chalk/src/select-v2.scss +2 -2
  327. package/theme-chalk/src/select.scss +1 -1
  328. package/theme-chalk/src/spinner.scss +1 -1
  329. package/theme-chalk/src/table.scss +1 -1
  330. package/theme-chalk/src/tabs.scss +3 -3
  331. package/theme-chalk/src/upload.scss +8 -8
  332. package/theme-chalk/src/var.scss +17 -13
  333. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"empty2.js","sources":["../../../../../../packages/components/empty/src/empty.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('image')\" :style=\"imageStyle\">\n <img v-if=\"image\" :src=\"image\" ondragstart=\"return false\" />\n <slot v-else name=\"image\">\n <img-empty />\n </slot>\n </div>\n <div :class=\"ns.e('description')\">\n <slot v-if=\"$slots.description\" name=\"description\" />\n <p v-else>{{ emptyDescription }}</p>\n </div>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ImgEmpty from './img-empty.vue'\nimport { emptyProps } from './empty'\n\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'ElEmpty',\n components: {\n ImgEmpty,\n },\n\n props: emptyProps,\n\n setup(props) {\n const { t } = useLocale()\n const ns = useNamespace('empty')\n const emptyDescription = computed(\n () => props.description || t('el.table.emptyText')\n )\n const imageStyle = computed<CSSProperties>(() => ({\n width: props.imageSize ? `${props.imageSize}px` : '',\n }))\n\n return {\n ns,\n emptyDescription,\n imageStyle,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ImgEmpty","emptyProps","useLocale","useNamespace","computed","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_openBlock","_renderSlot","_createVNode","_createCommentVNode"],"mappings":";;;;;;;;;;;;AA0BA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,SAAA;AAAA,EACN,UAAY,EAAA;AAAA,cACVC,mBAAA;AAAA,GAAA;AAAA,EAGF,KAAO,EAAAC,gBAAA;AAAA,EAEP,MAAM,KAAO,EAAA;AACX,IAAA,MAAM,EAAE,CAAM,EAAA,GAAAC,eAAA,EAAA,CAAA;AACd,IAAA,MAAM,KAAKC,oBAAa,CAAA,OAAA,CAAA,CAAA;AACxB,IAAA,MAAM,gBAAmB,GAAAC,YAAA,CACvB,MAAM,KAAA,CAAM,eAAe,CAAE,CAAA,oBAAA,CAAA,CAAA,CAAA;AAE/B,IAAM,MAAA,UAAA,GAAaA,aAAwB,OAAO;AAAA,MAChD,KAAO,EAAA,KAAA,CAAM,SAAY,GAAA,CAAA,EAAG,MAAM,SAAgB,CAAA,EAAA,CAAA,GAAA,EAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAGpD,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,gBAAA;AAAA,MACA,UAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,CAAA;;;;;0BA9CJC,sBAcM,CAAA,KAAA,EAAA;AAAA,IAdA,KAAA,EAAKC,mBAAE,IAAG,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA;AAAA,GAAA,EAAA;IACdC,sBAKM,CAAA,KAAA,EAAA;AAAA,MALA,KAAA,EAAKD,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,OAAA,CAAA,CAAA;AAAA,MAAY,OAAKE,kBAAE,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,KAAA,EAAA;AACvB,MAAA,IAAA,CAAA,KAAA,IAAAC,aAAA,EAAA,EAAXJ,sBAA4D,CAAA,KAAA,EAAA;AAAA,QAAA,GAAA,EAAA,CAAA;QAAzC,GAAK,EAAA,IAAA,CAAA,KAAA;AAAA,QAAO,WAAY,EAAA,cAAA;AAAA,OAC3C,EAAA,IAAA,EAAA,CAAA,EAAA,UAAA,CAAA,IAAAK,cAAA,CAEO,kCAFP,MAEO;AAAA,QADLC,eAAa,CAAA,oBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA;IAGjBJ,sBAGM,CAAA,KAAA,EAAA;AAAA,MAHA,KAAA,EAAKD,kBAAE,CAAA,IAAA,CAAA,EAAA,CAAG,CAAC,CAAA,aAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AACH,MAAA,IAAA,CAAA,MAAA,CAAO,WAAnB,GAAAI,cAAA,CAAqD,IACrD,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,CAAA,IAAAD,aAAA,EAAA,EAAAJ,sBAAA,CAAoC,qCAAvB,IAAgB,CAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA;AAEpB,IAAA,IAAA,CAAA,MAAA,CAAO,4BAAlBA,sBAEM,CAAA,KAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;MAFsB,KAAK,EAAAC,kBAAA,CAAE,QAAG,CAAC,CAAA,QAAA,CAAA,CAAA;AAAA,KAAA,EAAA;MACrCI,cAAQ,CAAA,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA,IAAAE,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;;;;;;;"}
1
+ {"version":3,"file":"empty2.js","sources":["../../../../../../packages/components/empty/src/empty.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('image')\" :style=\"imageStyle\">\n <img v-if=\"image\" :src=\"image\" ondragstart=\"return false\" />\n <slot v-else name=\"image\">\n <img-empty />\n </slot>\n </div>\n <div :class=\"ns.e('description')\">\n <slot v-if=\"$slots.description\" name=\"description\" />\n <p v-else>{{ emptyDescription }}</p>\n </div>\n <div v-if=\"$slots.default\" :class=\"ns.e('bottom')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ImgEmpty from './img-empty.vue'\nimport { emptyProps } from './empty'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n name: 'ElEmpty',\n})\n\nconst props = defineProps(emptyProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('empty')\nconst emptyDescription = computed(\n () => props.description || t('el.table.emptyText')\n)\nconst imageStyle = computed<CSSProperties>(() => ({\n width: props.imageSize ? `${props.imageSize}px` : '',\n}))\n</script>\n"],"names":["useLocale","useNamespace","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgCA,IAAA,MAAA,EAAA,CAAA,EAAA,GAAAA,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,KAAAC,oBAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAAC,YAAA,CACA,MAAA,KAAA,CAAA,eAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,CAAA;AAEA,IAAA,MAAA,UAAA,GAAAA,aAAA,OAAA;AAAA,MACA,KAAA,EAAA,KAAA,CAAA,SAAA,GAAA,CAAA,EAAA,MAAA,SAAA,CAAA,EAAA,CAAA,GAAA,EAAA;AAAA,KAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -838,6 +838,7 @@ export declare const ElSelect: import("element-plus/es/utils").SFCWithInstall<im
838
838
  filterable: boolean;
839
839
  collapseTags: boolean;
840
840
  collapseTagsTooltip: boolean;
841
+ tagType: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "danger", unknown>;
841
842
  clearIcon: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
842
843
  automaticDropdown: boolean;
843
844
  allowCreate: boolean;
@@ -846,7 +847,6 @@ export declare const ElSelect: import("element-plus/es/utils").SFCWithInstall<im
846
847
  defaultFirstOption: boolean;
847
848
  reserveKeyword: boolean;
848
849
  fitInputWidth: boolean;
849
- tagType: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "danger", unknown>;
850
850
  }>> & {
851
851
  Option: import("vue").DefineComponent<{
852
852
  value: {
@@ -840,6 +840,7 @@ declare const _default: import("vue").DefineComponent<{
840
840
  filterable: boolean;
841
841
  collapseTags: boolean;
842
842
  collapseTagsTooltip: boolean;
843
+ tagType: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "danger", unknown>;
843
844
  clearIcon: string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
844
845
  automaticDropdown: boolean;
845
846
  allowCreate: boolean;
@@ -848,6 +849,5 @@ declare const _default: import("vue").DefineComponent<{
848
849
  defaultFirstOption: boolean;
849
850
  reserveKeyword: boolean;
850
851
  fitInputWidth: boolean;
851
- tagType: import("element-plus/es/utils").BuildPropType<StringConstructor, "" | "success" | "warning" | "info" | "danger", unknown>;
852
852
  }>;
853
853
  export default _default;
@@ -81,7 +81,7 @@ var Tabs = vue.defineComponent({
81
81
  if (!content)
82
82
  return;
83
83
  const paneInstanceList = getPaneInstanceFromSlot(content).map((paneComponent) => paneStatesMap[paneComponent.uid]);
84
- const panesChanged = !(paneInstanceList.length === panes.value.length && paneInstanceList.every((pane, index) => pane.uid === panes.value[index].uid));
84
+ const panesChanged = !(paneInstanceList.length === panes.value.length && paneInstanceList.every((pane, index) => pane.uid === panes.value[index].uid && !pane.instance.slots.label));
85
85
  if (isForceUpdate || panesChanged) {
86
86
  panes.value = paneInstanceList;
87
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.ts"],"sourcesContent":["import {\n defineComponent,\n Fragment,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { isPromise, NOOP } from '@vue/shared'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabNav from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n VNode,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: String,\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newTabName: string | number,\n oldTabName: string | number\n ) => void | boolean | Promise<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n [INPUT_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: string | number | null, action: 'remove' | 'add') =>\n action === 'remove' || action === 'add',\n 'tab-remove': (paneName: string | number) =>\n typeof paneName === 'string' || typeof paneName === 'number',\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const nav$ = ref<InstanceType<typeof TabNav>>()\n\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === 'el-tabs__content'\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) => pane.uid === panes.value[index].uid\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: string | number) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: string | number) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: string | number,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', null, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable\n ? h(\n 'span',\n {\n class: 'el-tabs__new-tab',\n tabindex: '0',\n onClick: handleTabAdd,\n onKeydown: (ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n },\n },\n [h(ElIcon, { class: 'is-icon-plus' }, { default: () => h(Plus) })]\n )\n : null\n\n const header = h(\n 'div',\n { class: ['el-tabs__header', `is-${props.tabPosition}`] },\n [\n newButton,\n h(TabNav, {\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n ref: nav$,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n }),\n ]\n )\n\n const panels = h('div', { class: 'el-tabs__content' }, [\n renderSlot(slots, 'default'),\n ])\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs': true,\n 'el-tabs--card': props.type === 'card',\n [`el-tabs--${props.tabPosition}`]: true,\n 'el-tabs--border-card': props.type === 'border-card',\n },\n },\n props.tabPosition !== 'bottom' ? [header, panels] : [panels, header]\n )\n }\n },\n})\n"],"names":["buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT","Fragment","defineComponent","getCurrentInstance","ref","isPromise","NOOP","onUpdated","onMounted","watch","nextTick","provide","tabsRootContextKey","h","EVENT_CODE","ElIcon","Plus","TabNav","renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"tabs.js","sources":["../../../../../../packages/components/tabs/src/tabs.ts"],"sourcesContent":["import {\n defineComponent,\n Fragment,\n getCurrentInstance,\n h,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n ref,\n renderSlot,\n watch,\n} from 'vue'\nimport { isPromise, NOOP } from '@vue/shared'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport {\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElIcon from '@element-plus/components/icon'\nimport { Plus } from '@element-plus/icons-vue'\nimport { tabsRootContextKey } from '@element-plus/tokens'\nimport TabNav from './tab-nav'\nimport type { TabsPaneContext } from '@element-plus/tokens'\n\nimport type {\n Component,\n ComponentInternalInstance,\n VNode,\n ExtractPropTypes,\n Ref,\n} from 'vue'\n\nexport const tabsProps = buildProps({\n type: {\n type: String,\n values: ['card', 'border-card', ''],\n default: '',\n },\n activeName: {\n type: String,\n default: '',\n },\n closable: Boolean,\n addable: Boolean,\n modelValue: {\n type: [String, Number],\n default: '',\n },\n editable: Boolean,\n tabPosition: {\n type: String,\n values: ['top', 'right', 'bottom', 'left'],\n default: 'top',\n },\n beforeLeave: {\n type: definePropType<\n (\n newTabName: string | number,\n oldTabName: string | number\n ) => void | boolean | Promise<void | boolean>\n >(Function),\n default: () => true,\n },\n stretch: Boolean,\n} as const)\nexport type TabsProps = ExtractPropTypes<typeof tabsProps>\n\nexport const tabsEmits = {\n [UPDATE_MODEL_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n [INPUT_EVENT]: (tabName: string | number) =>\n typeof tabName === 'string' || typeof tabName === 'number',\n 'tab-click': (pane: TabsPaneContext, ev: Event) => ev instanceof Event,\n edit: (paneName: string | number | null, action: 'remove' | 'add') =>\n action === 'remove' || action === 'add',\n 'tab-remove': (paneName: string | number) =>\n typeof paneName === 'string' || typeof paneName === 'number',\n 'tab-add': () => true,\n}\nexport type TabsEmits = typeof tabsEmits\n\nconst getPaneInstanceFromSlot = (\n vnode: VNode,\n paneInstanceList: ComponentInternalInstance[] = []\n) => {\n const children = (vnode.children || []) as ArrayLike<VNode>\n Array.from(children).forEach((node) => {\n let type = node.type\n type = (type as Component).name || type\n if (type === 'ElTabPane' && node.component) {\n paneInstanceList.push(node.component)\n } else if (type === Fragment || type === 'template') {\n getPaneInstanceFromSlot(node, paneInstanceList)\n }\n })\n return paneInstanceList\n}\n\nexport default defineComponent({\n name: 'ElTabs',\n\n props: tabsProps,\n emits: tabsEmits,\n\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance()!\n const nav$ = ref<InstanceType<typeof TabNav>>()\n\n const panes: Ref<TabsPaneContext[]> = ref([])\n const currentName = ref(props.modelValue || props.activeName || '0')\n\n const paneStatesMap: Record<number, TabsPaneContext> = {}\n\n const updatePaneInstances = (isForceUpdate = false) => {\n if (slots.default) {\n const children = instance.subTree.children as ArrayLike<VNode>\n const content = Array.from(children).find(\n ({ props }) => props?.class === 'el-tabs__content'\n )\n if (!content) return\n\n const paneInstanceList: TabsPaneContext[] = getPaneInstanceFromSlot(\n content\n ).map((paneComponent) => paneStatesMap[paneComponent.uid])\n\n const panesChanged = !(\n paneInstanceList.length === panes.value.length &&\n paneInstanceList.every(\n (pane, index) =>\n pane.uid === panes.value[index].uid && !pane.instance.slots.label // if has label slot, should update every time\n )\n )\n\n if (isForceUpdate || panesChanged) {\n panes.value = paneInstanceList\n }\n } else if (panes.value.length !== 0) {\n panes.value = []\n }\n }\n\n const changeCurrentName = (value: string | number) => {\n currentName.value = value\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n }\n\n const setCurrentName = (value: string | number) => {\n // should do nothing.\n if (currentName.value === value) return\n\n const canLeave = props.beforeLeave?.(value, currentName.value)\n if (isPromise(canLeave)) {\n canLeave.then(\n () => {\n changeCurrentName(value)\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.removeFocus?.()\n },\n // ignore promise rejection in `before-leave` hook\n NOOP\n )\n } else if (canLeave !== false) {\n changeCurrentName(value)\n }\n }\n\n const handleTabClick = (\n tab: TabsPaneContext,\n tabName: string | number,\n event: Event\n ) => {\n if (tab.props.disabled) return\n setCurrentName(tabName)\n emit('tab-click', tab, event)\n }\n\n const handleTabRemove = (pane: TabsPaneContext, ev: Event) => {\n if (pane.props.disabled) return\n ev.stopPropagation()\n emit('edit', pane.props.name, 'remove')\n emit('tab-remove', pane.props.name)\n }\n\n const handleTabAdd = () => {\n emit('edit', null, 'add')\n emit('tab-add')\n }\n\n onUpdated(() => updatePaneInstances())\n onMounted(() => updatePaneInstances())\n\n watch(\n () => props.activeName,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(\n () => props.modelValue,\n (modelValue) => setCurrentName(modelValue)\n )\n\n watch(currentName, async () => {\n updatePaneInstances(true)\n await nextTick()\n await nav$.value?.$nextTick()\n\n // call exposed function, Vue doesn't support expose in typescript yet.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n nav$.value?.scrollToActiveTab()\n })\n\n provide(tabsRootContextKey, {\n props,\n currentName,\n updatePaneState: (pane) => (paneStatesMap[pane.uid] = pane),\n })\n\n expose({\n currentName,\n })\n\n return () => {\n const newButton =\n props.editable || props.addable\n ? h(\n 'span',\n {\n class: 'el-tabs__new-tab',\n tabindex: '0',\n onClick: handleTabAdd,\n onKeydown: (ev: KeyboardEvent) => {\n if (ev.code === EVENT_CODE.enter) handleTabAdd()\n },\n },\n [h(ElIcon, { class: 'is-icon-plus' }, { default: () => h(Plus) })]\n )\n : null\n\n const header = h(\n 'div',\n { class: ['el-tabs__header', `is-${props.tabPosition}`] },\n [\n newButton,\n h(TabNav, {\n currentName: currentName.value,\n editable: props.editable,\n type: props.type,\n panes: panes.value,\n stretch: props.stretch,\n ref: nav$,\n onTabClick: handleTabClick,\n onTabRemove: handleTabRemove,\n }),\n ]\n )\n\n const panels = h('div', { class: 'el-tabs__content' }, [\n renderSlot(slots, 'default'),\n ])\n\n return h(\n 'div',\n {\n class: {\n 'el-tabs': true,\n 'el-tabs--card': props.type === 'card',\n [`el-tabs--${props.tabPosition}`]: true,\n 'el-tabs--border-card': props.type === 'border-card',\n },\n },\n props.tabPosition !== 'bottom' ? [header, panels] : [panels, header]\n )\n }\n },\n})\n"],"names":["buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT","Fragment","defineComponent","getCurrentInstance","ref","isPromise","NOOP","onUpdated","onMounted","watch","nextTick","provide","tabsRootContextKey","h","EVENT_CODE","ElIcon","Plus","TabNav","renderSlot"],"mappings":";;;;;;;;;;;;;;;;;AAwBY,MAAC,SAAS,GAAGA,gBAAU,CAAC;AACpC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;AACvC,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;AAC9C,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAEC,oBAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,MAAM,IAAI;AACvB,GAAG;AACH,EAAE,OAAO,EAAE,OAAO;AAClB,CAAC,EAAE;AACS,MAAC,SAAS,GAAG;AACzB,EAAE,CAACC,wBAAkB,GAAG,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC/F,EAAE,CAACC,iBAAW,GAAG,CAAC,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ;AACxF,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK;AAChD,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK;AACrE,EAAE,YAAY,EAAE,CAAC,QAAQ,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;AAC1F,EAAE,SAAS,EAAE,MAAM,IAAI;AACvB,EAAE;AACF,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,EAAE,KAAK;AAClE,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACzC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;AAC7B,IAAI,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;AAChD,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5C,KAAK,MAAM,IAAI,IAAI,KAAKC,YAAQ,IAAI,IAAI,KAAK,UAAU,EAAE;AACzD,MAAM,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACtD,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AACF,WAAeC,mBAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,EAAE,SAAS;AAClB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;AACxC,IAAI,MAAM,QAAQ,GAAGC,sBAAkB,EAAE,CAAC;AAC1C,IAAI,MAAM,IAAI,GAAGC,OAAG,EAAE,CAAC;AACvB,IAAI,MAAM,KAAK,GAAGA,OAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,MAAM,WAAW,GAAGA,OAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;AACzE,IAAI,MAAM,aAAa,GAAG,EAAE,CAAC;AAC7B,IAAI,MAAM,mBAAmB,GAAG,CAAC,aAAa,GAAG,KAAK,KAAK;AAC3D,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;AACzB,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;AACnD,QAAQ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,kBAAkB,CAAC,CAAC;AAC1I,QAAQ,IAAI,CAAC,OAAO;AACpB,UAAU,OAAO;AACjB,QAAQ,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3H,QAAQ,MAAM,YAAY,GAAG,EAAE,gBAAgB,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7L,QAAQ,IAAI,aAAa,IAAI,YAAY,EAAE;AAC3C,UAAU,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;AACzC,SAAS;AACT,OAAO,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,QAAQ,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACzB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACzC,MAAM,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;AAChC,MAAM,IAAI,CAACJ,iBAAW,EAAE,KAAK,CAAC,CAAC;AAC/B,MAAM,IAAI,CAACD,wBAAkB,EAAE,KAAK,CAAC,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AACtC,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK;AACrC,QAAQ,OAAO;AACf,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5G,MAAM,IAAIM,gBAAS,CAAC,QAAQ,CAAC,EAAE;AAC/B,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM;AAC5B,UAAU,IAAI,GAAG,EAAE,EAAE,CAAC;AACtB,UAAU,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACnC,UAAU,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvG,SAAS,EAAEC,WAAI,CAAC,CAAC;AACjB,OAAO,MAAM,IAAI,QAAQ,KAAK,KAAK,EAAE;AACrC,QAAQ,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,KAAK;AACpD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;AAC5B,QAAQ,OAAO;AACf,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAC9B,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK;AAC1C,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;AAC7B,QAAQ,OAAO;AACf,MAAM,EAAE,CAAC,eAAe,EAAE,CAAC;AAC3B,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9C,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1C,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,MAAM;AAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;AACtB,KAAK,CAAC;AACN,IAAIC,aAAS,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC;AAC3C,IAAIC,aAAS,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC;AAC3C,IAAIC,SAAK,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,IAAIA,SAAK,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,IAAIA,SAAK,CAAC,WAAW,EAAE,YAAY;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;AACjB,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,MAAMC,YAAQ,EAAE,CAAC;AACvB,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;AAClE,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;AAClE,KAAK,CAAC,CAAC;AACP,IAAIC,WAAO,CAACC,uBAAkB,EAAE;AAChC,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,eAAe,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;AAC/D,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,CAAC;AACX,MAAM,WAAW;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM;AACjB,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,GAAGC,KAAC,CAAC,MAAM,EAAE;AACpE,QAAQ,KAAK,EAAE,kBAAkB;AACjC,QAAQ,QAAQ,EAAE,GAAG;AACrB,QAAQ,OAAO,EAAE,YAAY;AAC7B,QAAQ,SAAS,EAAE,CAAC,EAAE,KAAK;AAC3B,UAAU,IAAI,EAAE,CAAC,IAAI,KAAKC,eAAU,CAAC,KAAK;AAC1C,YAAY,YAAY,EAAE,CAAC;AAC3B,SAAS;AACT,OAAO,EAAE,CAACD,KAAC,CAACE,YAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,MAAMF,KAAC,CAACG,aAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACpF,MAAM,MAAM,MAAM,GAAGH,KAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;AACzF,QAAQ,SAAS;AACjB,QAAQA,KAAC,CAACI,iBAAM,EAAE;AAClB,UAAU,WAAW,EAAE,WAAW,CAAC,KAAK;AACxC,UAAU,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAClC,UAAU,IAAI,EAAE,KAAK,CAAC,IAAI;AAC1B,UAAU,KAAK,EAAE,KAAK,CAAC,KAAK;AAC5B,UAAU,OAAO,EAAE,KAAK,CAAC,OAAO;AAChC,UAAU,GAAG,EAAE,IAAI;AACnB,UAAU,UAAU,EAAE,cAAc;AACpC,UAAU,WAAW,EAAE,eAAe;AACtC,SAAS,CAAC;AACV,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,MAAM,GAAGJ,KAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE;AAC7D,QAAQK,cAAU,CAAC,KAAK,EAAE,SAAS,CAAC;AACpC,OAAO,CAAC,CAAC;AACT,MAAM,OAAOL,KAAC,CAAC,KAAK,EAAE;AACtB,QAAQ,KAAK,EAAE;AACf,UAAU,SAAS,EAAE,IAAI;AACzB,UAAU,eAAe,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM;AAChD,UAAU,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI;AACjD,UAAU,sBAAsB,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa;AAC9D,SAAS;AACT,OAAO,EAAE,KAAK,CAAC,WAAW,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;;;"}
@@ -44,7 +44,7 @@ const _sfc_main = vue.defineComponent({
44
44
  const maxDate = vue.computed(() => props.parsedValue[1]);
45
45
  const oldValue = useTimePicker.useOldValue(props);
46
46
  const handleCancel = () => {
47
- ctx.emit("pick", oldValue.value, null);
47
+ ctx.emit("pick", oldValue.value, false);
48
48
  };
49
49
  const showSeconds = vue.computed(() => {
50
50
  return props.format.includes("ss");
@@ -1 +1 @@
1
- {"version":3,"file":"panel-time-range.js","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, null)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["defineComponent","TimeSpinner","useLocale","computed","useOldValue","ref","dayjs","EVENT_CODE","union","getAvailableArrs","inject","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass","_createVNode","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"panel-time-range.js","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-range.vue"],"sourcesContent":["<template>\n <div v-if=\"actualVisible\" class=\"el-time-range-picker el-picker-panel\">\n <div class=\"el-time-range-picker__content\">\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.startTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"minSpinner\"\n role=\"start\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"minDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMinChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMinSelectionRange\"\n />\n </div>\n </div>\n <div class=\"el-time-range-picker__cell\">\n <div class=\"el-time-range-picker__header\">\n {{ t('el.datepicker.endTime') }}\n </div>\n <div\n :class=\"{ 'has-seconds': showSeconds, 'is-arrow': arrowControl }\"\n class=\"el-time-range-picker__body el-time-panel__content\"\n >\n <time-spinner\n ref=\"maxSpinner\"\n role=\"end\"\n :show-seconds=\"showSeconds\"\n :am-pm-mode=\"amPmMode\"\n :arrow-control=\"arrowControl\"\n :spinner-date=\"maxDate\"\n :disabled-hours=\"disabledHours_\"\n :disabled-minutes=\"disabledMinutes_\"\n :disabled-seconds=\"disabledSeconds_\"\n @change=\"handleMaxChange\"\n @set-option=\"onSetOption\"\n @select-range=\"setMaxSelectionRange\"\n />\n </div>\n </div>\n </div>\n <div class=\"el-time-panel__footer\">\n <button\n type=\"button\"\n class=\"el-time-panel__btn cancel\"\n @click=\"handleCancel()\"\n >\n {{ t('el.datepicker.cancel') }}\n </button>\n <button\n type=\"button\"\n class=\"el-time-panel__btn confirm\"\n :disabled=\"btnConfirmDisabled\"\n @click=\"handleConfirm()\"\n >\n {{ t('el.datepicker.confirm') }}\n </button>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { union } from 'lodash-unified'\nimport { useLocale } from '@element-plus/hooks'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst makeSelectRange = (start: number, end: number) => {\n const result = []\n for (let i = start; i <= end; i++) {\n result.push(i)\n }\n return result\n}\nexport default defineComponent({\n components: { TimeSpinner },\n\n props: {\n visible: Boolean,\n actualVisible: Boolean,\n parsedValue: {\n type: [Array] as PropType<Array<Dayjs>>,\n },\n format: {\n type: String,\n default: '',\n },\n },\n\n emits: ['pick', 'select-range', 'set-picker-option'],\n\n setup(props, ctx) {\n const { t, lang } = useLocale()\n const minDate = computed(() => props.parsedValue[0])\n const maxDate = computed(() => props.parsedValue[1])\n const oldValue = useOldValue(props)\n const handleCancel = () => {\n ctx.emit('pick', oldValue.value, false)\n }\n const showSeconds = computed(() => {\n return props.format.includes('ss')\n })\n const amPmMode = computed(() => {\n if (props.format.includes('A')) return 'A'\n if (props.format.includes('a')) return 'a'\n return ''\n })\n\n const minSelectableRange = ref([])\n const maxSelectableRange = ref([])\n\n const handleConfirm = (visible = false) => {\n ctx.emit('pick', [minDate.value, maxDate.value], visible)\n }\n\n const handleMinChange = (date) => {\n handleChange(date.millisecond(0), maxDate.value)\n }\n const handleMaxChange = (date) => {\n handleChange(minDate.value, date.millisecond(0))\n }\n\n const isValidValue = (_date: Dayjs[]) => {\n const parsedDate = _date.map((_) => dayjs(_).locale(lang.value))\n const result = getRangeAvailableTime(parsedDate)\n return parsedDate[0].isSame(result[0]) && parsedDate[1].isSame(result[1])\n }\n\n const handleChange = (_minDate, _maxDate) => {\n // todo getRangeAvailableTime(_date).millisecond(0)\n ctx.emit('pick', [_minDate, _maxDate], true)\n }\n const btnConfirmDisabled = computed(() => {\n return minDate.value > maxDate.value\n })\n\n const selectionRange = ref([0, 2])\n const setMinSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'min')\n selectionRange.value = [start, end]\n }\n\n const offset = computed(() => (showSeconds.value ? 11 : 8))\n const setMaxSelectionRange = (start, end) => {\n ctx.emit('select-range', start, end, 'max')\n selectionRange.value = [start + offset.value, end + offset.value]\n }\n\n const changeSelectionRange = (step) => {\n const list = showSeconds.value ? [0, 3, 6, 11, 14, 17] : [0, 3, 8, 11]\n const mapping = ['hours', 'minutes'].concat(\n showSeconds.value ? ['seconds'] : []\n )\n const index = list.indexOf(selectionRange.value[0])\n const next = (index + step + list.length) % list.length\n const half = list.length / 2\n if (next < half) {\n timePickerOptions['start_emitSelectRange'](mapping[next])\n } else {\n timePickerOptions['end_emitSelectRange'](mapping[next - half])\n }\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n const code = event.code\n\n if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n const step = code === EVENT_CODE.left ? -1 : 1\n changeSelectionRange(step)\n event.preventDefault()\n return\n }\n\n if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n const step = code === EVENT_CODE.up ? -1 : 1\n const role = selectionRange.value[0] < offset.value ? 'start' : 'end'\n timePickerOptions[`${role}_scrollDown`](step)\n event.preventDefault()\n return\n }\n }\n\n const disabledHours_ = (role, compare) => {\n const defaultDisable = disabledHours ? disabledHours(role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const nextDisable = isStart\n ? makeSelectRange(compareHour + 1, 23)\n : makeSelectRange(0, compareHour - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledMinutes_ = (hour, role, compare) => {\n const defaultDisable = disabledMinutes ? disabledMinutes(hour, role) : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n if (hour !== compareHour) {\n return defaultDisable\n }\n const compareMinute = compareDate.minute()\n const nextDisable = isStart\n ? makeSelectRange(compareMinute + 1, 59)\n : makeSelectRange(0, compareMinute - 1)\n return union(defaultDisable, nextDisable)\n }\n const disabledSeconds_ = (hour, minute, role, compare) => {\n const defaultDisable = disabledSeconds\n ? disabledSeconds(hour, minute, role)\n : []\n const isStart = role === 'start'\n const compareDate = compare || (isStart ? maxDate.value : minDate.value)\n const compareHour = compareDate.hour()\n const compareMinute = compareDate.minute()\n if (hour !== compareHour || minute !== compareMinute) {\n return defaultDisable\n }\n const compareSecond = compareDate.second()\n const nextDisable = isStart\n ? makeSelectRange(compareSecond + 1, 59)\n : makeSelectRange(0, compareSecond - 1)\n return union(defaultDisable, nextDisable)\n }\n\n const getRangeAvailableTime = (dates: Array<Dayjs>) => {\n return dates.map((_, index) =>\n getRangeAvailableTimeEach(\n dates[0],\n dates[1],\n index === 0 ? 'start' : 'end'\n )\n )\n }\n\n const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n getAvailableArrs(disabledHours_, disabledMinutes_, disabledSeconds_)\n\n const getRangeAvailableTimeEach = (\n startDate: Dayjs,\n endDate: Dayjs,\n role\n ) => {\n const availableMap = {\n hour: getAvailableHours,\n minute: getAvailableMinutes,\n second: getAvailableSeconds,\n }\n const isStart = role === 'start'\n let result = isStart ? startDate : endDate\n const compareDate = isStart ? endDate : startDate\n ;['hour', 'minute', 'second'].forEach((_) => {\n if (availableMap[_]) {\n let availableArr\n const method = availableMap[_]\n if (_ === 'minute') {\n availableArr = method(result.hour(), role, compareDate)\n } else if (_ === 'second') {\n availableArr = method(\n result.hour(),\n result.minute(),\n role,\n compareDate\n )\n } else {\n availableArr = method(role, compareDate)\n }\n if (\n availableArr &&\n availableArr.length &&\n !availableArr.includes(result[_]())\n ) {\n const pos = isStart ? 0 : availableArr.length - 1\n result = result[_](availableArr[pos])\n }\n }\n })\n return result\n }\n\n const parseUserInput = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => dayjs(_, props.format).locale(lang.value))\n }\n return dayjs(value, props.format).locale(lang.value)\n }\n\n const formatToString = (value: Dayjs[] | Dayjs) => {\n if (!value) return null\n if (Array.isArray(value)) {\n return value.map((_) => _.format(props.format))\n }\n return value.format(props.format)\n }\n\n const getDefaultValue = () => {\n if (Array.isArray(defaultValue)) {\n return defaultValue.map((_) => dayjs(_).locale(lang.value))\n }\n const defaultDay = dayjs(defaultValue).locale(lang.value)\n return [defaultDay, defaultDay.add(60, 'm')]\n }\n\n ctx.emit('set-picker-option', ['formatToString', formatToString])\n ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n ctx.emit('set-picker-option', [\n 'getRangeAvailableTime',\n getRangeAvailableTime,\n ])\n\n const timePickerOptions = {} as any\n const onSetOption = (e) => {\n timePickerOptions[e[0]] = e[1]\n }\n\n const pickerBase = inject('EP_PICKER_BASE') as any\n const {\n arrowControl,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n defaultValue,\n } = pickerBase.props\n\n return {\n arrowControl,\n onSetOption,\n setMaxSelectionRange,\n setMinSelectionRange,\n btnConfirmDisabled,\n handleCancel,\n handleConfirm,\n t,\n showSeconds,\n minDate,\n maxDate,\n amPmMode,\n handleMinChange,\n handleMaxChange,\n minSelectableRange,\n maxSelectableRange,\n disabledHours_,\n disabledMinutes_,\n disabledSeconds_,\n }\n },\n})\n</script>\n"],"names":["defineComponent","TimeSpinner","useLocale","computed","useOldValue","ref","dayjs","EVENT_CODE","union","getAvailableArrs","inject","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass","_createVNode","_createCommentVNode"],"mappings":"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"}
@@ -54,7 +54,7 @@ export declare const useOldValue: (props: {
54
54
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
55
55
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
56
56
  format: (template?: string | undefined) => string;
57
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
57
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
58
58
  valueOf: () => number;
59
59
  unix: () => number;
60
60
  daysInMonth: () => number;
@@ -124,7 +124,7 @@ export declare const useOldValue: (props: {
124
124
  startOf: (unit: import("dayjs").OpUnitType) => Dayjs;
125
125
  endOf: (unit: import("dayjs").OpUnitType) => Dayjs;
126
126
  format: (template?: string | undefined) => string;
127
- diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
127
+ diff: (date?: string | number | Date | Dayjs | null | undefined, unit?: "year" | "month" | "date" | "dates" | "week" | "D" | "M" | "y" | "weeks" | "months" | "hours" | "minutes" | "seconds" | "s" | "h" | "day" | "millisecond" | "second" | "minute" | "hour" | "milliseconds" | "days" | "years" | "d" | "m" | "ms" | "w" | "quarter" | "quarters" | "Q" | undefined, float?: boolean | undefined) => number;
128
128
  valueOf: () => number;
129
129
  unix: () => number;
130
130
  daysInMonth: () => number;
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20220319";
1
+ export declare const version = "0.0.20220322";
package/lib/version.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const version = "0.0.20220319";
5
+ const version = "0.0.20220322";
6
6
 
7
7
  exports.version = version;
8
8
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220319'\n"],"names":[],"mappings":";;;;AAAY,MAAC,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220322'\n"],"names":[],"mappings":";;;;AAAY,MAAC,OAAO,GAAG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@element-plus/nightly",
3
- "version": "0.0.20220319",
3
+ "version": "0.0.20220322",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "homepage": "https://element-plus.org/",
6
6
  "keywords": [
@@ -49,11 +49,11 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@ctrl/tinycolor": "^3.4.0",
52
- "@element-plus/icons-vue": "^1.1.1",
53
- "@popperjs/core": "^2.11.3",
54
- "@vueuse/core": "^8.0.1",
52
+ "@element-plus/icons-vue": "^1.1.4",
53
+ "@popperjs/core": "^2.11.4",
54
+ "@vueuse/core": "^8.1.2",
55
55
  "async-validator": "^4.0.7",
56
- "dayjs": "^1.10.8",
56
+ "dayjs": "^1.11.0",
57
57
  "escape-html": "^1.0.3",
58
58
  "lodash": "^4.17.21",
59
59
  "lodash-es": "^4.17.21",
@@ -62,7 +62,7 @@
62
62
  "normalize-wheel-es": "^1.1.1"
63
63
  },
64
64
  "devDependencies": {
65
- "@types/lodash": "^4.14.179",
65
+ "@types/lodash": "^4.14.180",
66
66
  "@types/lodash-es": "^4.17.6",
67
67
  "@types/node": "*",
68
68
  "csstype": "^2.6.19",
@@ -78,5 +78,5 @@
78
78
  "not ie 11",
79
79
  "not op_mini all"
80
80
  ],
81
- "gitHead": "3be9aee6b4a67d0cf9df8c7afd05f93fed49e847"
81
+ "gitHead": "7218ee19a7466cc93bc98f08fc302eac6236b6a9"
82
82
  }
package/tags.json CHANGED
@@ -1 +1 @@
1
- {"el-affix":{"attributes":["offset","position","target","z-index","change","scroll"],"description":"Fix the element to a specific visible area.\n\n[Docs](https://element-plus.org/en-US/component/affix.html#affix)"},"el-alert":{"attributes":["title","type","description","closable","center","close-text","show-icon","effect","close"],"description":"Displays important alert messages.\n\n[Docs](https://element-plus.org/en-US/component/alert.html#alert)"},"el-avatar":{"attributes":["icon","size","shape","src","src-set","alt","fit","error"],"description":"Avatars can be used to represent people or objects. It supports images, Icons, or characters.\n\n[Docs](https://element-plus.org/en-US/component/avatar.html#avatar)"},"el-backtop":{"attributes":["target","visibility-height","right","bottom","click"],"description":"A button to back to top\n\n[Docs](https://element-plus.org/en-US/component/backtop.html#backtop)"},"el-badge":{"attributes":["value","max","is-dot","hidden","type"],"description":"A number or status mark on buttons and icons.\n\n[Docs](https://element-plus.org/en-US/component/badge.html#badge)"},"el-breadcrumb":{"attributes":["separator","separator-icon"],"subtags":["el-breadcrumb-item"],"description":"Displays the location of the current page, making it easier to browser back.\n\n[Docs](https://element-plus.org/en-US/component/breadcrumb.html#breadcrumb)"},"el-breadcrumb-item":{"attributes":["to","replace"],"description":"[Docs](https://element-plus.org/en-US/component/breadcrumb.html#breadcrumb-item)"},"el-button":{"attributes":["auto-insert-space"],"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#button)"},"el-button-group":{"attributes":["size","type"],"subtags":["el-button"],"description":"[Docs](https://element-plus.org/en-US/component/button.html#button-group)"},"el-calendar":{"attributes":["model-value","range"],"description":"Display date.\n\n[Docs](https://element-plus.org/en-US/component/calendar.html#calendar)"},"el-card":{"attributes":["header","body-style","shadow"],"description":"Integrate information in a card container.\n\n[Docs](https://element-plus.org/en-US/component/card.html#card)"},"el-carousel":{"attributes":["height","initial-index","trigger","autoplay","interval","indicator-position","arrow","type","loop","direction","pause-on-hover","change"],"subtags":["el-carousel-item"],"description":"Loop a series of images or texts in a limited space\n\n[Docs](https://element-plus.org/en-US/component/carousel.html#carousel)"},"el-carousel-item":{"attributes":["name","label"],"description":"[Docs](https://element-plus.org/en-US/component/carousel.html#carousel-item)"},"el-cascader":{"attributes":["model-value","options","props","size","placeholder","disabled","clearable","show-all-levels","collapse-tags","collapse-tags-tooltip","separator","filterable","filter-method","debounce","before-filter","popper-class","teleported","popper-append-to-body(deprecated)","change","expand-change","blur","focus","visible-change","remove-tag"],"description":"If the options have a clear hierarchical structure, Cascader can be used to view and select them.\n\n[Docs](https://element-plus.org/en-US/component/cascader.html#cascader)"},"el-cascader-panel":{"attributes":["model-value","options","props","change","expand-change"],"description":"[Docs](https://element-plus.org/en-US/component/cascader.html#cascaderpanel)"},"el-checkbox":{"attributes":["model-value","label","true-label","false-label","disabled","border","size","name","checked","indeterminate","change"],"description":"A group of options for multiple choices.\n\n[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox)"},"el-checkbox-group":{"attributes":["model-value","size","disabled","min","max","text-color","fill","change"],"subtags":["el-checkbox","el-checkbox-button"],"description":"[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox-group)"},"el-checkbox-button":{"attributes":["label","true-label","false-label","disabled","name","checked"],"description":"[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox-button)"},"el-collapse":{"attributes":["model-value","accordion","change"],"subtags":["el-collapse-item"],"description":"Use Collapse to store contents.\n\n[Docs](https://element-plus.org/en-US/component/collapse.html#collapse)"},"el-collapse-item":{"attributes":["name","title","disabled"],"description":"[Docs](https://element-plus.org/en-US/component/collapse.html#collapse-item)"},"el-color-picker":{"attributes":["model-value","disabled","size","show-alpha","color-format","popper-class","predefine","change","active-change"],"description":"ColorPicker is a color selector supporting multiple color formats.\n\n[Docs](https://element-plus.org/en-US/component/color-picker.html#colorpicker)"},"el-config-provider":{"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#configprovider)"},"el-message":{"attributes":["max"],"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#message)"},"el-container":{"attributes":["direction"],"subtags":["el-container","el-header","el-aside","el-main","el-footer"],"description":"Container components for scaffolding basic structure of the page:\n\n[Docs](https://element-plus.org/en-US/component/container.html#container)"},"el-header":{"attributes":["height"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#header)"},"el-aside":{"attributes":["width"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#aside)"},"el-main":{"description":"[Docs](https://element-plus.org/en-US/component/container.html#main)"},"el-footer":{"attributes":["height"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#footer)"},"el-date-picker":{"attributes":["model-value","readonly","disabled","size","editable","clearable","placeholder","start-placeholder","end-placeholder","type","format","popper-class","range-separator","default-value","default-time","value-format","id","name","unlink-panels","prefix-icon","clear-icon","validate-event","disabled-date","shortcuts","cell-class-name","teleported","change","blur","focus","calendar-change","panel-change","visible-change"],"description":"Use Date Picker for date input.\n\n[Docs](https://element-plus.org/en-US/component/date-picker.html#datepicker)"},"el-descriptions":{"attributes":["border","column","direction","size","title","extra"],"subtags":["el-descriptions-item"],"description":"Display multiple fields in list form.\n\n[Docs](https://element-plus.org/en-US/component/descriptions.html#descriptions)"},"el-descriptions-item":{"attributes":["label","span","width","min-width","align","label-align","class-name","label-class-name"],"description":"[Docs](https://element-plus.org/en-US/component/descriptions.html#descriptions-item)"},"el-dialog":{"attributes":["model-value","title","width","fullscreen","top","modal","append-to-body","lock-scroll","custom-class","open-delay","close-delay","close-on-click-modal","close-on-press-escape","show-close","before-close","draggable","center","destroy-on-close","open","opened","close","closed","open-auto-focus","close-auto-focus"],"description":"Informs users while preserving the current page state.\n\n[Docs](https://element-plus.org/en-US/component/dialog.html#dialog)"},"el-divider":{"attributes":["direction","border-style","content-position"],"description":"The dividing line that separates the content.\n\n[Docs](https://element-plus.org/en-US/component/divider.html#divider)"},"el-drawer":{"attributes":["model-value","append-to-body","lock-scroll","before-close","close-on-click-modal","close-on-press-escape","open-delay","close-delay","custom-class","destroy-on-close","modal","direction","show-close","size","title","with-header","modal-class","z-index","open","opened","close","closed"],"description":"Sometimes, `Dialog` does not always satisfy our requirements, let's say you have a massive form, or you need space to display something like `terms & conditions`, `Drawer` has almost identical API with `Dialog`, but it introduces different user experience.\n\n[Docs](https://element-plus.org/en-US/component/drawer.html#drawer)"},"el-dropdown":{"attributes":["type","size","max-height","split-button","disabled","placement","trigger","hide-on-click","show-timeout","hide-timeout","tabindex","popper-class","popper-options","click","command","visible-change"],"subtags":["el-dropdown-menu"],"description":"Toggleable menu for displaying lists of links and actions.\n\n[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown)"},"el-dropdown-menu":{"subtags":["el-dropdown-item"],"description":"[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown-menu)"},"el-dropdown-item":{"attributes":["command","disabled","divided","icon"],"description":"[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown-item)"},"el-empty":{"attributes":["image","image-size","description"],"description":"Placeholder hints for empty states.\n\n[Docs](https://element-plus.org/en-US/component/empty.html#empty)"},"el-form":{"attributes":["`model`","`rules`","`inline`","`label-position`","`label-width`","`label-suffix`","`hide-required-asterisk`","`show-message`","`inline-message`","`status-icon`","`validate-on-rule-change`","`size`","`disabled`","`validate`"],"subtags":["el-form-item"],"description":"Form consists of `input`, `radio`, `select`, `checkbox` and so on. With form, you can collect, verify and submit data.\n\n[Docs](https://element-plus.org/en-US/component/form.html#form)"},"el-form-item":{"attributes":["`prop`","`label`","`label-width`","`required`","`rules`","`error`","`show-message`","`inline-message`","`size`"],"description":"[Docs](https://element-plus.org/en-US/component/form.html#form-item)"},"el-icon":{"attributes":["color","size"],"description":"Element Plus provides a set of common icons.\n\n[Docs](https://element-plus.org/en-US/component/icon.html#icon)"},"el-image":{"attributes":["alt","fit","hide-on-click-modal","initial-index","lazy","preview-src-list","referrer-policy","src","scroll-container","z-index","preview-teleported","load","error"],"description":"Besides the native features of img, support lazy load, custom placeholder and load failure, etc.\n\n[Docs](https://element-plus.org/en-US/component/image.html#image)"},"el-image-viewer":{"attributes":["url-list","z-index","initial-index","infinite","hide-on-click-modal","teleported"],"description":"[Docs](https://element-plus.org/en-US/component/image.html#imageviewer)"},"el-input-number":{"attributes":["model-value","min","max","step","step-strictly","precision","size","disabled","controls","controls-position","name","label","placeholder","change","blur","focus"],"description":"Input numerical values with a customizable range.\n\n[Docs](https://element-plus.org/en-US/component/input-number.html#input-number)"},"el-input":{"attributes":["type","model-value","maxlength","minlength","show-word-limit","placeholder","clearable","show-password","disabled","size","prefix-icon","suffix-icon","rows","autosize","autocomplete","name","readonly","max","min","step","resize","autofocus","form","label","tabindex","validate-event","input-style","blur","focus","change","input","clear"],"description":"Input data using mouse or keyboard.\n\n[Docs](https://element-plus.org/en-US/component/input.html#input)"},"el-autocomplete":{"attributes":["placeholder","clearable","disabled","value-key","icon","model-value","debounce","placement","fetch-suggestions","popper-class","trigger-on-focus","name","select-when-unmatched","label","prefix-icon","suffix-icon","hide-loading","popper-append-to-body(deprecated)","teleported","highlight-first-item","select","change"],"description":"You can get some recommended tips based on the current input.\n\n[Docs](https://element-plus.org/en-US/component/input.html#autocomplete)"},"el-row":{"attributes":["gutter","justify","align","tag"],"subtags":["el-col"],"description":"[Docs](https://element-plus.org/en-US/component/layout.html#row)"},"el-col":{"attributes":["span","offset","push","pull","xs","sm","md","lg","xl","tag"],"description":"[Docs](https://element-plus.org/en-US/component/layout.html#col)"},"el-link":{"attributes":["type","underline","disabled","href","icon"],"description":"Text hyperlink\n\n[Docs](https://element-plus.org/en-US/component/link.html#link)"},"el-menu":{"attributes":["mode","collapse","ellipsis","background-color","text-color","active-text-color","default-active","default-openeds","unique-opened","menu-trigger","router","collapse-transition","select","open","close"],"subtags":["el-sub-menu","el-menu-item","el-menu-item-group"],"description":"Menu that provides navigation for your website.\n\n[Docs](https://element-plus.org/en-US/component/menu.html#menu)"},"el-sub-menu":{"attributes":["index","popper-class","show-timeout","hide-timeout","disabled","popper-append-to-body(deprecated)","popper-offset"],"subtags":["el-sub-menu","el-menu-item","el-menu-item-group"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#submenu)"},"el-menu-item":{"attributes":["index","route","disabled","click"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#menu-item)"},"el-menu-item-group":{"attributes":["title"],"subtags":["el-menu-item"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#menu-item-group)"},"el-page-header":{"attributes":["icon","title","content","back"],"description":"If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.\n\n[Docs](https://element-plus.org/en-US/component/page-header.html#page-header)"},"el-pagination":{"attributes":["small","background","page-size","default-page-size","total","page-count","pager-count","current-page","default-current-page","layout","page-sizes","popper-class","prev-text","next-text","disabled","hide-on-single-page","size-change","current-change","prev-click","next-click"],"description":"If you have too much data to display in one page, use pagination.\n\n[Docs](https://element-plus.org/en-US/component/pagination.html#pagination)"},"el-popconfirm":{"attributes":["title","confirm-button-text","cancel-button-text","confirm-button-type","cancel-button-type","icon","icon-color","hide-icon","teleported","persistent","confirm","cancel"],"description":"A simple confirmation dialog of an element click action.\n\n[Docs](https://element-plus.org/en-US/component/popconfirm.html#popconfirm)"},"el-popover":{"attributes":["trigger","title","effect","content","width","placement","disabled","visible","offset","transition","show-arrow","popper-options","popper-class","show-after","hide-after","auto-close","tabindex","teleported","persistent","show","before-enter","after-enter","hide","before-leave","after-leave"],"description":"[Docs](https://element-plus.org/en-US/component/popover.html#popover)"},"el-progress":{"attributes":["percentage","type","stroke-width","text-inside","status","indeterminate","duration","color","width","show-text","stroke-linecap","format"],"description":"Progress is used to show the progress of current operation, and inform the user the current status.\n\n[Docs](https://element-plus.org/en-US/component/progress.html#progress)"},"el-radio":{"attributes":["model-value","label","disabled","border","size","name","change"],"description":"Single selection among multiple options.\n\n[Docs](https://element-plus.org/en-US/component/radio.html#radio)"},"el-radio-group":{"attributes":["model-value","size","disabled","text-color","fill","change"],"subtags":["el-radio","el-radio-button"],"description":"[Docs](https://element-plus.org/en-US/component/radio.html#radio-group)"},"el-radio-button":{"attributes":["label","disabled","name"],"description":"[Docs](https://element-plus.org/en-US/component/radio.html#radio-button)"},"el-rate":{"attributes":["model-value","max","size","disabled","allow-half","low-threshold","high-threshold","colors","void-color","disabled-void-color","icons","void-icon","disabled-void-icon","show-text","show-score","text-color","texts","score-template","change"],"description":"Used for rating\n\n[Docs](https://element-plus.org/en-US/component/rate.html#rate)"},"el-result":{"attributes":["title","sub-title","icon"],"description":"Used to give feedback on the result of user's operation or access exception.\n\n[Docs](https://element-plus.org/en-US/component/result.html#result)"},"el-scrollbar":{"attributes":["height","max-height","native","wrap-style","wrap-class","view-style","view-class","noresize","tag","always","min-size","scroll"],"description":"Used to replace the browser's native scrollbar.\n\n[Docs](https://element-plus.org/en-US/component/scrollbar.html#scrollbar)"},"el-select-v2":{"attributes":["change","visible-change","remove-tag","clear","blur","focus"],"description":"[Docs](https://element-plus.org/en-US/component/select-v2.html#selectv2)"},"el-select":{"attributes":["model-value","multiple","disabled","value-key","size","clearable","collapse-tags","collapse-tags-tooltip","multiple-limit","name","effect","autocomplete","placeholder","filterable","allow-create","filter-method","remote","remote-method","loading","loading-text","no-match-text","no-data-text","popper-class","reserve-keyword","default-first-option","popper-append-to-body(deprecated)","teleported","persistent","automatic-dropdown","clear-icon","fit-input-width","suffix-icon","tag-type","change","visible-change","remove-tag","clear","blur","focus"],"subtags":["el-option-group","el-option"],"description":"When there are plenty of options, use a drop-down menu to display and select desired ones.\n\n[Docs](https://element-plus.org/en-US/component/select.html#select)"},"el-option-group":{"attributes":["label","disabled"],"subtags":["el-option"],"description":"[Docs](https://element-plus.org/en-US/component/select.html#option-group)"},"el-option":{"attributes":["value","label","disabled"],"description":"[Docs](https://element-plus.org/en-US/component/select.html#option)"},"el-skeleton":{"attributes":["`animated`","`count`","`loading`","`rows`","`throttle`"],"description":"When loading data, and you need a rich experience for visual and interactions for your end users, you can choose `skeleton`.\n\n[Docs](https://element-plus.org/en-US/component/skeleton.html#skeleton)"},"el-skeleton-item":{"attributes":["`variant`"],"description":"[Docs](https://element-plus.org/en-US/component/skeleton.html#skeleton-item)"},"el-slider":{"attributes":["model-value","min","max","disabled","step","show-input","show-input-controls","size","input-size","show-stops","show-tooltip","format-tooltip","range","vertical","height","label","debounce","tooltip-class","marks","change","input"],"description":"Drag the slider within a fixed range.\n\n[Docs](https://element-plus.org/en-US/component/slider.html#slider)"},"el-space":{"attributes":["alignment","class","direction","prefix-cls","style","spacer","size","wrap","fill","fill-ratio"],"description":"Even though we have [Divider]\n\n[Docs](https://element-plus.org/en-US/component/space.html#space)"},"el-steps":{"attributes":["space","direction","active","process-status","finish-status","align-center","simple"],"subtags":["el-step"],"description":"Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2.\n\n[Docs](https://element-plus.org/en-US/component/steps.html#steps)"},"el-step":{"attributes":["title","description","icon","status"],"description":"[Docs](https://element-plus.org/en-US/component/steps.html#step)"},"el-switch":{"attributes":["model-value","disabled","loading","size","width","inline-prompt","active-icon","inactive-icon","active-text","inactive-text","active-value","inactive-value","active-color","inactive-color","border-color","name","validate-event","before-change","change"],"description":"Switch is used for switching between two opposing states.\n\n[Docs](https://element-plus.org/en-US/component/switch.html#switch)"},"el-table":{"attributes":["data","height","max-height","stripe","border","size","fit","show-header","highlight-current-row","current-row-key","row-class-name","row-style","cell-class-name","cell-style","header-row-class-name","header-row-style","header-cell-class-name","header-cell-style","row-key","empty-text","default-expand-all","expand-row-keys","default-sort","tooltip-effect","show-summary","sum-text","summary-method","span-method","select-on-indeterminate","indent","lazy","load","tree-props","table-layout","scrollbar-always-on","select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-click","cell-dblclick","cell-contextmenu","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],"subtags":["el-table-column"],"description":"Display multiple data with similar format. You can sort, filter, compare your data in a table.\n\n[Docs](https://element-plus.org/en-US/component/table.html#table)"},"el-table-column":{"attributes":["type","index","label","column-key","prop","width","min-width","fixed","render-header","sortable","sort-method","sort-by","sort-orders","resizable","formatter","show-overflow-tooltip","align","header-align","class-name","label-class-name","selectable","reserve-selection","filters","filter-placement","filter-multiple","filter-method","filtered-value"],"description":"[Docs](https://element-plus.org/en-US/component/table.html#table-column)"},"el-tabs":{"attributes":["model-value","type","closable","addable","editable","tab-position","stretch","before-leave","tab-click","tab-remove","tab-add","edit"],"subtags":["el-tab-pane"],"description":"Divide data collections which are related yet belong to different types.\n\n[Docs](https://element-plus.org/en-US/component/tabs.html#tabs)"},"el-tab-pane":{"attributes":["label","disabled","name","closable","lazy"],"description":"[Docs](https://element-plus.org/en-US/component/tabs.html#tab-pane)"},"el-check-tag":{"attributes":["checked","change"],"description":"[Docs](https://element-plus.org/en-US/component/tag.html#checktag)"},"el-tag":{"attributes":["type","closable","disable-transitions","hit","color","size","effect","click","close"],"description":"Used for marking and selection.\n\n[Docs](https://element-plus.org/en-US/component/tag.html#tag)"},"el-time-picker":{"attributes":["model-value","readonly","disabled","editable","clearable","size","placeholder","start-placeholder","end-placeholder","is-range","arrow-control","align","popper-class","range-separator","format","default-value","id","name","prefix-icon","clear-icon","disabled-hours","disabled-minutes","disabled-seconds","teleported","change","blur","focus","visible-change"],"description":"Use Time Picker for time input.\n\n[Docs](https://element-plus.org/en-US/component/time-picker.html#timepicker)"},"el-time-select":{"attributes":["model-value","disabled","editable","clearable","size","placeholder","name","effect","prefix-icon","clear-icon","start","end","step","min-time","max-time","format","change","blur","focus"],"description":"Use Time Select for time input.\n\n[Docs](https://element-plus.org/en-US/component/time-select.html#timeselect)"},"el-timeline":{"subtags":["el-timeline-item"],"description":"Visually display timeline.\n\n[Docs](https://element-plus.org/en-US/component/timeline.html#timeline)"},"el-timeline-item":{"attributes":["timestamp","hide-timestamp","center","placement","type","color","size","icon","hollow"],"description":"[Docs](https://element-plus.org/en-US/component/timeline.html#timeline-item)"},"el-tooltip":{"attributes":["append-to","effect","content","raw-content","placement","visible","disabled","offset","transition","visible-arrow (will deprecate in 2.1.0 )","popper-options","show-after","show-arrow","hide-after","auto-close","manual","popper-class","enterable","tabindex","teleported","trigger","virtual-triggering","virtual-ref"],"description":"Display prompt information for mouse hover.\n\n[Docs](https://element-plus.org/en-US/component/tooltip.html#tooltip)"},"el-transfer":{"attributes":["model-value","data","filterable","filter-placeholder","filter-method","target-order","titles","button-texts","render-content","format","props","left-default-checked","right-default-checked","change","left-check-change","right-check-change"],"description":"[Docs](https://element-plus.org/en-US/component/transfer.html#transfer)"},"el-<el-badge-value=\"beta\">tree-v2-virtualized-tree</el-badge>":{"attributes":["data","empty-text","props","highlight-current","expand-on-click-node","check-on-click-node","default-expanded-keys","show-checkbox","check-strictly","default-checked-keys","current-node-key","filter-method","indent","icon","node-click","node-contextmenu","check-change","check","current-change","node-expand","node-collapse"],"description":"Tree view with blazing fast scrolling performance for any amount of data\n\n[Docs](https://element-plus.org/en-US/component/tree-v2.html#<elbadge-value=\"beta\">tree-v2-virtualized-tree</elbadge>)"},"el-tree":{"attributes":["data","empty-text","node-key","props","render-after-expand","load","render-content","highlight-current","default-expand-all","expand-on-click-node","check-on-click-node","auto-expand-parent","default-expanded-keys","show-checkbox","check-strictly","default-checked-keys","current-node-key","filter-node-method","accordion","indent","icon","lazy","draggable","allow-drag","allow-drop","node-click","node-contextmenu","check-change","check","current-change","node-expand","node-collapse","node-drag-start","node-drag-enter","node-drag-leave","node-drag-over","node-drag-end","node-drop"],"description":"Display a set of data with hierarchies.\n\n[Docs](https://element-plus.org/en-US/component/tree.html#tree)"},"el-upload":{"attributes":["action","headers","method","multiple","data","name","with-credentials","show-file-list","drag","accept","on-preview","on-remove","on-success","on-error","on-progress","on-change","before-upload","before-remove","file-list","list-type","auto-upload","http-request","disabled","limit","on-exceed"],"description":"Upload files by clicking or drag-and-drop\n\n[Docs](https://element-plus.org/en-US/component/upload.html#upload)"}}
1
+ {"el-affix":{"attributes":["offset","position","target","z-index","change","scroll"],"description":"Fix the element to a specific visible area.\n\n[Docs](https://element-plus.org/en-US/component/affix.html#affix)"},"el-alert":{"attributes":["title","type","description","closable","center","close-text","show-icon","effect","close"],"description":"Displays important alert messages.\n\n[Docs](https://element-plus.org/en-US/component/alert.html#alert)"},"el-avatar":{"attributes":["icon","size","shape","src","src-set","alt","fit","error"],"description":"Avatars can be used to represent people or objects. It supports images, Icons, or characters.\n\n[Docs](https://element-plus.org/en-US/component/avatar.html#avatar)"},"el-backtop":{"attributes":["target","visibility-height","right","bottom","click"],"description":"A button to back to top\n\n[Docs](https://element-plus.org/en-US/component/backtop.html#backtop)"},"el-badge":{"attributes":["value","max","is-dot","hidden","type"],"description":"A number or status mark on buttons and icons.\n\n[Docs](https://element-plus.org/en-US/component/badge.html#badge)"},"el-breadcrumb":{"attributes":["separator","separator-icon"],"subtags":["el-breadcrumb-item"],"description":"Displays the location of the current page, making it easier to browser back.\n\n[Docs](https://element-plus.org/en-US/component/breadcrumb.html#breadcrumb)"},"el-breadcrumb-item":{"attributes":["to","replace"],"description":"[Docs](https://element-plus.org/en-US/component/breadcrumb.html#breadcrumb-item)"},"el-button":{"attributes":["auto-insert-space"],"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#button)"},"el-button-group":{"attributes":["size","type"],"subtags":["el-button"],"description":"[Docs](https://element-plus.org/en-US/component/button.html#button-group)"},"el-calendar":{"attributes":["model-value","range"],"description":"Display date.\n\n[Docs](https://element-plus.org/en-US/component/calendar.html#calendar)"},"el-card":{"attributes":["header","body-style","shadow"],"description":"Integrate information in a card container.\n\n[Docs](https://element-plus.org/en-US/component/card.html#card)"},"el-carousel":{"attributes":["height","initial-index","trigger","autoplay","interval","indicator-position","arrow","type","loop","direction","pause-on-hover","change"],"subtags":["el-carousel-item"],"description":"Loop a series of images or texts in a limited space\n\n[Docs](https://element-plus.org/en-US/component/carousel.html#carousel)"},"el-carousel-item":{"attributes":["name","label"],"description":"[Docs](https://element-plus.org/en-US/component/carousel.html#carousel-item)"},"el-cascader":{"attributes":["model-value","options","props","size","placeholder","disabled","clearable","show-all-levels","collapse-tags","collapse-tags-tooltip","separator","filterable","filter-method","debounce","before-filter","popper-class","teleported","popper-append-to-body(deprecated)","tag-type","change","expand-change","blur","focus","visible-change","remove-tag"],"description":"If the options have a clear hierarchical structure, Cascader can be used to view and select them.\n\n[Docs](https://element-plus.org/en-US/component/cascader.html#cascader)"},"el-cascader-panel":{"attributes":["model-value","options","props","change","expand-change"],"description":"[Docs](https://element-plus.org/en-US/component/cascader.html#cascaderpanel)"},"el-checkbox":{"attributes":["model-value","label","true-label","false-label","disabled","border","size","name","checked","indeterminate","change"],"description":"A group of options for multiple choices.\n\n[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox)"},"el-checkbox-group":{"attributes":["model-value","size","disabled","min","max","text-color","fill","change"],"subtags":["el-checkbox","el-checkbox-button"],"description":"[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox-group)"},"el-checkbox-button":{"attributes":["label","true-label","false-label","disabled","name","checked"],"description":"[Docs](https://element-plus.org/en-US/component/checkbox.html#checkbox-button)"},"el-collapse":{"attributes":["model-value","accordion","change"],"subtags":["el-collapse-item"],"description":"Use Collapse to store contents.\n\n[Docs](https://element-plus.org/en-US/component/collapse.html#collapse)"},"el-collapse-item":{"attributes":["name","title","disabled"],"description":"[Docs](https://element-plus.org/en-US/component/collapse.html#collapse-item)"},"el-color-picker":{"attributes":["model-value","disabled","size","show-alpha","color-format","popper-class","predefine","change","active-change"],"description":"ColorPicker is a color selector supporting multiple color formats.\n\n[Docs](https://element-plus.org/en-US/component/color-picker.html#colorpicker)"},"el-config-provider":{"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#configprovider)"},"el-message":{"attributes":["max"],"description":"[Docs](https://element-plus.org/en-US/component/config-provider.html#message)"},"el-container":{"attributes":["direction"],"subtags":["el-container","el-header","el-aside","el-main","el-footer"],"description":"Container components for scaffolding basic structure of the page:\n\n[Docs](https://element-plus.org/en-US/component/container.html#container)"},"el-header":{"attributes":["height"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#header)"},"el-aside":{"attributes":["width"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#aside)"},"el-main":{"description":"[Docs](https://element-plus.org/en-US/component/container.html#main)"},"el-footer":{"attributes":["height"],"description":"[Docs](https://element-plus.org/en-US/component/container.html#footer)"},"el-date-picker":{"attributes":["model-value","readonly","disabled","size","editable","clearable","placeholder","start-placeholder","end-placeholder","type","format","popper-class","range-separator","default-value","default-time","value-format","id","name","unlink-panels","prefix-icon","clear-icon","validate-event","disabled-date","shortcuts","cell-class-name","teleported","change","blur","focus","calendar-change","panel-change","visible-change"],"description":"Use Date Picker for date input.\n\n[Docs](https://element-plus.org/en-US/component/date-picker.html#datepicker)"},"el-descriptions":{"attributes":["border","column","direction","size","title","extra"],"subtags":["el-descriptions-item"],"description":"Display multiple fields in list form.\n\n[Docs](https://element-plus.org/en-US/component/descriptions.html#descriptions)"},"el-descriptions-item":{"attributes":["label","span","width","min-width","align","label-align","class-name","label-class-name"],"description":"[Docs](https://element-plus.org/en-US/component/descriptions.html#descriptions-item)"},"el-dialog":{"attributes":["model-value","title","width","fullscreen","top","modal","append-to-body","lock-scroll","custom-class","open-delay","close-delay","close-on-click-modal","close-on-press-escape","show-close","before-close","draggable","center","destroy-on-close","open","opened","close","closed","open-auto-focus","close-auto-focus"],"description":"Informs users while preserving the current page state.\n\n[Docs](https://element-plus.org/en-US/component/dialog.html#dialog)"},"el-divider":{"attributes":["direction","border-style","content-position"],"description":"The dividing line that separates the content.\n\n[Docs](https://element-plus.org/en-US/component/divider.html#divider)"},"el-drawer":{"attributes":["model-value","append-to-body","lock-scroll","before-close","close-on-click-modal","close-on-press-escape","open-delay","close-delay","custom-class","destroy-on-close","modal","direction","show-close","size","title","with-header","modal-class","z-index","open","opened","close","closed"],"description":"Sometimes, `Dialog` does not always satisfy our requirements, let's say you have a massive form, or you need space to display something like `terms & conditions`, `Drawer` has almost identical API with `Dialog`, but it introduces different user experience.\n\n[Docs](https://element-plus.org/en-US/component/drawer.html#drawer)"},"el-dropdown":{"attributes":["type","size","max-height","split-button","disabled","placement","trigger","hide-on-click","show-timeout","hide-timeout","tabindex","popper-class","popper-options","click","command","visible-change"],"subtags":["el-dropdown-menu"],"description":"Toggleable menu for displaying lists of links and actions.\n\n[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown)"},"el-dropdown-menu":{"subtags":["el-dropdown-item"],"description":"[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown-menu)"},"el-dropdown-item":{"attributes":["command","disabled","divided","icon"],"description":"[Docs](https://element-plus.org/en-US/component/dropdown.html#dropdown-item)"},"el-empty":{"attributes":["image","image-size","description"],"description":"Placeholder hints for empty states.\n\n[Docs](https://element-plus.org/en-US/component/empty.html#empty)"},"el-form":{"attributes":["`model`","`rules`","`inline`","`label-position`","`label-width`","`label-suffix`","`hide-required-asterisk`","`show-message`","`inline-message`","`status-icon`","`validate-on-rule-change`","`size`","`disabled`","`validate`"],"subtags":["el-form-item"],"description":"Form consists of `input`, `radio`, `select`, `checkbox` and so on. With form, you can collect, verify and submit data.\n\n[Docs](https://element-plus.org/en-US/component/form.html#form)"},"el-form-item":{"attributes":["`prop`","`label`","`label-width`","`required`","`rules`","`error`","`show-message`","`inline-message`","`size`"],"description":"[Docs](https://element-plus.org/en-US/component/form.html#form-item)"},"el-icon":{"attributes":["color","size"],"description":"Element Plus provides a set of common icons.\n\n[Docs](https://element-plus.org/en-US/component/icon.html#icon)"},"el-image":{"attributes":["alt","fit","hide-on-click-modal","initial-index","lazy","preview-src-list","referrer-policy","src","scroll-container","z-index","preview-teleported","load","error"],"description":"Besides the native features of img, support lazy load, custom placeholder and load failure, etc.\n\n[Docs](https://element-plus.org/en-US/component/image.html#image)"},"el-image-viewer":{"attributes":["url-list","z-index","initial-index","infinite","hide-on-click-modal","teleported"],"description":"[Docs](https://element-plus.org/en-US/component/image.html#imageviewer)"},"el-input-number":{"attributes":["model-value","min","max","step","step-strictly","precision","size","disabled","controls","controls-position","name","label","placeholder","change","blur","focus"],"description":"Input numerical values with a customizable range.\n\n[Docs](https://element-plus.org/en-US/component/input-number.html#input-number)"},"el-input":{"attributes":["type","model-value","maxlength","minlength","show-word-limit","placeholder","clearable","show-password","disabled","size","prefix-icon","suffix-icon","rows","autosize","autocomplete","name","readonly","max","min","step","resize","autofocus","form","label","tabindex","validate-event","input-style","blur","focus","change","input","clear"],"description":"Input data using mouse or keyboard.\n\n[Docs](https://element-plus.org/en-US/component/input.html#input)"},"el-autocomplete":{"attributes":["placeholder","clearable","disabled","value-key","icon","model-value","debounce","placement","fetch-suggestions","popper-class","trigger-on-focus","name","select-when-unmatched","label","prefix-icon","suffix-icon","hide-loading","popper-append-to-body(deprecated)","teleported","highlight-first-item","select","change"],"description":"You can get some recommended tips based on the current input.\n\n[Docs](https://element-plus.org/en-US/component/input.html#autocomplete)"},"el-row":{"attributes":["gutter","justify","align","tag"],"subtags":["el-col"],"description":"[Docs](https://element-plus.org/en-US/component/layout.html#row)"},"el-col":{"attributes":["span","offset","push","pull","xs","sm","md","lg","xl","tag"],"description":"[Docs](https://element-plus.org/en-US/component/layout.html#col)"},"el-link":{"attributes":["type","underline","disabled","href","icon"],"description":"Text hyperlink\n\n[Docs](https://element-plus.org/en-US/component/link.html#link)"},"el-menu":{"attributes":["mode","collapse","ellipsis","background-color","text-color","active-text-color","default-active","default-openeds","unique-opened","menu-trigger","router","collapse-transition","select","open","close"],"subtags":["el-sub-menu","el-menu-item","el-menu-item-group"],"description":"Menu that provides navigation for your website.\n\n[Docs](https://element-plus.org/en-US/component/menu.html#menu)"},"el-sub-menu":{"attributes":["index","popper-class","show-timeout","hide-timeout","disabled","popper-append-to-body(deprecated)","popper-offset"],"subtags":["el-sub-menu","el-menu-item","el-menu-item-group"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#submenu)"},"el-menu-item":{"attributes":["index","route","disabled","click"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#menu-item)"},"el-menu-item-group":{"attributes":["title"],"subtags":["el-menu-item"],"description":"[Docs](https://element-plus.org/en-US/component/menu.html#menu-item-group)"},"el-page-header":{"attributes":["icon","title","content","back"],"description":"If path of the page is simple, it is recommended to use PageHeader instead of the Breadcrumb.\n\n[Docs](https://element-plus.org/en-US/component/page-header.html#page-header)"},"el-pagination":{"attributes":["small","background","page-size","default-page-size","total","page-count","pager-count","current-page","default-current-page","layout","page-sizes","popper-class","prev-text","next-text","disabled","hide-on-single-page","size-change","current-change","prev-click","next-click"],"description":"If you have too much data to display in one page, use pagination.\n\n[Docs](https://element-plus.org/en-US/component/pagination.html#pagination)"},"el-popconfirm":{"attributes":["title","confirm-button-text","cancel-button-text","confirm-button-type","cancel-button-type","icon","icon-color","hide-icon","teleported","persistent","confirm","cancel"],"description":"A simple confirmation dialog of an element click action.\n\n[Docs](https://element-plus.org/en-US/component/popconfirm.html#popconfirm)"},"el-popover":{"attributes":["trigger","title","effect","content","width","placement","disabled","visible","offset","transition","show-arrow","popper-options","popper-class","show-after","hide-after","auto-close","tabindex","teleported","persistent","show","before-enter","after-enter","hide","before-leave","after-leave"],"description":"[Docs](https://element-plus.org/en-US/component/popover.html#popover)"},"el-progress":{"attributes":["percentage","type","stroke-width","text-inside","status","indeterminate","duration","color","width","show-text","stroke-linecap","format"],"description":"Progress is used to show the progress of current operation, and inform the user the current status.\n\n[Docs](https://element-plus.org/en-US/component/progress.html#progress)"},"el-radio":{"attributes":["model-value","label","disabled","border","size","name","change"],"description":"Single selection among multiple options.\n\n[Docs](https://element-plus.org/en-US/component/radio.html#radio)"},"el-radio-group":{"attributes":["model-value","size","disabled","text-color","fill","change"],"subtags":["el-radio","el-radio-button"],"description":"[Docs](https://element-plus.org/en-US/component/radio.html#radio-group)"},"el-radio-button":{"attributes":["label","disabled","name"],"description":"[Docs](https://element-plus.org/en-US/component/radio.html#radio-button)"},"el-rate":{"attributes":["model-value","max","size","disabled","allow-half","low-threshold","high-threshold","colors","void-color","disabled-void-color","icons","void-icon","disabled-void-icon","show-text","show-score","text-color","texts","score-template","change"],"description":"Used for rating\n\n[Docs](https://element-plus.org/en-US/component/rate.html#rate)"},"el-result":{"attributes":["title","sub-title","icon"],"description":"Used to give feedback on the result of user's operation or access exception.\n\n[Docs](https://element-plus.org/en-US/component/result.html#result)"},"el-scrollbar":{"attributes":["height","max-height","native","wrap-style","wrap-class","view-style","view-class","noresize","tag","always","min-size","scroll"],"description":"Used to replace the browser's native scrollbar.\n\n[Docs](https://element-plus.org/en-US/component/scrollbar.html#scrollbar)"},"el-select-v2":{"attributes":["change","visible-change","remove-tag","clear","blur","focus"],"description":"[Docs](https://element-plus.org/en-US/component/select-v2.html#selectv2)"},"el-select":{"attributes":["model-value","multiple","disabled","value-key","size","clearable","collapse-tags","collapse-tags-tooltip","multiple-limit","name","effect","autocomplete","placeholder","filterable","allow-create","filter-method","remote","remote-method","loading","loading-text","no-match-text","no-data-text","popper-class","reserve-keyword","default-first-option","popper-append-to-body(deprecated)","teleported","persistent","automatic-dropdown","clear-icon","fit-input-width","suffix-icon","tag-type","change","visible-change","remove-tag","clear","blur","focus"],"subtags":["el-option-group","el-option"],"description":"When there are plenty of options, use a drop-down menu to display and select desired ones.\n\n[Docs](https://element-plus.org/en-US/component/select.html#select)"},"el-option-group":{"attributes":["label","disabled"],"subtags":["el-option"],"description":"[Docs](https://element-plus.org/en-US/component/select.html#option-group)"},"el-option":{"attributes":["value","label","disabled"],"description":"[Docs](https://element-plus.org/en-US/component/select.html#option)"},"el-skeleton":{"attributes":["`animated`","`count`","`loading`","`rows`","`throttle`"],"description":"When loading data, and you need a rich experience for visual and interactions for your end users, you can choose `skeleton`.\n\n[Docs](https://element-plus.org/en-US/component/skeleton.html#skeleton)"},"el-skeleton-item":{"attributes":["`variant`"],"description":"[Docs](https://element-plus.org/en-US/component/skeleton.html#skeleton-item)"},"el-slider":{"attributes":["model-value","min","max","disabled","step","show-input","show-input-controls","size","input-size","show-stops","show-tooltip","format-tooltip","range","vertical","height","label","debounce","tooltip-class","marks","change","input"],"description":"Drag the slider within a fixed range.\n\n[Docs](https://element-plus.org/en-US/component/slider.html#slider)"},"el-space":{"attributes":["alignment","class","direction","prefix-cls","style","spacer","size","wrap","fill","fill-ratio"],"description":"Even though we have [Divider]\n\n[Docs](https://element-plus.org/en-US/component/space.html#space)"},"el-steps":{"attributes":["space","direction","active","process-status","finish-status","align-center","simple"],"subtags":["el-step"],"description":"Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2.\n\n[Docs](https://element-plus.org/en-US/component/steps.html#steps)"},"el-step":{"attributes":["title","description","icon","status"],"description":"[Docs](https://element-plus.org/en-US/component/steps.html#step)"},"el-switch":{"attributes":["model-value","disabled","loading","size","width","inline-prompt","active-icon","inactive-icon","active-text","inactive-text","active-value","inactive-value","active-color","inactive-color","border-color","name","validate-event","before-change","change"],"description":"Switch is used for switching between two opposing states.\n\n[Docs](https://element-plus.org/en-US/component/switch.html#switch)"},"el-table":{"attributes":["data","height","max-height","stripe","border","size","fit","show-header","highlight-current-row","current-row-key","row-class-name","row-style","cell-class-name","cell-style","header-row-class-name","header-row-style","header-cell-class-name","header-cell-style","row-key","empty-text","default-expand-all","expand-row-keys","default-sort","tooltip-effect","show-summary","sum-text","summary-method","span-method","select-on-indeterminate","indent","lazy","load","tree-props","table-layout","scrollbar-always-on","select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-click","cell-dblclick","cell-contextmenu","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],"subtags":["el-table-column"],"description":"Display multiple data with similar format. You can sort, filter, compare your data in a table.\n\n[Docs](https://element-plus.org/en-US/component/table.html#table)"},"el-table-column":{"attributes":["type","index","label","column-key","prop","width","min-width","fixed","render-header","sortable","sort-method","sort-by","sort-orders","resizable","formatter","show-overflow-tooltip","align","header-align","class-name","label-class-name","selectable","reserve-selection","filters","filter-placement","filter-multiple","filter-method","filtered-value"],"description":"[Docs](https://element-plus.org/en-US/component/table.html#table-column)"},"el-tabs":{"attributes":["model-value","type","closable","addable","editable","tab-position","stretch","before-leave","tab-click","tab-remove","tab-add","edit"],"subtags":["el-tab-pane"],"description":"Divide data collections which are related yet belong to different types.\n\n[Docs](https://element-plus.org/en-US/component/tabs.html#tabs)"},"el-tab-pane":{"attributes":["label","disabled","name","closable","lazy"],"description":"[Docs](https://element-plus.org/en-US/component/tabs.html#tab-pane)"},"el-check-tag":{"attributes":["checked","change"],"description":"[Docs](https://element-plus.org/en-US/component/tag.html#checktag)"},"el-tag":{"attributes":["type","closable","disable-transitions","hit","color","size","effect","click","close"],"description":"Used for marking and selection.\n\n[Docs](https://element-plus.org/en-US/component/tag.html#tag)"},"el-time-picker":{"attributes":["model-value","readonly","disabled","editable","clearable","size","placeholder","start-placeholder","end-placeholder","is-range","arrow-control","align","popper-class","range-separator","format","default-value","id","name","prefix-icon","clear-icon","disabled-hours","disabled-minutes","disabled-seconds","teleported","change","blur","focus","visible-change"],"description":"Use Time Picker for time input.\n\n[Docs](https://element-plus.org/en-US/component/time-picker.html#timepicker)"},"el-time-select":{"attributes":["model-value","disabled","editable","clearable","size","placeholder","name","effect","prefix-icon","clear-icon","start","end","step","min-time","max-time","format","change","blur","focus"],"description":"Use Time Select for time input.\n\n[Docs](https://element-plus.org/en-US/component/time-select.html#timeselect)"},"el-timeline":{"subtags":["el-timeline-item"],"description":"Visually display timeline.\n\n[Docs](https://element-plus.org/en-US/component/timeline.html#timeline)"},"el-timeline-item":{"attributes":["timestamp","hide-timestamp","center","placement","type","color","size","icon","hollow"],"description":"[Docs](https://element-plus.org/en-US/component/timeline.html#timeline-item)"},"el-tooltip":{"attributes":["append-to","effect","content","raw-content","placement","visible","disabled","offset","transition","visible-arrow (will deprecate in 2.1.0 )","popper-options","show-after","show-arrow","hide-after","auto-close","manual","popper-class","enterable","tabindex","teleported","trigger","virtual-triggering","virtual-ref"],"description":"Display prompt information for mouse hover.\n\n[Docs](https://element-plus.org/en-US/component/tooltip.html#tooltip)"},"el-transfer":{"attributes":["model-value","data","filterable","filter-placeholder","filter-method","target-order","titles","button-texts","render-content","format","props","left-default-checked","right-default-checked","change","left-check-change","right-check-change"],"description":"[Docs](https://element-plus.org/en-US/component/transfer.html#transfer)"},"el-<el-badge-value=\"beta\">tree-v2-virtualized-tree</el-badge>":{"attributes":["data","empty-text","props","highlight-current","expand-on-click-node","check-on-click-node","default-expanded-keys","show-checkbox","check-strictly","default-checked-keys","current-node-key","filter-method","indent","icon","node-click","node-contextmenu","check-change","check","current-change","node-expand","node-collapse"],"description":"Tree view with blazing fast scrolling performance for any amount of data\n\n[Docs](https://element-plus.org/en-US/component/tree-v2.html#<elbadge-value=\"beta\">tree-v2-virtualized-tree</elbadge>)"},"el-tree":{"attributes":["data","empty-text","node-key","props","render-after-expand","load","render-content","highlight-current","default-expand-all","expand-on-click-node","check-on-click-node","auto-expand-parent","default-expanded-keys","show-checkbox","check-strictly","default-checked-keys","current-node-key","filter-node-method","accordion","indent","icon","lazy","draggable","allow-drag","allow-drop","node-click","node-contextmenu","check-change","check","current-change","node-expand","node-collapse","node-drag-start","node-drag-enter","node-drag-leave","node-drag-over","node-drag-end","node-drop"],"description":"Display a set of data with hierarchies.\n\n[Docs](https://element-plus.org/en-US/component/tree.html#tree)"},"el-upload":{"attributes":["action","headers","method","multiple","data","name","with-credentials","show-file-list","drag","accept","on-preview","on-remove","on-success","on-error","on-progress","on-change","before-upload","before-remove","file-list","list-type","auto-upload","http-request","disabled","limit","on-exceed"],"description":"Upload files by clicking or drag-and-drop\n\n[Docs](https://element-plus.org/en-US/component/upload.html#upload)"}}