element-plus 2.5.0 → 2.5.1

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 (356) hide show
  1. package/dist/index.full.js +46 -37
  2. package/dist/index.full.min.js +11 -11
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +11 -11
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +46 -37
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hr.js +1 -1
  92. package/dist/locale/hr.min.js +1 -1
  93. package/dist/locale/hr.min.mjs +1 -1
  94. package/dist/locale/hr.mjs +1 -1
  95. package/dist/locale/hu.js +1 -1
  96. package/dist/locale/hu.min.js +1 -1
  97. package/dist/locale/hu.min.mjs +1 -1
  98. package/dist/locale/hu.mjs +1 -1
  99. package/dist/locale/hy-am.js +1 -1
  100. package/dist/locale/hy-am.min.js +1 -1
  101. package/dist/locale/hy-am.min.mjs +1 -1
  102. package/dist/locale/hy-am.mjs +1 -1
  103. package/dist/locale/id.js +1 -1
  104. package/dist/locale/id.min.js +1 -1
  105. package/dist/locale/id.min.mjs +1 -1
  106. package/dist/locale/id.mjs +1 -1
  107. package/dist/locale/it.js +1 -1
  108. package/dist/locale/it.min.js +1 -1
  109. package/dist/locale/it.min.mjs +1 -1
  110. package/dist/locale/it.mjs +1 -1
  111. package/dist/locale/ja.js +1 -1
  112. package/dist/locale/ja.min.js +1 -1
  113. package/dist/locale/ja.min.mjs +1 -1
  114. package/dist/locale/ja.mjs +1 -1
  115. package/dist/locale/kk.js +1 -1
  116. package/dist/locale/kk.min.js +1 -1
  117. package/dist/locale/kk.min.mjs +1 -1
  118. package/dist/locale/kk.mjs +1 -1
  119. package/dist/locale/km.js +1 -1
  120. package/dist/locale/km.min.js +1 -1
  121. package/dist/locale/km.min.mjs +1 -1
  122. package/dist/locale/km.mjs +1 -1
  123. package/dist/locale/ko.js +1 -1
  124. package/dist/locale/ko.min.js +1 -1
  125. package/dist/locale/ko.min.mjs +1 -1
  126. package/dist/locale/ko.mjs +1 -1
  127. package/dist/locale/ku.js +1 -1
  128. package/dist/locale/ku.min.js +1 -1
  129. package/dist/locale/ku.min.mjs +1 -1
  130. package/dist/locale/ku.mjs +1 -1
  131. package/dist/locale/ky.js +1 -1
  132. package/dist/locale/ky.min.js +1 -1
  133. package/dist/locale/ky.min.mjs +1 -1
  134. package/dist/locale/ky.mjs +1 -1
  135. package/dist/locale/lt.js +1 -1
  136. package/dist/locale/lt.min.js +1 -1
  137. package/dist/locale/lt.min.mjs +1 -1
  138. package/dist/locale/lt.mjs +1 -1
  139. package/dist/locale/lv.js +1 -1
  140. package/dist/locale/lv.min.js +1 -1
  141. package/dist/locale/lv.min.mjs +1 -1
  142. package/dist/locale/lv.mjs +1 -1
  143. package/dist/locale/mg.js +1 -1
  144. package/dist/locale/mg.min.js +1 -1
  145. package/dist/locale/mg.min.mjs +1 -1
  146. package/dist/locale/mg.mjs +1 -1
  147. package/dist/locale/mn.js +1 -1
  148. package/dist/locale/mn.min.js +1 -1
  149. package/dist/locale/mn.min.mjs +1 -1
  150. package/dist/locale/mn.mjs +1 -1
  151. package/dist/locale/nb-no.js +1 -1
  152. package/dist/locale/nb-no.min.js +1 -1
  153. package/dist/locale/nb-no.min.mjs +1 -1
  154. package/dist/locale/nb-no.mjs +1 -1
  155. package/dist/locale/nl.js +1 -1
  156. package/dist/locale/nl.min.js +1 -1
  157. package/dist/locale/nl.min.mjs +1 -1
  158. package/dist/locale/nl.mjs +1 -1
  159. package/dist/locale/pa.js +1 -1
  160. package/dist/locale/pa.min.js +1 -1
  161. package/dist/locale/pa.min.mjs +1 -1
  162. package/dist/locale/pa.mjs +1 -1
  163. package/dist/locale/pl.js +1 -1
  164. package/dist/locale/pl.min.js +1 -1
  165. package/dist/locale/pl.min.mjs +1 -1
  166. package/dist/locale/pl.mjs +1 -1
  167. package/dist/locale/pt-br.js +1 -1
  168. package/dist/locale/pt-br.min.js +1 -1
  169. package/dist/locale/pt-br.min.mjs +1 -1
  170. package/dist/locale/pt-br.mjs +1 -1
  171. package/dist/locale/pt.js +1 -1
  172. package/dist/locale/pt.min.js +1 -1
  173. package/dist/locale/pt.min.mjs +1 -1
  174. package/dist/locale/pt.mjs +1 -1
  175. package/dist/locale/ro.js +1 -1
  176. package/dist/locale/ro.min.js +1 -1
  177. package/dist/locale/ro.min.mjs +1 -1
  178. package/dist/locale/ro.mjs +1 -1
  179. package/dist/locale/ru.js +1 -1
  180. package/dist/locale/ru.min.js +1 -1
  181. package/dist/locale/ru.min.mjs +1 -1
  182. package/dist/locale/ru.mjs +1 -1
  183. package/dist/locale/sk.js +1 -1
  184. package/dist/locale/sk.min.js +1 -1
  185. package/dist/locale/sk.min.mjs +1 -1
  186. package/dist/locale/sk.mjs +1 -1
  187. package/dist/locale/sl.js +1 -1
  188. package/dist/locale/sl.min.js +1 -1
  189. package/dist/locale/sl.min.mjs +1 -1
  190. package/dist/locale/sl.mjs +1 -1
  191. package/dist/locale/sr.js +1 -1
  192. package/dist/locale/sr.min.js +1 -1
  193. package/dist/locale/sr.min.mjs +1 -1
  194. package/dist/locale/sr.mjs +1 -1
  195. package/dist/locale/sv.js +1 -1
  196. package/dist/locale/sv.min.js +1 -1
  197. package/dist/locale/sv.min.mjs +1 -1
  198. package/dist/locale/sv.mjs +1 -1
  199. package/dist/locale/sw.js +1 -1
  200. package/dist/locale/sw.min.js +1 -1
  201. package/dist/locale/sw.min.mjs +1 -1
  202. package/dist/locale/sw.mjs +1 -1
  203. package/dist/locale/ta.js +1 -1
  204. package/dist/locale/ta.min.js +1 -1
  205. package/dist/locale/ta.min.mjs +1 -1
  206. package/dist/locale/ta.mjs +1 -1
  207. package/dist/locale/th.js +1 -1
  208. package/dist/locale/th.min.js +1 -1
  209. package/dist/locale/th.min.mjs +1 -1
  210. package/dist/locale/th.mjs +1 -1
  211. package/dist/locale/tk.js +1 -1
  212. package/dist/locale/tk.min.js +1 -1
  213. package/dist/locale/tk.min.mjs +1 -1
  214. package/dist/locale/tk.mjs +1 -1
  215. package/dist/locale/tr.js +1 -1
  216. package/dist/locale/tr.min.js +1 -1
  217. package/dist/locale/tr.min.mjs +1 -1
  218. package/dist/locale/tr.mjs +1 -1
  219. package/dist/locale/ug-cn.js +1 -1
  220. package/dist/locale/ug-cn.min.js +1 -1
  221. package/dist/locale/ug-cn.min.mjs +1 -1
  222. package/dist/locale/ug-cn.mjs +1 -1
  223. package/dist/locale/uk.js +1 -1
  224. package/dist/locale/uk.min.js +1 -1
  225. package/dist/locale/uk.min.mjs +1 -1
  226. package/dist/locale/uk.mjs +1 -1
  227. package/dist/locale/uz-uz.js +1 -1
  228. package/dist/locale/uz-uz.min.js +1 -1
  229. package/dist/locale/uz-uz.min.mjs +1 -1
  230. package/dist/locale/uz-uz.mjs +1 -1
  231. package/dist/locale/vi.js +1 -1
  232. package/dist/locale/vi.min.js +1 -1
  233. package/dist/locale/vi.min.mjs +1 -1
  234. package/dist/locale/vi.mjs +1 -1
  235. package/dist/locale/zh-cn.js +1 -1
  236. package/dist/locale/zh-cn.min.js +1 -1
  237. package/dist/locale/zh-cn.min.mjs +1 -1
  238. package/dist/locale/zh-cn.mjs +1 -1
  239. package/dist/locale/zh-tw.js +1 -1
  240. package/dist/locale/zh-tw.min.js +1 -1
  241. package/dist/locale/zh-tw.min.mjs +1 -1
  242. package/dist/locale/zh-tw.mjs +1 -1
  243. package/es/components/collection/index.mjs +1 -1
  244. package/es/components/collection/src/collection.mjs +62 -10
  245. package/es/components/collection/src/collection.mjs.map +1 -1
  246. package/es/components/collection/src/collection2.mjs +10 -62
  247. package/es/components/collection/src/collection2.mjs.map +1 -1
  248. package/es/components/color-picker/index.mjs +2 -2
  249. package/es/components/color-picker/src/color-picker.mjs +402 -40
  250. package/es/components/color-picker/src/color-picker.mjs.map +1 -1
  251. package/es/components/color-picker/src/color-picker2.mjs +40 -402
  252. package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
  253. package/es/components/color-picker/src/components/predefine.mjs +1 -1
  254. package/es/components/countdown/index.mjs +2 -2
  255. package/es/components/countdown/src/countdown.mjs +23 -74
  256. package/es/components/countdown/src/countdown.mjs.map +1 -1
  257. package/es/components/countdown/src/countdown2.mjs +74 -23
  258. package/es/components/countdown/src/countdown2.mjs.map +1 -1
  259. package/es/components/descriptions/index.mjs +2 -2
  260. package/es/components/descriptions/src/description.mjs +25 -112
  261. package/es/components/descriptions/src/description.mjs.map +1 -1
  262. package/es/components/descriptions/src/description2.mjs +112 -25
  263. package/es/components/descriptions/src/description2.mjs.map +1 -1
  264. package/es/components/dialog/src/dialog-content.mjs +29 -89
  265. package/es/components/dialog/src/dialog-content.mjs.map +1 -1
  266. package/es/components/dialog/src/dialog-content2.mjs +89 -29
  267. package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
  268. package/es/components/dialog/src/dialog.mjs +1 -1
  269. package/es/components/dialog/src/dialog2.mjs +1 -1
  270. package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
  271. package/es/components/dropdown/src/dropdown.mjs +1 -1
  272. package/es/components/form/index.mjs +2 -2
  273. package/es/components/form/src/form.mjs +152 -54
  274. package/es/components/form/src/form.mjs.map +1 -1
  275. package/es/components/form/src/form2.mjs +54 -152
  276. package/es/components/form/src/form2.mjs.map +1 -1
  277. package/es/components/index.mjs +5 -5
  278. package/es/components/pagination/src/components/sizes.mjs +69 -23
  279. package/es/components/pagination/src/components/sizes.mjs.map +1 -1
  280. package/es/components/pagination/src/components/sizes2.mjs +23 -69
  281. package/es/components/pagination/src/components/sizes2.mjs.map +1 -1
  282. package/es/components/pagination/src/pagination.mjs +1 -1
  283. package/es/components/roving-focus-group/src/roving-focus-group.mjs +1 -1
  284. package/es/components/select/src/select2.mjs +25 -24
  285. package/es/components/select/src/select2.mjs.map +1 -1
  286. package/es/components/select/src/useSelect.mjs +15 -9
  287. package/es/components/select/src/useSelect.mjs.map +1 -1
  288. package/es/components/select-v2/src/select.mjs +7 -5
  289. package/es/components/select-v2/src/select.mjs.map +1 -1
  290. package/es/components/steps/index.mjs +2 -2
  291. package/es/components/steps/src/item.mjs +191 -19
  292. package/es/components/steps/src/item.mjs.map +1 -1
  293. package/es/components/steps/src/item2.mjs +19 -191
  294. package/es/components/steps/src/item2.mjs.map +1 -1
  295. package/es/index.mjs +5 -5
  296. package/es/version.d.ts +1 -1
  297. package/es/version.mjs +1 -1
  298. package/es/version.mjs.map +1 -1
  299. package/lib/components/collection/index.js +1 -1
  300. package/lib/components/collection/src/collection.js +62 -9
  301. package/lib/components/collection/src/collection.js.map +1 -1
  302. package/lib/components/collection/src/collection2.js +9 -62
  303. package/lib/components/collection/src/collection2.js.map +1 -1
  304. package/lib/components/color-picker/index.js +2 -2
  305. package/lib/components/color-picker/src/color-picker.js +400 -40
  306. package/lib/components/color-picker/src/color-picker.js.map +1 -1
  307. package/lib/components/color-picker/src/color-picker2.js +40 -400
  308. package/lib/components/color-picker/src/color-picker2.js.map +1 -1
  309. package/lib/components/color-picker/src/components/predefine.js +1 -1
  310. package/lib/components/countdown/index.js +2 -2
  311. package/lib/components/countdown/src/countdown.js +24 -74
  312. package/lib/components/countdown/src/countdown.js.map +1 -1
  313. package/lib/components/countdown/src/countdown2.js +74 -24
  314. package/lib/components/countdown/src/countdown2.js.map +1 -1
  315. package/lib/components/descriptions/index.js +2 -2
  316. package/lib/components/descriptions/src/description.js +25 -112
  317. package/lib/components/descriptions/src/description.js.map +1 -1
  318. package/lib/components/descriptions/src/description2.js +112 -25
  319. package/lib/components/descriptions/src/description2.js.map +1 -1
  320. package/lib/components/dialog/src/dialog-content.js +29 -88
  321. package/lib/components/dialog/src/dialog-content.js.map +1 -1
  322. package/lib/components/dialog/src/dialog-content2.js +88 -29
  323. package/lib/components/dialog/src/dialog-content2.js.map +1 -1
  324. package/lib/components/dialog/src/dialog.js +1 -1
  325. package/lib/components/dialog/src/dialog2.js +1 -1
  326. package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
  327. package/lib/components/dropdown/src/dropdown.js +1 -1
  328. package/lib/components/form/index.js +2 -2
  329. package/lib/components/form/src/form.js +151 -54
  330. package/lib/components/form/src/form.js.map +1 -1
  331. package/lib/components/form/src/form2.js +54 -151
  332. package/lib/components/form/src/form2.js.map +1 -1
  333. package/lib/components/index.js +5 -5
  334. package/lib/components/pagination/src/components/sizes.js +69 -23
  335. package/lib/components/pagination/src/components/sizes.js.map +1 -1
  336. package/lib/components/pagination/src/components/sizes2.js +23 -69
  337. package/lib/components/pagination/src/components/sizes2.js.map +1 -1
  338. package/lib/components/pagination/src/pagination.js +1 -1
  339. package/lib/components/roving-focus-group/src/roving-focus-group.js +1 -1
  340. package/lib/components/select/src/select2.js +24 -23
  341. package/lib/components/select/src/select2.js.map +1 -1
  342. package/lib/components/select/src/useSelect.js +13 -7
  343. package/lib/components/select/src/useSelect.js.map +1 -1
  344. package/lib/components/select-v2/src/select.js +7 -5
  345. package/lib/components/select-v2/src/select.js.map +1 -1
  346. package/lib/components/steps/index.js +2 -2
  347. package/lib/components/steps/src/item.js +191 -19
  348. package/lib/components/steps/src/item.js.map +1 -1
  349. package/lib/components/steps/src/item2.js +19 -191
  350. package/lib/components/steps/src/item2.js.map +1 -1
  351. package/lib/index.js +5 -5
  352. package/lib/version.d.ts +1 -1
  353. package/lib/version.js +1 -1
  354. package/lib/version.js.map +1 -1
  355. package/package.json +2 -2
  356. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/countdown/src/countdown.vue"],"sourcesContent":["<template>\n <el-statistic\n :value=\"rawValue\"\n :title=\"title\"\n :prefix=\"prefix\"\n :suffix=\"suffix\"\n :value-style=\"valueStyle\"\n :formatter=\"formatter\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]>\n <slot :name=\"name\" />\n </template>\n </el-statistic>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, ref, watch } from 'vue'\nimport { ElStatistic } from '@element-plus/components/statistic'\nimport { cAF, rAF } from '@element-plus/utils'\nimport { countdownEmits, countdownProps } from './countdown'\nimport { formatTime, getTime } from './utils'\n\ndefineOptions({\n name: 'ElCountdown',\n})\n\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\n\nlet timer: ReturnType<typeof rAF> | undefined\nconst rawValue = ref(getTime(props.value) - Date.now())\nconst displayValue = computed(() => formatTime(rawValue.value, props.format))\n\nconst formatter = (val: number) => formatTime(val, props.format)\n\nconst stopTimer = () => {\n if (timer) {\n cAF(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const timestamp = getTime(props.value)\n const frameFunc = () => {\n let diff = timestamp - Date.now()\n emit('change', diff)\n if (diff <= 0) {\n diff = 0\n stopTimer()\n emit('finish')\n } else {\n timer = rAF(frameFunc)\n }\n rawValue.value = diff\n }\n timer = rAF(frameFunc)\n}\n\nwatch(\n () => [props.value, props.format],\n () => {\n stopTimer()\n startTimer()\n },\n {\n immediate: true,\n }\n)\n\nonBeforeUnmount(() => {\n stopTimer()\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":["ref","getTime","computed","formatTime","cAF","rAF","watch","onBeforeUnmount"],"mappings":";;;;;;;;;;;;uCAqBc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAI,IAAA,KAAA,CAAA;AACJ,IAAM,MAAA,QAAA,GAAWA,QAAIC,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACtD,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAMC,gBAAA,CAAW,SAAS,KAAO,EAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,YAAY,CAAC,GAAA,KAAgBA,gBAAW,CAAA,GAAA,EAAK,MAAM,MAAM,CAAA,CAAA;AAE/D,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAAC,OAAA,CAAI,KAAK,CAAA,CAAA;AACT,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,SAAA,GAAYH,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACrC,MAAA,MAAM,YAAY,MAAM;AACtB,QAAI,IAAA,IAAA,GAAO,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;AAChC,QAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AACnB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAO,IAAA,GAAA,CAAA,CAAA;AACP,UAAU,SAAA,EAAA,CAAA;AACV,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACR,MAAA;AACL,UAAA,KAAA,GAAQI,QAAI,SAAS,CAAA,CAAA;AAAA,SACvB;AACA,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,OACnB,CAAA;AACA,MAAA,KAAA,GAAQA,QAAI,SAAS,CAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAAC,SAAA,CACE,MAAM,CAAC,KAAA,CAAM,OAAO,KAAM,CAAA,MAAM,GAChC,MAAM;AACJ,MAAU,SAAA,EAAA,CAAA;AACV,MAAW,UAAA,EAAA,CAAA;AAAA,KAEb,EAAA;AAAA,MACE,SAAW,EAAA,IAAA;AAAA,KAEf,CAAA,CAAA;AAEA,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAU,SAAA,EAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAIX,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/countdown/src/countdown.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\n\nexport const countdownProps = buildProps({\n /**\n * @description Formatting the countdown display\n */\n format: {\n type: String,\n default: 'HH:mm:ss',\n },\n /**\n * @description Sets the prefix of a countdown\n */\n prefix: String,\n /**\n * @description Sets the suffix of a countdown\n */\n suffix: String,\n /**\n * @description countdown titles\n */\n title: String,\n /**\n * @description target time\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Styles countdown values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type CountdownProps = ExtractPropTypes<typeof countdownProps>\n\nexport const countdownEmits = {\n finish: () => true,\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n}\nexport type CountdownEmits = typeof countdownEmits\n\nexport type CountdownInstance = InstanceType<typeof Countdown>\n"],"names":["buildProps","definePropType","CHANGE_EVENT","isNumber"],"mappings":";;;;;;;;;;AAEY,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKC,cAAQ,CAAC,KAAK,CAAC;AAC5C;;;;;"}
