element-ps 2.0.22 → 2.0.23
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/es/components/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +82 -19
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix2.mjs +19 -82
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +33 -83
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +83 -33
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb-item.mjs +11 -46
- package/es/components/breadcrumb/src/breadcrumb-item.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs +46 -11
- package/es/components/breadcrumb/src/breadcrumb-item2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +48 -96
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +96 -48
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/check-tag/index.mjs +2 -2
- package/es/components/check-tag/src/check-tag.mjs +20 -7
- package/es/components/check-tag/src/check-tag.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs +7 -20
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/collapse/index.mjs +2 -2
- package/es/components/collapse/src/collapse.mjs +14 -61
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse2.mjs +61 -14
- package/es/components/collapse/src/collapse2.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content.mjs +79 -34
- package/es/components/dialog/src/dialog-content.mjs.map +1 -1
- package/es/components/dialog/src/dialog-content2.mjs +34 -79
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.mjs +1 -1
- package/es/components/dialog/src/dialog2.mjs +1 -1
- package/es/components/drawer/index.mjs +2 -2
- package/es/components/drawer/src/drawer.mjs +117 -23
- package/es/components/drawer/src/drawer.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +23 -117
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/form/index.mjs +2 -2
- package/es/components/form/src/form-item.mjs +46 -177
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs +177 -46
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +8 -35
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs +35 -8
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/index.mjs +25 -25
- package/es/components/input/index.mjs +2 -2
- package/es/components/input/src/input.mjs +296 -85
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input2.mjs +85 -296
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.mjs +2 -2
- package/es/components/input-number/src/input-number.mjs +171 -46
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +46 -171
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +19 -43
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link2.mjs +43 -19
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/menu/index.mjs +4 -4
- package/es/components/menu/src/menu-item-group.mjs +56 -4
- package/es/components/menu/src/menu-item-group.mjs.map +1 -1
- package/es/components/menu/src/menu-item-group2.mjs +4 -56
- package/es/components/menu/src/menu-item-group2.mjs.map +1 -1
- package/es/components/menu/src/menu-item.mjs +15 -65
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +65 -15
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/page-header/index.mjs +2 -2
- package/es/components/page-header/src/page-header.mjs +14 -55
- package/es/components/page-header/src/page-header.mjs.map +1 -1
- package/es/components/page-header/src/page-header2.mjs +55 -14
- package/es/components/page-header/src/page-header2.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +1 -1
- package/es/components/popper/index.mjs +6 -6
- package/es/components/popper/src/arrow.mjs +31 -7
- package/es/components/popper/src/arrow.mjs.map +1 -1
- package/es/components/popper/src/arrow2.mjs +7 -31
- package/es/components/popper/src/arrow2.mjs.map +1 -1
- package/es/components/popper/src/content.mjs +64 -52
- package/es/components/popper/src/content.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +52 -64
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/popper/src/trigger.mjs +17 -28
- package/es/components/popper/src/trigger.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs +28 -17
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/progress/index.mjs +2 -2
- package/es/components/progress/src/progress.mjs +230 -57
- package/es/components/progress/src/progress.mjs.map +1 -1
- package/es/components/progress/src/progress2.mjs +57 -230
- package/es/components/progress/src/progress2.mjs.map +1 -1
- package/es/components/rate/index.d.ts +5 -1
- package/es/components/rate/src/rate.mjs.map +1 -1
- package/es/components/rate/src/rate.vue.d.ts +6 -3
- package/es/components/scrollbar/index.mjs +2 -2
- package/es/components/scrollbar/src/bar.mjs +22 -35
- package/es/components/scrollbar/src/bar.mjs.map +1 -1
- package/es/components/scrollbar/src/bar2.mjs +35 -22
- package/es/components/scrollbar/src/bar2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar.mjs +112 -42
- package/es/components/scrollbar/src/scrollbar.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +42 -112
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/teleport/index.mjs +2 -2
- package/es/components/teleport/src/teleport.mjs +43 -18
- package/es/components/teleport/src/teleport.mjs.map +1 -1
- package/es/components/teleport/src/teleport2.mjs +18 -43
- package/es/components/teleport/src/teleport2.mjs.map +1 -1
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +39 -73
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs +73 -39
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip.mjs +2 -2
- package/es/components/tooltip/src/tooltip2.mjs +1 -1
- package/es/components/tooltip/src/trigger.mjs +1 -1
- package/es/components/tooltip-v2/index.mjs +2 -2
- package/es/components/tooltip-v2/src/arrow.mjs +22 -38
- package/es/components/tooltip-v2/src/arrow.mjs.map +1 -1
- package/es/components/tooltip-v2/src/arrow2.mjs +38 -22
- package/es/components/tooltip-v2/src/arrow2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root.mjs +81 -17
- package/es/components/tooltip-v2/src/root.mjs.map +1 -1
- package/es/components/tooltip-v2/src/root2.mjs +17 -81
- package/es/components/tooltip-v2/src/root2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +4 -4
- package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/src/upload-content.mjs +46 -15
- package/es/components/upload/src/upload-content.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs +15 -46
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/upload/src/upload2.mjs +1 -1
- package/es/index.mjs +25 -25
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +82 -19
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix2.js +19 -82
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +33 -82
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +82 -33
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb-item.js +11 -46
- package/lib/components/breadcrumb/src/breadcrumb-item.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb-item2.js +46 -11
- package/lib/components/breadcrumb/src/breadcrumb-item2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +50 -96
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +96 -50
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/check-tag/index.js +2 -2
- package/lib/components/check-tag/src/check-tag.js +20 -7
- package/lib/components/check-tag/src/check-tag.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js +7 -20
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/collapse/index.js +2 -2
- package/lib/components/collapse/src/collapse.js +16 -61
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse2.js +61 -16
- package/lib/components/collapse/src/collapse2.js.map +1 -1
- package/lib/components/dialog/src/dialog-content.js +78 -33
- package/lib/components/dialog/src/dialog-content.js.map +1 -1
- package/lib/components/dialog/src/dialog-content2.js +33 -78
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.js +1 -1
- package/lib/components/dialog/src/dialog2.js +1 -1
- package/lib/components/drawer/index.js +2 -2
- package/lib/components/drawer/src/drawer.js +117 -23
- package/lib/components/drawer/src/drawer.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +23 -117
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/form/index.js +2 -2
- package/lib/components/form/src/form-item.js +47 -177
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form-item2.js +177 -47
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +8 -35
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon2.js +35 -8
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/index.js +25 -25
- package/lib/components/input/index.js +2 -2
- package/lib/components/input/src/input.js +295 -84
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input2.js +84 -295
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.js +2 -2
- package/lib/components/input-number/src/input-number.js +171 -46
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js +46 -171
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +19 -43
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link2.js +43 -19
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/menu/index.js +4 -4
- package/lib/components/menu/src/menu-item-group.js +56 -4
- package/lib/components/menu/src/menu-item-group.js.map +1 -1
- package/lib/components/menu/src/menu-item-group2.js +4 -56
- package/lib/components/menu/src/menu-item-group2.js.map +1 -1
- package/lib/components/menu/src/menu-item.js +16 -65
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +65 -16
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/page-header/index.js +2 -2
- package/lib/components/page-header/src/page-header.js +14 -55
- package/lib/components/page-header/src/page-header.js.map +1 -1
- package/lib/components/page-header/src/page-header2.js +55 -14
- package/lib/components/page-header/src/page-header2.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm2.js +1 -1
- package/lib/components/popper/index.js +6 -6
- package/lib/components/popper/src/arrow.js +31 -7
- package/lib/components/popper/src/arrow.js.map +1 -1
- package/lib/components/popper/src/arrow2.js +7 -31
- package/lib/components/popper/src/arrow2.js.map +1 -1
- package/lib/components/popper/src/content.js +65 -52
- package/lib/components/popper/src/content.js.map +1 -1
- package/lib/components/popper/src/content2.js +52 -65
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/popper/src/trigger.js +17 -28
- package/lib/components/popper/src/trigger.js.map +1 -1
- package/lib/components/popper/src/trigger2.js +28 -17
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/progress/index.js +2 -2
- package/lib/components/progress/src/progress.js +230 -57
- package/lib/components/progress/src/progress.js.map +1 -1
- package/lib/components/progress/src/progress2.js +57 -230
- package/lib/components/progress/src/progress2.js.map +1 -1
- package/lib/components/rate/index.d.ts +5 -1
- package/lib/components/rate/src/rate.js.map +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +6 -3
- package/lib/components/scrollbar/index.js +2 -2
- package/lib/components/scrollbar/src/bar.js +22 -35
- package/lib/components/scrollbar/src/bar.js.map +1 -1
- package/lib/components/scrollbar/src/bar2.js +35 -22
- package/lib/components/scrollbar/src/bar2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar.js +112 -42
- package/lib/components/scrollbar/src/scrollbar.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +42 -112
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/teleport/index.js +2 -2
- package/lib/components/teleport/src/teleport.js +43 -18
- package/lib/components/teleport/src/teleport.js.map +1 -1
- package/lib/components/teleport/src/teleport2.js +18 -43
- package/lib/components/teleport/src/teleport2.js.map +1 -1
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +39 -73
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js +73 -39
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip.js +2 -2
- package/lib/components/tooltip/src/tooltip2.js +1 -1
- package/lib/components/tooltip/src/trigger.js +1 -1
- package/lib/components/tooltip-v2/index.js +2 -2
- package/lib/components/tooltip-v2/src/arrow.js +23 -38
- package/lib/components/tooltip-v2/src/arrow.js.map +1 -1
- package/lib/components/tooltip-v2/src/arrow2.js +38 -23
- package/lib/components/tooltip-v2/src/arrow2.js.map +1 -1
- package/lib/components/tooltip-v2/src/root.js +81 -17
- package/lib/components/tooltip-v2/src/root.js.map +1 -1
- package/lib/components/tooltip-v2/src/root2.js +17 -81
- package/lib/components/tooltip-v2/src/root2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +4 -4
- package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/src/upload-content.js +46 -15
- package/lib/components/upload/src/upload-content.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js +15 -46
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/upload/src/upload2.js +1 -1
- package/lib/index.js +25 -25
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,236 +1,63 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { CircleCheck, CircleClose, Check, Close, WarningFilled } from '@element-plus/icons-vue';
|
|
4
|
-
import '../../../hooks/index.mjs';
|
|
5
|
-
import { progressProps } from './progress.mjs';
|
|
6
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
1
|
+
import '../../../utils/index.mjs';
|
|
2
|
+
import { buildProps, definePropType } from '../../../utils/vue/props.mjs';
|
|
8
3
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
CircleClose,
|
|
15
|
-
Check,
|
|
16
|
-
Close,
|
|
17
|
-
WarningFilled
|
|
4
|
+
const progressProps = buildProps({
|
|
5
|
+
type: {
|
|
6
|
+
type: String,
|
|
7
|
+
default: "line",
|
|
8
|
+
values: ["line", "circle", "dashboard"]
|
|
18
9
|
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
break;
|
|
69
|
-
case "exception":
|
|
70
|
-
ret = "#ff4949";
|
|
71
|
-
break;
|
|
72
|
-
case "warning":
|
|
73
|
-
ret = "#e6a23c";
|
|
74
|
-
break;
|
|
75
|
-
default:
|
|
76
|
-
ret = "#20a0ff";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return ret;
|
|
80
|
-
});
|
|
81
|
-
const statusIcon = computed(() => {
|
|
82
|
-
if (props.status === "warning") {
|
|
83
|
-
return WarningFilled;
|
|
84
|
-
}
|
|
85
|
-
if (props.type === "line") {
|
|
86
|
-
return props.status === "success" ? CircleCheck : CircleClose;
|
|
87
|
-
} else {
|
|
88
|
-
return props.status === "success" ? Check : Close;
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
const progressTextSize = computed(() => {
|
|
92
|
-
return props.type === "line" ? 12 + props.strokeWidth * 0.4 : props.width * 0.111111 + 2;
|
|
93
|
-
});
|
|
94
|
-
const content = computed(() => props.format(props.percentage));
|
|
95
|
-
const getCurrentColor = (percentage) => {
|
|
96
|
-
var _a;
|
|
97
|
-
const { color } = props;
|
|
98
|
-
if (typeof color === "function") {
|
|
99
|
-
return color(percentage);
|
|
100
|
-
} else if (typeof color === "string") {
|
|
101
|
-
return color;
|
|
102
|
-
} else {
|
|
103
|
-
const span = 100 / color.length;
|
|
104
|
-
const seriesColors = color.map((seriesColor, index) => {
|
|
105
|
-
if (typeof seriesColor === "string") {
|
|
106
|
-
return {
|
|
107
|
-
color: seriesColor,
|
|
108
|
-
percentage: (index + 1) * span
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
return seriesColor;
|
|
112
|
-
});
|
|
113
|
-
const colors = seriesColors.sort((a, b) => a.percentage - b.percentage);
|
|
114
|
-
for (const color2 of colors) {
|
|
115
|
-
if (color2.percentage > percentage)
|
|
116
|
-
return color2.color;
|
|
117
|
-
}
|
|
118
|
-
return (_a = colors[colors.length - 1]) == null ? void 0 : _a.color;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
const slotData = computed(() => {
|
|
122
|
-
return {
|
|
123
|
-
percentage: props.percentage
|
|
124
|
-
};
|
|
125
|
-
});
|
|
126
|
-
return {
|
|
127
|
-
ns,
|
|
128
|
-
barStyle,
|
|
129
|
-
relativeStrokeWidth,
|
|
130
|
-
radius,
|
|
131
|
-
trackPath,
|
|
132
|
-
perimeter,
|
|
133
|
-
rate,
|
|
134
|
-
strokeDashoffset,
|
|
135
|
-
trailPathStyle,
|
|
136
|
-
circlePathStyle,
|
|
137
|
-
stroke,
|
|
138
|
-
statusIcon,
|
|
139
|
-
progressTextSize,
|
|
140
|
-
content,
|
|
141
|
-
slotData
|
|
142
|
-
};
|
|
10
|
+
percentage: {
|
|
11
|
+
type: Number,
|
|
12
|
+
default: 0,
|
|
13
|
+
validator: (val) => val >= 0 && val <= 100
|
|
14
|
+
},
|
|
15
|
+
status: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: "",
|
|
18
|
+
values: ["", "success", "exception", "warning"]
|
|
19
|
+
},
|
|
20
|
+
indeterminate: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
duration: {
|
|
25
|
+
type: Number,
|
|
26
|
+
default: 3
|
|
27
|
+
},
|
|
28
|
+
strokeWidth: {
|
|
29
|
+
type: Number,
|
|
30
|
+
default: 6
|
|
31
|
+
},
|
|
32
|
+
strokeLinecap: {
|
|
33
|
+
type: definePropType(String),
|
|
34
|
+
default: "round"
|
|
35
|
+
},
|
|
36
|
+
textInside: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: false
|
|
39
|
+
},
|
|
40
|
+
width: {
|
|
41
|
+
type: Number,
|
|
42
|
+
default: 126
|
|
43
|
+
},
|
|
44
|
+
showText: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: true
|
|
47
|
+
},
|
|
48
|
+
color: {
|
|
49
|
+
type: definePropType([
|
|
50
|
+
String,
|
|
51
|
+
Array,
|
|
52
|
+
Function
|
|
53
|
+
]),
|
|
54
|
+
default: ""
|
|
55
|
+
},
|
|
56
|
+
format: {
|
|
57
|
+
type: definePropType(Function),
|
|
58
|
+
default: (percentage) => `${percentage}%`
|
|
143
59
|
}
|
|
144
60
|
});
|
|
145
|
-
const _hoisted_1 = ["aria-valuenow"];
|
|
146
|
-
const _hoisted_2 = { viewBox: "0 0 100 100" };
|
|
147
|
-
const _hoisted_3 = ["d", "stroke-width"];
|
|
148
|
-
const _hoisted_4 = ["d", "stroke", "stroke-linecap", "stroke-width"];
|
|
149
|
-
const _hoisted_5 = { key: 0 };
|
|
150
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
151
|
-
const _component_ps_icon = resolveComponent("ps-icon");
|
|
152
|
-
return openBlock(), createElementBlock("div", {
|
|
153
|
-
class: normalizeClass([
|
|
154
|
-
_ctx.ns.b(),
|
|
155
|
-
_ctx.ns.m(_ctx.type),
|
|
156
|
-
_ctx.ns.is(_ctx.status),
|
|
157
|
-
{
|
|
158
|
-
[_ctx.ns.m("without-text")]: !_ctx.showText,
|
|
159
|
-
[_ctx.ns.m("text-inside")]: _ctx.textInside
|
|
160
|
-
}
|
|
161
|
-
]),
|
|
162
|
-
role: "progressbar",
|
|
163
|
-
"aria-valuenow": _ctx.percentage,
|
|
164
|
-
"aria-valuemin": "0",
|
|
165
|
-
"aria-valuemax": "100"
|
|
166
|
-
}, [
|
|
167
|
-
_ctx.type === "line" ? (openBlock(), createElementBlock("div", {
|
|
168
|
-
key: 0,
|
|
169
|
-
class: normalizeClass(_ctx.ns.b("bar"))
|
|
170
|
-
}, [
|
|
171
|
-
createElementVNode("div", {
|
|
172
|
-
class: normalizeClass(_ctx.ns.be("bar", "outer")),
|
|
173
|
-
style: normalizeStyle({ height: `${_ctx.strokeWidth}px` })
|
|
174
|
-
}, [
|
|
175
|
-
createElementVNode("div", {
|
|
176
|
-
class: normalizeClass([
|
|
177
|
-
_ctx.ns.be("bar", "inner"),
|
|
178
|
-
{ [_ctx.ns.bem("bar", "inner", "indeterminate")]: _ctx.indeterminate }
|
|
179
|
-
]),
|
|
180
|
-
style: normalizeStyle(_ctx.barStyle)
|
|
181
|
-
}, [
|
|
182
|
-
(_ctx.showText || _ctx.$slots.default) && _ctx.textInside ? (openBlock(), createElementBlock("div", {
|
|
183
|
-
key: 0,
|
|
184
|
-
class: normalizeClass(_ctx.ns.be("bar", "innerText"))
|
|
185
|
-
}, [
|
|
186
|
-
renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.slotData)), () => [
|
|
187
|
-
createElementVNode("span", null, toDisplayString(_ctx.content), 1)
|
|
188
|
-
])
|
|
189
|
-
], 2)) : createCommentVNode("v-if", true)
|
|
190
|
-
], 6)
|
|
191
|
-
], 6)
|
|
192
|
-
], 2)) : (openBlock(), createElementBlock("div", {
|
|
193
|
-
key: 1,
|
|
194
|
-
class: normalizeClass(_ctx.ns.b("circle")),
|
|
195
|
-
style: normalizeStyle({ height: `${_ctx.width}px`, width: `${_ctx.width}px` })
|
|
196
|
-
}, [
|
|
197
|
-
(openBlock(), createElementBlock("svg", _hoisted_2, [
|
|
198
|
-
createElementVNode("path", {
|
|
199
|
-
class: normalizeClass(_ctx.ns.be("circle", "track")),
|
|
200
|
-
d: _ctx.trackPath,
|
|
201
|
-
stroke: "var(--el-fill-color-light, #e5e9f2)",
|
|
202
|
-
"stroke-width": _ctx.relativeStrokeWidth,
|
|
203
|
-
fill: "none",
|
|
204
|
-
style: normalizeStyle(_ctx.trailPathStyle)
|
|
205
|
-
}, null, 14, _hoisted_3),
|
|
206
|
-
createElementVNode("path", {
|
|
207
|
-
class: normalizeClass(_ctx.ns.be("circle", "path")),
|
|
208
|
-
d: _ctx.trackPath,
|
|
209
|
-
stroke: _ctx.stroke,
|
|
210
|
-
fill: "none",
|
|
211
|
-
"stroke-linecap": _ctx.strokeLinecap,
|
|
212
|
-
"stroke-width": _ctx.percentage ? _ctx.relativeStrokeWidth : 0,
|
|
213
|
-
style: normalizeStyle(_ctx.circlePathStyle)
|
|
214
|
-
}, null, 14, _hoisted_4)
|
|
215
|
-
]))
|
|
216
|
-
], 6)),
|
|
217
|
-
(_ctx.showText || _ctx.$slots.default) && !_ctx.textInside ? (openBlock(), createElementBlock("div", {
|
|
218
|
-
key: 2,
|
|
219
|
-
class: normalizeClass(_ctx.ns.e("text")),
|
|
220
|
-
style: normalizeStyle({ fontSize: `${_ctx.progressTextSize}px` })
|
|
221
|
-
}, [
|
|
222
|
-
renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(_ctx.slotData)), () => [
|
|
223
|
-
!_ctx.status ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(_ctx.content), 1)) : (openBlock(), createBlock(_component_ps_icon, { key: 1 }, {
|
|
224
|
-
default: withCtx(() => [
|
|
225
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.statusIcon)))
|
|
226
|
-
]),
|
|
227
|
-
_: 1
|
|
228
|
-
}))
|
|
229
|
-
])
|
|
230
|
-
], 6)) : createCommentVNode("v-if", true)
|
|
231
|
-
], 10, _hoisted_1);
|
|
232
|
-
}
|
|
233
|
-
var Progress = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/progress/src/progress.vue"]]);
|
|
234
61
|
|
|
235
|
-
export {
|
|
62
|
+
export { progressProps };
|
|
236
63
|
//# sourceMappingURL=progress2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress2.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(type),\n ns.is(status),\n {\n [ns.m('without-text')]: !showText,\n [ns.m('text-inside')]: textInside,\n },\n ]\"\n role=\"progressbar\"\n :aria-valuenow=\"percentage\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n <div\n :class=\"ns.be('bar', 'outer')\"\n :style=\"{ height: `${strokeWidth}px` }\"\n >\n <div\n :class=\"[\n ns.be('bar', 'inner'),\n { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n ]\"\n :style=\"barStyle\"\n >\n <div\n v-if=\"(showText || $slots.default) && textInside\"\n :class=\"ns.be('bar', 'innerText')\"\n >\n <slot v-bind=\"slotData\">\n <span>{{ content }}</span>\n </slot>\n </div>\n </div>\n </div>\n </div>\n <div\n v-else\n :class=\"ns.b('circle')\"\n :style=\"{ height: `${width}px`, width: `${width}px` }\"\n >\n <svg viewBox=\"0 0 100 100\">\n <path\n :class=\"ns.be('circle', 'track')\"\n :d=\"trackPath\"\n stroke=\"var(--el-fill-color-light, #e5e9f2)\"\n :stroke-width=\"relativeStrokeWidth\"\n fill=\"none\"\n :style=\"trailPathStyle\"\n />\n <path\n :class=\"ns.be('circle', 'path')\"\n :d=\"trackPath\"\n :stroke=\"stroke\"\n fill=\"none\"\n :stroke-linecap=\"strokeLinecap\"\n :stroke-width=\"percentage ? relativeStrokeWidth : 0\"\n :style=\"circlePathStyle\"\n />\n </svg>\n </div>\n <div\n v-if=\"(showText || $slots.default) && !textInside\"\n :class=\"ns.e('text')\"\n :style=\"{ fontSize: `${progressTextSize}px` }\"\n >\n <slot v-bind=\"slotData\">\n <span v-if=\"!status\">{{ content }}</span>\n <ps-icon v-else><component :is=\"statusIcon\" /></ps-icon>\n </slot>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { PsIcon } from '@element-ps/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-ps/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n name: 'PsProgress',\n components: {\n PsIcon,\n CircleCheck,\n CircleClose,\n Check,\n Close,\n WarningFilled,\n },\n props: progressProps,\n\n setup(props) {\n const ns = useNamespace('progress')\n\n const barStyle = computed(\n (): CSSProperties => ({\n width: `${props.percentage}%`,\n animationDuration: `${props.duration}s`,\n backgroundColor: getCurrentColor(props.percentage),\n })\n )\n\n const relativeStrokeWidth = computed(() =>\n ((props.strokeWidth / props.width) * 100).toFixed(1)\n )\n\n const radius = computed(() => {\n if (props.type === 'circle' || props.type === 'dashboard') {\n return Number.parseInt(\n `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n 10\n )\n } else {\n return 0\n }\n })\n\n const trackPath = computed(() => {\n const r = radius.value\n const isDashboard = props.type === 'dashboard'\n return `\n M 50 50\n m 0 ${isDashboard ? '' : '-'}${r}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n `\n })\n\n const perimeter = computed(() => 2 * Math.PI * radius.value)\n\n const rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\n const strokeDashoffset = computed(() => {\n const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n return `${offset}px`\n })\n\n const trailPathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${perimeter.value * rate.value}px, ${\n perimeter.value\n }px`,\n strokeDashoffset: strokeDashoffset.value,\n })\n )\n\n const circlePathStyle = computed(\n (): CSSProperties => ({\n strokeDasharray: `${\n perimeter.value * rate.value * (props.percentage / 100)\n }px, ${perimeter.value}px`,\n strokeDashoffset: strokeDashoffset.value,\n transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease',\n })\n )\n\n const stroke = computed(() => {\n let ret: string\n if (props.color) {\n ret = getCurrentColor(props.percentage)\n } else {\n switch (props.status) {\n case 'success':\n ret = '#13ce66'\n break\n case 'exception':\n ret = '#ff4949'\n break\n case 'warning':\n ret = '#e6a23c'\n break\n default:\n ret = '#20a0ff'\n }\n }\n return ret\n })\n\n const statusIcon = computed(() => {\n if (props.status === 'warning') {\n return WarningFilled\n }\n if (props.type === 'line') {\n return props.status === 'success' ? CircleCheck : CircleClose\n } else {\n return props.status === 'success' ? Check : Close\n }\n })\n\n const progressTextSize = computed(() => {\n return props.type === 'line'\n ? 12 + props.strokeWidth * 0.4\n : props.width * 0.111111 + 2\n })\n\n const content = computed(() => props.format(props.percentage))\n\n const getCurrentColor = (percentage: number) => {\n const { color } = props\n if (typeof color === 'function') {\n return color(percentage)\n } else if (typeof color === 'string') {\n return color\n } else {\n const span = 100 / color.length\n const seriesColors = color.map((seriesColor, index) => {\n if (typeof seriesColor === 'string') {\n return {\n color: seriesColor,\n percentage: (index + 1) * span,\n }\n }\n return seriesColor\n })\n const colors = seriesColors.sort((a, b) => a.percentage - b.percentage)\n\n for (const color of colors) {\n if (color.percentage > percentage) return color.color\n }\n return colors[colors.length - 1]?.color\n }\n }\n\n const slotData = computed(() => {\n return {\n percentage: props.percentage,\n }\n })\n\n return {\n ns,\n barStyle,\n relativeStrokeWidth,\n radius,\n trackPath,\n perimeter,\n rate,\n strokeDashoffset,\n trailPathStyle,\n circlePathStyle,\n stroke,\n statusIcon,\n progressTextSize,\n content,\n slotData,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_toDisplayString","_normalizeProps","_guardReactiveProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"progress2.mjs","sources":["../../../../../../packages/components/progress/src/progress.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-ps/utils'\nimport type { ExtractPropTypes, SVGAttributes } from 'vue'\n\ntype Color = { color: string; percentage: number }\ntype ProgressFn = (percentage: number) => string\n\nexport const progressProps = buildProps({\n type: {\n type: String,\n default: 'line',\n values: ['line', 'circle', 'dashboard'],\n },\n percentage: {\n type: Number,\n default: 0,\n validator: (val: number): boolean => val >= 0 && val <= 100,\n },\n status: {\n type: String,\n default: '',\n values: ['', 'success', 'exception', 'warning'],\n },\n indeterminate: {\n type: Boolean,\n default: false,\n },\n duration: {\n type: Number,\n default: 3,\n },\n strokeWidth: {\n type: Number,\n default: 6,\n },\n strokeLinecap: {\n type: definePropType<NonNullable<SVGAttributes['stroke-linecap']>>(String),\n default: 'round',\n },\n textInside: {\n type: Boolean,\n default: false,\n },\n width: {\n type: Number,\n default: 126,\n },\n showText: {\n type: Boolean,\n default: true,\n },\n color: {\n type: definePropType<string | Color[] | ProgressFn>([\n String,\n Array,\n Function,\n ]),\n default: '',\n },\n format: {\n type: definePropType<ProgressFn>(Function),\n default: (percentage: number): string => `${percentage}%`,\n },\n} as const)\n\nexport type ProgressProps = ExtractPropTypes<typeof progressProps>\n"],"names":[],"mappings":";;;AACY,MAAC,aAAa,GAAG,UAAU,CAAC;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC3C,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG;AAC9C,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC;AACnD,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC;AACzB,MAAM,MAAM;AACZ,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7C,GAAG;AACH,CAAC;;;;"}
|
|
@@ -68,7 +68,11 @@ export declare const PsRate: import("element-ps/es/utils").SFCWithInstall<import
|
|
|
68
68
|
pointerAtLeftHalf: import("vue").Ref<boolean>;
|
|
69
69
|
rateClasses: import("vue").ComputedRef<string[]>;
|
|
70
70
|
rateDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
71
|
-
rateStyles: import("vue").ComputedRef<
|
|
71
|
+
rateStyles: import("vue").ComputedRef<{
|
|
72
|
+
'--el-rate-void-color': string;
|
|
73
|
+
'--el-rate-disabled-void-color': string;
|
|
74
|
+
'--el-rate-fill-color': string;
|
|
75
|
+
}>;
|
|
72
76
|
text: import("vue").ComputedRef<string>;
|
|
73
77
|
valueDecimal: import("vue").ComputedRef<number>;
|
|
74
78
|
colorMap: import("vue").ComputedRef<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n >\n <ps-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span v-if=\"showText || showScore\" :class=\"ns.e('text')\">\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { type CSSProperties, computed, inject, ref } from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-ps/constants'\nimport { hasClass, isArray, isObject } from '@element-ps/utils'\nimport { formContextKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useNamespace, useSize } from '@element-ps/hooks'\nimport { rateProps } from './rate'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'PsRate',\n})\n\nconst props = defineProps(rateProps)\n\nconst formContext = inject(formContextKey, undefined)\nconst rateSize = useSize()\nconst ns = useNamespace('rate')\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return {\n '--el-rate-void-color': props.voidColor,\n '--el-rate-disabled-void-color': props.disabledVoidColor,\n '--el-rate-fill-color': activeColor.value,\n } as CSSProperties\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n)\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value ? props.disabledVoidIcon : props.voidIcon\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\nconst iconComponents = computed(() => {\n const result = Array.from({ length: props.max })\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n})\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-ps/element-ps/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rate.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n :class=\"[rateClasses, ns.is('disabled', rateDisabled)]\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n :style=\"rateStyles\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n :class=\"ns.e('item')\"\n >\n <ps-icon\n :class=\"[\n ns.e('icon'),\n { hover: hoverIndex === item },\n ns.is('active', item <= currentValue),\n ]\"\n >\n <component\n :is=\"iconComponents[item - 1]\"\n v-if=\"!showDecimalIcon(item)\"\n />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n :class=\"[ns.e('icon'), ns.e('decimal')]\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span v-if=\"showText || showScore\" :class=\"ns.e('text')\">\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, inject, ref } from 'vue'\nimport { EVENT_CODE, UPDATE_MODEL_EVENT } from '@element-ps/constants'\nimport { hasClass, isArray, isObject } from '@element-ps/utils'\nimport { formContextKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { useNamespace, useSize } from '@element-ps/hooks'\nimport { rateProps } from './rate'\n\nfunction getValueFromMap<T>(\n value: number,\n map: Record<string, T | { excluded?: boolean; value: T }>\n) {\n const isExcludedObject = (\n val: unknown\n ): val is { excluded?: boolean } & Record<any, unknown> => isObject(val)\n\n const matchedKeys = Object.keys(map)\n .map((key) => +key)\n .filter((key) => {\n const val = map[key]\n const excluded = isExcludedObject(val) ? val.excluded : false\n return excluded ? value < key : value <= key\n })\n .sort((a, b) => a - b)\n const matchedValue = map[matchedKeys[0]]\n return (isExcludedObject(matchedValue) && matchedValue.value) || matchedValue\n}\n\ndefineOptions({\n name: 'PsRate',\n})\n\nconst props = defineProps(rateProps)\n\nconst formContext = inject(formContextKey, undefined)\nconst rateSize = useSize()\nconst ns = useNamespace('rate')\n\nconst currentValue = ref(props.modelValue)\nconst hoverIndex = ref(-1)\nconst pointerAtLeftHalf = ref(true)\n\nconst rateClasses = computed(() => [ns.b(), ns.m(rateSize.value)])\nconst rateDisabled = computed(() => props.disabled || formContext?.disabled)\nconst rateStyles = computed(() => {\n return {\n '--el-rate-void-color': props.voidColor,\n '--el-rate-disabled-void-color': props.disabledVoidColor,\n '--el-rate-fill-color': activeColor.value,\n }\n})\n\nconst text = computed(() => {\n let result = ''\n if (props.showScore) {\n result = props.scoreTemplate.replace(\n /\\{\\s*value\\s*\\}/,\n rateDisabled.value ? `${props.modelValue}` : `${currentValue.value}`\n )\n } else if (props.showText) {\n result = props.texts[Math.ceil(currentValue.value) - 1]\n }\n return result\n})\nconst valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n)\nconst colorMap = computed(() =>\n isArray(props.colors)\n ? {\n [props.lowThreshold]: props.colors[0],\n [props.highThreshold]: { value: props.colors[1], excluded: true },\n [props.max]: props.colors[2],\n }\n : props.colors\n)\nconst activeColor = computed(() => {\n const color = getValueFromMap(currentValue.value, colorMap.value)\n // {value: '', excluded: true} returned\n return isObject(color) ? '' : color\n})\nconst decimalStyle = computed(() => {\n let width = ''\n if (rateDisabled.value) {\n width = `${valueDecimal.value}%`\n } else if (props.allowHalf) {\n width = '50%'\n }\n return {\n color: activeColor.value,\n width,\n }\n})\nconst componentMap = computed(() =>\n isArray(props.icons)\n ? {\n [props.lowThreshold]: props.icons[0],\n [props.highThreshold]: {\n value: props.icons[1],\n excluded: true,\n },\n [props.max]: props.icons[2],\n }\n : props.icons\n)\nconst decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n)\nconst voidComponent = computed(() =>\n rateDisabled.value ? props.disabledVoidIcon : props.voidIcon\n)\nconst activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n)\nconst iconComponents = computed(() => {\n const result = Array.from({ length: props.max })\n const threshold = currentValue.value\n result.fill(activeComponent.value, 0, threshold)\n result.fill(voidComponent.value, threshold, props.max)\n return result\n})\n\nfunction showDecimalIcon(item: number) {\n const showWhenDisabled =\n rateDisabled.value &&\n valueDecimal.value > 0 &&\n item - 1 < props.modelValue &&\n item > props.modelValue\n const showWhenAllowHalf =\n props.allowHalf &&\n pointerAtLeftHalf.value &&\n item - 0.5 <= currentValue.value &&\n item > currentValue.value\n return showWhenDisabled || showWhenAllowHalf\n}\n\nfunction setCurrentValue(value: number, event: MouseEvent) {\n if (rateDisabled.value) {\n return\n }\n if (props.allowHalf) {\n // TODO: use cache via computed https://github.com/element-ps/element-ps/pull/5456#discussion_r786472092\n let target = event.target as HTMLElement\n if (hasClass(target, ns.e('item'))) {\n target = target.querySelector(`.${ns.e('icon')}`)!\n }\n if (target.clientWidth === 0 || hasClass(target, ns.e('decimal'))) {\n target = target.parentNode as HTMLElement\n }\n pointerAtLeftHalf.value = event.offsetX * 2 <= target.clientWidth\n currentValue.value = pointerAtLeftHalf.value ? value - 0.5 : value\n } else {\n currentValue.value = value\n }\n hoverIndex.value = value\n}\n\ndefineExpose({\n /** @description set current value */\n setCurrentValue,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type CSSProperties } from 'vue';
|
|
2
1
|
declare const _default: import("vue").DefineComponent<{
|
|
3
2
|
readonly modelValue: import("element-ps/es/utils").BuildPropReturn<NumberConstructor, 0, unknown, unknown, unknown>;
|
|
4
3
|
readonly lowThreshold: import("element-ps/es/utils").BuildPropReturn<NumberConstructor, 2, unknown, unknown, unknown>;
|
|
@@ -69,7 +68,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
69
68
|
pointerAtLeftHalf: import("vue").Ref<boolean>;
|
|
70
69
|
rateClasses: import("vue").ComputedRef<string[]>;
|
|
71
70
|
rateDisabled: import("vue").ComputedRef<boolean | undefined>;
|
|
72
|
-
rateStyles: import("vue").ComputedRef<
|
|
71
|
+
rateStyles: import("vue").ComputedRef<{
|
|
72
|
+
'--el-rate-void-color': string;
|
|
73
|
+
'--el-rate-disabled-void-color': string;
|
|
74
|
+
'--el-rate-fill-color': string;
|
|
75
|
+
}>;
|
|
73
76
|
text: import("vue").ComputedRef<string>;
|
|
74
77
|
valueDecimal: import("vue").ComputedRef<number>;
|
|
75
78
|
colorMap: import("vue").ComputedRef<{
|
|
@@ -140,7 +143,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
140
143
|
(name: string): string;
|
|
141
144
|
};
|
|
142
145
|
};
|
|
143
|
-
style: import("vue").ComputedRef<CSSProperties>;
|
|
146
|
+
style: import("vue").ComputedRef<import("vue").CSSProperties>;
|
|
144
147
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
145
148
|
readonly size: import("element-ps/es/utils").BuildPropReturn<import("element-ps/es/utils").PropWrapper<string | number>, unknown, unknown, unknown, unknown>;
|
|
146
149
|
readonly color: import("element-ps/es/utils").BuildPropReturn<StringConstructor, unknown, unknown, unknown, unknown>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import '../../utils/index.mjs';
|
|
2
|
-
import Scrollbar from './src/
|
|
2
|
+
import Scrollbar from './src/scrollbar.mjs';
|
|
3
3
|
export { BAR_MAP, renderThumbStyle } from './src/util.mjs';
|
|
4
|
-
export { scrollbarProps } from './src/
|
|
4
|
+
export { scrollbarProps } from './src/scrollbar2.mjs';
|
|
5
5
|
export { thumbProps } from './src/thumb2.mjs';
|
|
6
6
|
import { withInstall } from '../../utils/vue/install.mjs';
|
|
7
7
|
|
|
@@ -1,41 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { barProps } from './bar2.mjs';
|
|
4
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
1
|
+
import '../../../utils/index.mjs';
|
|
2
|
+
import { buildProps } from '../../../utils/vue/props.mjs';
|
|
5
3
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const barProps = buildProps({
|
|
5
|
+
always: {
|
|
6
|
+
type: Boolean,
|
|
7
|
+
default: true
|
|
9
8
|
},
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
width: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: ""
|
|
12
|
+
},
|
|
13
|
+
height: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: ""
|
|
16
|
+
},
|
|
17
|
+
ratioX: {
|
|
18
|
+
type: Number,
|
|
19
|
+
default: 1
|
|
20
|
+
},
|
|
21
|
+
ratioY: {
|
|
22
|
+
type: Number,
|
|
23
|
+
default: 1
|
|
18
24
|
}
|
|
19
25
|
});
|
|
20
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21
|
-
const _component_thumb = resolveComponent("thumb");
|
|
22
|
-
return openBlock(), createElementBlock(Fragment, null, [
|
|
23
|
-
createVNode(_component_thumb, {
|
|
24
|
-
move: _ctx.moveX,
|
|
25
|
-
ratio: _ctx.ratioX,
|
|
26
|
-
size: _ctx.width,
|
|
27
|
-
always: _ctx.always
|
|
28
|
-
}, null, 8, ["move", "ratio", "size", "always"]),
|
|
29
|
-
createVNode(_component_thumb, {
|
|
30
|
-
move: _ctx.moveY,
|
|
31
|
-
ratio: _ctx.ratioY,
|
|
32
|
-
size: _ctx.height,
|
|
33
|
-
vertical: "",
|
|
34
|
-
always: _ctx.always
|
|
35
|
-
}, null, 8, ["move", "ratio", "size", "always"])
|
|
36
|
-
], 64);
|
|
37
|
-
}
|
|
38
|
-
var Bar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/scrollbar/src/bar.vue"]]);
|
|
39
26
|
|
|
40
|
-
export {
|
|
27
|
+
export { barProps };
|
|
41
28
|
//# sourceMappingURL=bar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.
|
|
1
|
+
{"version":3,"file":"bar.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.ts"],"sourcesContent":["import { buildProps } from '@element-ps/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const barProps = buildProps({\n always: {\n type: Boolean,\n default: true,\n },\n width: {\n type: String,\n default: '',\n },\n height: {\n type: String,\n default: '',\n },\n ratioX: {\n type: Number,\n default: 1,\n },\n ratioY: {\n type: Number,\n default: 1,\n },\n} as const)\nexport type BarProps = ExtractPropTypes<typeof barProps>\n"],"names":[],"mappings":";;;AACY,MAAC,QAAQ,GAAG,UAAU,CAAC;AACnC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,CAAC;;;;"}
|
|
@@ -1,28 +1,41 @@
|
|
|
1
|
-
import '
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, Fragment, createVNode } from 'vue';
|
|
2
|
+
import Thumb from './thumb.mjs';
|
|
3
|
+
import { barProps } from './bar.mjs';
|
|
4
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
3
5
|
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
default: true
|
|
6
|
+
const _sfc_main = defineComponent({
|
|
7
|
+
components: {
|
|
8
|
+
Thumb
|
|
8
9
|
},
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
ratioX: {
|
|
18
|
-
type: Number,
|
|
19
|
-
default: 1
|
|
20
|
-
},
|
|
21
|
-
ratioY: {
|
|
22
|
-
type: Number,
|
|
23
|
-
default: 1
|
|
10
|
+
props: barProps,
|
|
11
|
+
setup() {
|
|
12
|
+
const moveX = ref(0);
|
|
13
|
+
const moveY = ref(0);
|
|
14
|
+
return {
|
|
15
|
+
moveX,
|
|
16
|
+
moveY
|
|
17
|
+
};
|
|
24
18
|
}
|
|
25
19
|
});
|
|
20
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
21
|
+
const _component_thumb = resolveComponent("thumb");
|
|
22
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
23
|
+
createVNode(_component_thumb, {
|
|
24
|
+
move: _ctx.moveX,
|
|
25
|
+
ratio: _ctx.ratioX,
|
|
26
|
+
size: _ctx.width,
|
|
27
|
+
always: _ctx.always
|
|
28
|
+
}, null, 8, ["move", "ratio", "size", "always"]),
|
|
29
|
+
createVNode(_component_thumb, {
|
|
30
|
+
move: _ctx.moveY,
|
|
31
|
+
ratio: _ctx.ratioY,
|
|
32
|
+
size: _ctx.height,
|
|
33
|
+
vertical: "",
|
|
34
|
+
always: _ctx.always
|
|
35
|
+
}, null, 8, ["move", "ratio", "size", "always"])
|
|
36
|
+
], 64);
|
|
37
|
+
}
|
|
38
|
+
var Bar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/meng/workspace/element-ps/packages/components/scrollbar/src/bar.vue"]]);
|
|
26
39
|
|
|
27
|
-
export {
|
|
40
|
+
export { Bar as default };
|
|
28
41
|
//# sourceMappingURL=bar2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.
|
|
1
|
+
{"version":3,"file":"bar2.mjs","sources":["../../../../../../packages/components/scrollbar/src/bar.vue"],"sourcesContent":["<template>\n <thumb :move=\"moveX\" :ratio=\"ratioX\" :size=\"width\" :always=\"always\" />\n <thumb\n :move=\"moveY\"\n :ratio=\"ratioY\"\n :size=\"height\"\n vertical\n :always=\"always\"\n />\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue'\nimport Thumb from './thumb.vue'\nimport { barProps } from './bar'\n\nexport default defineComponent({\n components: {\n Thumb,\n },\n props: barProps,\n setup() {\n const moveX = ref(0)\n const moveY = ref(0)\n\n return {\n moveX,\n moveY,\n }\n },\n})\n</script>\n"],"names":["_createVNode"],"mappings":";;;;;AAeA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,UAAY,EAAA;AAAA,IACV,KAAA;AAAA,GACF;AAAA,EACA,KAAO,EAAA,QAAA;AAAA,EACP,KAAQ,GAAA;AACN,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,KAAA,GAAQ,IAAI,CAAC,CAAA,CAAA;AAEnB,IAAO,OAAA;AAAA,MACL,KAAA;AAAA,MACA,KAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;;;IA5BCA,WAAsE,CAAA,gBAAA,EAAA;AAAA,MAA9D,IAAM,EAAA,IAAA,CAAA,KAAA;AAAA,MAAQ,KAAO,EAAA,IAAA,CAAA,MAAA;AAAA,MAAS,IAAM,EAAA,IAAA,CAAA,KAAA;AAAA,MAAQ,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;IAC5DA,WAME,CAAA,gBAAA,EAAA;AAAA,MALC,IAAM,EAAA,IAAA,CAAA,KAAA;AAAA,MACN,KAAO,EAAA,IAAA,CAAA,MAAA;AAAA,MACP,IAAM,EAAA,IAAA,CAAA,MAAA;AAAA,MACP,QAAA,EAAA,EAAA;AAAA,MACC,MAAQ,EAAA,IAAA,CAAA,MAAA;AAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,CAAA,CAAA;;;;;;;"}
|