element-ps 1.0.11 → 1.0.15
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/dist/index.full.js +165 -146
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +164 -147
- package/es/components/descriptions/index.d.ts +14 -2
- package/es/components/descriptions/src/description-item.d.ts +7 -1
- package/es/components/descriptions/src/descriptions.type.d.ts +1 -0
- package/es/components/input-number/index.d.ts +2 -0
- package/es/components/input-number/src/input-number.vue.d.ts +2 -0
- package/es/components/rate/index.d.ts +75 -246
- package/es/components/rate/src/rate.d.ts +26 -0
- package/es/components/rate/src/rate.vue.d.ts +108 -0
- package/es/index.mjs +6 -5
- package/es/index.mjs.map +1 -1
- package/es/packages/components/affix/index.mjs +2 -2
- package/es/packages/components/affix/src/affix.mjs +22 -5
- package/es/packages/components/affix/src/affix.mjs.map +1 -1
- package/es/packages/components/affix/src/affix.vue_vue&type=script&lang.mjs +1 -1
- package/es/packages/components/affix/src/affix2.mjs +5 -22
- package/es/packages/components/affix/src/affix2.mjs.map +1 -1
- package/es/packages/components/backtop/index.mjs +2 -2
- package/es/packages/components/backtop/src/backtop.mjs +5 -19
- package/es/packages/components/backtop/src/backtop.mjs.map +1 -1
- package/es/packages/components/backtop/src/backtop.vue_vue&type=script&lang.mjs +1 -1
- package/es/packages/components/backtop/src/backtop2.mjs +19 -5
- package/es/packages/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/packages/components/cascader/src/index.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs +8 -6
- package/es/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.mjs.map +1 -1
- package/es/packages/components/descriptions/src/description-item.mjs +3 -0
- package/es/packages/components/descriptions/src/description-item.mjs.map +1 -1
- package/es/packages/components/descriptions/src/descriptions-cell.mjs +2 -1
- package/es/packages/components/descriptions/src/descriptions-cell.mjs.map +1 -1
- package/es/packages/components/empty/index.mjs +2 -2
- package/es/packages/components/empty/src/empty.mjs +12 -5
- package/es/packages/components/empty/src/empty.mjs.map +1 -1
- package/es/packages/components/empty/src/empty.vue_vue&type=script&lang.mjs +1 -1
- package/es/packages/components/empty/src/empty2.mjs +5 -12
- package/es/packages/components/empty/src/empty2.mjs.map +1 -1
- package/es/packages/components/form/src/form-item.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs +10 -8
- package/es/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.mjs.map +1 -1
- package/es/packages/components/image-viewer/index.mjs +2 -2
- package/es/packages/components/image-viewer/src/image-viewer.mjs +5 -25
- package/es/packages/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.mjs +1 -1
- package/es/packages/components/image-viewer/src/image-viewer2.mjs +25 -5
- package/es/packages/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/packages/components/index.mjs +6 -5
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/input-number/index.mjs +2 -2
- package/es/packages/components/input-number/src/input-number.mjs +49 -5
- package/es/packages/components/input-number/src/input-number.mjs.map +1 -1
- package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs +5 -3
- package/es/packages/components/input-number/src/input-number.vue_vue&type=script&lang.mjs.map +1 -1
- package/es/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.mjs.map +1 -1
- package/es/packages/components/input-number/src/input-number2.mjs +5 -49
- package/es/packages/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/packages/components/rate/index.mjs +6 -8
- package/es/packages/components/rate/index.mjs.map +1 -1
- package/es/packages/components/rate/src/rate.mjs +87 -0
- package/es/packages/components/rate/src/rate.mjs.map +1 -0
- package/es/packages/components/rate/src/{index.vue_vue&type=script&lang.mjs → rate.vue_vue&type=script&lang.mjs} +19 -88
- package/es/packages/components/rate/src/rate.vue_vue&type=script&lang.mjs.map +1 -0
- package/es/packages/components/rate/src/{index.vue_vue&type=template&id=55b4fa7d&lang.mjs → rate.vue_vue&type=template&id=38c42df6&lang.mjs} +1 -1
- package/es/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.mjs.map +1 -0
- package/es/packages/components/rate/src/rate2.mjs +7 -0
- package/es/packages/components/rate/src/rate2.mjs.map +1 -0
- package/lib/components/descriptions/index.d.ts +14 -2
- package/lib/components/descriptions/src/description-item.d.ts +7 -1
- package/lib/components/descriptions/src/descriptions.type.d.ts +1 -0
- package/lib/components/input-number/index.d.ts +2 -0
- package/lib/components/input-number/src/input-number.vue.d.ts +2 -0
- package/lib/components/rate/index.d.ts +75 -246
- package/lib/components/rate/src/rate.d.ts +26 -0
- package/lib/components/rate/src/rate.vue.d.ts +108 -0
- package/lib/index.js +8 -5
- package/lib/index.js.map +1 -1
- package/lib/packages/components/affix/index.js +2 -2
- package/lib/packages/components/affix/src/affix.js +21 -5
- package/lib/packages/components/affix/src/affix.js.map +1 -1
- package/lib/packages/components/affix/src/affix.vue_vue&type=script&lang.js +1 -1
- package/lib/packages/components/affix/src/affix2.js +5 -21
- package/lib/packages/components/affix/src/affix2.js.map +1 -1
- package/lib/packages/components/backtop/index.js +2 -2
- package/lib/packages/components/backtop/src/backtop.js +6 -19
- package/lib/packages/components/backtop/src/backtop.js.map +1 -1
- package/lib/packages/components/backtop/src/backtop.vue_vue&type=script&lang.js +1 -1
- package/lib/packages/components/backtop/src/backtop2.js +19 -6
- package/lib/packages/components/backtop/src/backtop2.js.map +1 -1
- package/lib/packages/components/cascader/src/index.vue_vue&type=script&lang.js.map +1 -1
- package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js +8 -6
- package/lib/packages/components/cascader/src/index.vue_vue&type=template&id=0429c2db&lang.js.map +1 -1
- package/lib/packages/components/descriptions/src/description-item.js +3 -0
- package/lib/packages/components/descriptions/src/description-item.js.map +1 -1
- package/lib/packages/components/descriptions/src/descriptions-cell.js +2 -1
- package/lib/packages/components/descriptions/src/descriptions-cell.js.map +1 -1
- package/lib/packages/components/empty/index.js +2 -2
- package/lib/packages/components/empty/src/empty.js +12 -6
- package/lib/packages/components/empty/src/empty.js.map +1 -1
- package/lib/packages/components/empty/src/empty.vue_vue&type=script&lang.js +1 -1
- package/lib/packages/components/empty/src/empty2.js +6 -12
- package/lib/packages/components/empty/src/empty2.js.map +1 -1
- package/lib/packages/components/form/src/form-item.vue_vue&type=script&lang.js.map +1 -1
- package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js +10 -8
- package/lib/packages/components/form/src/form-item.vue_vue&type=template&id=24eda48b&lang.js.map +1 -1
- package/lib/packages/components/image-viewer/index.js +2 -2
- package/lib/packages/components/image-viewer/src/image-viewer.js +5 -24
- package/lib/packages/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/packages/components/image-viewer/src/image-viewer.vue_vue&type=script&lang.js +1 -1
- package/lib/packages/components/image-viewer/src/image-viewer2.js +24 -5
- package/lib/packages/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/packages/components/index.js +8 -5
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/input-number/index.js +2 -2
- package/lib/packages/components/input-number/src/input-number.js +48 -5
- package/lib/packages/components/input-number/src/input-number.js.map +1 -1
- package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js +5 -3
- package/lib/packages/components/input-number/src/input-number.vue_vue&type=script&lang.js.map +1 -1
- package/lib/packages/components/input-number/src/input-number.vue_vue&type=template&id=dec60af6&lang.js.map +1 -1
- package/lib/packages/components/input-number/src/input-number2.js +5 -48
- package/lib/packages/components/input-number/src/input-number2.js.map +1 -1
- package/lib/packages/components/rate/index.js +8 -8
- package/lib/packages/components/rate/index.js.map +1 -1
- package/lib/packages/components/rate/src/rate.js +92 -0
- package/lib/packages/components/rate/src/rate.js.map +1 -0
- package/lib/packages/components/rate/src/{index.vue_vue&type=script&lang.js → rate.vue_vue&type=script&lang.js} +19 -88
- package/lib/packages/components/rate/src/rate.vue_vue&type=script&lang.js.map +1 -0
- package/lib/packages/components/rate/src/{index.vue_vue&type=template&id=55b4fa7d&lang.js → rate.vue_vue&type=template&id=38c42df6&lang.js} +1 -1
- package/lib/packages/components/rate/src/rate.vue_vue&type=template&id=38c42df6&lang.js.map +1 -0
- package/lib/packages/components/rate/src/rate2.js +12 -0
- package/lib/packages/components/rate/src/rate2.js.map +1 -0
- package/package.json +1 -1
- package/web-types.json +1 -1
- package/es/components/rate/src/index.vue.d.ts +0 -141
- package/es/packages/components/rate/src/index.mjs +0 -7
- package/es/packages/components/rate/src/index.mjs.map +0 -1
- package/es/packages/components/rate/src/index.vue_vue&type=script&lang.mjs.map +0 -1
- package/es/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.mjs.map +0 -1
- package/lib/components/rate/src/index.vue.d.ts +0 -141
- package/lib/packages/components/rate/src/index.js +0 -12
- package/lib/packages/components/rate/src/index.js.map +0 -1
- package/lib/packages/components/rate/src/index.vue_vue&type=script&lang.js.map +0 -1
- package/lib/packages/components/rate/src/index.vue_vue&type=template&id=55b4fa7d&lang.js.map +0 -1
|
@@ -3,90 +3,32 @@ import { isObject, isArray } from '@vue/shared';
|
|
|
3
3
|
import '../../../tokens/index.mjs';
|
|
4
4
|
import { PsIcon } from '../../icon/index.mjs';
|
|
5
5
|
import { StarFilled, Star } from '@element-plus/icons';
|
|
6
|
+
import { rateProps } from './rate.mjs';
|
|
6
7
|
import { elFormKey } from '../../../tokens/form.mjs';
|
|
7
8
|
|
|
9
|
+
function getValueFromMap(value, map) {
|
|
10
|
+
const isExcludedObject = (val) => isObject(val);
|
|
11
|
+
const matchedKeys = Object.keys(map).map((key) => +key).filter((key) => {
|
|
12
|
+
const val = map[key];
|
|
13
|
+
const excluded = isExcludedObject(val) ? val.excluded : false;
|
|
14
|
+
return excluded ? value < key : value <= key;
|
|
15
|
+
}).sort((a, b) => a - b);
|
|
16
|
+
const matchedValue = map[matchedKeys[0]];
|
|
17
|
+
return isExcludedObject(matchedValue) && matchedValue.value || matchedValue;
|
|
18
|
+
}
|
|
8
19
|
var script = defineComponent({
|
|
9
20
|
name: "PsRate",
|
|
10
|
-
components: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
default: 0
|
|
15
|
-
},
|
|
16
|
-
lowThreshold: {
|
|
17
|
-
type: Number,
|
|
18
|
-
default: 2
|
|
19
|
-
},
|
|
20
|
-
highThreshold: {
|
|
21
|
-
type: Number,
|
|
22
|
-
default: 4
|
|
23
|
-
},
|
|
24
|
-
max: {
|
|
25
|
-
type: Number,
|
|
26
|
-
default: 5
|
|
27
|
-
},
|
|
28
|
-
colors: {
|
|
29
|
-
type: [Array, Object],
|
|
30
|
-
default: () => ["#F7BA2A", "#F7BA2A", "#F7BA2A"]
|
|
31
|
-
},
|
|
32
|
-
voidColor: {
|
|
33
|
-
type: String,
|
|
34
|
-
default: "#C6D1DE"
|
|
35
|
-
},
|
|
36
|
-
disabledVoidColor: {
|
|
37
|
-
type: String,
|
|
38
|
-
default: "#EFF2F7"
|
|
39
|
-
},
|
|
40
|
-
icons: {
|
|
41
|
-
type: [Array, Object],
|
|
42
|
-
default: () => [StarFilled, StarFilled, StarFilled]
|
|
43
|
-
},
|
|
44
|
-
voidIcon: {
|
|
45
|
-
type: [String, Object],
|
|
46
|
-
default: Star
|
|
47
|
-
},
|
|
48
|
-
disabledvoidIcon: {
|
|
49
|
-
type: [String, Object],
|
|
50
|
-
default: StarFilled
|
|
51
|
-
},
|
|
52
|
-
disabled: {
|
|
53
|
-
type: Boolean,
|
|
54
|
-
default: false
|
|
55
|
-
},
|
|
56
|
-
allowHalf: {
|
|
57
|
-
type: Boolean,
|
|
58
|
-
default: false
|
|
59
|
-
},
|
|
60
|
-
showText: {
|
|
61
|
-
type: Boolean,
|
|
62
|
-
default: false
|
|
63
|
-
},
|
|
64
|
-
showScore: {
|
|
65
|
-
type: Boolean,
|
|
66
|
-
default: false
|
|
67
|
-
},
|
|
68
|
-
textColor: {
|
|
69
|
-
type: String,
|
|
70
|
-
default: "#1f2d3d"
|
|
71
|
-
},
|
|
72
|
-
texts: {
|
|
73
|
-
type: Array,
|
|
74
|
-
default: () => [
|
|
75
|
-
"Extremely bad",
|
|
76
|
-
"Disappointed",
|
|
77
|
-
"Fair",
|
|
78
|
-
"Satisfied",
|
|
79
|
-
"Surprise"
|
|
80
|
-
]
|
|
81
|
-
},
|
|
82
|
-
scoreTemplate: {
|
|
83
|
-
type: String,
|
|
84
|
-
default: "{value}"
|
|
85
|
-
}
|
|
21
|
+
components: {
|
|
22
|
+
PsIcon,
|
|
23
|
+
StarFilled,
|
|
24
|
+
Star
|
|
86
25
|
},
|
|
26
|
+
props: rateProps,
|
|
87
27
|
setup(props) {
|
|
88
28
|
const elForm = inject(elFormKey, {});
|
|
89
29
|
const currentValue = ref(props.modelValue);
|
|
30
|
+
const hoverIndex = ref(-1);
|
|
31
|
+
const pointerAtLeftHalf = ref(true);
|
|
90
32
|
const rateDisabled = computed(() => props.disabled || elForm.disabled);
|
|
91
33
|
const text = computed(() => {
|
|
92
34
|
let result = "";
|
|
@@ -97,15 +39,6 @@ var script = defineComponent({
|
|
|
97
39
|
}
|
|
98
40
|
return result;
|
|
99
41
|
});
|
|
100
|
-
function getValueFromMap(value, map) {
|
|
101
|
-
const matchedKeys = Object.keys(map).filter((key) => {
|
|
102
|
-
const val = map[key];
|
|
103
|
-
const excluded = isObject(val) ? val.excluded : false;
|
|
104
|
-
return excluded ? value < key : value <= key;
|
|
105
|
-
}).sort((a, b) => a - b);
|
|
106
|
-
const matchedValue = map[matchedKeys[0]];
|
|
107
|
-
return isObject(matchedValue) ? matchedValue.value || matchedValue : matchedValue || "";
|
|
108
|
-
}
|
|
109
42
|
const valueDecimal = computed(() => props.modelValue * 100 - Math.floor(props.modelValue) * 100);
|
|
110
43
|
const colorMap = computed(() => isArray(props.colors) ? {
|
|
111
44
|
[props.lowThreshold]: props.colors[0],
|
|
@@ -143,7 +76,6 @@ var script = defineComponent({
|
|
|
143
76
|
result.fill(voidComponent.value, threshold, props.max);
|
|
144
77
|
return result;
|
|
145
78
|
});
|
|
146
|
-
const pointerAtLeftHalf = ref(true);
|
|
147
79
|
function showDecimalIcon(item) {
|
|
148
80
|
const showWhenDisabled = rateDisabled.value && valueDecimal.value > 0 && item - 1 < props.modelValue && item > props.modelValue;
|
|
149
81
|
const showWhenAllowHalf = props.allowHalf && pointerAtLeftHalf.value && item - 0.5 <= currentValue.value && item > currentValue.value;
|
|
@@ -155,7 +87,6 @@ var script = defineComponent({
|
|
|
155
87
|
color: item <= currentValue.value ? activeColor.value : voidColor
|
|
156
88
|
};
|
|
157
89
|
}
|
|
158
|
-
const hoverIndex = ref(-1);
|
|
159
90
|
return {
|
|
160
91
|
hoverIndex,
|
|
161
92
|
currentValue,
|
|
@@ -171,4 +102,4 @@ var script = defineComponent({
|
|
|
171
102
|
});
|
|
172
103
|
|
|
173
104
|
export { script as default };
|
|
174
|
-
//# sourceMappingURL=
|
|
105
|
+
//# sourceMappingURL=rate.vue_vue&type=script&lang.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate.vue_vue&type=script&lang.mjs","sources":["../../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-ps/tokens'\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\nexport default defineComponent({\n name: 'PsRate',\n components: {\n PsIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const 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 })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const 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 )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const 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 })\n const 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 )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(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\n function 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\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n return {\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate.vue_vue&type=template&id=38c42df6&lang.mjs","sources":["../../../../../../../packages/components/rate/src/rate.vue?vue&type=template&id=38c42df6&lang.js"],"sourcesContent":["<template>\n <div\n class=\"el-rate\"\n role=\"slider\"\n :aria-valuenow=\"currentValue\"\n :aria-valuetext=\"text\"\n aria-valuemin=\"0\"\n :aria-valuemax=\"max\"\n tabindex=\"0\"\n >\n <span\n v-for=\"(item, key) in max\"\n :key=\"key\"\n class=\"el-rate__item\"\n :style=\"{ cursor: rateDisabled ? 'auto' : 'pointer' }\"\n >\n <ps-icon\n :class=\"[{ hover: hoverIndex === item }]\"\n class=\"el-rate__icon\"\n :style=\"getIconStyle(item)\"\n >\n <component :is=\"iconComponents[item - 1]\" />\n <ps-icon\n v-if=\"showDecimalIcon(item)\"\n :style=\"decimalStyle\"\n class=\"el-rate__icon el-rate__decimal\"\n >\n <component :is=\"decimalIconComponent\" />\n </ps-icon>\n </ps-icon>\n </span>\n <span\n v-if=\"showText || showScore\"\n class=\"el-rate__text\"\n :style=\"{ color: textColor }\"\n >\n {{ text }}\n </span>\n </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, inject, computed, ref, watch } from 'vue'\nimport { isObject, isArray } from '@vue/shared'\nimport { elFormKey } from '@element-ps/tokens'\nimport { PsIcon } from '@element-ps/components/icon'\nimport { StarFilled, Star } from '@element-plus/icons'\nimport { rateProps, rateEmits } from './rate'\nimport type { ElFormContext } from '@element-ps/tokens'\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\nexport default defineComponent({\n name: 'PsRate',\n components: {\n PsIcon,\n StarFilled,\n Star,\n },\n props: rateProps,\n setup(props) {\n const elForm = inject(elFormKey, {} as ElFormContext)\n\n const currentValue = ref(props.modelValue)\n const hoverIndex = ref(-1)\n const pointerAtLeftHalf = ref(true)\n\n const rateDisabled = computed(() => props.disabled || elForm.disabled)\n const 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 })\n const valueDecimal = computed(\n () => props.modelValue * 100 - Math.floor(props.modelValue) * 100\n )\n const 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 )\n const activeColor = computed(() =>\n getValueFromMap(currentValue.value, colorMap.value)\n )\n const 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 })\n const 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 )\n const decimalIconComponent = computed(() =>\n getValueFromMap(props.modelValue, componentMap.value)\n )\n const voidComponent = computed(() =>\n rateDisabled.value ? props.disabledvoidIcon : props.voidIcon\n )\n const activeComponent = computed(() =>\n getValueFromMap(currentValue.value, componentMap.value)\n )\n const iconComponents = computed(() => {\n const result = Array(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\n function 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\n function getIconStyle(item: number) {\n const voidColor = rateDisabled.value\n ? props.disabledVoidColor\n : props.voidColor\n return {\n color: item <= currentValue.value ? activeColor.value : voidColor,\n }\n }\n\n return {\n hoverIndex,\n currentValue,\n rateDisabled,\n text,\n decimalStyle,\n decimalIconComponent,\n iconComponents,\n\n showDecimalIcon,\n getIconStyle,\n }\n },\n})\n</script>\n"],"names":["_createElementBlock","_createVNode","_createBlock"],"mappings":";;;;;sBACEA;IACE,OAAM;AAAA,IACN,MAAK;AAAA,IACJ,iBAAe;IACf,kBAAgB;IACjB,iBAAc;AAAA,IACb,iBAAe;IAChB,UAAS;AAAA;sBAETA,8CACwB,WAAd,MAAM;0BADhBA;QAEG;AAAA,QACD,OAAM;AAAA,QACL,gCAAiB;;QAElBC;UACG,iCAAiB,oBAAe,SAC3B;AAAA,UACL,sBAAO,kBAAa;AAAA;2BAErB;0BAAAC,oCAAgB,oBAAe;YAEvB,qBAAgB,sBADxBA;;cAEG,sBAAO;cACR,OAAM;AAAA;+BAEN;8BAAAA,oCAAgB;;;;;;;;;IAKd,iBAAY,+BADpBF;;MAEE,OAAM;AAAA,MACL,+BAAgB;uBAEd;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import script from './rate.vue_vue&type=script&lang.mjs';
|
|
2
|
+
export { default } from './rate.vue_vue&type=script&lang.mjs';
|
|
3
|
+
import { render } from './rate.vue_vue&type=template&id=38c42df6&lang.mjs';
|
|
4
|
+
|
|
5
|
+
script.render = render;
|
|
6
|
+
script.__file = "packages/components/rate/src/rate.vue";
|
|
7
|
+
//# sourceMappingURL=rate2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -81,6 +81,9 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
|
|
|
81
81
|
type: StringConstructor;
|
|
82
82
|
default: string;
|
|
83
83
|
};
|
|
84
|
+
widget: {
|
|
85
|
+
type: StringConstructor;
|
|
86
|
+
};
|
|
84
87
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
85
88
|
label?: unknown;
|
|
86
89
|
span?: unknown;
|
|
@@ -90,6 +93,7 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
|
|
|
90
93
|
labelAlign?: unknown;
|
|
91
94
|
className?: unknown;
|
|
92
95
|
labelClassName?: unknown;
|
|
96
|
+
widget?: unknown;
|
|
93
97
|
} & {
|
|
94
98
|
width: string | number;
|
|
95
99
|
label: string;
|
|
@@ -99,7 +103,9 @@ export declare const PsDescriptions: import("../../utils/types").SFCWithInstall<
|
|
|
99
103
|
labelAlign: string;
|
|
100
104
|
className: string;
|
|
101
105
|
labelClassName: string;
|
|
102
|
-
} & {
|
|
106
|
+
} & {
|
|
107
|
+
widget?: string | undefined;
|
|
108
|
+
}>, {
|
|
103
109
|
width: string | number;
|
|
104
110
|
label: string;
|
|
105
111
|
minWidth: string | number;
|
|
@@ -144,6 +150,9 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
|
|
|
144
150
|
type: StringConstructor;
|
|
145
151
|
default: string;
|
|
146
152
|
};
|
|
153
|
+
widget: {
|
|
154
|
+
type: StringConstructor;
|
|
155
|
+
};
|
|
147
156
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
148
157
|
label?: unknown;
|
|
149
158
|
span?: unknown;
|
|
@@ -153,6 +162,7 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
|
|
|
153
162
|
labelAlign?: unknown;
|
|
154
163
|
className?: unknown;
|
|
155
164
|
labelClassName?: unknown;
|
|
165
|
+
widget?: unknown;
|
|
156
166
|
} & {
|
|
157
167
|
width: string | number;
|
|
158
168
|
label: string;
|
|
@@ -162,7 +172,9 @@ export declare const PsDescriptionsItem: import("../../utils/types").SFCWithInst
|
|
|
162
172
|
labelAlign: string;
|
|
163
173
|
className: string;
|
|
164
174
|
labelClassName: string;
|
|
165
|
-
} & {
|
|
175
|
+
} & {
|
|
176
|
+
widget?: string | undefined;
|
|
177
|
+
}>, {
|
|
166
178
|
width: string | number;
|
|
167
179
|
label: string;
|
|
168
180
|
minWidth: string | number;
|
|
@@ -31,6 +31,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
31
31
|
type: StringConstructor;
|
|
32
32
|
default: string;
|
|
33
33
|
};
|
|
34
|
+
widget: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
};
|
|
34
37
|
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
35
38
|
label?: unknown;
|
|
36
39
|
span?: unknown;
|
|
@@ -40,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
40
43
|
labelAlign?: unknown;
|
|
41
44
|
className?: unknown;
|
|
42
45
|
labelClassName?: unknown;
|
|
46
|
+
widget?: unknown;
|
|
43
47
|
} & {
|
|
44
48
|
width: string | number;
|
|
45
49
|
label: string;
|
|
@@ -49,7 +53,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
49
53
|
labelAlign: string;
|
|
50
54
|
className: string;
|
|
51
55
|
labelClassName: string;
|
|
52
|
-
} & {
|
|
56
|
+
} & {
|
|
57
|
+
widget?: string | undefined;
|
|
58
|
+
}>, {
|
|
53
59
|
width: string | number;
|
|
54
60
|
label: string;
|
|
55
61
|
minWidth: string | number;
|
|
@@ -18,6 +18,8 @@ export declare const PsInputNumber: import("../../utils/types").SFCWithInstall<i
|
|
|
18
18
|
controlsAtRight: import("vue").ComputedRef<boolean>;
|
|
19
19
|
maxDisabled: import("vue").ComputedRef<boolean>;
|
|
20
20
|
minDisabled: import("vue").ComputedRef<boolean>;
|
|
21
|
+
inputNumberSize: import("vue").ComputedRef<any>;
|
|
22
|
+
inputNumberDisabled: import("vue").ComputedRef<boolean>;
|
|
21
23
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
22
24
|
readonly step?: unknown;
|
|
23
25
|
readonly stepStrictly?: unknown;
|
|
@@ -18,6 +18,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
18
18
|
controlsAtRight: import("vue").ComputedRef<boolean>;
|
|
19
19
|
maxDisabled: import("vue").ComputedRef<boolean>;
|
|
20
20
|
minDisabled: import("vue").ComputedRef<boolean>;
|
|
21
|
+
inputNumberSize: import("vue").ComputedRef<any>;
|
|
22
|
+
inputNumberDisabled: import("vue").ComputedRef<boolean>;
|
|
21
23
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
22
24
|
readonly step?: unknown;
|
|
23
25
|
readonly stepStrictly?: unknown;
|