@element-plus/nightly 0.0.20221207 → 0.0.20221208

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 (270) hide show
  1. package/dist/index.full.js +55 -75
  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 +12 -12
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +55 -75
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar.js +1 -1
  12. package/dist/locale/ar.min.js +1 -1
  13. package/dist/locale/ar.min.mjs +1 -1
  14. package/dist/locale/ar.mjs +1 -1
  15. package/dist/locale/az.js +1 -1
  16. package/dist/locale/az.min.js +1 -1
  17. package/dist/locale/az.min.mjs +1 -1
  18. package/dist/locale/az.mjs +1 -1
  19. package/dist/locale/bg.js +1 -1
  20. package/dist/locale/bg.min.js +1 -1
  21. package/dist/locale/bg.min.mjs +1 -1
  22. package/dist/locale/bg.mjs +1 -1
  23. package/dist/locale/bn.js +1 -1
  24. package/dist/locale/bn.min.js +1 -1
  25. package/dist/locale/bn.min.mjs +1 -1
  26. package/dist/locale/bn.mjs +1 -1
  27. package/dist/locale/ca.js +1 -1
  28. package/dist/locale/ca.min.js +1 -1
  29. package/dist/locale/ca.min.mjs +1 -1
  30. package/dist/locale/ca.mjs +1 -1
  31. package/dist/locale/cs.js +1 -1
  32. package/dist/locale/cs.min.js +1 -1
  33. package/dist/locale/cs.min.mjs +1 -1
  34. package/dist/locale/cs.mjs +1 -1
  35. package/dist/locale/da.js +1 -1
  36. package/dist/locale/da.min.js +1 -1
  37. package/dist/locale/da.min.mjs +1 -1
  38. package/dist/locale/da.mjs +1 -1
  39. package/dist/locale/de.js +1 -1
  40. package/dist/locale/de.min.js +1 -1
  41. package/dist/locale/de.min.mjs +1 -1
  42. package/dist/locale/de.mjs +1 -1
  43. package/dist/locale/el.js +1 -1
  44. package/dist/locale/el.min.js +1 -1
  45. package/dist/locale/el.min.mjs +1 -1
  46. package/dist/locale/el.mjs +1 -1
  47. package/dist/locale/en.js +1 -1
  48. package/dist/locale/en.min.js +1 -1
  49. package/dist/locale/en.min.mjs +1 -1
  50. package/dist/locale/en.mjs +1 -1
  51. package/dist/locale/eo.js +1 -1
  52. package/dist/locale/eo.min.js +1 -1
  53. package/dist/locale/eo.min.mjs +1 -1
  54. package/dist/locale/eo.mjs +1 -1
  55. package/dist/locale/es.js +1 -1
  56. package/dist/locale/es.min.js +1 -1
  57. package/dist/locale/es.min.mjs +1 -1
  58. package/dist/locale/es.mjs +1 -1
  59. package/dist/locale/et.js +1 -1
  60. package/dist/locale/et.min.js +1 -1
  61. package/dist/locale/et.min.mjs +1 -1
  62. package/dist/locale/et.mjs +1 -1
  63. package/dist/locale/eu.js +1 -1
  64. package/dist/locale/eu.min.js +1 -1
  65. package/dist/locale/eu.min.mjs +1 -1
  66. package/dist/locale/eu.mjs +1 -1
  67. package/dist/locale/fa.js +1 -1
  68. package/dist/locale/fa.min.js +1 -1
  69. package/dist/locale/fa.min.mjs +1 -1
  70. package/dist/locale/fa.mjs +1 -1
  71. package/dist/locale/fi.js +1 -1
  72. package/dist/locale/fi.min.js +1 -1
  73. package/dist/locale/fi.min.mjs +1 -1
  74. package/dist/locale/fi.mjs +1 -1
  75. package/dist/locale/fr.js +1 -1
  76. package/dist/locale/fr.min.js +1 -1
  77. package/dist/locale/fr.min.mjs +1 -1
  78. package/dist/locale/fr.mjs +1 -1
  79. package/dist/locale/he.js +1 -1
  80. package/dist/locale/he.min.js +1 -1
  81. package/dist/locale/he.min.mjs +1 -1
  82. package/dist/locale/he.mjs +1 -1
  83. package/dist/locale/hr.js +1 -1
  84. package/dist/locale/hr.min.js +1 -1
  85. package/dist/locale/hr.min.mjs +1 -1
  86. package/dist/locale/hr.mjs +1 -1
  87. package/dist/locale/hu.js +1 -1
  88. package/dist/locale/hu.min.js +1 -1
  89. package/dist/locale/hu.min.mjs +1 -1
  90. package/dist/locale/hu.mjs +1 -1
  91. package/dist/locale/hy-am.js +1 -1
  92. package/dist/locale/hy-am.min.js +1 -1
  93. package/dist/locale/hy-am.min.mjs +1 -1
  94. package/dist/locale/hy-am.mjs +1 -1
  95. package/dist/locale/id.js +1 -1
  96. package/dist/locale/id.min.js +1 -1
  97. package/dist/locale/id.min.mjs +1 -1
  98. package/dist/locale/id.mjs +1 -1
  99. package/dist/locale/it.js +1 -1
  100. package/dist/locale/it.min.js +1 -1
  101. package/dist/locale/it.min.mjs +1 -1
  102. package/dist/locale/it.mjs +1 -1
  103. package/dist/locale/ja.js +1 -1
  104. package/dist/locale/ja.min.js +1 -1
  105. package/dist/locale/ja.min.mjs +1 -1
  106. package/dist/locale/ja.mjs +1 -1
  107. package/dist/locale/kk.js +1 -1
  108. package/dist/locale/kk.min.js +1 -1
  109. package/dist/locale/kk.min.mjs +1 -1
  110. package/dist/locale/kk.mjs +1 -1
  111. package/dist/locale/km.js +1 -1
  112. package/dist/locale/km.min.js +1 -1
  113. package/dist/locale/km.min.mjs +1 -1
  114. package/dist/locale/km.mjs +1 -1
  115. package/dist/locale/ko.js +1 -1
  116. package/dist/locale/ko.min.js +1 -1
  117. package/dist/locale/ko.min.mjs +1 -1
  118. package/dist/locale/ko.mjs +1 -1
  119. package/dist/locale/ku.js +1 -1
  120. package/dist/locale/ku.min.js +1 -1
  121. package/dist/locale/ku.min.mjs +1 -1
  122. package/dist/locale/ku.mjs +1 -1
  123. package/dist/locale/ky.js +1 -1
  124. package/dist/locale/ky.min.js +1 -1
  125. package/dist/locale/ky.min.mjs +1 -1
  126. package/dist/locale/ky.mjs +1 -1
  127. package/dist/locale/lt.js +1 -1
  128. package/dist/locale/lt.min.js +1 -1
  129. package/dist/locale/lt.min.mjs +1 -1
  130. package/dist/locale/lt.mjs +1 -1
  131. package/dist/locale/lv.js +1 -1
  132. package/dist/locale/lv.min.js +1 -1
  133. package/dist/locale/lv.min.mjs +1 -1
  134. package/dist/locale/lv.mjs +1 -1
  135. package/dist/locale/mg.js +1 -1
  136. package/dist/locale/mg.min.js +1 -1
  137. package/dist/locale/mg.min.mjs +1 -1
  138. package/dist/locale/mg.mjs +1 -1
  139. package/dist/locale/mn.js +1 -1
  140. package/dist/locale/mn.min.js +1 -1
  141. package/dist/locale/mn.min.mjs +1 -1
  142. package/dist/locale/mn.mjs +1 -1
  143. package/dist/locale/nb-no.js +1 -1
  144. package/dist/locale/nb-no.min.js +1 -1
  145. package/dist/locale/nb-no.min.mjs +1 -1
  146. package/dist/locale/nb-no.mjs +1 -1
  147. package/dist/locale/nl.js +1 -1
  148. package/dist/locale/nl.min.js +1 -1
  149. package/dist/locale/nl.min.mjs +1 -1
  150. package/dist/locale/nl.mjs +1 -1
  151. package/dist/locale/pa.js +1 -1
  152. package/dist/locale/pa.min.js +1 -1
  153. package/dist/locale/pa.min.mjs +1 -1
  154. package/dist/locale/pa.mjs +1 -1
  155. package/dist/locale/pl.js +1 -1
  156. package/dist/locale/pl.min.js +1 -1
  157. package/dist/locale/pl.min.mjs +1 -1
  158. package/dist/locale/pl.mjs +1 -1
  159. package/dist/locale/pt-br.js +1 -1
  160. package/dist/locale/pt-br.min.js +1 -1
  161. package/dist/locale/pt-br.min.mjs +1 -1
  162. package/dist/locale/pt-br.mjs +1 -1
  163. package/dist/locale/pt.js +1 -1
  164. package/dist/locale/pt.min.js +1 -1
  165. package/dist/locale/pt.min.mjs +1 -1
  166. package/dist/locale/pt.mjs +1 -1
  167. package/dist/locale/ro.js +1 -1
  168. package/dist/locale/ro.min.js +1 -1
  169. package/dist/locale/ro.min.mjs +1 -1
  170. package/dist/locale/ro.mjs +1 -1
  171. package/dist/locale/ru.js +1 -1
  172. package/dist/locale/ru.min.js +1 -1
  173. package/dist/locale/ru.min.mjs +1 -1
  174. package/dist/locale/ru.mjs +1 -1
  175. package/dist/locale/sk.js +1 -1
  176. package/dist/locale/sk.min.js +1 -1
  177. package/dist/locale/sk.min.mjs +1 -1
  178. package/dist/locale/sk.mjs +1 -1
  179. package/dist/locale/sl.js +1 -1
  180. package/dist/locale/sl.min.js +1 -1
  181. package/dist/locale/sl.min.mjs +1 -1
  182. package/dist/locale/sl.mjs +1 -1
  183. package/dist/locale/sr.js +1 -1
  184. package/dist/locale/sr.min.js +1 -1
  185. package/dist/locale/sr.min.mjs +1 -1
  186. package/dist/locale/sr.mjs +1 -1
  187. package/dist/locale/sv.js +1 -1
  188. package/dist/locale/sv.min.js +1 -1
  189. package/dist/locale/sv.min.mjs +1 -1
  190. package/dist/locale/sv.mjs +1 -1
  191. package/dist/locale/ta.js +1 -1
  192. package/dist/locale/ta.min.js +1 -1
  193. package/dist/locale/ta.min.mjs +1 -1
  194. package/dist/locale/ta.mjs +1 -1
  195. package/dist/locale/th.js +1 -1
  196. package/dist/locale/th.min.js +1 -1
  197. package/dist/locale/th.min.mjs +1 -1
  198. package/dist/locale/th.mjs +1 -1
  199. package/dist/locale/tk.js +1 -1
  200. package/dist/locale/tk.min.js +1 -1
  201. package/dist/locale/tk.min.mjs +1 -1
  202. package/dist/locale/tk.mjs +1 -1
  203. package/dist/locale/tr.js +1 -1
  204. package/dist/locale/tr.min.js +1 -1
  205. package/dist/locale/tr.min.mjs +1 -1
  206. package/dist/locale/tr.mjs +1 -1
  207. package/dist/locale/ug-cn.js +1 -1
  208. package/dist/locale/ug-cn.min.js +1 -1
  209. package/dist/locale/ug-cn.min.mjs +1 -1
  210. package/dist/locale/ug-cn.mjs +1 -1
  211. package/dist/locale/uk.js +1 -1
  212. package/dist/locale/uk.min.js +1 -1
  213. package/dist/locale/uk.min.mjs +1 -1
  214. package/dist/locale/uk.mjs +1 -1
  215. package/dist/locale/uz-uz.js +1 -1
  216. package/dist/locale/uz-uz.min.js +1 -1
  217. package/dist/locale/uz-uz.min.mjs +1 -1
  218. package/dist/locale/uz-uz.mjs +1 -1
  219. package/dist/locale/vi.js +1 -1
  220. package/dist/locale/vi.min.js +1 -1
  221. package/dist/locale/vi.min.mjs +1 -1
  222. package/dist/locale/vi.mjs +1 -1
  223. package/dist/locale/zh-cn.js +1 -1
  224. package/dist/locale/zh-cn.min.js +1 -1
  225. package/dist/locale/zh-cn.min.mjs +1 -1
  226. package/dist/locale/zh-cn.mjs +1 -1
  227. package/dist/locale/zh-tw.js +1 -1
  228. package/dist/locale/zh-tw.min.js +1 -1
  229. package/dist/locale/zh-tw.min.mjs +1 -1
  230. package/dist/locale/zh-tw.mjs +1 -1
  231. package/es/components/index.mjs +1 -1
  232. package/es/components/statistic/index.d.ts +55 -50
  233. package/es/components/statistic/index.mjs +1 -1
  234. package/es/components/statistic/src/countdown.d.ts +8 -8
  235. package/es/components/statistic/src/countdown.mjs +29 -27
  236. package/es/components/statistic/src/countdown.mjs.map +1 -1
  237. package/es/components/statistic/src/countdown.vue.d.ts +20 -23
  238. package/es/components/statistic/src/countdown2.mjs +14 -22
  239. package/es/components/statistic/src/countdown2.mjs.map +1 -1
  240. package/es/components/statistic/src/statistic.d.ts +12 -8
  241. package/es/components/statistic/src/statistic.mjs +10 -24
  242. package/es/components/statistic/src/statistic.mjs.map +1 -1
  243. package/es/components/statistic/src/statistic.vue.d.ts +35 -27
  244. package/es/components/statistic/src/statistic2.mjs +6 -5
  245. package/es/components/statistic/src/statistic2.mjs.map +1 -1
  246. package/es/index.mjs +1 -1
  247. package/es/version.d.ts +1 -1
  248. package/es/version.mjs +1 -1
  249. package/es/version.mjs.map +1 -1
  250. package/lib/components/index.js +1 -1
  251. package/lib/components/statistic/index.d.ts +55 -50
  252. package/lib/components/statistic/index.js +1 -1
  253. package/lib/components/statistic/src/countdown.d.ts +8 -8
  254. package/lib/components/statistic/src/countdown.js +28 -30
  255. package/lib/components/statistic/src/countdown.js.map +1 -1
  256. package/lib/components/statistic/src/countdown.vue.d.ts +20 -23
  257. package/lib/components/statistic/src/countdown2.js +13 -21
  258. package/lib/components/statistic/src/countdown2.js.map +1 -1
  259. package/lib/components/statistic/src/statistic.d.ts +12 -8
  260. package/lib/components/statistic/src/statistic.js +10 -24
  261. package/lib/components/statistic/src/statistic.js.map +1 -1
  262. package/lib/components/statistic/src/statistic.vue.d.ts +35 -27
  263. package/lib/components/statistic/src/statistic2.js +5 -4
  264. package/lib/components/statistic/src/statistic2.js.map +1 -1
  265. package/lib/index.js +1 -1
  266. package/lib/version.d.ts +1 -1
  267. package/lib/version.js +1 -1
  268. package/lib/version.js.map +1 -1
  269. package/package.json +2 -2
  270. package/web-types.json +1 -1
