rate.mjs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from "../../../constants/event.mjs";
  2. import { isNumber } from "../../../utils/types.mjs";
  3. import { buildProps, definePropType } from "../../../utils/vue/props/runtime.mjs";
  4. import { iconPropType } from "../../../utils/vue/icon.mjs";
  5. import { mutable } from "../../../utils/typescript.mjs";
  6. import { useSizeProp } from "../../../hooks/use-size/index.mjs";
  7. import { useAriaProps } from "../../../hooks/use-aria/index.mjs";
  8. import { Star, StarFilled } from "@element-plus/icons-vue";
  9. //#region ../../packages/components/rate/src/rate.ts
  10. /**
  11. * @deprecated Removed after 3.0.0, Use `RateProps` instead.
  12. */
  13. const rateProps = buildProps({
  14. modelValue: {
  15. type: Number,
  16. default: 0
  17. },
  18. id: {
  19. type: String,
  20. default: void 0
  21. },
  22. lowThreshold: {
  23. type: Number,
  24. default: 2
  25. },
  26. highThreshold: {
  27. type: Number,
  28. default: 4
  29. },
  30. max: {
  31. type: Number,
  32. default: 5
  33. },
  34. colors: {
  35. type: definePropType([Array, Object]),
  36. default: () => mutable([
  37. "",
  38. "",
  39. ""
  40. ])
  41. },
  42. voidColor: {
  43. type: String,
  44. default: ""
  45. },
  46. disabledVoidColor: {
  47. type: String,
  48. default: ""
  49. },
  50. icons: {
  51. type: definePropType([Array, Object]),
  52. default: () => [
  53. StarFilled,
  54. StarFilled,
  55. StarFilled
  56. ]
  57. },
  58. voidIcon: {
  59. type: iconPropType,
  60. default: () => Star
  61. },
  62. disabledVoidIcon: {
  63. type: iconPropType,
  64. default: () => StarFilled
  65. },
  66. disabled: {
  67. type: Boolean,
  68. default: void 0
  69. },
  70. allowHalf: Boolean,
  71. showText: Boolean,
  72. showScore: Boolean,
  73. textColor: {
  74. type: String,
  75. default: ""
  76. },
  77. texts: {
  78. type: definePropType(Array),
  79. default: () => mutable([
  80. "Extremely bad",
  81. "Disappointed",
  82. "Fair",
  83. "Satisfied",
  84. "Surprise"
  85. ])
  86. },
  87. scoreTemplate: {
  88. type: String,
  89. default: "{value}"
  90. },
  91. size: useSizeProp,
  92. clearable: Boolean,
  93. ...useAriaProps(["ariaLabel"])
  94. });
  95. const rateEmits = {
  96. [CHANGE_EVENT]: (value) => isNumber(value),
  97. [UPDATE_MODEL_EVENT]: (value) => isNumber(value)
  98. };
  99. //#endregion
  100. export { rateEmits, rateProps };
  101. //# sourceMappingURL=rate.mjs.map