index-6dc4c05e.js 1.8 KB

1
  1. import{c as W,b as g,d as C,r as v,x as D,bL as E,bO as L,_ as P,Z as $,w as q,g as M,v as O,a as c,I,$ as R,aS as y,aT as _,Y as A,k as V}from"./index-521a9826.js";const[X,i]=W("notice-bar"),Y={text:String,mode:String,color:String,delay:g(1),speed:g(60),leftIcon:String,wrapable:Boolean,background:String,scrollable:{type:Boolean,default:null}};var Z=C({name:X,props:Y,emits:["close","replay"],setup(e,{emit:m,slots:a}){let l=0,o=0,h;const d=v(),u=v(),t=D({show:!0,offset:0,duration:0}),k=()=>{if(a["left-icon"])return a["left-icon"]();if(e.leftIcon)return c(I,{class:i("left-icon"),name:e.leftIcon},null)},x=()=>{if(e.mode==="closeable")return"cross";if(e.mode==="link")return"arrow"},S=n=>{e.mode==="closeable"&&(t.show=!1,m("close",n))},p=()=>{if(a["right-icon"])return a["right-icon"]();const n=x();if(n)return c(I,{name:n,class:i("right-icon"),onClick:S},null)},N=()=>{t.offset=l,t.duration=0,_(()=>{y(()=>{t.offset=-o,t.duration=(o+l)/+e.speed,m("replay")})})},T=()=>{const n=e.scrollable===!1&&!e.wrapable,r={transform:t.offset?`translateX(${t.offset}px)`:"",transitionDuration:`${t.duration}s`};return c("div",{ref:d,role:"marquee",class:i("wrap")},[c("div",{ref:u,style:r,class:[i("content"),{"van-ellipsis":n}],onTransitionend:N},[a.default?a.default():e.text])])},s=()=>{const{delay:n,speed:r,scrollable:f}=e,B=A(n)?+n*1e3:0;l=0,o=0,t.offset=0,t.duration=0,clearTimeout(h),h=setTimeout(()=>{if(!d.value||!u.value||f===!1)return;const w=R(d).width,b=R(u).width;(f||b>w)&&y(()=>{l=w,o=b,t.offset=-o,t.duration=o/+r})},B)};return E(s),L(s),P("pageshow",s),$({reset:s}),q(()=>[e.text,e.scrollable],s),()=>{const{color:n,wrapable:r,background:f}=e;return M(c("div",{role:"alert",class:i({wrapable:r}),style:{color:n,background:f}},[k(),T(),p()]),[[O,t.show]])}}});const z=V(Z);export{z as N};