@@ -3,36 +3,45 @@ export * from './src/countdown';
3
3
  export declare const ElStatistic: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
4
4
  readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
5
5
  readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
6
- readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, null, boolean>;
6
+ readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
7
7
  readonly formatter: {
8
8
  readonly type: import("vue").PropType<(val: string | number) => string | number>;
9
9
  readonly required: false;
10
10
  readonly validator: ((val: unknown) => boolean) | undefined;
11
11
  __epPropKey: true;
12
12
  };
13
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, null, boolean>;
14
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
15
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
16
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
17
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
18
- readonly rate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
13
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
14
+ readonly prefix: StringConstructor;
15
+ readonly suffix: StringConstructor;
16
+ readonly title: StringConstructor;
17
+ readonly valueStyle: {
18
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
19
+ readonly required: false;
20
+ readonly validator: ((val: unknown) => boolean) | undefined;
21
+ __epPropKey: true;
22
+ };
19
23
  }, {
24
+ THOUSANDTH: number;
20
25
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
21
26
  readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
22
27
  readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
23
- readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, null, boolean>;
28
+ readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
24
29
  readonly formatter: {
25
30
  readonly type: import("vue").PropType<(val: string | number) => string | number>;
26
31
  readonly required: false;
27
32
  readonly validator: ((val: unknown) => boolean) | undefined;
28
33
  __epPropKey: true;
29
34
  };
30
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, null, boolean>;
31
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
32
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
33
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
34
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
35
- readonly rate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
35
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
36
+ readonly prefix: StringConstructor;
37
+ readonly suffix: StringConstructor;
38
+ readonly title: StringConstructor;
39
+ readonly valueStyle: {
40
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
41
+ readonly required: false;
42
+ readonly validator: ((val: unknown) => boolean) | undefined;
43
+ __epPropKey: true;
44
+ };
36
45
  }>> & {
37
46
  [x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
38
47
  }>>;
@@ -54,60 +63,59 @@ export declare const ElStatistic: import("element-plus/es/utils").SFCWithInstall
54
63
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
55
64
  cssVarBlockName: (name: string) => string;
56
65
  };
