{"version":3,"file":"Star.cjs","sources":["../../../../../../packages/components/rate/src/Star.tsx"],"sourcesContent":["import { computed, defineComponent } from 'vue';\nimport { starProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'Star',\n  inheritAttrs: false,\n  props: starProps(),\n  emits: ['hover', 'click'],\n  setup(props, { emit }) {\n    const onHover = (e: MouseEvent) => {\n      const { index } = props;\n      emit('hover', e, index);\n    };\n    const onClick = (e: MouseEvent) => {\n      const { index } = props;\n      emit('click', e, index);\n    };\n    const onKeyDown = (e: KeyboardEvent) => {\n      const { index } = props;\n      if (e.keyCode === 13)\n        emit('click', e, index);\n    };\n\n    const cls = computed(() => {\n      const { prefixCls, index, value, allowHalf, focused } = props;\n      const starValue = index + 1;\n      let className = prefixCls;\n      if (value === 0 && index === 0 && focused) {\n        className += ` ${prefixCls}-focused`;\n      } else if (allowHalf && value + 0.5 >= starValue && value < starValue) {\n        className += ` ${prefixCls}-half ${prefixCls}-active`;\n        if (focused)\n          className += ` ${prefixCls}-focused`;\n      } else {\n        className += starValue <= value ? ` ${prefixCls}-full` : ` ${prefixCls}-zero`;\n        if (starValue === value && focused)\n          className += ` ${prefixCls}-focused`;\n      }\n      return className;\n    });\n\n    return () => {\n      const { disabled, prefixCls, characterRender, character, index, count, value } = props;\n      const characterNode\n        = typeof character === 'function'\n          ? character({\n              disabled,\n              prefixCls,\n              index,\n              count,\n              value,\n            })\n          : character;\n      let star = (\n        <li class={cls.value}>\n          <div\n            onClick={disabled ? null : onClick}\n            onKeydown={disabled ? null : onKeyDown}\n            onMousemove={disabled ? null : onHover}\n            role=\"radio\"\n            aria-checked={value > index ? 'true' : 'false'}\n            aria-posinset={index + 1}\n            aria-setsize={count}\n            tabindex={disabled ? -1 : 0}\n          >\n            <div class={`${prefixCls}-first`}>{characterNode}</div>\n            <div class={`${prefixCls}-second`}>{characterNode}</div>\n          </div>\n        </li>\n      );\n      if (characterRender)\n        star = characterRender(star, props);\n\n      return star;\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","starProps","emits","setup","emit","onHover","e","index","onClick","onKeyDown","keyCode","cls","computed","prefixCls","value","allowHalf","focused","starValue","className","disabled","characterRender","character","count","characterNode","star","_createVNode"],"mappings":";;;;;;;AAGA,2BAA+BA,mBAAA,CAAA;AAAA,EAC7BC,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,IAAM,EAAA,MAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,OAAOC,eAAU,EAAA;AAAA,EACjBC,KAAAA,EAAO,CAAC,OAAA,EAAS,OAAO,CAAA;AAAA,EACxBC,MAAMH,KAAO,EAAA;AAAA,IAAEI,IAAAA;AAAAA,GAAQ,EAAA;AACrB,IAAA,MAAMC,UAAWC,CAAkB,CAAA,KAAA;AACjC,MAAM,MAAA;AAAA,QAAEC,KAAAA;AAAAA,OAAUP,GAAAA,KAAAA,CAAAA;AAClBI,MAAK,IAAA,CAAA,OAAA,EAASE,GAAGC,KAAK,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAA,MAAMC,UAAWF,CAAkB,CAAA,KAAA;AACjC,MAAM,MAAA;AAAA,QAAEC,KAAAA;AAAAA,OAAUP,GAAAA,KAAAA,CAAAA;AAClBI,MAAK,IAAA,CAAA,OAAA,EAASE,GAAGC,KAAK,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAA,MAAME,YAAaH,CAAqB,CAAA,KAAA;AACtC,MAAM,MAAA;AAAA,QAAEC,KAAAA;AAAAA,OAAUP,GAAAA,KAAAA,CAAAA;AAClB,MAAA,IAAIM,EAAEI,OAAY,KAAA,EAAA;AAChBN,QAAK,IAAA,CAAA,OAAA,EAASE,GAAGC,KAAK,CAAA,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAMI,MAAAA,GAAAA,GAAMC,aAAS,MAAM;AACzB,MAAM,MAAA;AAAA,QAAEC,SAAAA;AAAAA,QAAWN,KAAAA;AAAAA,QAAOO,KAAAA;AAAAA,QAAOC,SAAAA;AAAAA,QAAWC,OAAAA;AAAAA,OAAYhB,GAAAA,KAAAA,CAAAA;AACxD,MAAA,MAAMiB,YAAYV,KAAQ,GAAA,CAAA,CAAA;AAC1B,MAAA,IAAIW,SAAYL,GAAAA,SAAAA,CAAAA;AAChB,MAAA,IAAIC,KAAU,KAAA,CAAA,IAAKP,KAAU,KAAA,CAAA,IAAKS,OAAS,EAAA;AACzCE,QAAAA,SAAAA,IAAc,IAAGL,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,iBAClBE,SAAaD,IAAAA,KAAAA,GAAQ,GAAOG,IAAAA,SAAAA,IAAaH,QAAQG,SAAW,EAAA;AACrEC,QAAc,SAAA,IAAA,CAAA,CAAA,EAAGL,SAAU,CAAA,MAAA,EAAQA,SAAU,CAAA,OAAA,CAAA,CAAA;AAC7C,QAAIG,IAAAA,OAAAA;AACFE,UAAAA,SAAAA,IAAc,IAAGL,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,OACxB,MAAA;AACLK,QAAAA,SAAAA,IAAaD,aAAaH,KAAS,GAAA,CAAA,CAAA,EAAGD,SAAU,CAAA,KAAA,CAAA,GAAU,IAAGA,SAAU,CAAA,KAAA,CAAA,CAAA;AACvE,QAAA,IAAII,cAAcH,KAASE,IAAAA,OAAAA;AACzBE,UAAAA,SAAAA,IAAc,IAAGL,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,OAC/B;AACA,MAAOK,OAAAA,SAAAA,CAAAA;AAAAA,KACR,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AACX,MAAM,MAAA;AAAA,QAAEC,QAAAA;AAAAA,QAAUN,SAAAA;AAAAA,QAAWO,eAAAA;AAAAA,QAAiBC,SAAAA;AAAAA,QAAWd,KAAAA;AAAAA,QAAOe,KAAAA;AAAAA,QAAOR,KAAAA;AAAAA,OAAUd,GAAAA,KAAAA,CAAAA;AACjF,MAAA,MAAMuB,aACF,GAAA,OAAOF,SAAc,KAAA,UAAA,GACnBA,SAAU,CAAA;AAAA,QACRF,QAAAA;AAAAA,QACAN,SAAAA;AAAAA,QACAN,KAAAA;AAAAA,QACAe,KAAAA;AAAAA,QACAR,KAAAA;AAAAA,OACD,CACDO,GAAAA,SAAAA,CAAAA;AACN,MAAIG,IAAAA,IAAAA,GAAIC,gBAAA,IAAA,EAAA;AAAA,QAAA,SACKd,GAAIG,CAAAA,KAAAA;AAAAA,OAAK,EAAA,CAAAW,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,SAAA,EAEPN,WAAW,IAAOX,GAAAA,OAAAA;AAAAA,QAAO,WAAA,EACvBW,WAAW,IAAOV,GAAAA,SAAAA;AAAAA,QAAS,aAAA,EACzBU,WAAW,IAAOd,GAAAA,OAAAA;AAAAA,QAAO,MAAA,EAAA,OAAA;AAAA,QAAA,cAAA,EAExBS,KAAQP,GAAAA,KAAAA,GAAQ,MAAS,GAAA,OAAA;AAAA,QAAO,iBAC/BA,KAAQ,GAAA,CAAA;AAAA,QAAC,cACVe,EAAAA,KAAAA;AAAAA,QAAK,UAAA,EACTH,WAAW,CAAK,CAAA,GAAA,CAAA;AAAA,OAAC,EAAA,CAAAM,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAEd,GAAEZ,SAAU,CAAA,MAAA,CAAA;AAAA,SAAUU,CAAAA,aAAa,IAAAE,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACnC,GAAEZ,SAAU,CAAA,OAAA,CAAA;AAAA,SAAQ,CAAGU,aAAa,CAGtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACD,MAAIH,IAAAA,eAAAA;AACFI,QAAOJ,IAAAA,GAAAA,eAAAA,CAAgBI,MAAMxB,KAAK,CAAA,CAAA;AAEpC,MAAOwB,OAAAA,IAAAA,CAAAA;AAAAA,KACT,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}