UNPKG

vxe-pc-ui

Version:
1 lines • 19.9 kB
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("../../date-panel/src/util"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_button=_interopRequireDefault(require("../../button/src/button")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,getConfig,getI18n}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeCalendar",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>getConfig().calendar.size||getConfig().size},multiple:Boolean,width:[String,Number],height:[String,Number],minDate:{type:[String,Number,Date],default:()=>getConfig().calendar.minDate},maxDate:{type:[String,Number,Date],default:()=>getConfig().calendar.maxDate},startDay:{type:[String,Number],default:()=>getConfig().calendar.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>getConfig().calendar.festivalMethod},disabledMethod:{type:Function,default:()=>getConfig().calendar.disabledMethod},cellStyle:[Object,Function],menuConfig:Object,selectDay:{type:[String,Number],default:()=>getConfig().calendar.selectDay}},emits:["update:modelValue","change","cell-click","date-prev","date-today","date-next","view-change","cell-menu","menu-click"],setup(c,e){let l=e.emit;var t=_xeUtils.default.uniqueId();let F=(0,_ui.useSize)(c).computeSize,m=(0,_vue.reactive)({selectValue:c.modelValue,inputValue:c.modelValue,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),p={yearSize:12,monthSize:20,quarterSize:8},r=(0,_vue.ref)(),O={refElem:r},y={xID:t,props:c,context:e,reactData:m,internalData:p,getRefMaps:()=>O},I=(0,_vue.computed)(()=>{var{height:e,width:t}=c,a={};return t&&(a.width=(0,_dom.toCssUnit)(t)),e&&(a.height=(0,_dom.toCssUnit)(e)),a}),j=(0,_vue.computed)(()=>!1),n=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(c.type)),z=(0,_vue.computed)(()=>c.minDate?_xeUtils.default.toStringDate(c.minDate):null),$=(0,_vue.computed)(()=>c.maxDate?_xeUtils.default.toStringDate(c.maxDate):null),E=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(c.type)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().calendar.menuConfig,c.menuConfig)),a=(0,_vue.computed)(()=>{var e=c.multiple,t=m.selectValue,a=n.value;let l=s.value;return e&&t&&a?_xeUtils.default.toValueString(t).split(",").map(e=>{e=U(e,l);return _xeUtils.default.isValidDate(e)?e:null}):[]}),R=(0,_vue.computed)(()=>{var e=a.value;let t=s.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),u=(0,_vue.computed)(()=>{var e=a.value;let t=v.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),s=(0,_vue.computed)(()=>{var e=c.valueFormat;return e||"yyyy-MM-dd"}),h=(0,_vue.computed)(()=>{var e=m.selectValue,t=n.value,a=s.value;let l=null;return l=e&&t&&(t=U(e,a),_xeUtils.default.isValidDate(t))?t:l}),i=(0,_vue.computed)(()=>{var e=z.value,t=m.selectMonth;return!(!t||!e)&&t<=e}),d=(0,_vue.computed)(()=>{var e=$.value,t=m.selectMonth;return!(!t||!e)&&e<=t}),Q=(0,_vue.computed)(()=>{var e=h.value;return e?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),v=(0,_vue.computed)(()=>{var e=c.labelFormat,t=n.value,a=s.value;return t?e||a||getI18n("vxe.input.date.labelFormat."+c.type):null}),o=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=m,a=p.yearSize,l=[];if(e&&t){var u=t.getFullYear(),t=e.getFullYear(),r=new Date(t-t%a,0,1);for(let e=-4;e<a+4;e++){var i=_xeUtils.default.getWhatYear(r,e,"first"),n=i.getFullYear();l.push({date:i,isCurrent:!0,isPrev:e<0,isNow:u===n,isNext:e>=a,year:n})}}return l}),B=(0,_vue.computed)(()=>{let a="",l="";if(n.value){var{datePanelType:u,selectMonth:r}=m,i=o.value;let e="",t;r&&(e=r.getFullYear(),t=r.getMonth()+1),"quarter"===u||"month"===u?a=""+e:"year"===u?a=i.length?i[0].year+" - "+i[i.length-1].year:"":(a=""+e,l=t?getI18n("vxe.calendar.monthLabel",[t]):"-")}return{y:getI18n("vxe.calendar.yearLabel",[a]),m:l}}),_=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),x=(0,_vue.computed)(()=>{var a=[];if(n.value){let t=_.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),f=(0,_vue.computed)(()=>n.value?x.value.map(e=>({value:e,label:getI18n("vxe.input.date.weeks.w"+e)})):[]),H=(0,_vue.computed)(()=>{var e;return n.value?(e=f.value,[{label:getI18n("vxe.input.date.weeks.w")}].concat(e)):[]}),g=(0,_vue.computed)(()=>{var e=o.value;return _xeUtils.default.chunk(e,4)}),w=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=m,a=p.quarterSize,l=[];if(e&&t){var u=t.getFullYear(),r=(0,_util.getDateQuarter)(t),i=_xeUtils.default.getWhatYear(e,0,"first"),n=i.getFullYear();for(let e=-2;e<a-2;e++){var s=_xeUtils.default.getWhatQuarter(i,e),d=s.getFullYear(),v=(0,_util.getDateQuarter)(s),o=d<n;l.push({date:s,isPrev:o,isCurrent:d===n,isNow:d===u&&v===r,isNext:!o&&n<d,quarter:v})}}return l}),A=(0,_vue.computed)(()=>{var e=w.value;return _xeUtils.default.chunk(e,2)}),G=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=m,a=p.monthSize,l=[];if(t&&e){var u=e.getFullYear(),r=e.getMonth(),i=_xeUtils.default.getWhatYear(t,0,"first").getFullYear();for(let e=-4;e<a-4;e++){var n=_xeUtils.default.getWhatYear(t,0,e),s=n.getFullYear(),d=n.getMonth(),v=s<i;l.push({date:n,isPrev:v,isCurrent:s===i,isNow:s===u&&d===r,isNext:!v&&i<s,month:d})}}return l}),J=(0,_vue.computed)(()=>{var e=G.value;return _xeUtils.default.chunk(e,4)}),K=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=m,a=[];if(t&&e){var l=Q.value,u=x.value,r=e.getFullYear(),i=e.getMonth(),n=e.getDate(),s=t.getFullYear(),d=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),v=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var o=_xeUtils.default.getWhatDay(v,e),c=o.getFullYear(),p=o.getMonth(),y=o.getDate(),h=o<t;a.push({date:o,isPrev:h,isCurrent:c===s&&p===d,isNow:c===r&&p===i&&y===n,isNext:!h&&d!==p,label:y})}}return a}),b=(0,_vue.computed)(()=>{var e=K.value;return _xeUtils.default.chunk(e,7)}),X=(0,_vue.computed)(()=>{var e=b.value;let a=_.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),U=(e,t)=>_xeUtils.default.toStringDate(e,t),D=(e,t)=>{m.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(c.modelValue)!==e&&W("change",{value:e},t)},M=e=>{var t=c.type,a=v.value,l=s.value,u=_.value;let r=null,i="";e&&(r=U(e,l)),_xeUtils.default.isValidDate(r)?(i=_xeUtils.default.toDateString(r,a,{firstDay:u}),a&&"week"===t&&_xeUtils.default.getWhatWeek(r,0,u,u).getFullYear()<r.getFullYear()&&-1<(e=a.indexOf("yyyy"))&&(l=Number(i.substring(e,e+4)))&&!isNaN(l)&&(i=i.replace(""+l,""+(l-1)))):r=null,m.datePanelValue=r,m.datePanelLabel=i},Z=()=>{var e=n.value,t=m.inputValue;e&&(M(t),m.inputValue=c.multiple?u.value:m.datePanelLabel)},ee=()=>{n.value&&Z()},S=e=>{e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,m.selectMonth)||(m.selectMonth=e)},P=e=>{var t,{modelValue:a,multiple:l}=c,u=s.value,r=_.value;"week"===c.type&&(t=_xeUtils.default.toNumber(c.selectDay),e=_xeUtils.default.getWhatWeek(e,0,t,r));let i=_xeUtils.default.toDateString(e,u,{firstDay:r});S(e),m.selectValue=e,l?(t=R.value).some(e=>_xeUtils.default.isEqual(e,i))?D(t.filter(e=>!_xeUtils.default.isEqual(e,i)).join(","),{type:"update"}):D(t.concat([i]).join(","),{type:"update"}):_xeUtils.default.isEqual(a,i)||D(i,{type:"update"})},te=(e,t)=>{m.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},ae=()=>{var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");m.currentDate=e,te(e,0)},le=()=>{m.datePanelType="year"},ue=e=>{let t=m.datePanelType;t="month"===t||"quarter"===t?"year":"month",m.datePanelType=t,V(e)},re=e=>{var t=c.type,{datePanelType:a,selectMonth:l}=m,u=p.yearSize;i.value||(m.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,-u,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,-u,"first"):_xeUtils.default.getWhatYear(l,-1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,-u,"first"):"month"===a?_xeUtils.default.getWhatYear(l,-1,"first"):_xeUtils.default.getWhatMonth(l,-1,"first"),W("date-prev",{type:t},e),V(e))},ie=e=>{ae(),c.multiple||P(m.currentDate),W("date-today",{type:c.type},e),V(e)},ne=e=>{var t=c.type,{datePanelType:a,selectMonth:l}=m,u=p.yearSize;d.value||(m.selectMonth="year"===t?_xeUtils.default.getWhatYear(l,u,"first"):"month"===t||"quarter"===t?"year"===a?_xeUtils.default.getWhatYear(l,u,"first"):_xeUtils.default.getWhatYear(l,1,"first"):"year"===a?_xeUtils.default.getWhatYear(l,u,"first"):"month"===a?_xeUtils.default.getWhatYear(l,1,"first"):_xeUtils.default.getWhatMonth(l,1,"first"),W("date-next",{type:t},e),V(e))},C=e=>{var t=c.disabledMethod,a=m.datePanelType;return t&&t({type:a,viewType:a,date:e.date,$calendar:y})},V=e=>{var t=m.datePanelType,a=g.value,l=A.value,u=J.value,r=X.value,i=b.value;let n=[],s=[];switch(t){case"year":s=a;break;case"quarter":s=l;break;case"month":s=u;break;case"week":s=r;break;case"day":s=i}s.forEach(e=>{e.forEach(e=>{n.push(e.date)})}),W("view-change",{viewType:t,viewDates:n},e)},se=e=>{var t=c.type,a=m.datePanelType;"month"===t?"year"===a?(m.datePanelType="month",S(e),V(null)):P(e):"year"===t?P(e):"quarter"===t?"year"===a?(m.datePanelType="quarter",S(e),V(null)):P(e):"month"===a?(m.datePanelType="week"===t?t:"day",S(e),V(null)):"year"===a?(m.datePanelType="month",S(e),V(null)):P(e)},k=(e,t)=>{var a=c.type,l=m.datePanelType,u=t.date;C(t)||(se(u),W("cell-click",{date:u,type:a,viewType:l},e))},T=(u,e)=>{let r=c.type,i=m.datePanelType;var t=c.menuConfig,a=L.value;if(t?(0,_utils.isEnableConf)(a):a.enabled){var{options:t,visibleMethod:a}=a;let l=e.date;a&&!a({$calendar:y,options:t,date:l,type:r,viewType:i})||_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(u,{options:t,events:{optionClick(e){var t=e.option,a=menus.get(t.code),a=a?a.calendarMenuMethod:null,t={menu:t,date:l,type:r,viewType:i,$event:u,$calendar:y};a&&a(t,u),W("menu-click",t,e.$event)}}})}W("cell-menu",{date:e.date,type:r,viewType:i},u)},de=t=>{C({date:t})||(K.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||S(t),M(t))},ve=t=>{C({date:t})||(o.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||S(t),M(t))},oe=t=>{C({date:t})||(w.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||S(t),M(t))},ce=t=>{C({date:t})||(G.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||S(t),M(t))},N=e=>{var t;C(e)||(t=m.datePanelType,("month"===t?ce:"quarter"===t?oe:"year"===t?ve:de)(e.date))},q=()=>{m.datePanelValue=null},pe=()=>{},ye=()=>{var e=c.type,t=h.value;-1<["year","quarter","month","week"].indexOf(e)?m.datePanelType=e:m.datePanelType="day",m.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?(te(t,0),M(t)):ae()},Y=(e,t)=>{var a,l=c.festivalMethod;return l?(a=m.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$calendar:y}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,l=[(0,_vue.h)("span",{class:["vxe-calendar--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("span",{class:"vxe-calendar--label--number"},""+(t||"")),(0,_vue.h)("span",{class:["vxe-calendar--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:[""+(t||"")])],(e=a.label)&&(e=_xeUtils.default.toValueString(e).split(","),l.push((0,_vue.h)("span",{class:["vxe-calendar--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("span",{class:["vxe-calendar--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("span",e.substring(0,3)))):(0,_vue.h)("span",{class:"vxe-calendar--festival--label"},e[0].substring(0,3))]))),l):""+(t||"")},he=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=m,n=h.value,t=f.value,e=b.value,s=a.value,d="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-calendar--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-calendar--view-header",style:{height:100/(e.length+1)+"%"}},[(0,_vue.h)("div",{class:"vxe-calendar--view-row"},t.map(e=>(0,_vue.h)("div",{class:"vxe-calendar--view-item",style:{width:100/t.length+"%"}},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-calendar--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-calendar--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=l?s.some(e=>_xeUtils.default.isDateSame(e,t.date,d)):_xeUtils.default.isDateSame(n,t.date,d);return(0,_vue.h)("div",{class:["vxe-calendar--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":C(t),"is--selected":e,"is--hover":_xeUtils.default.isDateSame(i,t.date,d)}],style:Object.assign({},_xeUtils.default.isFunction(u)?u({type:r,viewType:r,date:t.date,$calendar:y}):u,{width:100/a.length+"%"}),onClick:e=>k(e,t),onContextmenu:e=>T(e,t),onMouseenter:()=>N(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},Y(t,t.label))])}))))])]},me=()=>{let{multiple:t,cellStyle:r}=c,{datePanelType:i,datePanelValue:n}=m,s=h.value;var e=H.value;let d=X.value,v=a.value,o="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-calendar--view-wrapper","type--"+i]},[(0,_vue.h)("div",{class:"vxe-calendar--view-header",style:{height:100/(d.length+1)+"%"}},[(0,_vue.h)("div",{class:"vxe-calendar--view-row"},e.map((e,t)=>(0,_vue.h)("div",{class:"vxe-calendar--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-calendar--view-body"},d.map(e=>{let a=t?e.some(t=>v.some(e=>_xeUtils.default.isDateSame(e,t.date,o))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,o)),l=e.some(e=>_xeUtils.default.isDateSame(n,e.date,o)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-calendar--view-row",style:{height:100/d.length+"%"}},e.map((t,e)=>(0,_vue.h)("div",{class:["vxe-calendar--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":e?t.isNow:u,"is--next":t.isNext,"is--disabled":C(t),"is--selected":a,"is--hover":l}],style:Object.assign({},_xeUtils.default.isFunction(r)?r({type:i,viewType:i,date:t.date,$calendar:y}):r,{width:`${e?13:9}%`}),onClick:e=>k(e,t),onContextmenu:e=>T(e,t),onMouseenter:()=>N(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},Y(t,t.label))])))}))])]},_e=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=m,n=h.value,e=J.value,s=a.value,d="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-calendar--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-calendar--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-calendar--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=l?s.some(e=>_xeUtils.default.isDateSame(e,t.date,d)):_xeUtils.default.isDateSame(n,t.date,d);return(0,_vue.h)("div",{class:["vxe-calendar--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":C(t),"is--selected":e,"is--hover":_xeUtils.default.isDateSame(i,t.date,d)}],style:Object.assign({},_xeUtils.default.isFunction(u)?u({type:r,viewType:r,date:t.date,$calendar:y}):u,{width:100/a.length+"%"}),onClick:e=>k(e,t),onContextmenu:e=>T(e,t),onMouseenter:()=>N(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},Y(t,getI18n("vxe.input.date.months.m"+t.month)))])}))))])]},xe=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=m,n=h.value,e=A.value,s=a.value,d="yyyyq";return[(0,_vue.h)("div",{class:["vxe-calendar--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-calendar--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-calendar--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=l?s.some(e=>_xeUtils.default.isDateSame(e,t.date,d)):_xeUtils.default.isDateSame(n,t.date,d);return(0,_vue.h)("div",{class:["vxe-calendar--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":C(t),"is--selected":e,"is--hover":_xeUtils.default.isDateSame(i,t.date,d)}],style:Object.assign({},_xeUtils.default.isFunction(u)?u({type:r,viewType:r,date:t.date,$calendar:y}):u,{width:100/a.length+"%"}),onClick:e=>k(e,t),onContextmenu:e=>T(e,t),onMouseenter:()=>N(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},Y(t,getI18n("vxe.input.date.quarters.q"+t.quarter)))])}))))])]},fe=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=m,n=h.value,e=g.value,s=a.value,d="yyyy";return[(0,_vue.h)("div",{class:["vxe-calendar--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-calendar--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-calendar--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=l?s.some(e=>_xeUtils.default.isDateSame(e,t.date,d)):_xeUtils.default.isDateSame(n,t.date,d);return(0,_vue.h)("div",{class:["vxe-calendar--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":C(t),"is--selected":e,"is--hover":_xeUtils.default.isDateSame(i,t.date,d)}],style:Object.assign({},_xeUtils.default.isFunction(u)?u({type:r,viewType:r,date:t.date,$calendar:y}):u,{width:100/a.length+"%"}),onClick:e=>k(e,t),onContextmenu:e=>T(e,t),onMouseenter:()=>N(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-calendar--view-item-inner"},Y(t,t.year))])}))))])]},ge=()=>{var e=m.datePanelType;switch(e){case"week":return me();case"month":return _e();case"quarter":return xe();case"year":return fe()}return he()},W=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$input:y},t))};t={dispatchEvent:W};Object.assign(y,t);return y.renderVN=()=>{var{className:e,type:t}=c,a=F.value,l=j.value,u=I.value;return(0,_vue.h)("div",{ref:r,class:["vxe-calendar","type--"+t,e,{["size--"+a]:a,"is--disabled":l}],style:u},[(t=c.multiple,e=m.datePanelType,a=i.value,l=d.value,u=B.value,[(0,_vue.h)("div",{class:"vxe-calendar--header"},[(0,_vue.h)("div",{class:"vxe-calendar--type-wrapper"},["year"===e?(0,_vue.h)(_button.default,{class:"vxe-calendar--date-picker-label",disabled:"year"===e,content:u.y}):(0,_vue.h)("span",{class:"vxe-calendar--date-picker-btns"},[(0,_vue.h)(_button.default,{class:"vxe-calendar--date-picker-btn",content:u.y,onClick:le}),u.m?(0,_vue.h)(_button.default,{class:"vxe-calendar--date-picker-btn",content:u.m,onClick:ue}):(0,_ui.renderEmptyElement)(y)])]),(0,_vue.h)("div",{class:"vxe-calendar--btn-wrapper"},[(0,_vue.h)(_button.default,{disabled:a,icon:"vxe-icon-caret-left",onClick:re}),(0,_vue.h)(_button.default,{icon:"vxe-icon-dot",onClick:ie}),(0,_vue.h)(_button.default,{disabled:l,icon:"vxe-icon-caret-right",onClick:ne}),t&&E.value?(0,_vue.h)("span",{class:"vxe-calendar--btn vxe-calendar--confirm-btn"},[(0,_vue.h)("button",{class:"vxe-calendar--confirm",type:"button",onClick:pe},getI18n("vxe.button.confirm"))]):null])]),(0,_vue.h)("div",{class:"vxe-calendar--body"},ge())])])},(0,_vue.watch)(()=>c.modelValue,e=>{m.inputValue=e,Z()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(m,{selectValue:null,inputValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ee(),ye()}),(0,_vue.watch)(v,()=>{n.value&&(M(m.datePanelValue),m.inputValue=c.multiple?u.value:m.datePanelLabel)}),(0,_vue.onMounted)(()=>{var e=c.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-context-menu"]),ye()}),ee(),y},render(){return this.renderVN()}});