57
- disposeValue: import("vue").ComputedRef<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
66
+ displayValue: import("vue").ComputedRef<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
58
67
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
59
68
  readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
60
69
  readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
61
- readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, null, boolean>;
70
+ readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
62
71
  readonly formatter: {
63
72
  readonly type: import("vue").PropType<(val: string | number) => string | number>;
64
73
  readonly required: false;
65
74
  readonly validator: ((val: unknown) => boolean) | undefined;
66
75
  __epPropKey: true;
67
76
  };
68
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, null, boolean>;
69
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
70
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
71
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
72
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
73
- readonly rate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
77
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
78
+ readonly prefix: StringConstructor;
79
+ readonly suffix: StringConstructor;
80
+ readonly title: StringConstructor;
81
+ readonly valueStyle: {
82
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
83
+ readonly required: false;
84
+ readonly validator: ((val: unknown) => boolean) | undefined;
85
+ __epPropKey: true;
86
+ };
74
87
  }>>, {
75
- readonly title: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
76
88
  readonly value: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
77
- readonly prefix: string;
78
- readonly suffix: string;
79
89
  readonly precision: number;
80
90
  readonly decimalSeparator: string;
81
91
  readonly groupSeparator: string;
82
- readonly valueStyle: import("vue").StyleValue;
83
- readonly rate: number;
84
92
  }>> & Record<string, any>;
