vxe-pc-ui 4.18.16 → 4.18.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/all.esm.js +72 -78
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/calendar/src/calendar.js +11 -13
  5. package/es/date-panel/src/date-panel.js +17 -14
  6. package/es/date-picker/src/date-picker.js +14 -17
  7. package/es/date-range-picker/src/date-range-picker.js +10 -12
  8. package/es/drawer/src/drawer.js +6 -6
  9. package/es/icon/style.css +1 -1
  10. package/es/input/src/input.js +12 -14
  11. package/es/style.css +1 -1
  12. package/es/style.min.css +1 -1
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/lib/calendar/src/calendar.js +11 -17
  16. package/lib/calendar/src/calendar.min.js +1 -1
  17. package/lib/date-panel/src/date-panel.js +16 -18
  18. package/lib/date-panel/src/date-panel.min.js +1 -1
  19. package/lib/date-picker/src/date-picker.js +14 -18
  20. package/lib/date-picker/src/date-picker.min.js +1 -1
  21. package/lib/date-range-picker/src/date-range-picker.js +10 -12
  22. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  23. package/lib/drawer/src/drawer.js +6 -8
  24. package/lib/drawer/src/drawer.min.js +1 -1
  25. package/lib/icon/style/style.css +1 -1
  26. package/lib/icon/style/style.min.css +1 -1
  27. package/lib/index.umd.js +71 -93
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/input/src/input.js +12 -18
  30. package/lib/input/src/input.min.js +1 -1
  31. package/lib/style.css +1 -1
  32. package/lib/style.min.css +1 -1
  33. package/lib/ui/index.js +1 -1
  34. package/lib/ui/index.min.js +1 -1
  35. package/lib/ui/src/log.js +1 -1
  36. package/lib/ui/src/log.min.js +1 -1
  37. package/package.json +3 -4
  38. package/packages/calendar/src/calendar.ts +12 -13
  39. package/packages/date-panel/src/date-panel.ts +19 -14
  40. package/packages/date-picker/src/date-picker.ts +15 -17
  41. package/packages/date-range-picker/src/date-range-picker.ts +11 -13
  42. package/packages/drawer/src/drawer.ts +7 -6
  43. package/packages/input/src/input.ts +13 -14
  44. package/types/components/grid.d.ts +9 -0
  45. /package/es/icon/{iconfont.1789913111678.ttf → iconfont.1789965685931.ttf} +0 -0
  46. /package/es/icon/{iconfont.1789913111678.woff → iconfont.1789965685931.woff} +0 -0
  47. /package/es/icon/{iconfont.1789913111678.woff2 → iconfont.1789965685931.woff2} +0 -0
  48. /package/es/{iconfont.1789913111678.ttf → iconfont.1789965685931.ttf} +0 -0
  49. /package/es/{iconfont.1789913111678.woff → iconfont.1789965685931.woff} +0 -0
  50. /package/es/{iconfont.1789913111678.woff2 → iconfont.1789965685931.woff2} +0 -0
  51. /package/lib/icon/style/{iconfont.1789913111678.ttf → iconfont.1789965685931.ttf} +0 -0
  52. /package/lib/icon/style/{iconfont.1789913111678.woff → iconfont.1789965685931.woff} +0 -0
  53. /package/lib/icon/style/{iconfont.1789913111678.woff2 → iconfont.1789965685931.woff2} +0 -0
  54. /package/lib/{iconfont.1789913111678.ttf → iconfont.1789965685931.ttf} +0 -0
  55. /package/lib/{iconfont.1789913111678.woff → iconfont.1789965685931.woff} +0 -0
  56. /package/lib/{iconfont.1789913111678.woff2 → iconfont.1789965685931.woff2} +0 -0
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "4.18.16";
4
+ export const version = "4.18.18";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const uiVersion = `ui v${"4.18.16"}`;
3
+ const uiVersion = `ui v${"4.18.18"}`;
4
4
  export function createComponentLog(name) {
5
5
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -53,14 +53,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
53
53
  },
54
54
  labelFormat: String,
55
55
  valueFormat: String,
56
- festivalMethod: {
57
- type: Function,
58
- default: () => getConfig().calendar.festivalMethod
59
- },
60
- disabledMethod: {
61
- type: Function,
62
- default: () => getConfig().calendar.disabledMethod
63
- },
56
+ festivalMethod: Function,
57
+ disabledMethod: Function,
64
58
  cellStyle: [Object, Function],
65
59
  menuConfig: Object,
66
60
  // week
@@ -92,6 +86,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
92
86
  monthSize: 20,
93
87
  quarterSize: 8
94
88
  };
89
+ const defaultFuncProps = {
90
+ festivalMethod: getConfig().calendar.festivalMethod,
91
+ disabledMethod: getConfig().calendar.disabledMethod
92
+ };
95
93
  const refElem = (0, _vue.ref)();
96
94
  const refMaps = {
97
95
  refElem
@@ -677,13 +675,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
677
675
  }
678
676
  };
