{"version":3,"file":"rate.mjs","sources":["../../../../../../packages/components/rate/src/rate.ts"],"sourcesContent":["import { IconStar, IconStarFilled } from '@vuesax-plus/components'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@vuesax-plus/constants'\nimport {\n  buildProps,\n  definePropType,\n  iconPropType,\n  isNumber,\n  isValidComponentSize,\n  mutable,\n} from '@vuesax-plus/utils'\nimport type { ComponentSize } from '@vuesax-plus/constants'\nimport type { Component, ExtractPropTypes, PropType } from 'vue'\nimport type Rate from './rate.vue'\n\nexport const rateProps = buildProps({\n  modelValue: {\n    type: Number,\n    default: 0,\n  },\n  id: {\n    type: String,\n    default: undefined,\n  },\n  lowThreshold: {\n    type: Number,\n    default: 2,\n  },\n  highThreshold: {\n    type: Number,\n    default: 4,\n  },\n  max: {\n    type: Number,\n    default: 5,\n  },\n  colors: {\n    type: definePropType<string[] | Record<number, string>>([Array, Object]),\n    default: () => mutable(['', '', ''] as const),\n  },\n  voidColor: {\n    type: String,\n    default: '',\n  },\n  disabledVoidColor: {\n    type: String,\n    default: '',\n  },\n  icons: {\n    type: definePropType<\n      Array<string | Component> | Record<number, string | Component>\n    >([Array, Object]),\n    default: () => [IconStarFilled, IconStarFilled, IconStarFilled],\n  },\n  voidIcon: {\n    type: iconPropType,\n    default: () => IconStar,\n  },\n  disabledVoidIcon: {\n    type: iconPropType,\n    default: () => IconStarFilled,\n  },\n  disabled: {\n    type: Boolean,\n  },\n  allowHalf: {\n    type: Boolean,\n  },\n  showText: {\n    type: Boolean,\n  },\n  showScore: {\n    type: Boolean,\n  },\n  textColor: {\n    type: String,\n    default: '',\n  },\n  texts: {\n    type: definePropType<string[]>(Array),\n    default: () =>\n      mutable([\n        'Extremely bad',\n        'Disappointed',\n        'Fair',\n        'Satisfied',\n        'Surprise',\n      ] as const),\n  },\n  scoreTemplate: {\n    type: String,\n    default: '{value}',\n  },\n  size: {\n    type: String as PropType<ComponentSize>,\n    validator: isValidComponentSize,\n  },\n  label: {\n    type: String,\n    default: undefined,\n  },\n  clearable: {\n    type: Boolean,\n    default: false,\n  },\n} as const)\n\nexport type RateProps = ExtractPropTypes<typeof rateProps>\n\nexport const rateEmits = {\n  [CHANGE_EVENT]: (value: number) => isNumber(value),\n  [UPDATE_MODEL_EVENT]: (value: number) => isNumber(value),\n}\nexport type RateEmits = typeof rateEmits\n\nexport type RateInstance = InstanceType<typeof Rate>\n"],"names":[],"mappings":"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"}