85
93
  export declare const ElCountdown: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
86
94
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
87
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
88
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
89
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
90
- readonly value: {
91
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
95
+ readonly prefix: StringConstructor;
96
+ readonly suffix: StringConstructor;
97
+ readonly title: StringConstructor;
98
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
99
+ readonly valueStyle: {
100
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
92
101
  readonly required: false;
93
102
  readonly validator: ((val: unknown) => boolean) | undefined;
94
103
  __epPropKey: true;
95
104
  };
96
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
97
105
  }, {
98
106
  REFRESH_INTERVAL: number;
99
107
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
100
108
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
101
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
102
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
103
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
104
- readonly value: {
105
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
109
+ readonly prefix: StringConstructor;
110
+ readonly suffix: StringConstructor;
111
+ readonly title: StringConstructor;
112
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
113
+ readonly valueStyle: {
114
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
106
115
  readonly required: false;
107
116
  readonly validator: ((val: unknown) => boolean) | undefined;
108
117
  __epPropKey: true;
109
118
  };
110
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
111
119
  }>> & {
112
120
  onChange?: ((value: number) => any) | undefined;
113
121
  onFinish?: (() => any) | undefined;
@@ -131,7 +139,7 @@ export declare const ElCountdown: import("element-plus/es/utils").SFCWithInstall
131
139
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
132
140
  cssVarBlockName: (name: string) => string;
133
141
  };
134
- disposeValue: import("vue").Ref<string>;
142
+ displayValue: import("vue").Ref<string>;
135
143
  timer: number | undefined;
136
144
  getTime: (val: number) => number;
137
145
  stopTimer: () => void;
@@ -141,24 +149,21 @@ export declare const ElCountdown: import("element-plus/es/utils").SFCWithInstall
141
149
  change: (value: number) => boolean;
142
150
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
143
151
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
144
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
145
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
146
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
147
- readonly value: {
148
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
152
+ readonly prefix: StringConstructor;
153
+ readonly suffix: StringConstructor;
154
+ readonly title: StringConstructor;
155
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
156
+ readonly valueStyle: {
157
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
149
158
  readonly required: false;
150
159
  readonly validator: ((val: unknown) => boolean) | undefined;
151
160
  __epPropKey: true;
152
161
  };
153
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
154
162
  }>> & {
155
163
  onChange?: ((value: number) => any) | undefined;
156
164
  onFinish?: (() => any) | undefined;
157
165
  }, {
158
- readonly title: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
159
- readonly prefix: string;
160
- readonly suffix: string;
166
+ readonly value: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>;
161
167
  readonly format: string;
162
- readonly valueStyle: import("vue").StyleValue;
163
168
  }>> & Record<string, any>;
164
169
  export default ElStatistic;
@@ -12,7 +12,7 @@ var install = require('../../utils/vue/install.js');
12
12
  const ElStatistic = install.withInstall(statistic$1["default"]);
13
13
  const ElCountdown = install.withInstall(countdown$1["default"]);
14
14
 
15
- exports.regroup = statistic.regroup;
15
+ exports.groupFormat = statistic.groupFormat;
16
16
  exports.statisticProps = statistic.statisticProps;
17
17
  exports.countdownEmits = countdown.countdownEmits;
18
18
  exports.countdownProps = countdown.countdownProps;
@@ -1,22 +1,22 @@
1
- import dayjs from 'dayjs';
2
1
  import type { StyleValue } from 'vue';
2
+ import type { Dayjs } from 'dayjs';
3
3
  import type Countdown from './countdown.vue';
4
4
  export declare const countdownProps: {
5
5
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
6
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
7
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
8
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
9
- readonly value: {
10
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | dayjs.Dayjs) & {}) | (() => number | dayjs.Dayjs) | ((new (...args: any[]) => (number | dayjs.Dayjs) & {}) | (() => number | dayjs.Dayjs))[], unknown, unknown>>;
6
+ readonly prefix: StringConstructor;
7
+ readonly suffix: StringConstructor;
8
+ readonly title: StringConstructor;
9
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | Dayjs) & {}) | (() => number | Dayjs) | ((new (...args: any[]) => (number | Dayjs) & {}) | (() => number | Dayjs))[], unknown, unknown, 0, boolean>;
10
+ readonly valueStyle: {
11
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown>>;
11
12
  readonly required: false;
12
13
  readonly validator: ((val: unknown) => boolean) | undefined;
13
14
  __epPropKey: true;
14
15
  };