679
677
  const isDateDisabled = item => {
680
- const {
681
- disabledMethod
682
- } = props;
678
+ const disbMethod = props.disabledMethod || defaultFuncProps.disabledMethod;
683
679
  const {
684
680
  datePanelType
685
681
  } = reactData;
686
- return disabledMethod && disabledMethod({
682
+ return disbMethod && disbMethod({
687
683
  type: datePanelType,
688
684
  viewType: datePanelType,
689
685
  date: item.date,
@@ -929,14 +925,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
929
925
  }
930
926
  };
931
927
  const renderDateLabel = (item, label) => {
932
- const {
933
- festivalMethod
934
- } = props;
935
- if (festivalMethod) {
928
+ const flMethod = props.festivalMethod || defaultFuncProps.festivalMethod;
929
+ if (flMethod) {
936
930
  const {
937
931
  datePanelType
938
932
  } = reactData;
939
- const festivalRest = festivalMethod({
933
+ const festivalRest = flMethod({
940
934
  type: datePanelType,
941
935
  viewType: datePanelType,
942
936
  date: item.date,
@@ -1 +1 @@
1
- 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 errLog=(0,_log.createComponentLog)("calendar").errLog,{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&&errLog("vxe.error.reqComp",["vxe-context-menu"]),ye()}),ee(),y},render(){return this.renderVN()}});
1
+ 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 errLog=(0,_log.createComponentLog)("calendar").errLog,{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:Function,disabledMethod:Function,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,y=(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},u={festivalMethod:getConfig().calendar.festivalMethod,disabledMethod:getConfig().calendar.disabledMethod},r=(0,_vue.ref)(),O={refElem:r},h={xID:t,props:c,context:e,reactData:y,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=y.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))}),i=(0,_vue.computed)(()=>{var e=a.value;let t=o.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),s=(0,_vue.computed)(()=>{var e=c.valueFormat;return e||"yyyy-MM-dd"}),m=(0,_vue.computed)(()=>{var e=y.selectValue,t=n.value,a=s.value;let l=null;return l=e&&t&&(t=U(e,a),_xeUtils.default.isValidDate(t))?t:l}),d=(0,_vue.computed)(()=>{var e=z.value,t=y.selectMonth;return!(!t||!e)&&t<=e}),v=(0,_vue.computed)(()=>{var e=$.value,t=y.selectMonth;return!(!t||!e)&&e<=t}),Q=(0,_vue.computed)(()=>{var e=m.value;return e?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),o=(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}),_=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=y,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}=y,i=_.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}}),x=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),f=(0,_vue.computed)(()=>{var a=[];if(n.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}),g=(0,_vue.computed)(()=>n.value?f.value.map(e=>({value:e,label:getI18n("vxe.input.date.weeks.w"+e)})):[]),H=(0,_vue.computed)(()=>{var e;return n.value?(e=g.value,[{label:getI18n("vxe.input.date.weeks.w")}].concat(e)):[]}),w=(0,_vue.computed)(()=>{var e=_.value;return _xeUtils.default.chunk(e,4)}),A=(0,_vue.computed)(()=>{var{selectMonth:e,currentDate:t}=y,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}),G=(0,_vue.computed)(()=>{var e=A.value;return _xeUtils.default.chunk(e,2)}),J=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=y,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}),K=(0,_vue.computed)(()=>{var e=J.value;return _xeUtils.default.chunk(e,4)}),X=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=y,a=[];if(t&&e){var l=Q.value,u=f.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(),h=o.getDate(),m=o<t;a.push({date:o,isPrev:m,isCurrent:c===s&&p===d,isNow:c===r&&p===i&&h===n,isNext:!m&&d!==p,label:h})}}return a}),b=(0,_vue.computed)(()=>{var e=X.value;return _xeUtils.default.chunk(e,7)}),Z=(0,_vue.computed)(()=>{var e=b.value;let 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)})}),U=(e,t)=>_xeUtils.default.toStringDate(e,t),D=(e,t)=>{y.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(c.modelValue)!==e&&W("change",{value:e},t)},M=e=>{var t=c.type,a=o.value,l=s.value,u=x.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,y.datePanelValue=r,y.datePanelLabel=i},ee=()=>{var e=n.value,t=y.inputValue;e&&(M(t),y.inputValue=c.multiple?i.value:y.datePanelLabel)},te=()=>{n.value&&ee()},S=e=>{e=_xeUtils.default.getWhatMonth(e,0,"first");_xeUtils.default.isEqual(e,y.selectMonth)||(y.selectMonth=e)},P=e=>{var t,{modelValue:a,multiple:l}=c,u=s.value,r=x.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),y.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"})},ae=(e,t)=>{y.selectMonth=_xeUtils.default.getWhatMonth(e,t,"first")},le=()=>{var e=_xeUtils.default.getWhatDay(Date.now(),0,"first");y.currentDate=e,ae(e,0)},ue=()=>{y.datePanelType="year"},re=e=>{let t=y.datePanelType;t="month"===t||"quarter"===t?"year":"month",y.datePanelType=t,V(e)},ie=e=>{var t=c.type,{datePanelType:a,selectMonth:l}=y,u=p.yearSize;d.value||(y.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))},ne=e=>{le(),c.multiple||P(y.currentDate),W("date-today",{type:c.type},e),V(e)},se=e=>{var t=c.type,{datePanelType:a,selectMonth:l}=y,u=p.yearSize;v.value||(y.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||u.disabledMethod,a=y.datePanelType;return t&&t({type:a,viewType:a,date:e.date,$calendar:h})},V=e=>{var t=y.datePanelType,a=w.value,l=G.value,u=K.value,r=Z.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)},de=e=>{var t=c.type,a=y.datePanelType;"month"===t?"year"===a?(y.datePanelType="month",S(e),V(null)):P(e):"year"===t?P(e):"quarter"===t?"year"===a?(y.datePanelType="quarter",S(e),V(null)):P(e):"month"===a?(y.datePanelType="week"===t?t:"day",S(e),V(null)):"year"===a?(y.datePanelType="month",S(e),V(null)):P(e)},k=(e,t)=>{var a=c.type,l=y.datePanelType,u=t.date;C(t)||(de(u),W("cell-click",{date:u,type:a,viewType:l},e))},T=(u,e)=>{let r=c.type,i=y.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:h,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:h};a&&a(t,u),W("menu-click",t,e.$event)}}})}W("cell-menu",{date:e.date,type:r,viewType:i},u)},ve=t=>{C({date:t})||(X.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||S(t),M(t))},oe=t=>{C({date:t})||(_.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||S(t),M(t))},ce=t=>{C({date:t})||(A.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||S(t),M(t))},pe=t=>{C({date:t})||(J.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||S(t),M(t))},N=e=>{var t;C(e)||(t=y.datePanelType,("month"===t?pe:"quarter"===t?ce:"year"===t?oe:ve)(e.date))},q=()=>{y.datePanelValue=null},he=()=>{},me=()=>{var e=c.type,t=m.value;-1<["year","quarter","month","week"].indexOf(e)?y.datePanelType=e:y.datePanelType="day",y.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),t?(ae(t,0),M(t)):le()},Y=(e,t)=>{var a,l=c.festivalMethod||u.festivalMethod;return l?(a=y.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$calendar:h}))?_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||"")},ye=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=y,n=m.value,t=g.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:h}):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))])}))))])]},_e=()=>{let{multiple:t,cellStyle:r}=c,{datePanelType:i,datePanelValue:n}=y,s=m.value;var e=H.value;let d=Z.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:h}):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))])))}))])]},xe=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=y,n=m.value,e=K.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:h}):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)))])}))))])]},fe=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=y,n=m.value,e=G.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:h}):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)))])}))))])]},ge=()=>{let{multiple:l,cellStyle:u}=c,{datePanelType:r,datePanelValue:i}=y,n=m.value,e=w.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:h}):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))])}))))])]},we=()=>{var e=y.datePanelType;switch(e){case"week":return _e();case"month":return xe();case"quarter":return fe();case"year":return ge()}return ye()},W=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$input:h},t))};t={dispatchEvent:W};Object.assign(h,t);return h.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=y.datePanelType,a=d.value,l=v.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:ue}),u.m?(0,_vue.h)(_button.default,{class:"vxe-calendar--date-picker-btn",content:u.m,onClick:re}):(0,_ui.renderEmptyElement)(h)])]),(0,_vue.h)("div",{class:"vxe-calendar--btn-wrapper"},[(0,_vue.h)(_button.default,{disabled:a,icon:"vxe-icon-caret-left",onClick:ie}),(0,_vue.h)(_button.default,{icon:"vxe-icon-dot",onClick:ne}),(0,_vue.h)(_button.default,{disabled:l,icon:"vxe-icon-caret-right",onClick:se}),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:he},getI18n("vxe.button.confirm"))]):null])]),(0,_vue.h)("div",{class:"vxe-calendar--body"},we())])])},(0,_vue.watch)(()=>c.modelValue,e=>{y.inputValue=e,ee()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(y,{selectValue:null,inputValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),te(),me()}),(0,_vue.watch)(o,()=>{n.value&&(M(y.datePanelValue),y.inputValue=c.multiple?i.value:y.datePanelLabel)}),(0,_vue.onMounted)(()=>{var e=c.menuConfig,t=_ui.VxeUI.getComponent("VxeContextMenu");e&&!t&&errLog("vxe.error.reqComp",["vxe-context-menu"]),me()}),te(),h},render(){return this.renderVN()}});
@@ -55,14 +55,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
55
55
  valueFormat: String,
56
56
  timeFormat: String,
57
57
  valueSort: Boolean,
58
- festivalMethod: {
59
- type: Function,
60
- default: () => (0, _ui.getConfig)().datePanel.festivalMethod
61
- },
62
- disabledMethod: {
63
- type: Function,
64
- default: () => (0, _ui.getConfig)().datePanel.disabledMethod
65
- },
58
+ festivalMethod: Function,
59
+ disabledMethod: Function,
66
60
  timeConfig: Object,