@@ -2,33 +2,83 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
6
+ var index = require('../../statistic/index.js');
5
7
  require('../../../utils/index.js');
6
- require('../../../constants/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var event = require('../../../constants/event.js');
9
- var types = require('../../../utils/types.js');
8
+ var countdown = require('./countdown.js');
9
+ var utils = require('./utils.js');
10
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
11
+ var raf = require('../../../utils/raf.js');
10
12
 
11
- const countdownProps = runtime.buildProps({
12
- format: {
13
- type: String,
14
- default: "HH:mm:ss"
15
- },
16
- prefix: String,
17
- suffix: String,
18
- title: String,
19
- value: {
20
- type: runtime.definePropType([Number, Object]),
21
- default: 0
22
- },
23
- valueStyle: {
24
- type: runtime.definePropType([String, Object, Array])
13
+ const __default__ = vue.defineComponent({
14
+ name: "ElCountdown"
15
+ });
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: countdown.countdownProps,
19
+ emits: countdown.countdownEmits,
20
+ setup(__props, { expose, emit }) {
21
+ const props = __props;
22
+ let timer;
23
+ const rawValue = vue.ref(utils.getTime(props.value) - Date.now());
24
+ const displayValue = vue.computed(() => utils.formatTime(rawValue.value, props.format));
25
+ const formatter = (val) => utils.formatTime(val, props.format);
26
+ const stopTimer = () => {
27
+ if (timer) {
28
+ raf.cAF(timer);
29
+ timer = void 0;
30
+ }
31
+ };
32
+ const startTimer = () => {
33
+ const timestamp = utils.getTime(props.value);
34
+ const frameFunc = () => {
35
+ let diff = timestamp - Date.now();
36
+ emit("change", diff);
37
+ if (diff <= 0) {
38
+ diff = 0;
39
+ stopTimer();
40
+ emit("finish");
41
+ } else {
42
+ timer = raf.rAF(frameFunc);
43
+ }
44
+ rawValue.value = diff;
45
+ };
46
+ timer = raf.rAF(frameFunc);
47
+ };
48
+ vue.watch(() => [props.value, props.format], () => {
49
+ stopTimer();
50
+ startTimer();
51
+ }, {
52
+ immediate: true
53
+ });
54
+ vue.onBeforeUnmount(() => {
55
+ stopTimer();
56
+ });
57
+ expose({
58
+ displayValue
59
+ });
60
+ return (_ctx, _cache) => {
61
+ return vue.openBlock(), vue.createBlock(vue.unref(index.ElStatistic), {
62
+ value: rawValue.value,
63
+ title: _ctx.title,
64
+ prefix: _ctx.prefix,
65
+ suffix: _ctx.suffix,
66
+ "value-style": _ctx.valueStyle,
67
+ formatter
68
+ }, vue.createSlots({ _: 2 }, [
69
+ vue.renderList(_ctx.$slots, (_, name) => {
70
+ return {
71
+ name,
72
+ fn: vue.withCtx(() => [
73
+ vue.renderSlot(_ctx.$slots, name)
74
+ ])
75
+ };
76
+ })
77
+ ]), 1032, ["value", "title", "prefix", "suffix", "value-style"]);
78
+ };
25
79
  }
26
80
  });
27
- const countdownEmits = {
28
- finish: () => true,
29
- [event.CHANGE_EVENT]: (value) => types.isNumber(value)
30
- };
81
+ var Countdown = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "countdown.vue"]]);
31
82
 