15
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown, () => {}, boolean>;
16
16
  };
17
17
  export declare const countdownEmits: {
18
18
  finish: () => boolean;
19
19
  change: (value: number) => boolean;
20
20
  };
21
- export declare const formatTimeStr: (format: any, time: number, futureTime: any) => string;
21
+ export declare const formatTimeStr: (format: string, time: number) => string;
22
22
  export declare type CountdownInstance = InstanceType<typeof Countdown>;
@@ -3,44 +3,33 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var lodashUnified = require('lodash-unified');
6
- var dayjs = require('dayjs');
7
6
  require('../../../utils/index.js');
7
+ require('../../../constants/index.js');
8
8
  var runtime = require('../../../utils/vue/props/runtime.js');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
9
+ var event = require('../../../constants/event.js');
10
+ var core = require('@vueuse/core');
13
11
 
14
12
  const countdownProps = runtime.buildProps({
15
13
  format: {
16
14
  type: String,
17
15
  default: "HH:mm:ss"
18
16
  },
19
- prefix: {
20
- type: String,
21
- default: ""
22
- },
23
- suffix: {
24
- type: String,
25
- default: null
26
- },
27
- title: {
28
- type: [String, Number],
29
- default: ""
30
- },
17
+ prefix: String,
18
+ suffix: String,
19
+ title: String,
31
20
  value: {
32
- type: runtime.definePropType([Number, Object])
21
+ type: runtime.definePropType([Number, Object]),
22
+ default: 0
33
23
  },
34
24
  valueStyle: {
35
- type: runtime.definePropType([String, Object]),
36
- default: () => ({})
25
+ type: runtime.definePropType([String, Object, Array])
37
26
  }
38
27
  });
39
28
  const countdownEmits = {
40
29
  finish: () => true,
41
- change: (value) => !!value
30
+ [event.CHANGE_EVENT]: (value) => core.isNumber(value)
42
31
  };
