vxe-pc-ui
Version:
A vue based PC component library
1 lines • 24.2 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},defaultDate:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,timeFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm"],setup(L,e){const r=e["emit"];var l=_xeUtils.default.uniqueId();const u=(0,_ui.useSize)(L)["computeSize"],A=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),p={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();const a=(0,_vue.ref)(),n=(0,_vue.ref)(),V={refElem:t},v={xID:l,props:L,context:e,reactData:A,internalData:p,getRefMaps:()=>V},o=(0,_vue.computed)(()=>{var e=L["type"];return"time"===e||"datetime"===e}),d=(0,_vue.computed)(()=>{return o.value||-1<["date","week","month","quarter","year"].indexOf(L.type)}),M=(0,_vue.computed)(()=>L.startDate?_xeUtils.default.toStringDate(L.startDate):null),k=(0,_vue.computed)(()=>L.endDate?_xeUtils.default.toStringDate(L.endDate):null),$=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=L,a=d.value;const l=_.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=f(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),c=(0,_vue.computed)(()=>{var e=$.value;const t=_.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),m=(0,_vue.computed)(()=>{var e=$.value;const t=h.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),T=(0,_vue.computed)(()=>L.multiple?_xeUtils.default.toNumber(L.limitCount):0),Q=(0,_vue.computed)(()=>{var e=L["multiple"],t=T.value,a=c.value;return!(!e||!t)&&a.length>=t}),_=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=L;return(0,_util.handleValueFormat)(e,t)}),R=(0,_vue.computed)(()=>{var e=L["modelValue"],t=d.value,a=_.value;let l=null;return l=e&&t&&(t=f(e,a),_xeUtils.default.isValidDate(t))?t:l}),N=(0,_vue.computed)(()=>{var e=M.value,t=A["selectMonth"];return!(!t||!e)&&t<=e}),W=(0,_vue.computed)(()=>{var e=k.value,t=A["selectMonth"];return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),C=(0,_vue.computed)(()=>{var e=A["datetimePanelValue"],t=re.value,a=O.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),q=(0,_vue.computed)(()=>{var e=R.value,t=o.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),h=(0,_vue.computed)(()=>{var e=L["labelFormat"];return d.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+L.type):""}),y=(0,_vue.computed)(()=>{var t=p["yearSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),a=e.getFullYear(),i=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(i,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:u===r,isNext:e>=t,year:r})}}return l}),F=(0,_vue.computed)(()=>{let a="",l="";if(d.value){var{datePanelType:u,selectMonth:i}=A,s=y.value;let e="",t;i&&(e=i.getFullYear(),t=i.getMonth()+1),"quarter"===u||"month"===u?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===u?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),x=(0,_vue.computed)(()=>{var e=L["startDay"];return _xeUtils.default.toNumber(e)}),Y=(0,_vue.computed)(()=>{var a=[];if(d.value){let t=x.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),ee=(0,_vue.computed)(()=>{return d.value?Y.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),te=(0,_vue.computed)(()=>{var e;return d.value?(e=ee.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),ae=(0,_vue.computed)(()=>{var e=y.value;return _xeUtils.default.chunk(e,4)}),H=(0,_vue.computed)(()=>{var t=p["quarterSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),i=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var n=_xeUtils.default.getWhatQuarter(s,e),v=n.getFullYear(),d=(0,_util.getDateQuarter)(n),o=v<r;l.push({date:n,isPrev:o,isCurrent:v===r,isNow:v===u&&d===i,isNext:!o&&r<v,quarter:d})}}return l}),le=(0,_vue.computed)(()=>{var e=H.value;return _xeUtils.default.chunk(e,2)}),E=(0,_vue.computed)(()=>{var t=p["monthSize"],{selectMonth:a,currentDate:e}=A,l=[];if(a&&e){var u=e.getFullYear(),i=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),n=r.getFullYear(),v=r.getMonth(),d=n<s;l.push({date:r,isPrev:d,isCurrent:n===s,isNow:n===u&&v===i,isNext:!d&&s<n,month:v})}}return l}),ue=(0,_vue.computed)(()=>{var e=E.value;return _xeUtils.default.chunk(e,4)}),z=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=A,a=[];if(t&&e){var l=q.value,u=Y.value,i=e.getFullYear(),s=e.getMonth(),r=e.getDate(),n=t.getFullYear(),v=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),d=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var o=_xeUtils.default.getWhatDay(d,e),p=o.getFullYear(),c=o.getMonth(),m=o.getDate(),_=o<t;a.push({date:o,isPrev:_,isCurrent:p===n&&c===v,isNow:p===i&&c===s&&m===r,isNext:!_&&v!==c,label:m})}}return a}),ie=(0,_vue.computed)(()=>{var e=z.value;return _xeUtils.default.chunk(e,7)}),se=(0,_vue.computed)(()=>{var e=ie.value;const a=x.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)})}),I=(0,_vue.computed)(()=>{var t=[];if(o.value)for(let e=0;e<24;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),j=(0,_vue.computed)(()=>{var t=[];if(o.value)for(let e=0;e<60;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),O=(0,_vue.computed)(()=>{var e=L["timeFormat"],t=_.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),re=(0,_vue.computed)(()=>{var e=L["timeFormat"],t=_.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),ne=(0,_vue.computed)(()=>{return j.value}),ve=e=>{var t=L["type"],a=_.value;A.inputValue=(0,_util.parseDateValue)(e,t,{valueFormat:a}),ge()},f=(e,t)=>{var{type:a,multiple:l}=L;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},de=a=>{var l=L["type"],{inputValue:u,datetimePanelValue:i}=A,s=h.value;if(a){let t=f(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)u!==(t=_xeUtils.default.toDateString(t,s))&&g(t,{type:"check"}),A.inputValue=t;else{let e=!1;u=x.value;"datetime"===l?(l=R.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,i&&(i.setHours(t.getHours()),i.setMinutes(t.getMinutes()),i.setSeconds(t.getSeconds())))):e=!0,A.inputValue=_xeUtils.default.toDateString(t,s,{firstDay:u}),e&&U(t)}else A.inputValue=L.multiple?m.value:A.datePanelLabel}else g("",{type:"check"})},g=(e,t)=>{var a,{type:l,modelValue:u,valueFormat:i}=L,s=_.value;A.inputValue=e,(0,_util.hasTimestampValueType)(i)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}))?a.getTime():null,r("update:modelValue",a),u!==a&&S("change",{value:a},t)):(0,_util.hasDateValueType)(i)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:s}),r("update:modelValue",a),(u&&a?_xeUtils.default.toStringDate(u).getTime()!==a.getTime():u!==a)&&S("change",{value:a},t)):(r("update:modelValue",e),_xeUtils.default.toValueString(u)!==e&&S("change",{value:e},t))},D=()=>new Promise(e=>{A.visiblePanel=!1,p.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),s=e=>{var t=L["type"],a=h.value,l=_.value,u=x.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:u});A.datePanelValue=e.value,A.datePanelLabel=e.label},oe=()=>{var e=d.value,t=A["inputValue"];e&&(s(t),A.inputValue=L.multiple?m.value:A.datePanelLabel)},pe=()=>{var e=L["modelValue"],t=d.value;ve(e),t&&oe()},w=e=>{var t=x.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,A.selectMonth)||(A.selectMonth=a)},U=(t,e)=>{var{modelValue:a,multiple:l}=L;const u=A["datetimePanelValue"];var i=o.value;const s=_.value;var r=x.value;"week"===L.type?(v=_xeUtils.default.toNumber(L.selectDay),t=_xeUtils.default.getWhatWeek(t,0,v,r)):i&&u&&(t.setHours(u.getHours()),t.setMinutes(u.getMinutes()),t.setSeconds(u.getSeconds()));const n=_xeUtils.default.toDateString(t,s,{firstDay:r});if(w(t),l){var v=Q.value;if(i){r=e?[]:[...$.value];const d=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(t,e,"yyyyMMdd"));if(-1===l){if(v)return;r.push(t)}else r.splice(l,1);r.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),d.push(e))}),g(d.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{i=e?[]:c.value;i.some(e=>_xeUtils.default.isEqual(e,n))?g(i.filter(e=>!_xeUtils.default.isEqual(e,n)).join(","),{type:"update"}):v||g(i.concat([n]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(a,n)||g(n,{type:"update"})},i=(e,t)=>{var a=x.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");A.selectMonth=l},ce=()=>{var e=L["type"],t=x.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,A.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}A.currentDate=a,i(a,0)},me=()=>{A.datePanelType="year"},_e=()=>{let e=A["datePanelType"];e="month"===e||"quarter"===e?"year":"month",A.datePanelType=e},he=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=p["yearSize"];if(!N.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):_xeUtils.default.getWhatYear(u,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,-1,"first"):_xeUtils.default.getWhatMonth(u,-1,"first"),A.selectMonth=e,S("date-prev",{viewType:l,viewDate:e,value:i,type:a},t)}},ye=e=>{ce(),U(A.currentDate,!0),L.multiple||D(),S("date-today",{type:L.type},e)},xe=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=p["yearSize"];if(!W.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):_xeUtils.default.getWhatYear(u,1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,1,"first"):_xeUtils.default.getWhatMonth(u,1,"first"),A.selectMonth=e,S("date-next",{viewType:l,value:i,type:a},t)}},B=e=>{var t=M.value,a=k.value,e=e["date"];return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},G=e=>{var t=L["disabledMethod"],a=A["datePanelType"],e=e["date"];return!!t&&t({type:a,viewType:a,date:e,$datePanel:v})},b=e=>B(e)||G(e),J=e=>{var t,a,l;b(e)||(e=e.date,{type:t,multiple:a}=L,l=A.datePanelType,"month"===t?"year"===l?(A.datePanelType="month",w(e)):(U(e),a||D()):"year"===t?(U(e),a||D()):"quarter"===t?"year"===l?(A.datePanelType="quarter",w(e)):(U(e),a||D()):"month"===l?(A.datePanelType="week"===t?t:"day",w(e)):"year"===l?(A.datePanelType="month",w(e)):(U(e),"datetime"===t||a||D()))},K=e=>{var t,a,l,u,i;b(e)||(t=A["datePanelType"],"month"===t?(i=e.date,b({date:i})||(E.value.some(e=>_xeUtils.default.isDateSame(e.date,i,"yyyyMM"))||w(i),s(i))):"quarter"===t?(u=e.date,b({date:u})||(H.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyq"))||w(u),s(u))):"year"===t?(l=e.date,b({date:l})||(y.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||w(l),s(l))):(a=e.date,b({date:a})||(z.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||w(a),s(a))))},X=()=>{A.datePanelValue=null},fe=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},P=e=>{var t=A["datetimePanelValue"];A.datetimePanelValue=t?new Date(t.getTime()):new Date,fe(e.currentTarget)},ge=()=>{var{type:e,defaultDate:t}=L,a=o.value,l=_.value,u=R.value;-1<["year","quarter","month","week"].indexOf(e)?A.datePanelType=e:A.datePanelType="day",A.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),u?(i(u,0),s(u)):t&&(e=f(t,l),_xeUtils.default.isValidDate(e))?i(e,0):ce(),a&&(A.datetimePanelValue=A.datePanelValue||_xeUtils.default.getWhatDay(Date.now(),0,"first"),(0,_vue.nextTick)(()=>{var e=n.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{fe(e)})}))},S=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$datePanel:v},t))};t={dispatchEvent:S,getModelValue(){return A.inputValue},setPanelDate(e){e&&w(e)},getPanelDate(){return A.selectMonth},checkValue(e){de(e)},confirmByEvent(e){{var t=L["multiple"];const u=A["datetimePanelValue"];var a=R.value,l=o.value;if(l){const i=_.value;if(t){t=c.value;if(l){l=[...$.value];const s=[];l.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),s.push(e))}),g(s.map(e=>_xeUtils.default.toDateString(e,i)).join(","),{type:"update"})}else g(t.join(","),{type:"update"})}else U(a||A.currentDate)}D(),S("confirm",{},e)}}};Object.assign(v,t);const Z=(e,t)=>{var a,l=L["festivalMethod"],u=[];return l&&(a=A["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:v}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,u.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),u.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),u},De=()=>{var Y=A["datePanelType"];switch(Y){case"week":{const t=L["multiple"],{datePanelType:e,datePanelValue:i}=A,s=R.value;var H=te.value;const r=se.value,n=$.value,v=Q.value,d="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+e]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},H.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},r.map(e=>{const a=t?e.some(t=>n.some(e=>_xeUtils.default.isDateSame(e,t.date,d))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,d)),l=e.some(e=>_xeUtils.default.isDateSame(i,e.date,d)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/r.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:u,"is--next":e.isNext,"is--range-disabled":B(e),"is--disabled":G(e),"is--selected":a,"is--over":v&&!a,"is--hover":!v&&l}],style:{width:`${t?13:9}%`},onClick:()=>J(e),onMouseenter:()=>K(e),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(e,e.label))])))}))])];return}case"month":{const l=L["multiple"],{datePanelType:a,datePanelValue:u}=A,o=R.value,p=ue.value,c=$.value,m=Q.value,_="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+a]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},p.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/p.length+"%"}},a.map(t=>{var e=l?c.some(e=>_xeUtils.default.isDateSame(e,t.date,_)):_xeUtils.default.isDateSame(o,t.date,_);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":B(t),"is--disabled":G(t),"is--selected":e,"is--over":m&&!e,"is--hover":!m&&_xeUtils.default.isDateSame(u,t.date,_)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])];return}case"quarter":{const h=L["multiple"],{datePanelType:y,datePanelValue:x}=A,f=R.value,g=le.value,D=$.value,w=Q.value,U="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+y]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},g.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/g.length+"%"}},a.map(t=>{var e=h?D.some(e=>_xeUtils.default.isDateSame(e,t.date,U)):_xeUtils.default.isDateSame(f,t.date,U);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":B(t),"is--disabled":G(t),"is--selected":e,"is--over":w&&!e,"is--hover":!w&&_xeUtils.default.isDateSame(x,t.date,U)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])];return}case"year":{const b=L["multiple"],{datePanelType:P,datePanelValue:S}=A,V=R.value,M=ae.value,k=$.value,T=Q.value,N="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+P]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},M.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/M.length+"%"}},a.map(t=>{var e=b?k.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(V,t.date,N);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":B(t),"is--disabled":G(t),"is--selected":e,"is--over":T&&!e,"is--hover":!T&&_xeUtils.default.isDateSame(S,t.date,N)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,t.year))])}))))])];return}}{const E=L["multiple"],{datePanelType:z,datePanelValue:I}=A,j=R.value,W=ee.value,C=ie.value,O=$.value,q=Q.value,F="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+z]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},W.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/W.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},C.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/C.length+"%"}},a.map(t=>{var e=E?O.some(e=>_xeUtils.default.isDateSame(e,t.date,F)):_xeUtils.default.isDateSame(j,t.date,F);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":B(t),"is--disabled":G(t),"is--selected":e,"is--over":q&&!e,"is--hover":!q&&_xeUtils.default.isDateSame(I,t.date,F)}],style:{width:100/a.length+"%"},onClick:()=>J(t),onMouseenter:()=>K(t),onMouseleave:X},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},Z(t,t.label))])}))))])]}},we=()=>{var e=A["datePanelType"],t=N.value,a=W.value,l=F.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:me},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:_e},l.m):(0,_ui.renderEmptyElement)(v)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:he},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:ye},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:xe},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},De())]},Ue=()=>{var e=L["type"];const t=A["datetimePanelValue"];var a=C.value,l=I.value,u=O.value,i=j.value,s=re.value,r=ne.value;return["time"===e?(0,_ui.renderEmptyElement)(v):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},a)]),(0,_vue.h)("div",{ref:n,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getHours()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setHours(t.value),void P(e);var t,a}},l.label))),u?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},i.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getMinutes()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setMinutes(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v),u&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getSeconds()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setSeconds(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v)])]};return(0,_vue.watch)(()=>L.modelValue,e=>{ve(e),oe()}),(0,_vue.watch)(()=>L.type,()=>{Object.assign(A,{inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),pe()}),(0,_vue.watch)(h,()=>{d.value&&(s(A.datePanelValue),A.inputValue=L.multiple?m.value:A.datePanelLabel)}),pe(),ge(),v.renderVN=()=>{var e=L["type"],t=u.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=L.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},we()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},Ue())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},Ue()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},we())])},v},render(){return this.renderVN()}});