index-aa89623d.js 1.8 KB

1
  1. import{c as P,b as g,d as W,r as v,x as C,bN as D,bm as E,a3 as q,a2 as L,w as M,g as $,v as A,a as c,I,a4 as R,aP as y,aB as O,a1 as V,k as X}from"./index-2fc2b52f.js";const[_,i]=P("notice-bar"),j={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=W({name:_,props:j,emits:["close","replay"],setup(e,{emit:m,slots:a}){let l=0,o=0,h;const d=v(),u=v(),t=C({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"},N=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:N},null)},S=()=>{t.offset=l,t.duration=0,O(()=>{y(()=>{t.offset=-o,t.duration=(o+l)/+e.speed,m("replay")})})},B=()=>{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:S},[a.default?a.default():e.text])])},s=()=>{const{delay:n,speed:r,scrollable:f}=e,T=V(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})},T)};return D(s),E(s),q("pageshow",s),L({reset:s}),M(()=>[e.text,e.scrollable],s),()=>{const{color:n,wrapable:r,background:f}=e;return $(c("div",{role:"alert",class:i({wrapable:r}),style:{color:n,background:f}},[k(),B(),p()]),[[A,t.show]])}}});const G=X(z);export{G as N};