import{M as e,b as t,ft as n,ht as r,k as i,q as a}from"./client-Cpk7Zqeq.js";import{G as o,J as s,K as c,M as l,N as u,X as d,Y as f,Z as p,r as m,t as h}from"./light-KuhkUzLX.js";import{t as g}from"./use-merged-state-BZ17NeLf.js";import{i as _,n as v,r as y}from"./use-form-item-DYPowMhm.js";import{U as b}from"./index-Dtq_MLEW.js";function x(e){let{railColor:t}=e;return{itemColor:t,itemColorActive:`#FFCC33`,sizeSmall:`16px`,sizeMedium:`20px`,sizeLarge:`24px`}}var S={name:`Rate`,common:h,self:x},C=()=>e(`svg`,{viewBox:`0 0 512 512`},e(`path`,{d:`M394 480a16 16 0 01-9.39-3L256 383.76 127.39 477a16 16 0 01-24.55-18.08L153 310.35 23 221.2a16 16 0 019-29.2h160.38l48.4-148.95a16 16 0 0130.44 0l48.4 149H480a16 16 0 019.05 29.2L359 310.35l50.13 148.53A16 16 0 01394 480z`})),w=c(`rate`,{display:`inline-flex`,flexWrap:`nowrap`},[o(`&:hover`,[s(`item`,` transition: transform .1s var(--n-bezier), color .3s var(--n-bezier); `)]),s(`item`,` position: relative; display: flex; transition: transform .1s var(--n-bezier), color .3s var(--n-bezier); transform: scale(1); font-size: var(--n-item-size); color: var(--n-item-color); `,[o(`&:not(:first-child)`,` margin-left: 6px; `),f(`active`,` color: var(--n-item-color-active); `)]),d(`readonly`,` cursor: pointer; `,[s(`item`,[o(`&:hover`,` transform: scale(1.05); `),o(`&:active`,` transform: scale(0.96); `)])]),s(`half`,` display: flex; transition: inherit; position: absolute; top: 0; left: 0; bottom: 0; width: 50%; overflow: hidden; color: rgba(255, 255, 255, 0); `,[f(`active`,` color: var(--n-item-color-active); `)])]),T=i({name:`Rate`,props:Object.assign(Object.assign({},m.props),{allowHalf:Boolean,count:{type:Number,default:5},value:Number,defaultValue:{type:Number,default:null},readonly:Boolean,size:[String,Number],clearable:Boolean,color:String,onClear:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array]}),setup(e){let{mergedClsPrefixRef:i,inlineThemeDisabled:a,mergedComponentPropsRef:o}=u(e),s=m(`Rate`,`-rate`,w,S,e,i),c=r(e,`value`),d=n(e.defaultValue),f=n(null),h=v(e,{mergedSize(t){if(e.size!==void 0)return e.size;if(t)return t.mergedSize.value;let n=o?.value?.Rate?.size;return n===void 0?`medium`:n}}),b=g(c,d);function x(t){let{"onUpdate:value":n,onUpdateValue:r}=e,{nTriggerFormChange:i,nTriggerFormInput:a}=h;n&&y(n,t),r&&y(r,t),d.value=t,i(),a()}function C(t,n){return e.allowHalf?n.offsetX>=Math.floor(n.currentTarget.offsetWidth/2)?t+1:t+.5:t+1}let T=!1;function E(e,t){T||(f.value=C(e,t))}function D(){f.value=null}function O(t,n){var r;let{clearable:i}=e,a=C(t,n);i&&a===b.value?(T=!0,(r=e.onClear)==null||r.call(e),f.value=null,x(null)):x(a)}function k(){T=!1}let{mergedSizeRef:A}=h,j=t(()=>{let e=A.value,{self:t}=s.value;return typeof e==`number`?`${e}px`:t[p(`size`,e)]}),M=t(()=>{let{common:{cubicBezierEaseInOut:t},self:n}=s.value,{itemColor:r,itemColorActive:i}=n,{color:a}=e;return{"--n-bezier":t,"--n-item-color":r,"--n-item-color-active":a||i,"--n-item-size":j.value}}),N=a?l(`rate`,t(()=>{let t=j.value,{color:n}=e,r=``;return t&&(r+=t[0]),n&&(r+=_(n)),r}),M,e):void 0;return{mergedClsPrefix:i,mergedValue:b,hoverIndex:f,handleMouseMove:E,handleClick:O,handleMouseLeave:D,handleMouseEnterSomeStar:k,cssVars:a?void 0:M,themeClass:N?.themeClass,onRender:N?.onRender}},render(){let{readonly:t,hoverIndex:n,mergedValue:r,mergedClsPrefix:i,onRender:o,$slots:{default:s}}=this;return o?.(),e(`div`,{class:[`${i}-rate`,{[`${i}-rate--readonly`]:t},this.themeClass],style:this.cssVars,onMouseleave:this.handleMouseLeave},a(this.count,(a,o)=>{let c=s?s({index:o}):e(b,{clsPrefix:i},{default:C}),l=n===null?o+1<=(r||0):o+1<=n;return e(`div`,{key:o,class:[`${i}-rate__item`,l&&`${i}-rate__item--active`],onClick:t?void 0:e=>{this.handleClick(o,e)},onMouseenter:this.handleMouseEnterSomeStar,onMousemove:t?void 0:e=>{this.handleMouseMove(o,e)}},c,this.allowHalf?e(`div`,{class:[`${i}-rate__half`,{[`${i}-rate__half--active`]:!l&&n!==null?o+.5<=n:o+.5<=(r||0)}]},c):null)}))}});export{T as t};