67
61
  // week
68
62
  selectDay: {
@@ -98,6 +92,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
98
92
  quarterSize: 4,
99
93
  hpTimeout: undefined
100
94
  };
95
+ const defaultFuncProps = {
96
+ festivalMethod: (0, _ui.getConfig)().datePanel.festivalMethod,
97
+ disabledMethod: (0, _ui.getConfig)().datePanel.disabledMethod
98
+ };
101
99
  const refElem = (0, _vue.ref)();
102
100
  const refPanelWrapper = (0, _vue.ref)();
103
101
  const refInputTimeBody = (0, _vue.ref)();
@@ -1097,17 +1095,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1097
1095
  return false;
1098
1096
  };
1099
1097
  const isDateDisabled = item => {
1100
- const {
1101
- disabledMethod
1102
- } = props;
1098
+ const disbMethod = props.disabledMethod || defaultFuncProps.disabledMethod;
1103
1099
  const {
1104
1100
  datePanelType
1105
1101
  } = reactData;
1106
1102
  const {
1107
1103
  date
1108
1104
  } = item;
1109
- if (disabledMethod) {
1110
- return disabledMethod({
1105
+ if (disbMethod) {
1106
+ return disbMethod({
1111
1107
  type: datePanelType,
1112
1108
  viewType: datePanelType,
1113
1109
  date,
@@ -1421,15 +1417,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1421
1417
  };
1422
1418
  Object.assign($xeDatePanel, datePanelMethods);
1423
1419
  const renderDateLabel = (item, label) => {
1424
- const {
1425
- festivalMethod
1426
- } = props;
1420
+ const flMethod = props.festivalMethod || defaultFuncProps.festivalMethod;
1427
1421
  const labelVNs = [];
1428
- if (festivalMethod) {
1422
+ if (flMethod) {
1429
1423
  const {
1430
1424
  datePanelType
1431
1425
  } = reactData;
1432
- const festivalRest = festivalMethod({
1426
+ const festivalRest = flMethod({
1433
1427
  type: datePanelType,
1434
1428
  viewType: datePanelType,
1435
1429
  date: item.date,
@@ -1464,6 +1458,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1464
1458
  class: 'vxe-date-panel--festival--label'
1465
1459
  }, festivalLabels[0].substring(0, 3))]));
1466
1460
  }
1461
+ } else {
1462
+ labelVNs.push((0, _vue.h)('div', {
1463
+ class: 'vxe-date-panel--label'
1464
+ }, `${label}`));
1467
1465
  }
1468
1466
  return labelVNs;
1469
1467
  };
@@ -1 +1 @@
1
- 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"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("date-panel").errLog;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date,Array],type:{type:String,default:"date"},className:String,cellClassName:[String,Function],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},defaultMode:String,defaultDate:[String,Number,Date],defaultTime:[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,valueSort:Boolean,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},timeConfig:Object,selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm","revert"],setup(c,t){let s=t.emit;var L=_xeUtils.default.uniqueId();let E=(0,_ui.useSize)(c).computeSize,h=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),o={yearSize:16,monthSize:12,quarterSize:4,hpTimeout:void 0};var e=(0,_vue.ref)();let a=(0,_vue.ref)(),z=(0,_vue.ref)(),m=(0,_vue.computed)(()=>{var e=c.type;return"time"===e}),_=(0,_vue.computed)(()=>{var e=c.type;return m.value||"datetime"===e}),r=(0,_vue.computed)(()=>_.value||-1<["date","week","month","quarter","year"].indexOf(c.type)),n=(0,_vue.computed)(()=>c.startDate?_xeUtils.default.toStringDate(c.startDate):null),v=(0,_vue.computed)(()=>c.endDate?_xeUtils.default.toStringDate(c.endDate):null),f=(0,_vue.computed)(()=>{let{modelValue:e,valueFormat:a}=c;var t=r.value;let l=g.value,u=[];return e&&t&&(_xeUtils.default.isArray(e)?e:_xeUtils.default.toValueString(e).split(",")).forEach(e=>{let t=e;e&&("timestamp"===a&&_xeUtils.default.isString(e)&&/^\d+$/.test(e)&&(t=Number(t)),e=S(t,l),u.push(e))}),u}),x=(0,_vue.computed)(()=>{var e=f.value;let t=g.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),p=(0,_vue.computed)(()=>{var e=f.value;let t=U.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),j=(0,_vue.computed)(()=>c.multiple?_xeUtils.default.toNumber(c.limitCount):0),y=(0,_vue.computed)(()=>{var e=c.multiple,t=j.value,a=x.value;return!(!e||!t)&&a.length>=t}),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePanel.timeConfig,c.timeConfig)),g=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=c;return(0,_util.handleValueFormat)(e,t)}),b=(0,_vue.computed)(()=>{var{modelValue:e,defaultMode:t}=c,a=r.value,l=g.value;let u=null;return u=e&&a&&(a=_xeUtils.default.isString(e)?e.split(","):e,e="last"===t?_xeUtils.default.last(a):_xeUtils.default.first(a),t=S(e,l),_xeUtils.default.isValidDate(t))?t:u}),I=(0,_vue.computed)(()=>{var e=n.value,t=h.selectMonth;return!(!t||!e)&&t<=e}),$=(0,_vue.computed)(()=>{var e=v.value,t=h.selectMonth;return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),O=(0,_vue.computed)(()=>{var e=h.datetimePanelValue,t=re.value,a=se.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),A=(0,_vue.computed)(()=>{var e=b.value,t=_.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),U=(0,_vue.computed)(()=>{var e=c.labelFormat;return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+c.type):""}),d=(0,_vue.computed)(()=>{var t=o.yearSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var u=a.getFullYear(),a=e.getFullYear(),i=new Date(a-a%t,0,1);for(let e=0;e<t;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}),B=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:u,selectMonth:i}=h,s=d.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}}),D=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),Q=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=D.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),R=(0,_vue.computed)(()=>r.value?Q.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]),G=(0,_vue.computed)(()=>{var e;return r.value?(e=R.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),J=(0,_vue.computed)(()=>{var e=d.value;return _xeUtils.default.chunk(e,4)}),K=(0,_vue.computed)(()=>{var t=o.quarterSize,{selectMonth:e,currentDate:a}=h,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=0;e<t;e++){var d=_xeUtils.default.getWhatQuarter(s,e),n=d.getFullYear(),v=(0,_util.getDateQuarter)(d),p=n<r;l.push({date:d,isPrev:p,isCurrent:n===r,isNow:n===u&&v===i,isNext:!p&&r<n,quarter:v})}}return l}),X=(0,_vue.computed)(()=>{var e=K.value;return _xeUtils.default.chunk(e,2)}),Z=(0,_vue.computed)(()=>{var t=o.monthSize,{selectMonth:a,currentDate:e}=h,l=[];if(a&&e){var u=e.getFullYear(),i=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=0;e<t;e++){var r=_xeUtils.default.getWhatYear(a,0,e),d=r.getFullYear(),n=r.getMonth(),v=d<s;l.push({date:r,isPrev:v,isCurrent:d===s,isNow:d===u&&n===i,isNext:!v&&s<d,month:n})}}return l}),ee=(0,_vue.computed)(()=>{var e=Z.value;return _xeUtils.default.chunk(e,4)}),te=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=h,a=[];if(t&&e){var l=A.value,u=Q.value,i=e.getFullYear(),s=e.getMonth(),r=e.getDate(),d=t.getFullYear(),n=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 p=_xeUtils.default.getWhatDay(v,e),o=p.getFullYear(),m=p.getMonth(),c=p.getDate(),_=p<t;a.push({date:p,isPrev:_,isCurrent:o===d&&m===n,isNow:o===i&&m===s&&c===r,isNext:!_&&n!==m,label:c})}}return a}),ae=(0,_vue.computed)(()=>{var e=te.value;return _xeUtils.default.chunk(e,7)}),le=(0,_vue.computed)(()=>{var e=ae.value;let a=D.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)})}),ue=(0,_vue.computed)(()=>{let{hours:e,hourDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({hour:t}))}))});else for(let e=0;e<24;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})}return l}),ie=(0,_vue.computed)(()=>{let{minutes:e,minuteDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({minute:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})}return l}),se=(0,_vue.computed)(()=>{var e=c.timeFormat,t=g.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),re=(0,_vue.computed)(()=>{var e=c.timeFormat,t=g.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),de=(0,_vue.computed)(()=>{let{seconds:e,secondDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({second:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})}return l}),ne={refElem:e},ve={computeSize:E,computeYearList:d},w={xID:L,props:c,context:t,reactData:h,internalData:o,getRefMaps:()=>ne,getComputeMaps:()=>ve},pe=e=>{var t=c.type,a=g.value,e=(0,_util.parseDateValue)(e,t,{valueFormat:a});h.inputValue=e,h.inputLabel=e,Ce()},S=(e,t)=>{var{type:a,multiple:l}=c;return"time"===a?(0,_util.toStringTimeDate)(_xeUtils.default.isArray(e)?_xeUtils.default.last(e):e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e),t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},oe=a=>{var l=c.type,{inputLabel:u,datetimePanelValue:i}=h,s=U.value,r=n.value,d=v.value;if(a){let t=S(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)u!==(t=_xeUtils.default.toDateString(t,s))&&M(t,{type:"check"}),h.inputLabel=t;else{d&&t>d&&(t=d),r&&t<r&&(t=r);let e=!1;u=D.value;"datetime"===l?(d=b.value,a===_xeUtils.default.toDateString(d,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,i&&(i.setHours(t.getHours()),i.setMinutes(t.getMinutes()),i.setSeconds(t.getSeconds())))):e=!0,h.inputLabel=_xeUtils.default.toDateString(t,s,{firstDay:u}),e&&k(t)}else r=c.multiple?p.value:h.datePanelLabel,h.inputLabel=r,Y("revert",{label:r},null)}else M("",{type:"check"})},P=e=>{h.inputValue=e,s("update:modelValue",e)},M=(e,t,a)=>{var l,{type:u,modelValue:i,valueFormat:s}=c,r=g.value;h.inputLabel=e,(0,_util.hasTimestampValueType)(s)?(l=(l=(0,_util.parseDateValue)(e,u,{valueFormat:r}))?l.getTime():null,P(l),i!==l&&Y("change",{value:l,currValue:a?a.currValue:""},t)):(0,_util.hasDateValueType)(s)?(l=(0,_util.parseDateValue)(e,u,{valueFormat:r}),P(l),(i&&l?_xeUtils.default.toStringDate(i).getTime()!==l.getTime():i!==l)&&Y("change",{value:l,currValue:a?a.currValue:""},t)):(P(e),_xeUtils.default.toValueString(i)!==e&&Y("change",{value:e,currValue:a?a.currValue:""},t))},V=()=>new Promise(e=>{h.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{h.isAniVisible=!1,e()},350)}),i=e=>{var t=c.type,a=U.value,l=g.value,u=D.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:u});h.datePanelValue=e.value,h.datePanelLabel=e.label},me=()=>{var e=r.value,t=h.inputLabel;e&&(i(t),h.inputLabel=c.multiple?p.value:h.datePanelLabel)},ce=()=>{var e=c.modelValue,t=r.value;pe(e),t&&me()},T=e=>{var t=D.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,h.selectMonth)||(h.selectMonth=a)},k=(a,l)=>{var{modelValue:e,multiple:t,valueSort:u}=c;let i=h.datetimePanelValue;var s=m.value,r=_.value;let d=g.value;var n=D.value;"week"===c.type?(p=_xeUtils.default.toNumber(c.selectDay),a=_xeUtils.default.getWhatWeek(a,0,p,n)):r&&i&&(a.setHours(i.getHours()),a.setMinutes(i.getMinutes()),a.setSeconds(i.getSeconds()));let v=_xeUtils.default.toDateString(a,d,{firstDay:n});if(T(a),!s&&t){var p=y.value;if(r){n=l?[]:[...f.value];let t=[];s=_xeUtils.default.findIndexOf(n,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===s){if(p)return;n.push(a)}else n.splice(s,1);n.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),t.push(e))}),u&&(t=t.sort((e,t)=>e.getTime()-t.getTime())),M(t.map(e=>_xeUtils.default.toDateString(e,d)).join(","),{type:"update"},{currValue:v})}else{t=l?[]:x.value;let e=[];if(t.some(e=>_xeUtils.default.isEqual(e,v)))e=t.filter(e=>!_xeUtils.default.isEqual(e,v));else{if(p)return;e=t.concat([v])}u&&(e=e.sort()),M(e.join(","),{type:"update"},{currValue:v})}}else _xeUtils.default.isEqual(e,v)||M(v,{type:"update"},{currValue:v})},_e=(e,t)=>{var a=D.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");h.selectMonth=l},he=()=>{var e=c.type,t=D.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,h.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}h.currentDate=a,_e(a,0)},fe=()=>{h.datePanelType="year"},xe=()=>{let e=h.datePanelType;e="month"===e||"quarter"===e?"year":"month",h.datePanelType=e},ye=t=>{var a=c.type,{datePanelType:l,selectMonth:u,inputLabel:i}=h,s=o.yearSize;if(!I.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"),h.selectMonth=e,Y("date-prev",{viewType:l,viewDate:e,value:i,type:a},t)}},ge=e=>{he(),k(h.currentDate,!0),c.multiple||V(),Y("date-today",{viewType:h.datePanelType,type:c.type,viewDate:h.selectMonth},e)},be=t=>{var a=c.type,{datePanelType:l,selectMonth:u,inputLabel:i}=h,s=o.yearSize;if(!$.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"),h.selectMonth=e,Y("date-next",{viewType:l,value:i,type:a,viewDate:e},t)}},N=e=>{var t=n.value,a=v.value,e=e.date;return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},C=e=>{var t=c.disabledMethod,a=h.datePanelType,e=e.date;return!!t&&t({type:a,viewType:a,date:e,$datePanel:w})},l=e=>N(e)||C(e),Ue=e=>{var{type:t,multiple:a}=c,l=h.datePanelType;"month"===t?"year"===l?(h.datePanelType="month",T(e)):(k(e),a||V()):"year"===t?(k(e),a||V()):"quarter"===t?"year"===l?(h.datePanelType="quarter",T(e)):(k(e),a||V()):"month"===l?(h.datePanelType="week"===t?t:"day",T(e)):"year"===l?(h.datePanelType="month",T(e)):(k(e),"datetime"===t||a||V())},W=e=>{l(e)||Ue(e.date)},De=t=>{l({date:t})||(te.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||T(t),i(t))},we=t=>{l({date:t})||(d.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||T(t),i(t))},Se=t=>{l({date:t})||(K.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||T(t),i(t))},Pe=t=>{l({date:t})||(Z.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||T(t),i(t))},F=e=>{var t;l(e)||(t=h.datePanelType,("month"===t?Pe:"quarter"===t?Se:"year"===t?we:De)(e.date))},q=()=>{h.datePanelValue=null},Me=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},Ve=e=>{var t=h.datetimePanelValue;h.datetimePanelValue=t?new Date(t.getTime()):new Date,Me(e.currentTarget)},Te=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setHours(t.value),Ve(e))},ke=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setMinutes(t.value),Ve(e))},Ne=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setSeconds(t.value),Ve(e))},Ce=()=>{var{type:e,defaultDate:t,defaultTime:a}=c,l=_.value,u=b.value;if(-1<["year","quarter","month","week"].indexOf(e)?h.datePanelType=e:h.datePanelType="day",h.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),u?(_e(u,0),i(u)):t&&(e=S(t,"yyyy-MM-dd"),_xeUtils.default.isValidDate(e))?_e(e,0):he(),l){let e=h.datePanelValue;e||(e=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a&&(u=(0,_util.toStringTimeDate)(a),_xeUtils.default.isValidDate(u))&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds()))),h.datetimePanelValue=e,(0,_vue.nextTick)(()=>{var e=z.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{Me(e)})})}},Y=(e,t,a)=>{s(e,(0,_ui.createEvent)(a,{$datePanel:w},t))};e={dispatchEvent:Y,getModelValue(){return h.inputValue},getViewType(){var e=h.datePanelType;return e},setPanelDate(e){e&&T(e)},getPanelDate(){var e=h.selectMonth;return e?new Date(e.getTime()):new Date},checkValue(e){oe(e)},confirmByEvent(e){(e=>{var l=c.multiple;let{datetimePanelValue:u,currentDate:t}=h;var i=b.value,s=m.value,r=_.value;if(r){let a=g.value;if(!s&&l){s=x.value,l=f.value;if(r){r=l.length?[...l]:[];let t=[];r.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),t.push(e))}),M(t.map(e=>_xeUtils.default.toDateString(e,a)).join(","),{type:"update"})}else M(s.join(","),{type:"update"})}else k(i||t)}V(),Y("confirm",{},e)})(e)}};Object.assign(w,e);let H=(e,t)=>{var a,l=c.festivalMethod,u=[];return l&&(a=h.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:w}))?_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",{class:"vxe-date-panel--label--number"},""+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},We=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,t=R.value,e=ae.value,n=f.value,v=y.value,p="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},t.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/t.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"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,t.label))])}))))])]},Fe=()=>{let{type:i,multiple:t,cellClassName:s}=c,{datePanelType:r,datePanelValue:d}=h,n=b.value;var e=G.value;let v=le.value,p=f.value,o=y.value,m="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},e.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"},v.map(e=>{let a=t?e.some(t=>p.some(e=>_xeUtils.default.isDateSame(e,t.date,m))):e.some(e=>_xeUtils.default.isDateSame(n,e.date,m)),l=e.some(e=>_xeUtils.default.isDateSame(d,e.date,m)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/v.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",s?_xeUtils.default.isFunction(s)?""+(s({$datePanel:w,type:i,viewType:r,date:e.date})||""):""+(s||""):"",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:u,"is--next":e.isNext,"is--range-disabled":N(e),"is--disabled":C(e),"is--selected":a,"is--over":o&&!a,"is--hover":!o&&l}],style:{width:`${t?13:9}%`},onClick:()=>W(e),onMouseenter:()=>F(e),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(e,e.label))])))}))])]},qe=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=ee.value,n=f.value,v=y.value,p="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])]},Ye=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=X.value,n=f.value,v=y.value,p="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])]},He=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=J.value,n=f.value,v=y.value,p="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,p)):_xeUtils.default.isDateSame(d,t.date,p);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,p)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,t.year))])}))))])]},Le=()=>{var e=h.datePanelType;switch(e){case"week":return Fe();case"month":return qe();case"quarter":return Ye();case"year":return He()}return We()},Ee=()=>{var e=h.datePanelType,t=I.value,a=$.value,l=B.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:fe},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:xe},l.m):(0,_ui.renderEmptyElement)(w)])]),(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:ye},[(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:ge},[(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:be},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},Le())]},ze=()=>{var e=c.type;let a=h.datetimePanelValue;var t=O.value,l=ue.value,u=se.value,i=ie.value,s=re.value,r=de.value;return["time"===e?(0,_ui.renderEmptyElement)(w):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},t)]),(0,_vue.h)("div",{ref:z,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getHours()===t.value},onClick:e=>Te(e,t)},t.label))),u?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},i.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getMinutes()===t.value},onClick:e=>ke(e,t)},t.label))):(0,_ui.renderEmptyElement)(w),u&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getSeconds()===t.value},onClick:e=>Ne(e,t)},t.label))):(0,_ui.renderEmptyElement)(w)])]};return(0,_vue.watch)(()=>c.modelValue,e=>{pe(e),me()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(h,{inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ce()}),(0,_vue.watch)(U,()=>{r.value&&(i(h.datePanelValue),h.inputLabel=c.multiple?p.value:h.datePanelLabel)}),ce(),Ce(),(0,_vue.onMounted)(()=>{var{type:e,multiple:t}=c;t&&"time"===e&&errLog("vxe.error.notSupportProp",["type="+e,"multiple=true","multiple=false"])}),w.renderVN=()=>{var e=c.type,t=E.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=c.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"},Ee()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},ze())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},ze()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},Ee())])},w},render(){return this.renderVN()}});
1
+ 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"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("date-panel").errLog;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date,Array],type:{type:String,default:"date"},className:String,cellClassName:[String,Function],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},defaultMode:String,defaultDate:[String,Number,Date],defaultTime:[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,valueSort:Boolean,festivalMethod:Function,disabledMethod:Function,timeConfig:Object,selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm","revert"],setup(c,t){let s=t.emit;var L=_xeUtils.default.uniqueId();let E=(0,_ui.useSize)(c).computeSize,h=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),p={yearSize:16,monthSize:12,quarterSize:4,hpTimeout:void 0},z={festivalMethod:(0,_ui.getConfig)().datePanel.festivalMethod,disabledMethod:(0,_ui.getConfig)().datePanel.disabledMethod};var e=(0,_vue.ref)();let a=(0,_vue.ref)(),j=(0,_vue.ref)(),m=(0,_vue.computed)(()=>{var e=c.type;return"time"===e}),_=(0,_vue.computed)(()=>{var e=c.type;return m.value||"datetime"===e}),r=(0,_vue.computed)(()=>_.value||-1<["date","week","month","quarter","year"].indexOf(c.type)),n=(0,_vue.computed)(()=>c.startDate?_xeUtils.default.toStringDate(c.startDate):null),v=(0,_vue.computed)(()=>c.endDate?_xeUtils.default.toStringDate(c.endDate):null),f=(0,_vue.computed)(()=>{let{modelValue:e,valueFormat:a}=c;var t=r.value;let l=g.value,u=[];return e&&t&&(_xeUtils.default.isArray(e)?e:_xeUtils.default.toValueString(e).split(",")).forEach(e=>{let t=e;e&&("timestamp"===a&&_xeUtils.default.isString(e)&&/^\d+$/.test(e)&&(t=Number(t)),e=S(t,l),u.push(e))}),u}),x=(0,_vue.computed)(()=>{var e=f.value;let t=g.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),o=(0,_vue.computed)(()=>{var e=f.value;let t=U.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),I=(0,_vue.computed)(()=>c.multiple?_xeUtils.default.toNumber(c.limitCount):0),y=(0,_vue.computed)(()=>{var e=c.multiple,t=I.value,a=x.value;return!(!e||!t)&&a.length>=t}),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePanel.timeConfig,c.timeConfig)),g=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=c;return(0,_util.handleValueFormat)(e,t)}),b=(0,_vue.computed)(()=>{var{modelValue:e,defaultMode:t}=c,a=r.value,l=g.value;let u=null;return u=e&&a&&(a=_xeUtils.default.isString(e)?e.split(","):e,e="last"===t?_xeUtils.default.last(a):_xeUtils.default.first(a),t=S(e,l),_xeUtils.default.isValidDate(t))?t:u}),$=(0,_vue.computed)(()=>{var e=n.value,t=h.selectMonth;return!(!t||!e)&&t<=e}),O=(0,_vue.computed)(()=>{var e=v.value,t=h.selectMonth;return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),A=(0,_vue.computed)(()=>{var e=h.datetimePanelValue,t=de.value,a=re.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),B=(0,_vue.computed)(()=>{var e=b.value,t=_.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),U=(0,_vue.computed)(()=>{var e=c.labelFormat;return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+c.type):""}),d=(0,_vue.computed)(()=>{var t=p.yearSize,{selectMonth:e,currentDate:a}=h,l=[];if(e&&a){var u=a.getFullYear(),a=e.getFullYear(),i=new Date(a-a%t,0,1);for(let e=0;e<t;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}),Q=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:u,selectMonth:i}=h,s=d.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}}),D=(0,_vue.computed)(()=>{var e=c.startDay;return _xeUtils.default.toNumber(e)}),R=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=D.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),G=(0,_vue.computed)(()=>r.value?R.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]),J=(0,_vue.computed)(()=>{var e;return r.value?(e=G.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),K=(0,_vue.computed)(()=>{var e=d.value;return _xeUtils.default.chunk(e,4)}),X=(0,_vue.computed)(()=>{var t=p.quarterSize,{selectMonth:e,currentDate:a}=h,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=0;e<t;e++){var d=_xeUtils.default.getWhatQuarter(s,e),n=d.getFullYear(),v=(0,_util.getDateQuarter)(d),o=n<r;l.push({date:d,isPrev:o,isCurrent:n===r,isNow:n===u&&v===i,isNext:!o&&r<n,quarter:v})}}return l}),Z=(0,_vue.computed)(()=>{var e=X.value;return _xeUtils.default.chunk(e,2)}),ee=(0,_vue.computed)(()=>{var t=p.monthSize,{selectMonth:a,currentDate:e}=h,l=[];if(a&&e){var u=e.getFullYear(),i=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=0;e<t;e++){var r=_xeUtils.default.getWhatYear(a,0,e),d=r.getFullYear(),n=r.getMonth(),v=d<s;l.push({date:r,isPrev:v,isCurrent:d===s,isNow:d===u&&n===i,isNext:!v&&s<d,month:n})}}return l}),te=(0,_vue.computed)(()=>{var e=ee.value;return _xeUtils.default.chunk(e,4)}),ae=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=h,a=[];if(t&&e){var l=B.value,u=R.value,i=e.getFullYear(),s=e.getMonth(),r=e.getDate(),d=t.getFullYear(),n=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),p=o.getFullYear(),m=o.getMonth(),c=o.getDate(),_=o<t;a.push({date:o,isPrev:_,isCurrent:p===d&&m===n,isNow:p===i&&m===s&&c===r,isNext:!_&&n!==m,label:c})}}return a}),le=(0,_vue.computed)(()=>{var e=ae.value;return _xeUtils.default.chunk(e,7)}),ue=(0,_vue.computed)(()=>{var e=le.value;let a=D.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)})}),ie=(0,_vue.computed)(()=>{let{hours:e,hourDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({hour:t}))}))});else for(let e=0;e<24;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({hour:t}))})}return l}),se=(0,_vue.computed)(()=>{let{minutes:e,minuteDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({minute:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({minute:t}))})}return l}),re=(0,_vue.computed)(()=>{var e=c.timeFormat,t=g.value;return!/HH/.test(e||t)||/mm/.test(e||t)}),de=(0,_vue.computed)(()=>{var e=c.timeFormat,t=g.value;return!/HH/.test(e||t)||/ss/.test(e||t)}),ne=(0,_vue.computed)(()=>{let{seconds:e,secondDisabledMethod:a}=u.value,l=[];if(_.value)if(e&&e.length)e.forEach(e=>{var t;_xeUtils.default.isNumber(e)||_xeUtils.default.isString(e)?(t=_xeUtils.default.toNumber(e),l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})):e&&(t=_xeUtils.default.toNumber(e.value),l.push({value:t,label:(""+(e.label||t)).padStart(2,"0"),disabled:_xeUtils.default.isBoolean(e.disabled)?e.disabled:!(!a||!a({second:t}))}))});else for(let e=0;e<60;e++){var t=e;l.push({value:t,label:(""+t).padStart(2,"0"),disabled:!(!a||!a({second:t}))})}return l}),ve={refElem:e},oe={computeSize:E,computeYearList:d},w={xID:L,props:c,context:t,reactData:h,internalData:p,getRefMaps:()=>ve,getComputeMaps:()=>oe},pe=e=>{var t=c.type,a=g.value,e=(0,_util.parseDateValue)(e,t,{valueFormat:a});h.inputValue=e,h.inputLabel=e,We()},S=(e,t)=>{var{type:a,multiple:l}=c;return"time"===a?(0,_util.toStringTimeDate)(_xeUtils.default.isArray(e)?_xeUtils.default.last(e):e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e),t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},me=a=>{var l=c.type,{inputLabel:u,datetimePanelValue:i}=h,s=U.value,r=n.value,d=v.value;if(a){let t=S(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)u!==(t=_xeUtils.default.toDateString(t,s))&&M(t,{type:"check"}),h.inputLabel=t;else{d&&t>d&&(t=d),r&&t<r&&(t=r);let e=!1;u=D.value;"datetime"===l?(d=b.value,a===_xeUtils.default.toDateString(d,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,i&&(i.setHours(t.getHours()),i.setMinutes(t.getMinutes()),i.setSeconds(t.getSeconds())))):e=!0,h.inputLabel=_xeUtils.default.toDateString(t,s,{firstDay:u}),e&&k(t)}else r=c.multiple?o.value:h.datePanelLabel,h.inputLabel=r,Y("revert",{label:r},null)}else M("",{type:"check"})},P=e=>{h.inputValue=e,s("update:modelValue",e)},M=(e,t,a)=>{var l,{type:u,modelValue:i,valueFormat:s}=c,r=g.value;h.inputLabel=e,(0,_util.hasTimestampValueType)(s)?(l=(l=(0,_util.parseDateValue)(e,u,{valueFormat:r}))?l.getTime():null,P(l),i!==l&&Y("change",{value:l,currValue:a?a.currValue:""},t)):(0,_util.hasDateValueType)(s)?(l=(0,_util.parseDateValue)(e,u,{valueFormat:r}),P(l),(i&&l?_xeUtils.default.toStringDate(i).getTime()!==l.getTime():i!==l)&&Y("change",{value:l,currValue:a?a.currValue:""},t)):(P(e),_xeUtils.default.toValueString(i)!==e&&Y("change",{value:e,currValue:a?a.currValue:""},t))},V=()=>new Promise(e=>{h.visiblePanel=!1,p.hpTimeout=setTimeout(()=>{h.isAniVisible=!1,e()},350)}),i=e=>{var t=c.type,a=U.value,l=g.value,u=D.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:u});h.datePanelValue=e.value,h.datePanelLabel=e.label},ce=()=>{var e=r.value,t=h.inputLabel;e&&(i(t),h.inputLabel=c.multiple?o.value:h.datePanelLabel)},_e=()=>{var e=c.modelValue,t=r.value;pe(e),t&&ce()},T=e=>{var t=D.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,h.selectMonth)||(h.selectMonth=a)},k=(a,l)=>{var{modelValue:e,multiple:t,valueSort:u}=c;let i=h.datetimePanelValue;var s=m.value,r=_.value;let d=g.value;var n=D.value;"week"===c.type?(o=_xeUtils.default.toNumber(c.selectDay),a=_xeUtils.default.getWhatWeek(a,0,o,n)):r&&i&&(a.setHours(i.getHours()),a.setMinutes(i.getMinutes()),a.setSeconds(i.getSeconds()));let v=_xeUtils.default.toDateString(a,d,{firstDay:n});if(T(a),!s&&t){var o=y.value;if(r){n=l?[]:[...f.value];let t=[];s=_xeUtils.default.findIndexOf(n,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===s){if(o)return;n.push(a)}else n.splice(s,1);n.forEach(e=>{e&&(i&&(e.setHours(i.getHours()),e.setMinutes(i.getMinutes()),e.setSeconds(i.getSeconds())),t.push(e))}),u&&(t=t.sort((e,t)=>e.getTime()-t.getTime())),M(t.map(e=>_xeUtils.default.toDateString(e,d)).join(","),{type:"update"},{currValue:v})}else{t=l?[]:x.value;let e=[];if(t.some(e=>_xeUtils.default.isEqual(e,v)))e=t.filter(e=>!_xeUtils.default.isEqual(e,v));else{if(o)return;e=t.concat([v])}u&&(e=e.sort()),M(e.join(","),{type:"update"},{currValue:v})}}else _xeUtils.default.isEqual(e,v)||M(v,{type:"update"},{currValue:v})},he=(e,t)=>{var a=D.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");h.selectMonth=l},fe=()=>{var e=c.type,t=D.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,h.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}h.currentDate=a,he(a,0)},xe=()=>{h.datePanelType="year"},ye=()=>{let e=h.datePanelType;e="month"===e||"quarter"===e?"year":"month",h.datePanelType=e},ge=t=>{var a=c.type,{datePanelType:l,selectMonth:u,inputLabel:i}=h,s=p.yearSize;if(!$.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"),h.selectMonth=e,Y("date-prev",{viewType:l,viewDate:e,value:i,type:a},t)}},be=e=>{fe(),k(h.currentDate,!0),c.multiple||V(),Y("date-today",{viewType:h.datePanelType,type:c.type,viewDate:h.selectMonth},e)},Ue=t=>{var a=c.type,{datePanelType:l,selectMonth:u,inputLabel:i}=h,s=p.yearSize;if(!O.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"),h.selectMonth=e,Y("date-next",{viewType:l,value:i,type:a,viewDate:e},t)}},N=e=>{var t=n.value,a=v.value,e=e.date;return!!(t&&t.getTime()>e.getTime())||!!(a&&a.getTime()<e.getTime())},C=e=>{var t=c.disabledMethod||z.disabledMethod,a=h.datePanelType,e=e.date;return!!t&&t({type:a,viewType:a,date:e,$datePanel:w})},l=e=>N(e)||C(e),De=e=>{var{type:t,multiple:a}=c,l=h.datePanelType;"month"===t?"year"===l?(h.datePanelType="month",T(e)):(k(e),a||V()):"year"===t?(k(e),a||V()):"quarter"===t?"year"===l?(h.datePanelType="quarter",T(e)):(k(e),a||V()):"month"===l?(h.datePanelType="week"===t?t:"day",T(e)):"year"===l?(h.datePanelType="month",T(e)):(k(e),"datetime"===t||a||V())},W=e=>{l(e)||De(e.date)},we=t=>{l({date:t})||(ae.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMMdd"))||T(t),i(t))},Se=t=>{l({date:t})||(d.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyy"))||T(t),i(t))},Pe=t=>{l({date:t})||(X.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyq"))||T(t),i(t))},Me=t=>{l({date:t})||(ee.value.some(e=>_xeUtils.default.isDateSame(e.date,t,"yyyyMM"))||T(t),i(t))},F=e=>{var t;l(e)||(t=h.datePanelType,("month"===t?Me:"quarter"===t?Pe:"year"===t?Se:we)(e.date))},q=()=>{h.datePanelValue=null},Ve=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},Te=e=>{var t=h.datetimePanelValue;h.datetimePanelValue=t?new Date(t.getTime()):new Date,Ve(e.currentTarget)},ke=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setHours(t.value),Te(e))},Ne=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setMinutes(t.value),Te(e))},Ce=(e,t)=>{var a=h.datetimePanelValue;t.disabled||(a&&a.setSeconds(t.value),Te(e))},We=()=>{var{type:e,defaultDate:t,defaultTime:a}=c,l=_.value,u=b.value;if(-1<["year","quarter","month","week"].indexOf(e)?h.datePanelType=e:h.datePanelType="day",h.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),u?(he(u,0),i(u)):t&&(e=S(t,"yyyy-MM-dd"),_xeUtils.default.isValidDate(e))?he(e,0):fe(),l){let e=h.datePanelValue;e||(e=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a&&(u=(0,_util.toStringTimeDate)(a),_xeUtils.default.isValidDate(u))&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds()))),h.datetimePanelValue=e,(0,_vue.nextTick)(()=>{var e=j.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{Ve(e)})})}},Y=(e,t,a)=>{s(e,(0,_ui.createEvent)(a,{$datePanel:w},t))};e={dispatchEvent:Y,getModelValue(){return h.inputValue},getViewType(){var e=h.datePanelType;return e},setPanelDate(e){e&&T(e)},getPanelDate(){var e=h.selectMonth;return e?new Date(e.getTime()):new Date},checkValue(e){me(e)},confirmByEvent(e){(e=>{var l=c.multiple;let{datetimePanelValue:u,currentDate:t}=h;var i=b.value,s=m.value,r=_.value;if(r){let a=g.value;if(!s&&l){s=x.value,l=f.value;if(r){r=l.length?[...l]:[];let t=[];r.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),t.push(e))}),M(t.map(e=>_xeUtils.default.toDateString(e,a)).join(","),{type:"update"})}else M(s.join(","),{type:"update"})}else k(i||t)}V(),Y("confirm",{},e)})(e)}};Object.assign(w,e);let H=(e,t)=>{var a,l=c.festivalMethod||z.festivalMethod,u=[];return l?(a=h.datePanelType,e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:w}))?_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",{class:"vxe-date-panel--label--number"},""+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.push((0,_vue.h)("div",{class:"vxe-date-panel--label"},""+t)),u},Fe=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,t=G.value,e=le.value,n=f.value,v=y.value,o="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},t.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/t.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"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,o)):_xeUtils.default.isDateSame(d,t.date,o);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,o)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,t.label))])}))))])]},qe=()=>{let{type:i,multiple:t,cellClassName:s}=c,{datePanelType:r,datePanelValue:d}=h,n=b.value;var e=J.value;let v=ue.value,o=f.value,p=y.value,m="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+r]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},e.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"},v.map(e=>{let a=t?e.some(t=>o.some(e=>_xeUtils.default.isDateSame(e,t.date,m))):e.some(e=>_xeUtils.default.isDateSame(n,e.date,m)),l=e.some(e=>_xeUtils.default.isDateSame(d,e.date,m)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/v.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",s?_xeUtils.default.isFunction(s)?""+(s({$datePanel:w,type:i,viewType:r,date:e.date})||""):""+(s||""):"",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:u,"is--next":e.isNext,"is--range-disabled":N(e),"is--disabled":C(e),"is--selected":a,"is--over":p&&!a,"is--hover":!p&&l}],style:{width:`${t?13:9}%`},onClick:()=>W(e),onMouseenter:()=>F(e),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(e,e.label))])))}))])]},Ye=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=te.value,n=f.value,v=y.value,o="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,o)):_xeUtils.default.isDateSame(d,t.date,o);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,o)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])]},He=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=Z.value,n=f.value,v=y.value,o="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,o)):_xeUtils.default.isDateSame(d,t.date,o);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,o)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])]},Le=()=>{let{type:l,multiple:u,cellClassName:i}=c,{datePanelType:s,datePanelValue:r}=h,d=b.value,e=K.value,n=f.value,v=y.value,o="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+s]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},e.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/e.length+"%"}},a.map(t=>{var e=u?n.some(e=>_xeUtils.default.isDateSame(e,t.date,o)):_xeUtils.default.isDateSame(d,t.date,o);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",i?_xeUtils.default.isFunction(i)?""+(i({$datePanel:w,type:l,viewType:s,date:t.date})||""):""+(i||""):"",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--range-disabled":N(t),"is--disabled":C(t),"is--selected":e,"is--over":v&&!e,"is--hover":!v&&_xeUtils.default.isDateSame(r,t.date,o)}],style:{width:100/a.length+"%"},onClick:()=>W(t),onMouseenter:()=>F(t),onMouseleave:q},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},H(t,t.year))])}))))])]},Ee=()=>{var e=h.datePanelType;switch(e){case"week":return qe();case"month":return Ye();case"quarter":return He();case"year":return Le()}return Fe()},ze=()=>{var e=h.datePanelType,t=$.value,a=O.value,l=Q.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:xe},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:ye},l.m):(0,_ui.renderEmptyElement)(w)])]),(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:ge},[(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:be},[(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:Ue},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},Ee())]},je=()=>{var e=c.type;let a=h.datetimePanelValue;var t=A.value,l=ie.value,u=re.value,i=se.value,s=de.value,r=ne.value;return["time"===e?(0,_ui.renderEmptyElement)(w):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},t)]),(0,_vue.h)("div",{ref:j,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getHours()===t.value},onClick:e=>ke(e,t)},t.label))),u?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},i.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getMinutes()===t.value},onClick:e=>Ne(e,t)},t.label))):(0,_ui.renderEmptyElement)(w),u&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((t,e)=>(0,_vue.h)("li",{key:e,class:{"is--disabled":t.disabled,"is--selected":a&&a.getSeconds()===t.value},onClick:e=>Ce(e,t)},t.label))):(0,_ui.renderEmptyElement)(w)])]};return(0,_vue.watch)(()=>c.modelValue,e=>{pe(e),ce()}),(0,_vue.watch)(()=>c.type,()=>{Object.assign(h,{inputLabel:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),_e()}),(0,_vue.watch)(U,()=>{r.value&&(i(h.datePanelValue),h.inputLabel=c.multiple?o.value:h.datePanelLabel)}),_e(),We(),(0,_vue.onMounted)(()=>{var{type:e,multiple:t}=c;t&&"time"===e&&errLog("vxe.error.notSupportProp",["type="+e,"multiple=true","multiple=false"])}),w.renderVN=()=>{var e=c.type,t=E.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=c.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"},ze()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},je())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},je()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},ze())])},w},render(){return this.renderVN()}});
@@ -116,22 +116,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
116
116
  labelFormat: String,