32
- exports.countdownEmits = countdownEmits;
33
- exports.countdownProps = countdownProps;
83
+ exports["default"] = Countdown;
34
84
  //# sourceMappingURL=countdown2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/countdown/src/countdown.ts"],"sourcesContent":["import { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\nimport type { ExtractPropTypes, StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\n\nexport const countdownProps = buildProps({\n /**\n * @description Formatting the countdown display\n */\n format: {\n type: String,\n default: 'HH:mm:ss',\n },\n /**\n * @description Sets the prefix of a countdown\n */\n prefix: String,\n /**\n * @description Sets the suffix of a countdown\n */\n suffix: String,\n /**\n * @description countdown titles\n */\n title: String,\n /**\n * @description target time\n */\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n default: 0,\n },\n /**\n * @description Styles countdown values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n} as const)\nexport type CountdownProps = ExtractPropTypes<typeof countdownProps>\n\nexport const countdownEmits = {\n finish: () => true,\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n}\nexport type CountdownEmits = typeof countdownEmits\n\nexport type CountdownInstance = InstanceType<typeof Countdown>\n"],"names":["buildProps","definePropType","CHANGE_EVENT","isNumber"],"mappings":";;;;;;;;;;AAEY,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,UAAU;AACvB,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC,EAAE;AACS,MAAC,cAAc,GAAG;AAC9B,EAAE,MAAM,EAAE,MAAM,IAAI;AACpB,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKC,cAAQ,CAAC,KAAK,CAAC;AAC5C;;;;;"}
