{"version":3,"file":"rate.vue2.mjs","sources":["../../../../../../packages/components/rate/src/rate.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToRate'\n});\n</script>\n<template>\n\t<div v-dis.opacity=\"disabled\" class=\"to-rate\" :class=\"[`color-${color}`, { 'is-half': allowHalf, 'is-readonly': isReadonly }]\" :style=\"setStyle\" @mouseleave=\"handleMouseLeave\">\n\t\t<div\n\t\t\tv-for=\"i in max\"\n\t\t\t:key=\"i\"\n\t\t\tclass=\"to-rate-item\"\n\t\t\t:class=\"{\n\t\t\t\t'is-on': i <= ivalue,\n\t\t\t\t'is-half-on': allowHalf && i - 0.5 <= ivalue && i > ivalue,\n\t\t\t\t'is-hover': !isReadonly && i <= hoverIndex && !hoverHalf\n\t\t\t}\"\n\t\t\t@click=\"handleClick(i, $event)\"\n\t\t\t@mousemove=\"allowHalf && !isReadonly ? handleHalfMove(i, $event) : undefined\"\n\t\t\t@mouseenter=\"!isReadonly ? (hoverIndex = i) : undefined\"\n\t\t>\n\t\t\t<span class=\"to-rate-item-star\"></span>\n\t\t</div>\n\t\t<div v-if=\"showScore\" class=\"to-rate-score\">{{ displayValue }}</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { CSSProperties, computed, ref, watch } from 'vue'\n\n\n\nconst props = defineProps({\n\tmodelValue: {\n\t\ttype: Number,\n\t\tdefault: 0\n\t},\n\tmax: {\n\t\ttype: Number,\n\t\tdefault: 5\n\t},\n\tsize: {\n\t\ttype: Number,\n\t\tdefault: 2\n\t},\n\treadonly: Boolean,\n\tallowHalf: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'primary'\n\t},\n\tshowScore: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t}\n})\n\nconst emit = defineEmits(['update:modelValue', 'change'])\n\nconst ivalue = ref(props.modelValue)\nconst hoverIndex = ref(0)\nconst hoverHalf = ref(false)\n\nconst isReadonly = computed(() => props.readonly)\nconst disabled = computed(() => props.readonly)\n\nconst displayValue = computed(() => {\n\tif (!isReadonly.value && hoverIndex.value > 0) {\n\t\treturn hoverHalf.value ? hoverIndex.value - 0.5 : hoverIndex.value\n\t}\n\treturn ivalue.value\n})\n\nconst setStyle = computed(() => {\n\tconst obj: CSSProperties = {}\n\tif (props.size) {\n\t\tobj['--size'] = props.size + 'em'\n\t}\n\treturn obj\n})\n\nwatch(\n\t() => props.modelValue,\n\tval => {\n\t\tivalue.value = val\n\t},\n\t{ immediate: true }\n)\n\nfunction handleClick(i: number, event: MouseEvent) {\n\tif (isReadonly.value) return\n\tlet value: number = i\n\tif (props.allowHalf) {\n\t\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\n\t\tconst x = event.clientX - rect.left\n\t\tvalue = x < rect.width / 2 ? i - 0.5 : i\n\t}\n\tif (props.clearable && ivalue.value === value) {\n\t\tvalue = 0\n\t}\n\tivalue.value = value\n\temit('update:modelValue', value)\n\temit('change', value)\n}\n\nfunction handleHalfMove(i: number, event: MouseEvent) {\n\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect()\n\tconst x = event.clientX - rect.left\n\thoverIndex.value = i\n\thoverHalf.value = x < rect.width / 2\n}\n\nfunction handleMouseLeave() {\n\tif (!isReadonly.value) {\n\t\thoverIndex.value = 0\n\t\thoverHalf.value = false\n\t}\n}\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_Fragment","_renderList","_createElementVNode"],"mappings":"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"}