"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const event = require("../../../constants/event.js");
const types = require("../../../utils/types.js");
const runtime = require("../../../utils/vue/props/runtime.js");
const icon = require("../../../utils/vue/icon.js");
const typescript = require("../../../utils/typescript.js");
const index$1 = require("../../../hooks/use-size/index.js");
const index = require("../../../hooks/use-aria/index.js");
const index$2 = require("../../../../../@element-plus/icons-vue/dist/index.js");
const rateProps = runtime.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: runtime.definePropType([Array, Object]),
    default: () => typescript.mutable([
      "",
      "",
      ""
    ])
  },
  voidColor: {
    type: String,
    default: ""
  },
  disabledVoidColor: {
    type: String,
    default: ""
  },
  icons: {
    type: runtime.definePropType([Array, Object]),
    default: () => [
      index$2.StarFilled,
      index$2.StarFilled,
      index$2.StarFilled
    ]
  },
  voidIcon: {
    type: icon.iconPropType,
    default: () => index$2.Star
  },
  disabledVoidIcon: {
    type: icon.iconPropType,
    default: () => index$2.StarFilled
  },
  disabled: {
    type: Boolean,
    default: void 0
  },
  allowHalf: Boolean,
  showText: Boolean,
  showScore: Boolean,
  textColor: {
    type: String,
    default: ""
  },
  texts: {
    type: runtime.definePropType(Array),
    default: () => typescript.mutable([
      "Extremely bad",
      "Disappointed",
      "Fair",
      "Satisfied",
      "Surprise"
    ])
  },
  scoreTemplate: {
    type: String,
    default: "{value}"
  },
  size: index$1.useSizeProp,
  clearable: Boolean,
  ...index.useAriaProps(["ariaLabel"])
});
const rateEmits = {
  [event.CHANGE_EVENT]: (value) => types.isNumber(value),
  [event.UPDATE_MODEL_EVENT]: (value) => types.isNumber(value)
};
exports.rateEmits = rateEmits;
exports.rateProps = rateProps;
