UNPKG

vxe-pc-ui

Version:
1 lines 3.45 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_text=_interopRequireDefault(require("../../text/src/text")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCountdown",props:{modelValue:[Number,String],format:String,prefixConfig:Object,suffixConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().countdown.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","start","end"],setup(c,e){const{slots:v,emit:n}=e;var t=_xeUtils.default.uniqueId();const f=(0,_vue.ref)(),l=(0,_ui.useSize)(c)["computeSize"],m=(0,_vue.reactive)({currNum:0,secondNum:0}),u={dnTimeout:void 0},o={refElem:f},_=(0,_vue.computed)(()=>{var e=m["secondNum"];return 316224e5<=e?["yyyy","MM","dd","HH","mm","ss"]:26784e5<=e?["MM","dd","HH","mm","ss"]:864e5<=e?["dd","HH","mm","ss"]:36e5<=e?["HH","mm","ss"]:6e4<=e?["mm","ss"]:["ss"]}),x=(0,_vue.computed)(()=>{var e=m["currNum"];return _xeUtils.default.getDateDiff(Date.now(),Date.now()+e)}),p=(0,_vue.computed)(()=>{var e=c["format"],t=x.value;let u="";return e&&(u=""+e,_xeUtils.default.each(t,(e,t)=>{u=u.replace(new RegExp(t,"g"),_xeUtils.default.padStart(e,t.length,"0"))})),u}),g=(0,_vue.computed)(()=>Object.assign({},c.prefixConfig,(0,_ui.getConfig)().countdown.prefixConfig)),C=(0,_vue.computed)(()=>Object.assign({},c.suffixConfig,(0,_ui.getConfig)().countdown.suffixConfig)),r={computeSize:l},i={xID:t,props:c,context:e,reactData:m,internalData:u,getRefMaps:()=>o,getComputeMaps:()=>r},s=(e,t,u)=>{n(e,(0,_ui.createEvent)(u,{$carousel:i},t))},a=()=>{var e=_xeUtils.default.toNumber(c.modelValue||0);m.secondNum=e,m.currNum=e},d=()=>{var e=m["currNum"];1e3<e?(m.currNum-=1e3,u.dnTimeout=setTimeout(()=>{d()},1e3)):(m.currNum=0,w())};t={dispatchEvent:s};const N=()=>{s("start",{},null),d()},w=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0,s("end",{},null))};Object.assign(i,t,{});return(0,_vue.watch)(()=>c.modelValue,()=>{a(),w(),N()}),(0,_vue.onUnmounted)(()=>{w()}),(0,_vue.onMounted)(()=>{N()}),a(),i.renderVN=()=>{var{prefixConfig:e,suffixConfig:t}=c,u=m["currNum"],n=l.value,o=x.value,r=g.value,i=C.value,s=v.prefix,a=v.suffix,d=v.default;return(0,_vue.h)("div",{ref:f,class:["vxe-countdown",o.done?"is--progress":"is-end",{["size--"+n]:n}]},[s||e?(0,_vue.h)("div",{class:"vxe-countdown--prefix"},s?(0,_vn.getSlotVNs)(s({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:r.content,icon:r.icon,status:r.status})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-countdown--content"},d?(0,_vn.getSlotVNs)(d({currentValue:u,diffConf:o})):(()=>{var e=c["format"],t=_.value;const u=x.value;var n=p.value;return e?[(0,_vue.h)("div",{key:"format",class:"vxe-countdown--content-format"},n)]:t.map((e,t)=>(0,_vue.h)("div",{key:t,class:"vxe-countdown--content-item"},[(0,_vue.h)("div",{class:"vxe-countdown--content-num"},""+(u[e]||0)),(0,_vue.h)("div",{class:"vxe-countdown--content-unit"},(0,_ui.getI18n)("vxe.countdown.formats."+e))]))})()),a||t?(0,_vue.h)("div",{class:"vxe-countdown--suffix"},a?(0,_vn.getSlotVNs)(a({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:i.content,icon:i.icon,status:i.status})]):(0,_vue.createCommentVNode)()])},i},render(){return this.renderVN()}});