1
+ {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/countdown/src/countdown.vue"],"sourcesContent":["<template>\n <el-statistic\n :value=\"rawValue\"\n :title=\"title\"\n :prefix=\"prefix\"\n :suffix=\"suffix\"\n :value-style=\"valueStyle\"\n :formatter=\"formatter\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]>\n <slot :name=\"name\" />\n </template>\n </el-statistic>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, ref, watch } from 'vue'\nimport { ElStatistic } from '@element-plus/components/statistic'\nimport { cAF, rAF } from '@element-plus/utils'\nimport { countdownEmits, countdownProps } from './countdown'\nimport { formatTime, getTime } from './utils'\n\ndefineOptions({\n name: 'ElCountdown',\n})\n\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\n\nlet timer: ReturnType<typeof rAF> | undefined\nconst rawValue = ref(getTime(props.value) - Date.now())\nconst displayValue = computed(() => formatTime(rawValue.value, props.format))\n\nconst formatter = (val: number) => formatTime(val, props.format)\n\nconst stopTimer = () => {\n if (timer) {\n cAF(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const timestamp = getTime(props.value)\n const frameFunc = () => {\n let diff = timestamp - Date.now()\n emit('change', diff)\n if (diff <= 0) {\n diff = 0\n stopTimer()\n emit('finish')\n } else {\n timer = rAF(frameFunc)\n }\n rawValue.value = diff\n }\n timer = rAF(frameFunc)\n}\n\nwatch(\n () => [props.value, props.format],\n () => {\n stopTimer()\n startTimer()\n },\n {\n immediate: true,\n }\n)\n\nonBeforeUnmount(() => {\n stopTimer()\n})\n\ndefineExpose({\n /**\n * @description current display value\n */\n displayValue,\n})\n</script>\n"],"names":["ref","getTime","computed","formatTime","cAF","rAF","watch","onBeforeUnmount"],"mappings":";;;;;;;;;;;;uCAqBc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKA,IAAI,IAAA,KAAA,CAAA;AACJ,IAAM,MAAA,QAAA,GAAWA,QAAIC,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACtD,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAMC,gBAAA,CAAW,SAAS,KAAO,EAAA,KAAA,CAAM,MAAM,CAAC,CAAA,CAAA;AAE5E,IAAA,MAAM,YAAY,CAAC,GAAA,KAAgBA,gBAAW,CAAA,GAAA,EAAK,MAAM,MAAM,CAAA,CAAA;AAE/D,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAAC,OAAA,CAAI,KAAK,CAAA,CAAA;AACT,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,SAAA,GAAYH,aAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACrC,MAAA,MAAM,YAAY,MAAM;AACtB,QAAI,IAAA,IAAA,GAAO,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;AAChC,QAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AACnB,QAAA,IAAI,QAAQ,CAAG,EAAA;AACb,UAAO,IAAA,GAAA,CAAA,CAAA;AACP,UAAU,SAAA,EAAA,CAAA;AACV,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACR,MAAA;AACL,UAAA,KAAA,GAAQI,QAAI,SAAS,CAAA,CAAA;AAAA,SACvB;AACA,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,OACnB,CAAA;AACA,MAAA,KAAA,GAAQA,QAAI,SAAS,CAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAAC,SAAA,CACE,MAAM,CAAC,KAAA,CAAM,OAAO,KAAM,CAAA,MAAM,GAChC,MAAM;AACJ,MAAU,SAAA,EAAA,CAAA;AACV,MAAW,UAAA,EAAA,CAAA;AAAA,KAEb,EAAA;AAAA,MACE,SAAW,EAAA,IAAA;AAAA,KAEf,CAAA,CAAA;AAEA,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAU,SAAA,EAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAIX,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var description$1 = require('./src/description.js');
6
+ var description$1 = require('./src/description2.js');
7
7
  var descriptionItem = require('./src/description-item.js');
