up
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
import{H as e,Mt as t,U as n,Yt as r,_n as i,at as a,bn as o,bt as s,d as c,it as l,kt as u,nt as d,ot as f,p,st as m,tt as h}from"./client-Cla4nwje.js";import{t as g}from"./use-merged-state-CUjBEXGr.js";import{c as _,l as v}from"./_plugin-vue_export-helper-B7eW7EFJ.js";import{n as y}from"./use-form-item-CLnY4YBF.js";import{Z as b}from"./index-7v6g2BIQ.js";function x(e){let{railColor:t}=e;return{itemColor:t,itemColorActive:`#FFCC33`,sizeSmall:`16px`,sizeMedium:`20px`,sizeLarge:`24px`}}var S={name:`Rate`,common:c,self:x},C=()=>t(`svg`,{viewBox:`0 0 512 512`},t(`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=d(`rate`,{display:`inline-flex`,flexWrap:`nowrap`},[h(`&:hover`,[l(`item`,`
|
||||
transition:
|
||||
transform .1s var(--n-bezier),
|
||||
color .3s var(--n-bezier);
|
||||
`)]),l(`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);
|
||||
`,[h(`&:not(:first-child)`,`
|
||||
margin-left: 6px;
|
||||
`),a(`active`,`
|
||||
color: var(--n-item-color-active);
|
||||
`)]),f(`readonly`,`
|
||||
cursor: pointer;
|
||||
`,[l(`item`,[h(`&:hover`,`
|
||||
transform: scale(1.05);
|
||||
`),h(`&:active`,`
|
||||
transform: scale(0.96);
|
||||
`)])]),l(`half`,`
|
||||
display: flex;
|
||||
transition: inherit;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
color: rgba(255, 255, 255, 0);
|
||||
`,[a(`active`,`
|
||||
color: var(--n-item-color-active);
|
||||
`)])]),T=u({name:`Rate`,props:Object.assign(Object.assign({},p.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(t){let{mergedClsPrefixRef:r,inlineThemeDisabled:a,mergedComponentPropsRef:c}=n(t),l=p(`Rate`,`-rate`,w,S,t,r),u=o(t,`value`),d=i(t.defaultValue),f=i(null),h=y(t,{mergedSize(e){if(t.size!==void 0)return t.size;if(e)return e.mergedSize.value;let n=c?.value?.Rate?.size;return n===void 0?`medium`:n}}),b=g(u,d);function x(e){let{"onUpdate:value":n,onUpdateValue:r}=t,{nTriggerFormChange:i,nTriggerFormInput:a}=h;n&&_(n,e),r&&_(r,e),d.value=e,i(),a()}function C(e,n){return t.allowHalf?n.offsetX>=Math.floor(n.currentTarget.offsetWidth/2)?e+1:e+.5:e+1}let T=!1;function E(e,t){T||(f.value=C(e,t))}function D(){f.value=null}function O(e,n){var r;let{clearable:i}=t,a=C(e,n);i&&a===b.value?(T=!0,(r=t.onClear)==null||r.call(t),f.value=null,x(null)):x(a)}function k(){T=!1}let{mergedSizeRef:A}=h,j=s(()=>{let e=A.value,{self:t}=l.value;return typeof e==`number`?`${e}px`:t[m(`size`,e)]}),M=s(()=>{let{common:{cubicBezierEaseInOut:e},self:n}=l.value,{itemColor:r,itemColorActive:i}=n,{color:a}=t;return{"--n-bezier":e,"--n-item-color":r,"--n-item-color-active":a||i,"--n-item-size":j.value}}),N=a?e(`rate`,s(()=>{let e=j.value,{color:n}=t,r=``;return e&&(r+=e[0]),n&&(r+=v(n)),r}),M,t):void 0;return{mergedClsPrefix:r,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:e,hoverIndex:n,mergedValue:i,mergedClsPrefix:a,onRender:o,$slots:{default:s}}=this;return o?.(),t(`div`,{class:[`${a}-rate`,{[`${a}-rate--readonly`]:e},this.themeClass],style:this.cssVars,onMouseleave:this.handleMouseLeave},r(this.count,(r,o)=>{let c=s?s({index:o}):t(b,{clsPrefix:a},{default:C}),l=n===null?o+1<=(i||0):o+1<=n;return t(`div`,{key:o,class:[`${a}-rate__item`,l&&`${a}-rate__item--active`],onClick:e?void 0:e=>{this.handleClick(o,e)},onMouseenter:this.handleMouseEnterSomeStar,onMousemove:e?void 0:e=>{this.handleMouseMove(o,e)}},c,this.allowHalf?t(`div`,{class:[`${a}-rate__half`,{[`${a}-rate__half--active`]:!l&&n!==null?o+.5<=n:o+.5<=(i||0)}]},c):null)}))}});export{T as t};
|
||||
Reference in New Issue
Block a user