103 lines
2.0 KiB
JavaScript
103 lines
2.0 KiB
JavaScript
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from "../../../constants/event.mjs";
|
|
import { isNumber } from "../../../utils/types.mjs";
|
|
import { buildProps, definePropType } from "../../../utils/vue/props/runtime.mjs";
|
|
import { iconPropType } from "../../../utils/vue/icon.mjs";
|
|
import { mutable } from "../../../utils/typescript.mjs";
|
|
import { useSizeProp } from "../../../hooks/use-size/index.mjs";
|
|
import { useAriaProps } from "../../../hooks/use-aria/index.mjs";
|
|
import { Star, StarFilled } from "@element-plus/icons-vue";
|
|
|
|
//#region ../../packages/components/rate/src/rate.ts
|
|
/**
|
|
* @deprecated Removed after 3.0.0, Use `RateProps` instead.
|
|
*/
|
|
const rateProps = buildProps({
|
|
modelValue: {
|
|
type: Number,
|
|
default: 0
|
|
},
|
|
id: {
|
|
type: String,
|
|
default: void 0
|
|
},
|
|
lowThreshold: {
|
|
type: Number,
|
|
default: 2
|
|
},
|
|
highThreshold: {
|
|
type: Number,
|
|
default: 4
|
|
},
|
|
max: {
|
|
type: Number,
|
|
default: 5
|
|
},
|
|
colors: {
|
|
type: definePropType([Array, Object]),
|
|
default: () => mutable([
|
|
"",
|
|
"",
|
|
""
|
|
])
|
|
},
|
|
voidColor: {
|
|
type: String,
|
|
default: ""
|
|
},
|
|
disabledVoidColor: {
|
|
type: String,
|
|
default: ""
|
|
},
|
|
icons: {
|
|
type: definePropType([Array, Object]),
|
|
default: () => [
|
|
StarFilled,
|
|
StarFilled,
|
|
StarFilled
|
|
]
|
|
},
|
|
voidIcon: {
|
|
type: iconPropType,
|
|
default: () => Star
|
|
},
|
|
disabledVoidIcon: {
|
|
type: iconPropType,
|
|
default: () => StarFilled
|
|
},
|
|
disabled: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
allowHalf: Boolean,
|
|
showText: Boolean,
|
|
showScore: Boolean,
|
|
textColor: {
|
|
type: String,
|
|
default: ""
|
|
},
|
|
texts: {
|
|
type: definePropType(Array),
|
|
default: () => mutable([
|
|
"Extremely bad",
|
|
"Disappointed",
|
|
"Fair",
|
|
"Satisfied",
|
|
"Surprise"
|
|
])
|
|
},
|
|
scoreTemplate: {
|
|
type: String,
|
|
default: "{value}"
|
|
},
|
|
size: useSizeProp,
|
|
clearable: Boolean,
|
|
...useAriaProps(["ariaLabel"])
|
|
});
|
|
const rateEmits = {
|
|
[CHANGE_EVENT]: (value) => isNumber(value),
|
|
[UPDATE_MODEL_EVENT]: (value) => isNumber(value)
|
|
};
|
|
|
|
//#endregion
|
|
export { rateEmits, rateProps };
|
|
//# sourceMappingURL=rate.mjs.map
|