8
- var description = require('./src/description2.js');
8
+ var description = require('./src/description.js');
9
9
  var install = require('../../utils/vue/install.js');
10
10
 
11
11
  const ElDescriptions = install.withInstall(description$1["default"], {
@@ -2,122 +2,35 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
5
  require('../../../utils/index.js');
7
6
  require('../../../hooks/index.js');
8
- require('../../form/index.js');
9
- var descriptionsRow = require('./descriptions-row2.js');
10
- var token = require('./token.js');
11
- var description = require('./description2.js');
12
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
- var index = require('../../../hooks/use-namespace/index.js');
14
- var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
15
- var vnode = require('../../../utils/vue/vnode.js');
7
+ var runtime = require('../../../utils/vue/props/runtime.js');
8
+ var index = require('../../../hooks/use-size/index.js');
16
9
 
17
- const __default__ = vue.defineComponent({
18
- name: "ElDescriptions"
19
- });
20
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
- ...__default__,
22
- props: description.descriptionProps,
23
- setup(__props) {
24
- const props = __props;
25
- const ns = index.useNamespace("descriptions");
26
- const descriptionsSize = useFormCommonProps.useFormSize();
27
- const slots = vue.useSlots();
28
- vue.provide(token.descriptionsKey, props);
29
- const descriptionKls = vue.computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
30
- const filledNode = (node, span, count, isLast = false) => {
31
- if (!node.props) {
32
- node.props = {};
33
- }
34
- if (span > count) {
35
- node.props.span = count;
36
- }
37
- if (isLast) {
38
- node.props.span = span;
39
- }
40
- return node;
41
- };
42
- const getRows = () => {
43
- if (!slots.default)
44
- return [];
45
- const children = vnode.flattedChildren(slots.default()).filter((node) => {
46
- var _a;
47
- return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === "ElDescriptionsItem";
48
- });
49
- const rows = [];
50
- let temp = [];
51
- let count = props.column;
52
- let totalSpan = 0;
53
- children.forEach((node, index) => {
54
- var _a;
55
- const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
56
- if (index < children.length - 1) {
57
- totalSpan += span > count ? count : span;
58
- }
59
- if (index === children.length - 1) {
60
- const lastSpan = props.column - totalSpan % props.column;
61
- temp.push(filledNode(node, lastSpan, count, true));
62
- rows.push(temp);
63
- return;
64
- }
65
- if (span < count) {
66
- count -= span;
67
- temp.push(node);
68
- } else {
69
- temp.push(filledNode(node, span, count));
70
- rows.push(temp);
71
- count = props.column;
72
- temp = [];
73
- }
74
- });
75
- return rows;
76
- };
77
- return (_ctx, _cache) => {
78
- return vue.openBlock(), vue.createElementBlock("div", {
79
- class: vue.normalizeClass(vue.unref(descriptionKls))
80
- }, [
81
- _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", {
82
- key: 0,
83
- class: vue.normalizeClass(vue.unref(ns).e("header"))
84
- }, [
85
- vue.createElementVNode("div", {
86
- class: vue.normalizeClass(vue.unref(ns).e("title"))
87
- }, [
88
- vue.renderSlot(_ctx.$slots, "title", {}, () => [
89
- vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
90
- ])
91
- ], 2),
92
- vue.createElementVNode("div", {
93
- class: vue.normalizeClass(vue.unref(ns).e("extra"))
94
- }, [
95
- vue.renderSlot(_ctx.$slots, "extra", {}, () => [
96
- vue.createTextVNode(vue.toDisplayString(_ctx.extra), 1)
97
- ])
98
- ], 2)
99
- ], 2)) : vue.createCommentVNode("v-if", true),
100
- vue.createElementVNode("div", {
101
- class: vue.normalizeClass(vue.unref(ns).e("body"))
102
- }, [
103
- vue.createElementVNode("table", {
104
- class: vue.normalizeClass([vue.unref(ns).e("table"), vue.unref(ns).is("bordered", _ctx.border)])
105
- }, [
106
- vue.createElementVNode("tbody", null, [
107
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getRows(), (row, _index) => {
108
- return vue.openBlock(), vue.createBlock(descriptionsRow["default"], {
109
- key: _index,
110
- row
111
- }, null, 8, ["row"]);
112
- }), 128))
113
- ])
114
- ], 2)
115
- ], 2)
116
- ], 2);
117
- };
10
+ const descriptionProps = runtime.buildProps({
11
+ border: {
12
+ type: Boolean,
13
+ default: false
14
+ },
15
+ column: {
16
+ type: Number,
17
+ default: 3
18
+ },
19
+ direction: {
20
+ type: String,
21
+ values: ["horizontal", "vertical"],
22
+ default: "horizontal"
23
+ },
24
+ size: index.useSizeProp,
25
+ title: {
26
+ type: String,
27
+ default: ""
28
+ },
29
+ extra: {
30
+ type: String,
31
+ default: ""
118
32
  }
119
33
  });
