@element-plus/nightly 0.0.20221207 → 0.0.20221209
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.
- package/attributes.json +1 -1
- package/dist/index.full.js +93 -101
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +13 -13
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +93 -101
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/checkbox/index.d.ts +24 -20
- package/es/components/checkbox/src/checkbox-button.mjs +10 -7
- package/es/components/checkbox/src/checkbox-button.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
- package/es/components/checkbox/src/checkbox-group.d.ts +3 -2
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
- package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.d.ts +42 -0
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.vue.d.ts +2 -0
- package/es/components/checkbox/src/checkbox2.mjs +21 -15
- package/es/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/components/color-picker/index.d.ts +1 -0
- package/es/components/color-picker/src/color-picker.mjs.map +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +1 -0
- package/es/components/color-picker/src/color-picker2.mjs +8 -5
- package/es/components/color-picker/src/color-picker2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/statistic/index.d.ts +55 -50
- package/es/components/statistic/index.mjs +1 -1
- package/es/components/statistic/src/countdown.d.ts +8 -8
- package/es/components/statistic/src/countdown.mjs +29 -27
- package/es/components/statistic/src/countdown.mjs.map +1 -1
- package/es/components/statistic/src/countdown.vue.d.ts +20 -23
- package/es/components/statistic/src/countdown2.mjs +14 -22
- package/es/components/statistic/src/countdown2.mjs.map +1 -1
- package/es/components/statistic/src/statistic.d.ts +12 -8
- package/es/components/statistic/src/statistic.mjs +10 -24
- package/es/components/statistic/src/statistic.mjs.map +1 -1
- package/es/components/statistic/src/statistic.vue.d.ts +35 -27
- package/es/components/statistic/src/statistic2.mjs +6 -5
- package/es/components/statistic/src/statistic2.mjs.map +1 -1
- package/es/components/transfer/index.d.ts +115 -100
- package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -20
- package/es/components/transfer/src/transfer.vue.d.ts +115 -100
- package/es/components/tree-v2/index.d.ts +13 -10
- package/es/components/tree-v2/src/tree-node.vue.d.ts +13 -10
- package/es/components/tree-v2/src/tree.vue.d.ts +13 -10
- package/es/index.mjs +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/checkbox/index.d.ts +24 -20
- package/lib/components/checkbox/src/checkbox-button.js +10 -7
- package/lib/components/checkbox/src/checkbox-button.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +1 -0
- package/lib/components/checkbox/src/checkbox-group.d.ts +3 -2
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +14 -14
- package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.d.ts +42 -0
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/checkbox/src/checkbox.vue.d.ts +2 -0
- package/lib/components/checkbox/src/checkbox2.js +20 -14
- package/lib/components/checkbox/src/checkbox2.js.map +1 -1
- package/lib/components/color-picker/index.d.ts +1 -0
- package/lib/components/color-picker/src/color-picker.js.map +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +1 -0
- package/lib/components/color-picker/src/color-picker2.js +8 -5
- package/lib/components/color-picker/src/color-picker2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/statistic/index.d.ts +55 -50
- package/lib/components/statistic/index.js +1 -1
- package/lib/components/statistic/src/countdown.d.ts +8 -8
- package/lib/components/statistic/src/countdown.js +28 -30
- package/lib/components/statistic/src/countdown.js.map +1 -1
- package/lib/components/statistic/src/countdown.vue.d.ts +20 -23
- package/lib/components/statistic/src/countdown2.js +13 -21
- package/lib/components/statistic/src/countdown2.js.map +1 -1
- package/lib/components/statistic/src/statistic.d.ts +12 -8
- package/lib/components/statistic/src/statistic.js +10 -24
- package/lib/components/statistic/src/statistic.js.map +1 -1
- package/lib/components/statistic/src/statistic.vue.d.ts +35 -27
- package/lib/components/statistic/src/statistic2.js +5 -4
- package/lib/components/statistic/src/statistic2.js.map +1 -1
- package/lib/components/transfer/index.d.ts +115 -100
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -20
- package/lib/components/transfer/src/transfer.vue.d.ts +115 -100
- package/lib/components/tree-v2/index.d.ts +13 -10
- package/lib/components/tree-v2/src/tree-node.vue.d.ts +13 -10
- package/lib/components/tree-v2/src/tree.vue.d.ts +13 -10
- package/lib/index.js +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/web-types.json +1 -1
|
@@ -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
|
-
|
|
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
|
-
|
|
21
|
-
|
|
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
|
-
|
|
30
|
+
[event.CHANGE_EVENT]: (value) => core.isNumber(value)
|
|
42
31
|
};
|
|
43
|
-
const formatTimeStr =
|
|
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
|
-
|
|
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
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
62
|
-
|
|
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
|
-
|
|
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 {
|
|
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":";;;;;;;;;;;AAGY,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,aAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE;AACU,MAAC,aAAa,GAAG,CAAC,MAAM,EAAE,IAAI,KAAK;AAC/C,EAAE,MAAM,SAAS,GAAG;AACpB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AACnC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAClC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;AACxB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;AACnB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;AACd,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACZ,GAAG,CAAC;AACJ,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,OAAO,GAAG,CAAC,CAAC;AAClB,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC;AACtB,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK;AACzC,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;AAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;AAClB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClC,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAQ,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAQ,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1B,OAAO,MAAM;AACb,QAAQ,GAAG,GAAG,CAAC,CAAC;AAChB,QAAQ,OAAO,GAAG,CAAC,CAAC;AACpB,QAAQ,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,QAAQ,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5C,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE;AACrB,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,UAAU,GAAG,GAAG,CAAC,CAAC;AAClB,SAAS;AACT,OAAO;AACP,MAAM,OAAOC,sBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtD,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,MAAM,CAAC,CAAC;AACb;;;;;;"}
|
|
@@ -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:
|
|
4
|
-
readonly suffix:
|
|
5
|
-
readonly title:
|
|
6
|
-
readonly value: {
|
|
7
|
-
|
|
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:
|
|
18
|
-
readonly suffix:
|
|
19
|
-
readonly title:
|
|
20
|
-
readonly value: {
|
|
21
|
-
|
|
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
|
-
|
|
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:
|
|
61
|
-
readonly suffix:
|
|
62
|
-
readonly title:
|
|
63
|
-
readonly value: {
|
|
64
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
40
|
+
let diff = timestamp - Date.now();
|
|
48
41
|
emit("change", diff);
|
|
49
|
-
if (diff
|
|
42
|
+
if (diff <= 0) {
|
|
43
|
+
diff = 0;
|
|
50
44
|
stopTimer();
|
|
51
45
|
emit("finish");
|
|
52
46
|
}
|
|
53
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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,
|
|
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,
|
|
14
|
-
readonly prefix:
|
|
15
|
-
readonly suffix:
|
|
16
|
-
readonly title:
|
|
17
|
-
readonly valueStyle:
|
|
18
|
-
|
|
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
|
|
24
|
+
export declare const groupFormat: (target: string, step?: number, groupSeparator?: string) => string;
|
|
21
25
|
export declare type StatisticInstance = InstanceType<typeof Statistic>;
|
|
@@ -16,41 +16,27 @@ const statisticProps = runtime.buildProps({
|
|
|
16
16
|
},
|
|
17
17
|
precision: {
|
|
18
18
|
type: Number,
|
|
19
|
-
default:
|
|
19
|
+
default: 0
|
|
20
20
|
},
|
|
21
21
|
formatter: {
|
|
22
22
|
type: runtime.definePropType(Function)
|
|
23
23
|
},
|
|
24
24
|
value: {
|
|
25
25
|
type: [String, Number],
|
|
26
|
-
default:
|
|
27
|
-
},
|
|
28
|
-
prefix: {
|
|
29
|
-
type: String,
|
|
30
|
-
default: ""
|
|
31
|
-
},
|
|
32
|
-
suffix: {
|
|
33
|
-
type: String,
|
|
34
|
-
default: null
|
|
35
|
-
},
|
|
36
|
-
title: {
|
|
37
|
-
type: [String, Number],
|
|
38
|
-
default: ""
|
|
26
|
+
default: 0
|
|
39
27
|
},
|
|
28
|
+
prefix: String,
|
|
29
|
+
suffix: String,
|
|
30
|
+
title: String,
|
|
40
31
|
valueStyle: {
|
|
41
|
-
type: runtime.definePropType([String, Object])
|
|
42
|
-
default: () => ({})
|
|
43
|
-
},
|
|
44
|
-
rate: {
|
|
45
|
-
type: Number,
|
|
46
|
-
default: 3
|
|
32
|
+
type: runtime.definePropType([String, Object, Array])
|
|
47
33
|
}
|
|
48
34
|
});
|
|
49
|
-
const
|
|
50
|
-
const reg = new RegExp(`\\B(?=(\\d{${
|
|
51
|
-
return
|
|
35
|
+
const groupFormat = function(target, step = 3, groupSeparator = ",") {
|
|
36
|
+
const reg = new RegExp(`\\B(?=(\\d{${step}})+(?!\\d))`, "g");
|
|
37
|
+
return target.replace(reg, groupSeparator);
|
|
52
38
|
};
|
|
53
39
|
|
|
54
|
-
exports.
|
|
40
|
+
exports.groupFormat = groupFormat;
|
|
55
41
|
exports.statisticProps = statisticProps;
|
|
56
42
|
//# sourceMappingURL=statistic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistic.js","sources":["../../../../../../packages/components/statistic/src/statistic.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { StyleValue } from 'vue'\nimport type Statistic from './statistic.vue'\nexport const statisticProps = buildProps({\n decimalSeparator: {\n type: String,\n default: '.',\n },\n groupSeparator: {\n type: String,\n default: ',',\n },\n precision: {\n type: Number,\n default:
|
|
1
|
+
{"version":3,"file":"statistic.js","sources":["../../../../../../packages/components/statistic/src/statistic.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport type { StyleValue } from 'vue'\nimport type Statistic from './statistic.vue'\nexport const statisticProps = buildProps({\n /**\n * @description Setting the decimal point\n */\n decimalSeparator: {\n type: String,\n default: '.',\n },\n /**\n * @description Sets the thousandth identifier\n */\n groupSeparator: {\n type: String,\n default: ',',\n },\n /**\n * @description numerical precision\n */\n precision: {\n type: Number,\n default: 0,\n },\n /**\n * @description Custom numerical presentation\n */\n formatter: {\n type: definePropType<(val: string | number) => string | number>(Function),\n },\n /**\n * @description Numerical content\n */\n value: {\n type: [String, Number],\n default: 0,\n },\n /**\n * @description Sets the prefix of a number\n */\n prefix: String,\n\n /**\n * @description Sets the suffix of a number\n */\n suffix: String,\n /**\n * @description Numeric titles\n */\n title: String,\n /**\n * @description Styles numeric values\n */\n valueStyle: {\n type: definePropType<StyleValue>([String, Object, Array]),\n },\n // rate: {\n // type: Number,\n // default: 3,\n // },\n} as const)\nexport const groupFormat = function (\n target: string,\n step = 3,\n groupSeparator = ','\n): string {\n const reg = new RegExp(`\\\\B(?=(\\\\d{${step}})+(?!\\\\d))`, 'g')\n return target.replace(reg, groupSeparator)\n}\nexport type StatisticInstance = InstanceType<typeof Statistic>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;;AACY,MAAC,cAAc,GAAGA,kBAAU,CAAC;AACzC,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAEC,sBAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,MAAM,EAAE,MAAM;AAChB,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAEA,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,GAAG;AACH,CAAC,EAAE;AACS,MAAC,WAAW,GAAG,SAAS,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,cAAc,GAAG,GAAG,EAAE;AAC5E,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/D,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;AAC7C;;;;;"}
|
|
@@ -1,36 +1,45 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{
|
|
2
2
|
readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
|
|
3
3
|
readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
|
|
4
|
-
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown,
|
|
4
|
+
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
5
5
|
readonly formatter: {
|
|
6
6
|
readonly type: import("vue").PropType<(val: string | number) => string | number>;
|
|
7
7
|
readonly required: false;
|
|
8
8
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
9
9
|
__epPropKey: true;
|
|
10
10
|
};
|
|
11
|
-
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown,
|
|
12
|
-
readonly prefix:
|
|
13
|
-
readonly suffix:
|
|
14
|
-
readonly title:
|
|
15
|
-
readonly valueStyle:
|
|
16
|
-
|
|
11
|
+
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
|
|
12
|
+
readonly prefix: StringConstructor;
|
|
13
|
+
readonly suffix: StringConstructor;
|
|
14
|
+
readonly title: StringConstructor;
|
|
15
|
+
readonly valueStyle: {
|
|
16
|
+
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>>;
|
|
17
|
+
readonly required: false;
|
|
18
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
19
|
+
__epPropKey: true;
|
|
20
|
+
};
|
|
17
21
|
}, {
|
|
22
|
+
THOUSANDTH: number;
|
|
18
23
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
19
24
|
readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
|
|
20
25
|
readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
|
|
21
|
-
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown,
|
|
26
|
+
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
22
27
|
readonly formatter: {
|
|
23
28
|
readonly type: import("vue").PropType<(val: string | number) => string | number>;
|
|
24
29
|
readonly required: false;
|
|
25
30
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
26
31
|
__epPropKey: true;
|
|
27
32
|
};
|
|
28
|
-
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown,
|
|
29
|
-
readonly prefix:
|
|
30
|
-
readonly suffix:
|
|
31
|
-
readonly title:
|
|
32
|
-
readonly valueStyle:
|
|
33
|
-
|
|
33
|
+
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
|
|
34
|
+
readonly prefix: StringConstructor;
|
|
35
|
+
readonly suffix: StringConstructor;
|
|
36
|
+
readonly title: StringConstructor;
|
|
37
|
+
readonly valueStyle: {
|
|
38
|
+
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>>;
|
|
39
|
+
readonly required: false;
|
|
40
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
41
|
+
__epPropKey: true;
|
|
42
|
+
};
|
|
34
43
|
}>> & {
|
|
35
44
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
36
45
|
}>>;
|
|
@@ -52,32 +61,31 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
52
61
|
cssVarBlock: (object: Record<string, string>) => Record<string, string>;
|
|
53
62
|
cssVarBlockName: (name: string) => string;
|
|
54
63
|
};
|
|
55
|
-
|
|
64
|
+
displayValue: import("vue").ComputedRef<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
|
|
56
65
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
57
66
|
readonly decimalSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ".", boolean>;
|
|
58
67
|
readonly groupSeparator: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, ",", boolean>;
|
|
59
|
-
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown,
|
|
68
|
+
readonly precision: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
|
|
60
69
|
readonly formatter: {
|
|
61
70
|
readonly type: import("vue").PropType<(val: string | number) => string | number>;
|
|
62
71
|
readonly required: false;
|
|
63
72
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
64
73
|
__epPropKey: true;
|
|
65
74
|
};
|
|
66
|
-
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown,
|
|
67
|
-
readonly prefix:
|
|
68
|
-
readonly suffix:
|
|
69
|
-
readonly title:
|
|
70
|
-
readonly valueStyle:
|
|
71
|
-
|
|
75
|
+
readonly value: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 0, boolean>;
|
|
76
|
+
readonly prefix: StringConstructor;
|
|
77
|
+
readonly suffix: StringConstructor;
|
|
78
|
+
readonly title: StringConstructor;
|
|
79
|
+
readonly valueStyle: {
|
|
80
|
+
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>>;
|
|
81
|
+
readonly required: false;
|
|
82
|
+
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
83
|
+
__epPropKey: true;
|
|
84
|
+
};
|
|
72
85
|
}>>, {
|
|
73
|
-
readonly title: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
74
86
|
readonly value: import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
75
|
-
readonly prefix: string;
|
|
76
|
-
readonly suffix: string;
|
|
77
87
|
readonly precision: number;
|
|
78
88
|
readonly decimalSeparator: string;
|
|
79
89
|
readonly groupSeparator: string;
|
|
80
|
-
readonly valueStyle: import("vue").StyleValue;
|
|
81
|
-
readonly rate: number;
|
|
82
90
|
}>;
|
|
83
91
|
export default _default;
|
|
@@ -11,6 +11,7 @@ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper
|
|
|
11
11
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
12
12
|
var shared = require('@vue/shared');
|
|
13
13
|
|
|
14
|
+
const THOUSANDTH = 3;
|
|
14
15
|
const __default__ = vue.defineComponent({
|
|
15
16
|
name: "ElStatistic"
|
|
16
17
|
});
|
|
@@ -20,7 +21,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
20
21
|
setup(__props, { expose }) {
|
|
21
22
|
const props = __props;
|
|
22
23
|
const ns = index.useNamespace("statistic");
|
|
23
|
-
const
|
|
24
|
+
const displayValue = vue.computed(() => {
|
|
24
25
|
if (shared.isFunction(props.formatter)) {
|
|
25
26
|
return props.formatter(props.value);
|
|
26
27
|
} else if (lodashUnified.isNil(props.value) || !/^(-|\+)?\d+(\.\d+)?$/.test(`${props.value}`)) {
|
|
@@ -31,12 +32,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
31
32
|
decimal = `${decimal || ""}${1 .toFixed(props.precision).replace(".", "").slice(1)}`;
|
|
32
33
|
decimal = decimal.slice(0, props.precision);
|
|
33
34
|
}
|
|
34
|
-
integer = statistic.
|
|
35
|
+
integer = statistic.groupFormat(integer, THOUSANDTH, props.groupSeparator);
|
|
35
36
|
return [integer, decimal].join(decimal ? props.decimalSeparator || "." : "");
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
expose({
|
|
39
|
-
|
|
40
|
+
displayValue
|
|
40
41
|
});
|
|
41
42
|
return (_ctx, _cache) => {
|
|
42
43
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -65,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
65
66
|
vue.createElementVNode("span", {
|
|
66
67
|
class: vue.normalizeClass(vue.unref(ns).e("number")),
|
|
67
68
|
style: vue.normalizeStyle(_ctx.valueStyle)
|
|
68
|
-
}, vue.toDisplayString(vue.unref(
|
|
69
|
+
}, vue.toDisplayString(vue.unref(displayValue)), 7),
|
|
69
70
|
_ctx.$slots.suffix || _ctx.suffix ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
70
71
|
key: 1,
|
|
71
72
|
class: vue.normalizeClass(vue.unref(ns).e("suffix"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statistic2.js","sources":["../../../../../../packages/components/statistic/src/statistic.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"$slots.title || title\" ref=\"title\" :class=\"ns.e('head')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div :class=\"ns.e('content')\">\n <div v-if=\"$slots.prefix || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n <span>{{ prefix }}</span>\n </slot>\n </div>\n <span :class=\"ns.e('number')\" :style=\"valueStyle\">\n {{
|
|
1
|
+
{"version":3,"file":"statistic2.js","sources":["../../../../../../packages/components/statistic/src/statistic.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div v-if=\"$slots.title || title\" ref=\"title\" :class=\"ns.e('head')\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div :class=\"ns.e('content')\">\n <div v-if=\"$slots.prefix || prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\">\n <span>{{ prefix }}</span>\n </slot>\n </div>\n <span :class=\"ns.e('number')\" :style=\"valueStyle\">\n {{ displayValue }}\n </span>\n <div v-if=\"$slots.suffix || suffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\">\n <span>{{ suffix }}</span>\n </slot>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction } from '@element-plus/utils'\nimport { groupFormat, statisticProps } from './statistic'\n\ndefineOptions({\n name: 'ElStatistic',\n})\n\nconst THOUSANDTH = 3\n\nconst props = defineProps(statisticProps)\nconst ns = useNamespace('statistic')\n\nconst displayValue = computed(() => {\n if (isFunction(props.formatter)) {\n return props.formatter(props.value)\n } else if (\n isNil(props.value) ||\n !/^(-|\\+)?\\d+(\\.\\d+)?$/.test(`${props.value}`)\n ) {\n return props.value\n } else {\n let [integer, decimal] = `${props.value}`.split('.')\n if (!isNil(props.precision)) {\n decimal = `${decimal || ''}${(1)\n .toFixed(props.precision)\n .replace('.', '')\n .slice(1)}`\n decimal = decimal.slice(0, props.precision)\n }\n integer = groupFormat(integer, THOUSANDTH, props.groupSeparator)\n return [integer, decimal].join(decimal ? props.decimalSeparator || '.' : '')\n }\n})\n\ndefineExpose({\n /**\n * @description Current display value\n */\n displayValue,\n})\n</script>\n"],"names":["useNamespace","computed","isFunction","isNil","groupFormat"],"mappings":";;;;;;;;;;;;;;uCA+Bc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR;;;;;;AAKA,IAAM,MAAA,EAAA,GAAKA,mBAAa,WAAW,CAAA,CAAA;AAEnC,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAClC,MAAI,IAAAC,iBAAA,CAAW,KAAM,CAAA,SAAS,CAAG,EAAA;AAC/B,QAAO,OAAA,KAAA,CAAM,SAAU,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,OACpC,MAAA,IACEC,mBAAM,CAAA,KAAA,CAAM,KAAK,CAAA,IACjB,CAAC,sBAAA,CAAuB,IAAK,CAAA,CAAA,EAAG,KAAM,CAAA,KAAA,CAAA,CAAO,CAC7C,EAAA;AACA,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACR,MAAA;AACL,QAAA,IAAI,CAAC,OAAS,EAAA,OAAA,CAAA,GAAW,GAAG,KAAM,CAAA,KAAA,CAAA,CAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AACnD,QAAA,IAAI,CAACA,mBAAA,CAAM,KAAM,CAAA,SAAS,CAAG,EAAA;AAC3B,UAAA,OAAA,GAAU,CAAG,EAAA,OAAA,IAAW,EAAM,CAAA,EAAA,CAAA,EAC3B,OAAQ,CAAA,KAAA,CAAM,SAAS,CAAA,CACvB,OAAQ,CAAA,GAAA,EAAK,EAAE,CAAA,CACf,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA;AACV,UAAA,OAAA,GAAU,OAAQ,CAAA,KAAA,CAAM,CAAG,EAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,SAC5C;AACA,QAAA,OAAA,GAAUC,qBAAY,CAAA,OAAA,EAAS,UAAY,EAAA,KAAA,CAAM,cAAc,CAAA,CAAA;AAC/D,QAAO,OAAA,CAAC,SAAS,OAAO,CAAA,CAAE,KAAK,OAAU,GAAA,KAAA,CAAM,gBAAoB,IAAA,GAAA,GAAM,EAAE,CAAA,CAAA;AAAA,OAC7E;AAAA,KACD,CAAA,CAAA;AAED,IAAa,MAAA,CAAA;AAAA,MAIX,YAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|