117
117
  valueFormat: String,
118
118
  timeFormat: String,
119
- parseInputMethod: {
120
- type: Function,
121
- default: () => (0, _ui.getConfig)().datePicker.parseInputMethod
122
- },
119
+ parseInputMethod: Function,
123
120
  editable: {
124
121
  type: Boolean,
125
122
  default: true
126
123
  },
127
- festivalMethod: {
128
- type: Function,
129
- default: () => (0, _ui.getConfig)().datePicker.festivalMethod
130
- },
131
- disabledMethod: {
132
- type: Function,
133
- default: () => (0, _ui.getConfig)().datePicker.disabledMethod
134
- },
124
+ festivalMethod: Function,
125
+ disabledMethod: Function,
135
126
  // week
136
127
  selectDay: {
137
128
  type: [String, Number],
@@ -192,6 +183,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
192
183
  } = (0, _ui.useSize)(props);
193
184
  const reactData = (0, _vue.reactive)(createReactData());
194
185
  const internalData = createInternalData();
186
+ const defaultFuncProps = {
187
+ parseInputMethod: (0, _ui.getConfig)().datePicker.parseInputMethod,
188
+ festivalMethod: (0, _ui.getConfig)().datePicker.festivalMethod,
189
+ disabledMethod: (0, _ui.getConfig)().datePicker.disabledMethod
190
+ };
195
191
  const refElem = (0, _vue.ref)();
