{"version":3,"file":"Rate.cjs","sources":["../../../../../../packages/components/rate/src/Rate.tsx"],"sourcesContent":["import type { CSSProperties, VNode } from 'vue';\nimport { StarFilled } from '@ant-design/icons-vue';\nimport { useRefs } from '@antdv/hooks';\n\nimport { classNames, findDOMNode, KeyCode } from '@antdv/utils';\nimport { defineComponent, onMounted, reactive, ref, watch } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport { useInjectFormItemContext } from '../../form/src/FormItemContext';\n\nimport Tooltip from '../../tooltip';\nimport useStyle from '../style';\nimport { rateProps } from './props';\nimport Star from './Star';\nimport { getOffsetLeft } from './util';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ARate',\n  inheritAttrs: false,\n  props: rateProps(),\n  // emits: ['hoverChange', 'update:value', 'change', 'focus', 'blur', 'keydown'],\n  setup(props, { slots, attrs, emit, expose }) {\n    const { prefixCls, direction } = useConfigInject('rate', props);\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n    const formItemContext = useInjectFormItemContext();\n    const rateRef = ref();\n    const [setRef, starRefs] = useRefs();\n    const state = reactive({\n      value: props.value,\n      focused: false,\n      cleanedValue: null,\n      hoverValue: undefined,\n    });\n    watch(\n      () => props.value,\n      () => {\n        state.value = props.value;\n      },\n    );\n    const getStarDOM = (index: number) => {\n      return findDOMNode(starRefs.value.get(index));\n    };\n    const getStarValue = (index: number, x: number) => {\n      const reverse = direction.value === 'rtl';\n      let value = index + 1;\n      if (props.allowHalf) {\n        const starEle = getStarDOM(index);\n        const leftDis = getOffsetLeft(starEle);\n        const width = starEle.clientWidth;\n        if (reverse && x - leftDis > width / 2)\n          value -= 0.5;\n        else if (!reverse && x - leftDis < width / 2)\n          value -= 0.5;\n      }\n      return value;\n    };\n    const changeValue = (value: number) => {\n      if (props.value === undefined)\n        state.value = value;\n\n      emit('update:value', value);\n      emit('change', value);\n      formItemContext.onFieldChange();\n    };\n\n    const onHover = (e: MouseEvent, index: number) => {\n      const hoverValue = getStarValue(index, e.pageX);\n      if (hoverValue !== state.cleanedValue) {\n        state.hoverValue = hoverValue;\n        state.cleanedValue = null;\n      }\n      emit('hoverChange', hoverValue);\n    };\n    const onMouseLeave = () => {\n      state.hoverValue = undefined;\n      state.cleanedValue = null;\n      emit('hoverChange', undefined);\n    };\n    const onClick = (event: MouseEvent, index: number) => {\n      const { allowClear } = props;\n      const newValue = getStarValue(index, event.pageX);\n      let isReset = false;\n      if (allowClear)\n        isReset = newValue === state.value;\n\n      onMouseLeave();\n      changeValue(isReset ? 0 : newValue);\n      state.cleanedValue = isReset ? newValue : null;\n    };\n    const onFocus = (e: FocusEvent) => {\n      state.focused = true;\n      emit('focus', e);\n    };\n    const onBlur = (e: FocusEvent) => {\n      state.focused = false;\n      emit('blur', e);\n      formItemContext.onFieldBlur();\n    };\n    const onKeyDown = (event: KeyboardEvent) => {\n      const { keyCode } = event;\n      const { count, allowHalf } = props;\n      const reverse = direction.value === 'rtl';\n      if (keyCode === KeyCode.RIGHT && state.value < count && !reverse) {\n        if (allowHalf)\n          state.value += 0.5;\n        else\n          state.value += 1;\n\n        changeValue(state.value);\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && state.value > 0 && !reverse) {\n        if (allowHalf)\n          state.value -= 0.5;\n        else\n          state.value -= 1;\n\n        changeValue(state.value);\n        event.preventDefault();\n      } else if (keyCode === KeyCode.RIGHT && state.value > 0 && reverse) {\n        if (allowHalf)\n          state.value -= 0.5;\n        else\n          state.value -= 1;\n\n        changeValue(state.value);\n        event.preventDefault();\n      } else if (keyCode === KeyCode.LEFT && state.value < count && reverse) {\n        if (allowHalf)\n          state.value += 0.5;\n        else\n          state.value += 1;\n\n        changeValue(state.value);\n        event.preventDefault();\n      }\n      emit('keydown', event);\n    };\n\n    const focus = () => {\n      if (!props.disabled)\n        rateRef.value.focus();\n    };\n    const blur = () => {\n      if (!props.disabled)\n        rateRef.value.blur();\n    };\n\n    expose({\n      focus,\n      blur,\n    });\n\n    onMounted(() => {\n      const { autofocus, disabled } = props;\n      if (autofocus && !disabled)\n        focus();\n    });\n\n    const characterRender = (node: VNode, { index }) => {\n      const { tooltips } = props;\n      if (!tooltips) return node;\n      return <Tooltip title={tooltips[index]}>{node}</Tooltip>;\n    };\n\n    return () => {\n      const { count, allowHalf, disabled, tabindex, id = formItemContext.id.value } = props;\n      const { class: className, style } = attrs;\n      const stars = [];\n      const disabledClass = disabled ? `${prefixCls.value}-disabled` : '';\n      const character = props.character || slots.character || (() => <StarFilled />);\n      for (let index = 0; index < count; index++) {\n        stars.push(\n          <Star\n            ref={setRef(index)}\n            key={index}\n            index={index}\n            count={count}\n            disabled={disabled}\n            prefixCls={`${prefixCls.value}-star`}\n            allowHalf={allowHalf}\n            value={state.hoverValue === undefined ? state.value : state.hoverValue}\n            onClick={onClick}\n            onHover={onHover}\n            character={character}\n            characterRender={characterRender}\n            focused={state.focused}\n          />,\n        );\n      }\n      const rateClassName = classNames(prefixCls.value, disabledClass, className, {\n        [hashId.value]: true,\n        [`${prefixCls.value}-rtl`]: direction.value === 'rtl',\n      });\n      return wrapSSR(\n        <ul\n          {...attrs}\n          id={id}\n          class={rateClassName}\n          style={style as CSSProperties}\n          onMouseleave={disabled ? null : onMouseLeave}\n          tabindex={disabled ? -1 : tabindex}\n          onFocus={disabled ? null : onFocus}\n          onBlur={disabled ? null : onBlur}\n          onKeydown={disabled ? null : onKeyDown}\n          ref={rateRef}\n          role=\"radiogroup\"\n        >\n          {stars}\n        </ul>,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","rateProps","setup","slots","attrs","emit","expose","prefixCls","direction","useConfigInject","wrapSSR","hashId","useStyle","formItemContext","useInjectFormItemContext","rateRef","ref","setRef","starRefs","useRefs","state","reactive","value","focused","cleanedValue","hoverValue","undefined","watch","getStarDOM","index","findDOMNode","get","getStarValue","x","reverse","allowHalf","starEle","leftDis","getOffsetLeft","width","clientWidth","changeValue","onFieldChange","onHover","e","pageX","onMouseLeave","onClick","event","allowClear","newValue","isReset","onFocus","onBlur","onFieldBlur","onKeyDown","keyCode","count","KeyCode","RIGHT","preventDefault","LEFT","focus","disabled","blur","onMounted","autofocus","characterRender","node","tooltips","_createVNode","Tooltip","default","tabindex","id","class","className","style","stars","disabledClass","character","StarFilled","push","Star","rateClassName","classNames"],"mappings":"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"}