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