Files
prod/frontend/dist/assets/Spin-CQAmQ-KJ.js
T
2026-10-17 15:22:26 +07:00

43 lines
3.3 KiB
JavaScript

import{H as e,Mt as t,U as n,at as r,bt as i,gn as a,kt as o,nt as s,p as c,rn as l,st as u,tt as d}from"./client-Cs6K6NLD.js";import{c as f}from"./ui-DTRKi8Fz.js";import{t as p}from"./use-compitable-BLVMXevd.js";import{t as m}from"./fade-in.cssr-BNEue_9k.js";import{L as h,R as g,at as _,d as v}from"./index-DSWrUwih.js";var y=d([d(`@keyframes spin-rotate`,`
from {
transform: rotate(0);
}
to {
transform: rotate(360deg);
}
`),s(`spin-container`,`
position: relative;
`,[s(`spin-body`,`
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
`,[m()])]),s(`spin-body`,`
display: inline-flex;
align-items: center;
justify-content: center;
flex-direction: column;
`),s(`spin`,`
display: inline-flex;
height: var(--n-size);
width: var(--n-size);
font-size: var(--n-size);
color: var(--n-color);
`,[r(`rotate`,`
animation: spin-rotate 2s linear infinite;
`)]),s(`spin-description`,`
display: inline-block;
font-size: var(--n-font-size);
color: var(--n-text-color);
transition: color .3s var(--n-bezier);
margin-top: 8px;
`),s(`spin-content`,`
opacity: 1;
transition: opacity .3s var(--n-bezier);
pointer-events: all;
`,[r(`spinning`,`
user-select: none;
-webkit-user-select: none;
pointer-events: none;
opacity: var(--n-opacity-spinning);
`)])]),b={small:20,medium:18,large:16},x=o({name:`Spin`,props:Object.assign(Object.assign(Object.assign({},c.props),{contentClass:String,contentStyle:[Object,String],description:String,size:{type:[String,Number],default:`medium`},show:{type:Boolean,default:!0},rotate:{type:Boolean,default:!0},spinning:{type:Boolean,validator:()=>!0,default:void 0},delay:Number}),g),slots:Object,setup(t){let{mergedClsPrefixRef:r,inlineThemeDisabled:o}=n(t),s=c(`Spin`,`-spin`,y,v,t,r),d=i(()=>{let{size:e}=t,{common:{cubicBezierEaseInOut:n},self:r}=s.value,{opacitySpinning:i,color:a,textColor:o}=r;return{"--n-bezier":n,"--n-opacity-spinning":i,"--n-size":typeof e==`number`?f(e):r[u(`size`,e)],"--n-color":a,"--n-text-color":o}}),m=o?e(`spin`,i(()=>{let{size:e}=t;return typeof e==`number`?String(e):e[0]}),d,t):void 0,h=p(t,[`spinning`,`show`]),g=a(!1);return l(e=>{let n;if(h.value){let{delay:r}=t;if(r){n=window.setTimeout(()=>{g.value=!0},r),e(()=>{clearTimeout(n)});return}}g.value=h.value}),{mergedClsPrefix:r,active:g,mergedStrokeWidth:i(()=>{let{strokeWidth:e}=t;if(e!==void 0)return e;let{size:n}=t;return b[typeof n==`number`?`medium`:n]}),cssVars:o?void 0:d,themeClass:m?.themeClass,onRender:m?.onRender}},render(){var e;let{$slots:n,mergedClsPrefix:r,description:i}=this,a=n.icon&&this.rotate,o=(i||n.description)&&t(`div`,{class:`${r}-spin-description`},i||n.description?.call(n)),s=n.icon?t(`div`,{class:[`${r}-spin-body`,this.themeClass]},t(`div`,{class:[`${r}-spin`,a&&`${r}-spin--rotate`],style:n.default?``:this.cssVars},n.icon()),o):t(`div`,{class:[`${r}-spin-body`,this.themeClass]},t(h,{clsPrefix:r,style:n.default?``:this.cssVars,stroke:this.stroke,"stroke-width":this.mergedStrokeWidth,radius:this.radius,scale:this.scale,class:`${r}-spin`}),o);return(e=this.onRender)==null||e.call(this),n.default?t(`div`,{class:[`${r}-spin-container`,this.themeClass],style:this.cssVars},t(`div`,{class:[`${r}-spin-content`,this.active&&`${r}-spin-content--spinning`,this.contentClass],style:this.contentStyle},n),t(_,{name:`fade-in-transition`},{default:()=>this.active?s:null})):s}});export{x as t};