12 |
- import{L as u,i as c,a2 as b,l as w,al as k,U as S,_ as W,o,a as i,b as d,O as T,W as f,Y as B,M as O,S as _,P as m,n as I}from"./vue.e1d8f8c6.js";import{_ as A}from"./index.6ed0cd31.js";const $={key:1,class:"notice-bar-warp-slot"},R=u({name:"noticeBar"}),z=u({...R,props:{mode:{type:String,default:()=>""},text:{type:String,default:()=>""},color:{type:String,default:()=>"var(--el-color-warning)"},background:{type:String,default:()=>"var(--el-color-warning-light-9)"},size:{type:[Number,String],default:()=>14},height:{type:Number,default:()=>40},delay:{type:Number,default:()=>1},speed:{type:Number,default:()=>100},scrollable:{type:Boolean,default:()=>!1},leftIcon:{type:String,default:()=>""},rightIcon:{type:String,default:()=>""}},emits:["close","link"],setup(t,{emit:l}){const n=t,s=c(),a=c(),e=b({order:1,oneTime:0,twoTime:0,warpOWidth:0,textOWidth:0,isMode:!1}),p=()=>{I(()=>{e.warpOWidth=s.value.offsetWidth,e.textOWidth=a.value.offsetWidth,document.styleSheets[0].insertRule(`@keyframes oneAnimation {0% {left: 0px;} 100% {left: -${e.textOWidth}px;}}`),document.styleSheets[0].insertRule(`@keyframes twoAnimation {0% {left: ${e.warpOWidth}px;} 100% {left: -${e.textOWidth}px;}}`),y(),setTimeout(()=>{r()},n.delay*1e3)})},y=()=>{e.oneTime=e.textOWidth/n.speed,e.twoTime=(e.textOWidth+e.warpOWidth)/n.speed},r=()=>{e.order===1?(a.value.style.cssText=`animation: oneAnimation ${e.oneTime}s linear; opactity: 1;}`,e.order=2):a.value.style.cssText=`animation: twoAnimation ${e.twoTime}s linear infinite; opacity: 1;`},h=()=>{a.value.addEventListener("animationend",()=>{r()},!1)},x=()=>{if(!n.mode)return!1;n.mode==="closeable"?(e.isMode=!0,l("close")):n.mode==="link"&&l("link")};return w(()=>{if(n.scrollable)return!1;p(),h()}),(g,C)=>{const v=k("SvgIcon");return S((o(),i("div",{class:"notice-bar",style:m({background:t.background,height:`${t.height}px`})},[d("div",{class:"notice-bar-warp",style:m({color:t.color,fontSize:`${t.size}px`})},[t.leftIcon?(o(),i("i",{key:0,class:T(["notice-bar-warp-left-icon",t.leftIcon])},null,2)):f("v-if",!0),d("div",{class:"notice-bar-warp-text-box",ref_key:"noticeBarWarpRef",ref:s},[t.scrollable?(o(),i("div",$,[O(g.$slots,"default",{},void 0,!0)])):(o(),i("div",{key:0,class:"notice-bar-warp-text",ref_key:"noticeBarTextRef",ref:a},B(t.text),513))],512),t.rightIcon?(o(),_(v,{key:1,name:t.rightIcon,class:"notice-bar-warp-right-icon",onClick:x},null,8,["name"])):f("v-if",!0)],4)],4)),[[W,!e.isMode]])}}});const E=A(z,[["__scopeId","data-v-8dd11bef"],["__file","E:/code/wwwroot/local81.lzj/simple_storage/vue-next-admin/src/components/noticeBar/index.vue"]]);export{E as default};
|