120
- var Descriptions = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "description.vue"]]);
121
34
 
122
- exports["default"] = Descriptions;
35
+ exports.descriptionProps = descriptionProps;
123
36
  //# sourceMappingURL=description.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":["useNamespace","useFormSize","useSlots","provide","descriptionsKey","computed","flattedChildren"],"mappings":"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"}
1
+ {"version":3,"file":"description.js","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: {\n type: Boolean,\n default: false,\n },\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type DescriptionInstance = InstanceType<typeof Description>\n"],"names":["buildProps","useSizeProp"],"mappings":";;;;;;;;;AAEY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
@@ -2,35 +2,122 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var vue = require('vue');
5
6
  require('../../../utils/index.js');
6
7
  require('../../../hooks/index.js');
7
- var runtime = require('../../../utils/vue/props/runtime.js');
8
- var index = require('../../../hooks/use-size/index.js');
8
+ require('../../form/index.js');
9
+ var descriptionsRow = require('./descriptions-row2.js');
10
+ var token = require('./token.js');
11
+ var description = require('./description.js');
12
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
13
+ var index = require('../../../hooks/use-namespace/index.js');
14
+ var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
15
+ var vnode = require('../../../utils/vue/vnode.js');
9
16
 
10
- const descriptionProps = runtime.buildProps({
11
- border: {
12
- type: Boolean,
13
- default: false
14
- },
15
- column: {
16
- type: Number,
17
- default: 3
18
- },
19
- direction: {
20
- type: String,
21
- values: ["horizontal", "vertical"],
22
- default: "horizontal"
23
- },
24
- size: index.useSizeProp,
25
- title: {
26
- type: String,
27
- default: ""
28
- },
29
- extra: {
30
- type: String,
31
- default: ""
17
+ const __default__ = vue.defineComponent({
18
+ name: "ElDescriptions"
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
+ ...__default__,
22
+ props: description.descriptionProps,
23
+ setup(__props) {
24
+ const props = __props;
25
+ const ns = index.useNamespace("descriptions");
26
+ const descriptionsSize = useFormCommonProps.useFormSize();
27
+ const slots = vue.useSlots();
28
+ vue.provide(token.descriptionsKey, props);
29
+ const descriptionKls = vue.computed(() => [ns.b(), ns.m(descriptionsSize.value)]);
30
+ const filledNode = (node, span, count, isLast = false) => {
31
+ if (!node.props) {
32
+ node.props = {};
33
+ }
34
+ if (span > count) {
35
+ node.props.span = count;
36
+ }
37
+ if (isLast) {
38
+ node.props.span = span;
39
+ }
40
+ return node;
41
+ };
42
+ const getRows = () => {
43
+ if (!slots.default)
44
+ return [];
45
+ const children = vnode.flattedChildren(slots.default()).filter((node) => {
46
+ var _a;
47
+ return ((_a = node == null ? void 0 : node.type) == null ? void 0 : _a.name) === "ElDescriptionsItem";
48
+ });
49
+ const rows = [];
50
+ let temp = [];
51
+ let count = props.column;
52
+ let totalSpan = 0;
53
+ children.forEach((node, index) => {
54
+ var _a;
55
+ const span = ((_a = node.props) == null ? void 0 : _a.span) || 1;
56
+ if (index < children.length - 1) {
57
+ totalSpan += span > count ? count : span;
58
+ }
59
+ if (index === children.length - 1) {
60
+ const lastSpan = props.column - totalSpan % props.column;
61
+ temp.push(filledNode(node, lastSpan, count, true));
62
+ rows.push(temp);
63
+ return;
64
+ }
65
+ if (span < count) {
66
+ count -= span;
67
+ temp.push(node);
68
+ } else {
69
+ temp.push(filledNode(node, span, count));
70
+ rows.push(temp);
71
+ count = props.column;
72
+ temp = [];
73
+ }
74
+ });
75
+ return rows;
76
+ };
77
+ return (_ctx, _cache) => {
78
+ return vue.openBlock(), vue.createElementBlock("div", {
79
+ class: vue.normalizeClass(vue.unref(descriptionKls))
80
+ }, [
81
+ _ctx.title || _ctx.extra || _ctx.$slots.title || _ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", {
82
+ key: 0,
83
+ class: vue.normalizeClass(vue.unref(ns).e("header"))
84
+ }, [
85
+ vue.createElementVNode("div", {
86
+ class: vue.normalizeClass(vue.unref(ns).e("title"))
87
+ }, [
88
+ vue.renderSlot(_ctx.$slots, "title", {}, () => [
89
+ vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
90
+ ])
91
+ ], 2),
92
+ vue.createElementVNode("div", {
93
+ class: vue.normalizeClass(vue.unref(ns).e("extra"))
94
+ }, [
95
+ vue.renderSlot(_ctx.$slots, "extra", {}, () => [
96
+ vue.createTextVNode(vue.toDisplayString(_ctx.extra), 1)
97
+ ])
98
+ ], 2)
99
+ ], 2)) : vue.createCommentVNode("v-if", true),
100
+ vue.createElementVNode("div", {
101
+ class: vue.normalizeClass(vue.unref(ns).e("body"))
102
+ }, [
103
+ vue.createElementVNode("table", {
104
+ class: vue.normalizeClass([vue.unref(ns).e("table"), vue.unref(ns).is("bordered", _ctx.border)])
105
+ }, [
106
+ vue.createElementVNode("tbody", null, [
107
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getRows(), (row, _index) => {
108
+ return vue.openBlock(), vue.createBlock(descriptionsRow["default"], {
109
+ key: _index,
110
+ row
111
+ }, null, 8, ["row"]);
112
+ }), 128))
113
+ ])
114
+ ], 2)
115
+ ], 2)
116
+ ], 2);
117
+ };
32
118
  }
