import{av as t,_ as e,o as n,p as o,w as s,B as i,k as u,t as a,v as d,f as l,C as c,i as r,G as h,b as m,d as y}from"./index-2PZN6pGH.js";import{_ as p}from"./uni-card.CpdfOoXJ.js";import{_ as f}from"./uni-section.BISPxi99.js";const w={en:{"uni-countdown.day":"day","uni-countdown.h":"h","uni-countdown.m":"m","uni-countdown.s":"s"},"zh-Hans":{"uni-countdown.day":"天","uni-countdown.h":"时","uni-countdown.m":"分","uni-countdown.s":"秒"},"zh-Hant":{"uni-countdown.day":"天","uni-countdown.h":"時","uni-countdown.m":"分","uni-countdown.s":"秒"}},{t:_}=t(w);const g=e({name:"UniCountdown",emits:["timeup"],props:{showDay:{type:Boolean,default:!0},showColon:{type:Boolean,default:!0},start:{type:Boolean,default:!0},backgroundColor:{type:String,default:""},color:{type:String,default:"#333"},fontSize:{type:Number,default:14},splitorColor:{type:String,default:"#333"},day:{type:Number,default:0},hour:{type:Number,default:0},minute:{type:Number,default:0},second:{type:Number,default:0},timestamp:{type:Number,default:0}},data:()=>({timer:null,syncFlag:!1,d:"00",h:"00",i:"00",s:"00",leftTime:0,seconds:0}),computed:{dayText:()=>_("uni-countdown.day"),hourText:t=>_("uni-countdown.h"),minuteText:t=>_("uni-countdown.m"),secondText:t=>_("uni-countdown.s"),timeStyle(){const{color:t,backgroundColor:e,fontSize:n}=this;return{color:t,backgroundColor:e,fontSize:`${n}px`,width:22*n/14+"px",lineHeight:20*n/14+"px",borderRadius:3*n/14+"px"}},splitorStyle(){const{splitorColor:t,fontSize:e,backgroundColor:n}=this;return{color:t,fontSize:12*e/14+"px",margin:n?4*e/14+"px":""}}},watch:{day(t){this.changeFlag()},hour(t){this.changeFlag()},minute(t){this.changeFlag()},second(t){this.changeFlag()},start:{immediate:!0,handler(t,e){if(t)this.startData();else{if(!e)return;clearInterval(this.timer)}}}},created:function(t){this.seconds=this.toSeconds(this.timestamp,this.day,this.hour,this.minute,this.second),this.countDown()},unmounted(){clearInterval(this.timer)},methods:{toSeconds:(t,e,n,o,s)=>t?t-parseInt((new Date).getTime()/1e3,10):60*e*60*24+60*n*60+60*o+s,timeUp(){clearInterval(this.timer),this.$emit("timeup")},countDown(){let t=this.seconds,[e,n,o,s]=[0,0,0,0];t>0?(e=Math.floor(t/86400),n=Math.floor(t/3600)-24*e,o=Math.floor(t/60)-24*e*60-60*n,s=Math.floor(t)-24*e*60*60-60*n*60-60*o):this.timeUp(),e<10&&(e="0"+e),n<10&&(n="0"+n),o<10&&(o="0"+o),s<10&&(s="0"+s),this.d=e,this.h=n,this.i=o,this.s=s},startData(){if(this.seconds=this.toSeconds(this.timestamp,this.day,this.hour,this.minute,this.second),this.seconds<=0)return this.seconds=this.toSeconds(0,0,0,0,0),void this.countDown();clearInterval(this.timer),this.countDown(),this.timer=setInterval((()=>{this.seconds--,this.seconds<0?this.timeUp():this.countDown()}),1e3)},update(){this.startData()},changeFlag(){this.syncFlag||(this.seconds=this.toSeconds(this.timestamp,this.day,this.hour,this.minute,this.second),this.startData(),this.syncFlag=!0)}}},[["render",function(t,e,h,m,y,p){const f=c,w=r;return n(),o(w,{class:"uni-countdown"},{default:s((()=>[h.showDay?(n(),o(f,{key:0,style:i([p.timeStyle]),class:"uni-countdown__number"},{default:s((()=>[u(a(y.d),1)])),_:1},8,["style"])):d("",!0),h.showDay?(n(),o(f,{key:1,style:i([p.splitorStyle]),class:"uni-countdown__splitor"},{default:s((()=>[u(a(p.dayText),1)])),_:1},8,["style"])):d("",!0),l(f,{style:i([p.timeStyle]),class:"uni-countdown__number"},{default:s((()=>[u(a(y.h),1)])),_:1},8,["style"]),l(f,{style:i([p.splitorStyle]),class:"uni-countdown__splitor"},{default:s((()=>[u(a(h.showColon?":":p.hourText),1)])),_:1},8,["style"]),l(f,{style:i([p.timeStyle]),class:"uni-countdown__number"},{default:s((()=>[u(a(y.i),1)])),_:1},8,["style"]),l(f,{style:i([p.splitorStyle]),class:"uni-countdown__splitor"},{default:s((()=>[u(a(h.showColon?":":p.minuteText),1)])),_:1},8,["style"]),l(f,{style:i([p.timeStyle]),class:"uni-countdown__number"},{default:s((()=>[u(a(y.s),1)])),_:1},8,["style"]),h.showColon?d("",!0):(n(),o(f,{key:2,style:i([p.splitorStyle]),class:"uni-countdown__splitor"},{default:s((()=>[u(a(p.secondText),1)])),_:1},8,["style"]))])),_:1})}],["__scopeId","data-v-ab18fa77"]]);const S=e({components:{},data:()=>({testHour:1,testMinute:0,testSecond:0,start:!1,timeupSecond:10}),mounted(){setTimeout((()=>{this.testHour=1,this.testMinute=1,this.testSecond=0,this.start=!0}),3e3),setTimeout((()=>{this.start=!1}),1e4)},methods:{timeup(){h({title:"时间到"}),this.timeupSecond=29}}},[["render",function(t,e,i,a,d,h){const w=c,_=m(y("uni-card"),p),S=m(y("uni-countdown"),g),b=m(y("uni-section"),f),F=r;return n(),o(F,{class:"container"},{default:s((()=>[l(_,{"is-full":""},{default:s((()=>[l(w,{class:"uni-h6"},{default:s((()=>[u("倒计时组件主要用于促销商品剩余时间,发送短信验证等待时间等场景")])),_:1})])),_:1}),l(b,{title:"一般用法",type:"line",padding:""},{default:s((()=>[l(S,{day:1,hour:1,minute:12,second:40})])),_:1}),l(b,{title:"不显示天数",subTitle:"设置 show-day = false 不显示天",type:"line",padding:""},{default:s((()=>[l(S,{"show-day":!1,hour:12,minute:12,second:12})])),_:1}),l(b,{title:"文字分隔符",subTitle:"设置 show-colon 属性设置分隔符样式",type:"line",padding:""},{default:s((()=>[l(S,{minute:30,second:0,"show-colon":!1})])),_:1}),l(b,{title:"修改颜色",subTitle:"设置 color \\ background 属性设置组件颜色",type:"line",padding:""},{default:s((()=>[l(S,{day:1,hour:2,minute:30,second:0,color:"#FFFFFF","background-color":"#007AFF"})])),_:1}),l(b,{title:"修改字体大小",subTitle:"设置 font-size 属性设置组件大小",type:"line",padding:""},{default:s((()=>[l(S,{"font-size":30,day:1,hour:2,minute:30,second:0})])),_:1}),l(b,{title:"修改颜色 + 字体大小",type:"line",padding:""},{default:s((()=>[l(S,{"font-size":30,day:1,hour:2,minute:30,second:0,color:"#FFFFFF","background-color":"#007AFF"})])),_:1}),l(b,{title:"自由控制开始/暂停",subTitle:"设置 start 属性控制是否自动开启",type:"line",padding:""},{default:s((()=>[l(S,{start:d.start,day:1,hour:1,minute:12,second:40},null,8,["start"])])),_:1}),l(b,{title:"倒计时回调事件",type:"line",padding:""},{default:s((()=>[l(S,{"show-day":!1,second:d.timeupSecond,onTimeup:h.timeup},null,8,["second","onTimeup"])])),_:1}),l(b,{title:"动态赋值",type:"line",padding:""},{default:s((()=>[l(S,{"show-day":!1,hour:d.testHour,minute:d.testMinute,second:d.testSecond},null,8,["hour","minute","second"])])),_:1})])),_:1})}]]);export{S as default};