43
- const formatTimeStr = function(format, time, futureTime) {
32
+ const formatTimeStr = (format, time) => {
44
33
  const timeUnits = [
45
34
  ["Y", 1e3 * 60 * 60 * 24 * 365],
46
35
  ["M", 1e3 * 60 * 60 * 24 * 30],
@@ -50,19 +39,28 @@ const formatTimeStr = function(format, time, futureTime) {
50
39
  ["s", 1e3],
51
40
  ["S", 1]
52
41
  ];
53
- return lodashUnified.reduce(timeUnits, (con, item) => {
42
+ let pre = 0;
43
+ let preTick = 0;
44
+ let timeLeft = time;
45
+ return timeUnits.reduce((con, item) => {
54
46
  const name = item[0];
55
47
  return con.replace(new RegExp(`${name}+`, "g"), (match) => {
56
48
  let sum = 0;
57
- if (name == "M") {
58
- sum = Math.abs(dayjs__default["default"]().diff(dayjs__default["default"](futureTime), name));
59
- time -= Math.abs(dayjs__default["default"]().diff(dayjs__default["default"]().add(sum, "month").format(), "day") * timeUnits[2][1]);
49
+ if (!format.includes(name)) {
50
+ pre = Math.floor(timeLeft / item[1]);
51
+ timeLeft = timeLeft - pre * item[1];
52
+ preTick = item[1];
60
53
  } else {
61
- sum = lodashUnified.floor(lodashUnified.divide(time, item[1]));
62
- time -= lodashUnified.multiply(sum, item[1]);
54
+ pre = 0;
55
+ preTick = 0;
56
+ sum = Math.floor(timeLeft / item[1]);
57
+ timeLeft = timeLeft - sum * item[1];
58
+ if (pre > 0) {
59
+ sum = sum + pre * (preTick / item[1]);
60
+ pre = 0;
61
+ }
63
62
  }
64
- sum = lodashUnified.padStart(String(sum), String(match).length, "0");
65
- return sum;
63
+ return lodashUnified.padStart(String(sum), match.length, "0");
66
64
  });
67
65
  }, format);
68
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/statistic/src/countdown.ts"],"sourcesContent":["import { divide, floor, multiply, padStart, reduce } from 'lodash-unified'\nimport dayjs from 'dayjs'\nimport { buildProps, definePropType } from '@element-plus/utils'\nimport type { StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\nexport const countdownProps = buildProps({\n format: {\n type: String,\n default: 'HH:mm:ss',\n },\n prefix: {\n type: String,\n default: '',\n },\n suffix: {\n type: String,\n default: null,\n },\n title: {\n type: [String, Number],\n default: '',\n },\n value: {\n type: definePropType<number | Dayjs>([Number, Object]),\n },\n valueStyle: {\n type: definePropType<StyleValue>([String, Object]),\n default: () => ({}),\n },\n} as const)\n\nexport const countdownEmits = {\n finish: () => true,\n change: (value: number) => !!value,\n}\n\nexport const formatTimeStr = function (\n format: any,\n time: number,\n futureTime: any\n) {\n const timeUnits: any = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n ]\n return reduce(\n timeUnits,\n (con: string, item: any[]) => {\n const name = item[0]\n return con.replace(new RegExp(`${name}+`, 'g'), (match: any) => {\n let sum: any = 0\n if (name == 'M') {\n //Revision of month\n sum = Math.abs(dayjs().diff(dayjs(futureTime), name))\n time -= Math.abs(\n dayjs().diff(dayjs().add(sum, 'month').format(), 'day') *\n timeUnits[2][1]\n )\n } else {\n sum = floor(divide(time, item[1]))\n time -= multiply(sum, item[1])\n }\n sum = padStart(String(sum), String(match).length, '0') // autoCompletion\n return sum\n })\n },\n format\n )\n}\n\nexport type CountdownInstance = InstanceType<typeof Countdown>\n"],"names":["buildProps","definePropType","reduce","dayjs","floor","divide","multiply","padStart"],"mappings":"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"}
1
+ {"version":3,"file":"countdown.js","sources":["../../../../../../packages/components/statistic/src/countdown.ts"],"sourcesContent":["import { padStart } from 'lodash-unified'\nimport { buildProps, definePropType, isNumber } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport type { StyleValue } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type Countdown from './countdown.vue'\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)\n\nexport const countdownEmits = {\n finish: () => true,\n [CHANGE_EVENT]: (value: number) => isNumber(value),\n}\n\nexport const formatTimeStr = (format: string, time: number) => {\n const timeUnits: [string, number][] = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n ]\n // The unformatted value of the previous tick\n let pre = 0\n // previous tick\n let preTick = 0\n // time left\n let timeLeft = time\n return timeUnits.reduce((con: string, item: [string, number]) => {\n const name = item[0]\n return con.replace(new RegExp(`${name}+`, 'g'), (match) => {\n let sum = 0\n if (!format.includes(name)) {\n pre = Math.floor(timeLeft / item[1])\n timeLeft = timeLeft - pre * item[1]\n preTick = item[1]\n } else {\n pre = 0\n preTick = 0\n sum = Math.floor(timeLeft / item[1])\n timeLeft = timeLeft - sum * item[1]\n if (pre > 0) {\n sum = sum + pre * (preTick / item[1])\n pre = 0\n }\n }\n return padStart(String(sum), match.length, '0') // autoCompletion\n })\n }, format)\n}\n\nexport type CountdownInstance = InstanceType<typeof Countdown>\n"],"names":["buildProps","definePropType","CHANGE_EVENT","isNumber","padStart"],"mappings":"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"}
@@ -1,29 +1,29 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
2
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
3
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
4
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
5
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
6
- readonly value: {
7
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
3
+ readonly prefix: StringConstructor;
4
+ readonly suffix: StringConstructor;
5
+ readonly title: StringConstructor;
6
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
7
+ readonly valueStyle: {
8
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
8
9
  readonly required: false;
9
10
  readonly validator: ((val: unknown) => boolean) | undefined;
10
11
  __epPropKey: true;
11
12
  };
12
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
13
13
  }, {
14
14
  REFRESH_INTERVAL: number;
15
15
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
16
16
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
17
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
18
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
19
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
20
- readonly value: {
21
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
17
+ readonly prefix: StringConstructor;
18
+ readonly suffix: StringConstructor;
19
+ readonly title: StringConstructor;
20
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
21
+ readonly valueStyle: {
22
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
22
23
  readonly required: false;
23
24
  readonly validator: ((val: unknown) => boolean) | undefined;
24
25
  __epPropKey: true;
25
26
  };
26
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
27
27
  }>> & {
28
28
  onChange?: ((value: number) => any) | undefined;
29
29
  onFinish?: (() => any) | undefined;
@@ -47,7 +47,7 @@ declare const _default: import("vue").DefineComponent<{
47
47
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
48
48
  cssVarBlockName: (name: string) => string;
49
49
  };
50
- disposeValue: import("vue").Ref<string>;
50
+ displayValue: import("vue").Ref<string>;
51
51
  timer: number | undefined;
52
52
  getTime: (val: number) => number;
53
53
  stopTimer: () => void;
@@ -57,24 +57,21 @@ declare const _default: import("vue").DefineComponent<{
57
57
  change: (value: number) => boolean;
58
58
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
59
59
  readonly format: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "HH:mm:ss", boolean>;
60
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
61
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
62
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
63
- readonly value: {
64
- readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>>;
60
+ readonly prefix: StringConstructor;
61
+ readonly suffix: StringConstructor;
62
+ readonly title: StringConstructor;
63
+ readonly value: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown, 0, boolean>;
64
+ readonly valueStyle: {
65
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown>>;
65
66
  readonly required: false;
66
67
  readonly validator: ((val: unknown) => boolean) | undefined;
67
68
  __epPropKey: true;
68
69
  };
69
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, () => {}, boolean>;
70
70
  }>> & {
71
71
  onChange?: ((value: number) => any) | undefined;
72
72
  onFinish?: (() => any) | undefined;
73
73
  }, {
74
- readonly title: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
75
- readonly prefix: string;
76
- readonly suffix: string;
74
+ readonly value: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs) | ((new (...args: any[]) => (number | import("dayjs").Dayjs) & {}) | (() => number | import("dayjs").Dayjs))[], unknown, unknown>;
77
75
  readonly format: string;
78
- readonly valueStyle: import("vue").StyleValue;
79
76
  }>;
80
77
  export default _default;
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var lodashUnified = require('lodash-unified');
7
6
  require('../../../hooks/index.js');
8
7
  require('../../../utils/index.js');
9
8
  var countdown = require('./countdown.js');
@@ -21,11 +20,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
20
  emits: countdown.countdownEmits,
22
21
  setup(__props, { expose, emit }) {
23
22
  const props = __props;
24
- vue.onBeforeUnmount(() => {
25
- stopTimer();
26
- });
27
23
  const ns = index.useNamespace("statistic");
28
- const disposeValue = vue.ref("");
24
+ const displayValue = vue.ref("");
29
25
  let timer;
30
26
  const getTime = (val) => {
31
27
  return new Date(val).getTime();
@@ -38,19 +34,17 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
38
34
  };
39
35
  const startTimer = () => {
40
36
  const { value, format } = props;
41
- if (lodashUnified.isNil(value)) {
42
- disposeValue.value = "";
43
- return;
44
- }
45
37
  const timestamp = getTime(core.isNumber(value) ? value : value.valueOf());
38
+ displayValue.value = countdown.formatTimeStr(format, timestamp - Date.now());
46
39
  timer = setInterval(() => {
47
- const diff = timestamp - Date.now();
40
+ let diff = timestamp - Date.now();
48
41
  emit("change", diff);
49
- if (diff < 0) {
42
+ if (diff <= 0) {
43
+ diff = 0;
50
44
  stopTimer();
51
45
  emit("finish");
52
46
  }
53
- disposeValue.value = countdown.formatTimeStr(format, diff, value);
47
+ displayValue.value = countdown.formatTimeStr(format, diff);
54
48
  }, REFRESH_INTERVAL);
55
49
  };
56
50
  vue.watch(() => [props.value, props.format], () => {
@@ -59,8 +53,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
59
53
  }, {
60
54
  immediate: true
61
55
  });
56
+ vue.onBeforeUnmount(() => {
57
+ stopTimer();
58
+ });
62
59
  expose({
63
- disposeValue
60
+ displayValue
64
61
  });
65
62
  return (_ctx, _cache) => {
66
63
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -90,17 +87,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
90
87
  vue.createTextVNode(vue.toDisplayString(_ctx.prefix), 1)
91
88
  ])
92
89
  ], 2)) : vue.createCommentVNode("v-if", true),
93
- _ctx.value ? (vue.openBlock(), vue.createElementBlock("span", {
94
- key: 1,
90
+ vue.createElementVNode("span", {
95
91
  class: vue.normalizeClass(vue.unref(ns).e("number")),
96
92
  style: vue.normalizeStyle(_ctx.valueStyle)
97
- }, [
98
- vue.renderSlot(_ctx.$slots, "formatter", {}, () => [
99
- vue.createTextVNode(vue.toDisplayString(disposeValue.value), 1)
100
- ])
101
- ], 6)) : vue.createCommentVNode("v-if", true),
93
+ }, vue.toDisplayString(displayValue.value), 7),
102
94
  !!_ctx.$slots.title || _ctx.suffix ? (vue.openBlock(), vue.createElementBlock("span", {
103
- key: 2,
95
+ key: 1,
104
96
  class: vue.normalizeClass(vue.unref(ns).e("suffix"))
105
97
  }, [
106
98
  vue.renderSlot(_ctx.$slots, "suffix", {}, () => [
@@ -1 +1 @@
1
- {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/statistic/src/countdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"!!$slots.title || title\" ref=\"title\" :class=\"ns.e('head')\">\n <span :class=\"ns.e('title')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </span>\n </div>\n <div :class=\"ns.e('content')\">\n <span v-if=\"!!$slots.title || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n {{ prefix }}\n </slot>\n </span>\n <span v-if=\"value\" :class=\"ns.e('number')\" :style=\"valueStyle\">\n <slot name=\"formatter\"> {{ disposeValue }}</slot>\n </span>\n <span v-if=\"!!$slots.title || suffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\">\n {{ suffix }}\n </slot>\n </span>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount, ref, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber } from '@element-plus/utils'\nimport { countdownEmits, countdownProps, formatTimeStr } from './countdown'\n\nconst REFRESH_INTERVAL = 1000 / 30\n\ndefineOptions({\n name: 'ElCountdown',\n})\nonBeforeUnmount(() => {\n stopTimer()\n})\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\nconst ns = useNamespace('statistic')\nconst disposeValue = ref('')\nlet timer: ReturnType<typeof setInterval> | undefined\n\nconst getTime = (val: number) => {\n return new Date(val).getTime()\n}\n\nconst stopTimer = () => {\n if (timer) {\n clearInterval(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const { value, format } = props\n if (isNil(value)) {\n disposeValue.value = ''\n return\n }\n const timestamp = getTime(isNumber(value) ? value : value.valueOf())\n timer = setInterval(() => {\n const diff = timestamp - Date.now()\n emit('change', diff)\n if (diff < 0) {\n stopTimer()\n emit('finish')\n }\n disposeValue.value = formatTimeStr(format, diff, value)\n }, REFRESH_INTERVAL)\n}\n\nwatch(\n () => [props.value, props.format],\n () => {\n stopTimer()\n startTimer()\n },\n {\n immediate: true,\n }\n)\n\ndefineExpose({\n disposeValue,\n})\n</script>\n"],"names":["onBeforeUnmount","useNamespace","ref","isNil","isNumber","formatTimeStr","watch"],"mappings":";;;;;;;;;;;;;;uCAmCc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR;;;;;;;AACA,IAAAA,mBAAA,CAAgB,MAAM;AACpB,MAAU,SAAA,EAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAGD,IAAM,MAAA,EAAA,GAAKC,mBAAa,WAAW,CAAA,CAAA;AACnC,IAAM,MAAA,YAAA,GAAeC,QAAI,EAAE,CAAA,CAAA;AAC3B,IAAI,IAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,OAAA,GAAU,CAAC,GAAgB,KAAA;AAC/B,MAAA,OAAO,IAAI,IAAA,CAAK,GAAG,CAAA,CAAE,OAAQ,EAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACnB,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,EAAE,OAAO,MAAW,EAAA,GAAA,KAAA,CAAA;AAC1B,MAAI,IAAAC,mBAAA,CAAM,KAAK,CAAG,EAAA;AAChB,QAAA,YAAA,CAAa,KAAQ,GAAA,EAAA,CAAA;AACrB,QAAA,OAAA;AAAA,OACF;AACA,MAAM,MAAA,SAAA,GAAY,QAAQC,aAAS,CAAA,KAAK,IAAI,KAAQ,GAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AACnE,MAAA,KAAA,GAAQ,YAAY,MAAM;AACxB,QAAM,MAAA,IAAA,GAAO,SAAY,GAAA,IAAA,CAAK,GAAI,EAAA,CAAA;AAClC,QAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AACnB,QAAA,IAAI,OAAO,CAAG,EAAA;AACZ,UAAU,SAAA,EAAA,CAAA;AACV,UAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,SACf;AACA,QAAA,YAAA,CAAa,KAAQ,GAAAC,uBAAA,CAAc,MAAQ,EAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,SACrD,gBAAgB,CAAA,CAAA;AAAA,KACrB,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,IAAa,MAAA,CAAA;AAAA,MACX,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"countdown2.js","sources":["../../../../../../packages/components/statistic/src/countdown.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"!!$slots.title || title\" ref=\"title\" :class=\"ns.e('head')\">\n <span :class=\"ns.e('title')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </span>\n </div>\n <div :class=\"ns.e('content')\">\n <span v-if=\"!!$slots.title || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n {{ prefix }}\n </slot>\n </span>\n <span :class=\"ns.e('number')\" :style=\"valueStyle\">\n {{ displayValue }}\n </span>\n <span v-if=\"!!$slots.title || suffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\">\n {{ suffix }}\n </slot>\n </span>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount, ref, watch } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isNumber } from '@element-plus/utils'\nimport { countdownEmits, countdownProps, formatTimeStr } from './countdown'\n\nconst REFRESH_INTERVAL = 1000 / 30\n\ndefineOptions({\n name: 'ElCountdown',\n})\n\nconst props = defineProps(countdownProps)\nconst emit = defineEmits(countdownEmits)\nconst ns = useNamespace('statistic')\nconst displayValue = ref('')\nlet timer: ReturnType<typeof setInterval> | undefined\n\nconst getTime = (val: number) => {\n return new Date(val).getTime()\n}\n\nconst stopTimer = () => {\n if (timer) {\n clearInterval(timer)\n timer = undefined\n }\n}\n\nconst startTimer = () => {\n const { value, format } = props\n const timestamp = getTime(isNumber(value) ? value : value.valueOf())\n displayValue.value = formatTimeStr(format, timestamp - Date.now())\n timer = setInterval(() => {\n let diff = timestamp - Date.now()\n emit('change', diff)\n if (diff <= 0) {\n diff = 0\n stopTimer()\n emit('finish')\n }\n displayValue.value = formatTimeStr(format, diff)\n }, REFRESH_INTERVAL)\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":["useNamespace","ref","isNumber","formatTimeStr","watch","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;uCAkCc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR;;;;;;;AAIA,IAAM,MAAA,EAAA,GAAKA,mBAAa,WAAW,CAAA,CAAA;AACnC,IAAM,MAAA,YAAA,GAAeC,QAAI,EAAE,CAAA,CAAA;AAC3B,IAAI,IAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,OAAA,GAAU,CAAC,GAAgB,KAAA;AAC/B,MAAA,OAAO,IAAI,IAAA,CAAK,GAAG,CAAA,CAAE,OAAQ,EAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACnB,QAAQ,KAAA,GAAA,KAAA,CAAA,CAAA;AAAA,OACV;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAM,MAAA,EAAE,OAAO,MAAW,EAAA,GAAA,KAAA,CAAA;AAC1B,MAAM,MAAA,SAAA,GAAY,QAAQC,aAAS,CAAA,KAAK,IAAI,KAAQ,GAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AACnE,MAAA,YAAA,CAAa,QAAQC,uBAAc,CAAA,MAAA,EAAQ,SAAY,GAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACjE,MAAA,KAAA,GAAQ,YAAY,MAAM;AACxB,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,SACf;AACA,QAAa,YAAA,CAAA,KAAA,GAAQA,uBAAc,CAAA,MAAA,EAAQ,IAAI,CAAA,CAAA;AAAA,SAC9C,gBAAgB,CAAA,CAAA;AAAA,KACrB,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,19 +3,23 @@ import type Statistic from './statistic.vue';
3
3
  export declare const statisticProps: {
4
4
  readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
5
5
  readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
6
- readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, null, boolean>;
6
+ readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
7
7
  readonly formatter: {
8
8
  readonly type: import("vue").PropType<(val: string | number) => string | number>;
9
9
  readonly required: false;
10
10
  readonly validator: ((val: unknown) => boolean) | undefined;
11
11
  __epPropKey: true;
12
12
  };
13
- readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, null, boolean>;
14
- readonly prefix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
15
- readonly suffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
16
- readonly title: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
17
- readonly valueStyle: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown, () => {}, boolean>;
18
- readonly rate: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 3, boolean>;
13
+ readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
14
+ readonly prefix: StringConstructor;
15
+ readonly suffix: StringConstructor;
16
+ readonly title: StringConstructor;
17
+ readonly valueStyle: {
18
+ readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => StyleValue & {}) | (() => StyleValue) | ((new (...args: any[]) => StyleValue & {}) | (() => StyleValue))[], unknown, unknown>>;
19
+ readonly required: false;
20
+ readonly validator: ((val: unknown) => boolean) | undefined;
21
+ __epPropKey: true;
22
+ };
19
23
  };
20
- export declare const regroup: (target: any, _mulriple?: number, _groupSeparator?: string) => string;
24
+ export declare const groupFormat: (target: string, step?: number, groupSeparator?: string) => string;
21
25
  export declare type StatisticInstance = InstanceType<typeof Statistic>;