33
119
  });
120
+ var Descriptions = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "description.vue"]]);
34
121
 
35
- exports.descriptionProps = descriptionProps;
122
+ exports["default"] = Descriptions;
36
123
  //# sourceMappingURL=description2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"description2.js","sources":["../../../../../../packages/components/descriptions/src/description.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { useSizeProp } from '@element-plus/hooks'\n\nimport type Description from './description.vue'\n\nexport const descriptionProps = buildProps({\n /**\n * @description with or without border\n */\n border: {\n type: Boolean,\n default: false,\n },\n /**\n * @description numbers of `Descriptions Item` in one line\n */\n column: {\n type: Number,\n default: 3,\n },\n /**\n * @description direction of list\n */\n direction: {\n type: String,\n values: ['horizontal', 'vertical'],\n default: 'horizontal',\n },\n /**\n * @description size of list\n */\n size: useSizeProp,\n /**\n * @description title text, display on the top left\n */\n title: {\n type: String,\n default: '',\n },\n /**\n * @description extra text, display on the top right\n */\n extra: {\n type: String,\n default: '',\n },\n} as const)\n\nexport type DescriptionInstance = InstanceType<typeof Description>\n"],"names":["buildProps","useSizeProp"],"mappings":";;;;;;;;;AAEY,MAAC,gBAAgB,GAAGA,kBAAU,CAAC;AAC3C,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACtC,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,IAAI,EAAEC,iBAAW;AACnB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"description2.js","sources":["../../../../../../packages/components/descriptions/src/description.vue"],"sourcesContent":["<template>\n <div :class=\"descriptionKls\">\n <div\n v-if=\"title || extra || $slots.title || $slots.extra\"\n :class=\"ns.e('header')\"\n >\n <div :class=\"ns.e('title')\">\n <slot name=\"title\">{{ title }}</slot>\n </div>\n <div :class=\"ns.e('extra')\">\n <slot name=\"extra\">{{ extra }}</slot>\n </div>\n </div>\n\n <div :class=\"ns.e('body')\">\n <table :class=\"[ns.e('table'), ns.is('bordered', border)]\">\n <tbody>\n <template v-for=\"(row, _index) in getRows()\" :key=\"_index\">\n <el-descriptions-row :row=\"row\" />\n </template>\n </tbody>\n </table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, useSlots } from 'vue'\nimport { flattedChildren } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport ElDescriptionsRow from './descriptions-row.vue'\nimport { descriptionsKey } from './token'\nimport { descriptionProps } from './description'\n\nimport type { IDescriptionsInject } from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\ndefineOptions({\n name: 'ElDescriptions',\n})\n\nconst props = defineProps(descriptionProps)\n\nconst ns = useNamespace('descriptions')\n\nconst descriptionsSize = useFormSize()\n\nconst slots = useSlots()\n\nprovide(descriptionsKey, props as IDescriptionsInject)\n\nconst descriptionKls = computed(() => [ns.b(), ns.m(descriptionsSize.value)])\n\nconst filledNode = (\n node: DescriptionItemVNode,\n span: number,\n count: number,\n isLast = false\n) => {\n if (!node.props) {\n node.props = {}\n }\n if (span > count) {\n node.props.span = count\n }\n if (isLast) {\n // set the last span\n node.props.span = span\n }\n return node\n}\n\nconst getRows = () => {\n if (!slots.default) return []\n\n const children = flattedChildren(slots.default()).filter(\n (node): node is DescriptionItemVNode =>\n (node as any)?.type?.name === 'ElDescriptionsItem'\n )\n const rows: DescriptionItemVNode[][] = []\n let temp: DescriptionItemVNode[] = []\n let count = props.column\n let totalSpan = 0 // all spans number of item\n\n children.forEach((node, index) => {\n const span = node.props?.span || 1\n\n if (index < children.length - 1) {\n totalSpan += span > count ? count : span\n }\n\n if (index === children.length - 1) {\n // calculate the last item span\n const lastSpan = props.column - (totalSpan % props.column)\n temp.push(filledNode(node, lastSpan, count, true))\n rows.push(temp)\n return\n }\n\n if (span < count) {\n count -= span\n temp.push(node)\n } else {\n temp.push(filledNode(node, span, count))\n rows.push(temp)\n count = props.column\n temp = []\n }\n })\n\n return rows\n}\n</script>\n"],"names":["useNamespace","useFormSize","useSlots","provide","descriptionsKey","computed","flattedChildren"],"mappings":"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"}