196
192
  const refInputTarget = (0, _vue.ref)();
197
193
  const refInputPanel = (0, _vue.ref)();
@@ -624,8 +620,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
624
620
  type,
625
621
  editable,
626
622
  multiple,
627
- maskedConfig,
628
- parseInputMethod
623
+ maskedConfig
629
624
  } = props;
630
625
  const {
631
626
  inputLabel
@@ -634,6 +629,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
634
629
  const maskedOpts = computeMaskedOpts.value;
635
630
  const dateStartDate = computeDateStartDate.value;
636
631
  const dateEndDate = computeDateEndDate.value;
632
+ const parseInpMethod = props.parseInputMethod || defaultFuncProps.parseInputMethod;
637
633
  if (!inpVal) {
638
634
  handleChange('', {
639
635
  type: 'check'
@@ -662,8 +658,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
662
658
  }
663
659
  }
664
660
  let inpDateVal;
665
- if (parseInputMethod) {
666
- inpDateVal = parseInputMethod({
661
+ if (parseInpMethod) {
662
+ inpDateVal = parseInpMethod({
667
663
  $datePicker: $xeDatePicker,
668
664
  type,
669
665
  inputValue: inpVal,
@@ -1602,8 +1598,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1602
1598
  valueFormat: props.valueFormat,
1603
1599
  timeFormat: props.timeFormat,
1604
1600
  timeConfig: timeOpts,
1605
- festivalMethod: props.festivalMethod,
1606
- disabledMethod: props.disabledMethod,
1601
+ festivalMethod: props.festivalMethod || defaultFuncProps.festivalMethod,
1602
+ disabledMethod: props.disabledMethod || defaultFuncProps.disabledMethod,
1607
1603
  selectDay: props.selectDay,
1608
1604
  onChange: panelChangeEvent,
1609
1605
  onConfirm: panelConfirmEvent,