UNPKG

date-week-range

Version:
2 lines (1 loc) 20.9 kB
import{defineComponent,ref,computed,openBlock,createElementBlock,createElementVNode,toDisplayString,createCommentVNode,Fragment,renderList,normalizeClass,inject,watch,resolveComponent,renderSlot,createVNode,withCtx,mergeProps}from"vue";import{timePickerDefaultProps,CommonPicker}from"element-plus/es/components/time-picker/index";import{useLocale,provideGlobalConfig}from"element-plus/lib/hooks/index";import{ClickOutside}from"element-plus/lib/directives/index";import dayjs from"dayjs";import{ElIcon}from"element-plus";import{ArrowLeft,ArrowRight,DArrowLeft,DArrowRight}from"@element-plus/icons-vue";import customParseFormat from"dayjs/plugin/customParseFormat";import advancedFormat from"dayjs/plugin/advancedFormat";import localeData from"dayjs/plugin/localeData";import weekOfYear from"dayjs/plugin/weekOfYear";import weekYear from"dayjs/plugin/weekYear";import dayOfYear from"dayjs/plugin/dayOfYear";import isSameOrAfter from"dayjs/plugin/isSameOrAfter";import isSameOrBefore from"dayjs/plugin/isSameOrBefore";import zhCn from"element-plus/lib/locale/lang/zh-cn";const handleWeekLastDay=date=>{const firstDayOfWeek=date.$locale().weekStart||7,day=date.day()||7,weekStartDay=firstDayOfWeek===day?6:Math.abs(firstDayOfWeek-day-1);return date.add(weekStartDay,"day")},handleWeekOneDay=date=>{const firstDayOfWeek=date.$locale().weekStart||7,day=date.day()||7,weekStartDay=firstDayOfWeek===day?0:Math.abs(7-firstDayOfWeek-day);return date.subtract(weekStartDay,"day")};var script$1=defineComponent({props:{date:{type:Object},minDate:{type:Object},maxDate:{type:Object},parsedValue:{type:[Object,Array]},showWeekNumber:{type:Boolean,default:!1},disabledDate:{type:Function},cellClassName:{type:Function},rangeState:{type:Object,default:()=>({endDate:null,selecting:!1})}},emits:["changerange","pick","select"],setup(props,ctx){const lastRow=ref(null),lastColumn=ref(null),tableRows=ref([[],[],[],[],[],[]]),{t}=useLocale(),firstDayOfWeek=props.date.$locale().weekStart||7,WEEKS_CONSTANT=props.date.locale("en").localeData().weekdaysShort().map((_=>_.toLowerCase())),offsetDay=computed((()=>firstDayOfWeek>3?7-firstDayOfWeek:-firstDayOfWeek)),startDate=computed((()=>{const startDayOfMonth=props.date.startOf("month");return startDayOfMonth.subtract(startDayOfMonth.day()||7,"day")})),WEEKS=computed((()=>WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(firstDayOfWeek,firstDayOfWeek+7))),moveDate=ref(null),disabledWeek=ref(null),rows=computed((()=>{const startOfMonth=props.date.startOf("month"),startOfMonthDay=startOfMonth.day()||7,dateCountOfMonth=startOfMonth.daysInMonth(),dateCountOfLastMonth=startOfMonth.subtract(1,"month").daysInMonth(),offset=offsetDay.value,rows_=tableRows.value;let count=1;const calNow=dayjs().startOf("day");for(let i=0;i<6;i++){const row=rows_[i];props.showWeekNumber&&(row[0]||(row[0]={type:"week",text:startDate.value.add(7*i+1,"day").week()}));for(let j=0;j<7;j++){let cell=row[props.showWeekNumber?j+1:j];cell||(cell={row:i,column:j,type:"normal",inRange:!1,start:!1,end:!1});const calTime=startDate.value.add(7*i+j-offset,"day");cell.type="normal";const calEndDate=props.rangeState.endDate||props.maxDate||props.rangeState.selecting&&props.minDate;cell.inRange=props.minDate&&calTime.isSameOrAfter(props.minDate,"day")&&calEndDate&&calTime.isSameOrBefore(calEndDate,"day")||props.minDate&&calTime.isSameOrBefore(props.minDate,"day")&&calEndDate&&calTime.isSameOrAfter(calEndDate,"day")||moveDate.value&&calTime.isSameOrAfter(moveDate.value,"week")&&calTime.isSameOrBefore(moveDate.value,"week"),props.minDate?.isSameOrAfter(calEndDate)?(cell.start=calEndDate&&calTime.isSame(calEndDate,"day"),cell.end=props.minDate&&calTime.isSame(props.minDate,"day")):(cell.start=props.minDate&&calTime.isSame(props.minDate,"day"),cell.end=calEndDate&&calTime.isSame(calEndDate,"day"));if(calTime.isSame(calNow,"day")&&(cell.type="today"),i>=0&&i<=1){const numberOfDaysFromPreviousMonth=startOfMonthDay+offset<0?7+startOfMonthDay+offset:startOfMonthDay+offset;j+7*i>=numberOfDaysFromPreviousMonth?cell.text=count++:(cell.text=dateCountOfLastMonth-(numberOfDaysFromPreviousMonth-j%7)+1+7*i,cell.type="prev-month")}else count<=dateCountOfMonth?cell.text=count++:(cell.text=count++-dateCountOfMonth,cell.type="next-month");const cellDate=calTime.toDate();cell.selected=!1,cell.disabled=props.disabledDate&&props.disabledDate(cellDate),cell.disabled&&(disabledWeek.value||(disabledWeek.value=calTime.week()),disabledWeek.value===calTime.week()&&(cell.disabled=!1)),cell.customClass=props.cellClassName&&props.cellClassName(cellDate),row[props.showWeekNumber?j+1:j]=cell}}return rows_})),getDateOfCell=(row,column)=>startDate.value.add(7*row+(column-(props.showWeekNumber?1:0))-offsetDay.value,"day");return{handleMouseMove:event=>{let target=event.target;if("SPAN"===target.tagName&&(target=target.parentNode.parentNode),"DIV"===target.tagName&&(target=target.parentNode),"TD"!==target.tagName)return;const row=target.parentNode.rowIndex-1,column=target.cellIndex;if(props.rangeState.selecting){if(moveDate.value=null,!rows.value[row][column].disabled&&(row!==lastRow.value||column!==lastColumn.value)){lastRow.value=row,lastColumn.value=column;let endDate=getDateOfCell(row,column),minDate=props.minDate;const minDay=minDate.day()||7;endDate.day(),endDate.isSameOrAfter(props.minDate)?(minDate.day()===firstDayOfWeek-1&&(minDate=handleWeekOneDay(minDate)),endDate=handleWeekLastDay(endDate)):(console.log(1,endDate.format("YYYY-MM-DD")),minDay===firstDayOfWeek&&(minDate=handleWeekLastDay(minDate)),endDate=handleWeekOneDay(endDate)),ctx.emit("pick",{minDate,maxDate:null}),ctx.emit("changerange",{selecting:!0,endDate})}}else moveDate.value=getDateOfCell(row,column)},handleMouseOut:()=>{moveDate.value=null},t,rows,isWeekActive:cell=>{let newDate=props.date.startOf("day");if("prev-month"===cell.type&&(newDate=newDate.subtract(1,"month")),"next-month"===cell.type&&(newDate=newDate.add(1,"month")),newDate=newDate.date(parseInt(cell.text,10)),props.parsedValue&&!Array.isArray(props.parsedValue)){const dayOffset=(props.parsedValue.day()-firstDayOfWeek+7)%7-1;return props.parsedValue.subtract(dayOffset,"day").isSame(newDate,"day")}return!1},getCellClasses:cell=>{const classes=[];return"normal"!==cell.type&&"today"!==cell.type||cell.disabled?classes.push(cell.type):(classes.push("available"),"today"===cell.type&&classes.push("today")),"normal"!==cell.type&&"today"!==cell.type||!((cell,date)=>!!date&&dayjs(date).isSame(props.date.date(Number(cell.text)),"day"))(cell,props.parsedValue)||classes.push("current"),!cell.inRange||"normal"!==cell.type&&"today"!==cell.type||(classes.push("in-range"),cell.start&&classes.push("start-date"),cell.end&&classes.push("end-date")),cell.disabled&&classes.push("disabled"),cell.selected&&classes.push("selected"),cell.customClass&&classes.push(cell.customClass),classes.join(" ")},WEEKS,handleClick:event=>{let target=event.target;if("SPAN"===target.tagName&&(target=target.parentNode.parentNode),"DIV"===target.tagName&&(target=target.parentNode),"TD"!==target.tagName)return;const row=target.parentNode.rowIndex-1,column=target.cellIndex,cell=rows.value[row][column];if(cell.disabled||"week"===cell.type)return;const tmpNewDate=getDateOfCell(row,column),newDate=handleWeekOneDay(tmpNewDate);moveDate.value=null,props.rangeState.selecting?(ctx.emit("pick",tmpNewDate>=props.minDate?{minDate:handleWeekOneDay(props.minDate),maxDate:handleWeekLastDay(tmpNewDate)}:{minDate:handleWeekOneDay(tmpNewDate),maxDate:handleWeekOneDay(props.minDate)}),ctx.emit("select",!1)):(ctx.emit("pick",{minDate:newDate,maxDate:handleWeekLastDay(tmpNewDate)},!1),ctx.emit("select",!0))}}}});const _hoisted_1$1={key:0},_hoisted_2$1={class:"el-date-table-cell"},_hoisted_3$1={class:"el-date-table-cell__text"};script$1.render=function(_ctx,_cache,$props,$setup,$data,$options){return openBlock(),createElementBlock("table",{cellspacing:"0",cellpadding:"0",class:"el-date-table",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.handleClick&&_ctx.handleClick(...args)),onMousemove:_cache[1]||(_cache[1]=(...args)=>_ctx.handleMouseMove&&_ctx.handleMouseMove(...args)),onMouseleave:_cache[2]||(_cache[2]=(...args)=>_ctx.handleMouseOut&&_ctx.handleMouseOut(...args))},[createElementVNode("tbody",null,[createElementVNode("tr",null,[_ctx.showWeekNumber?(openBlock(),createElementBlock("th",_hoisted_1$1,toDisplayString(_ctx.t("el.datepicker.week")),1)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.WEEKS,((week,key)=>(openBlock(),createElementBlock("th",{key},toDisplayString(_ctx.t("el.datepicker.weeks."+week)),1)))),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.rows,((row,key)=>(openBlock(),createElementBlock("tr",{key,class:normalizeClass(["el-date-table__row",{current:_ctx.isWeekActive(row[1])}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(row,((cell,key_)=>(openBlock(),createElementBlock("td",{key:key_,class:normalizeClass(_ctx.getCellClasses(cell))},[createElementVNode("div",_hoisted_2$1,[createElementVNode("span",_hoisted_3$1,toDisplayString(cell.text),1)])],2)))),128))],2)))),128))])],32)},script$1.__file="src/date-picker-com/basic-week-table.vue";var script=defineComponent({directives:{clickoutside:ClickOutside},components:{DateWeekTable:script$1,ElIcon,ArrowLeft,ArrowRight,DArrowLeft,DArrowRight},props:{unlinkPanels:Boolean,parsedValue:{type:Array}},emits:["pick","set-picker-option"],setup(props,ctx){const{t}=useLocale(),leftDate=ref(dayjs()),rightDate=ref(dayjs().add(1,"month")),minDate=ref(null),maxDate=ref(null),leftLabel=computed((()=>leftDate.value.year()+" "+t("el.datepicker.year")+" "+t(`el.datepicker.month${leftDate.value.month()+1}`))),rightLabel=computed((()=>rightDate.value.year()+" "+t("el.datepicker.year")+" "+t(`el.datepicker.month${rightDate.value.month()+1}`))),leftYear=computed((()=>leftDate.value.year())),leftMonth=computed((()=>leftDate.value.month())),rightYear=computed((()=>rightDate.value.year())),rightMonth=computed((()=>rightDate.value.month())),pickerBase=inject("EP_PICKER_BASE"),{shortcuts,disabledDate,cellClassName,format,defaultTime,defaultValue}=pickerBase.props,hasShortcuts=computed((()=>!!shortcuts.length)),enableMonthArrow=computed((()=>props.unlinkPanels&&new Date(leftYear.value+(leftMonth.value+1>=12?1:0),(leftMonth.value+1)%12)<new Date(rightYear.value,rightMonth.value))),enableYearArrow=computed((()=>props.unlinkPanels&&12*rightYear.value+rightMonth.value-(12*leftYear.value+leftMonth.value+1)>=12)),isValidValue=value=>Array.isArray(value)&&value&&value[0]&&value[1]&&value[0].valueOf()<=value[1].valueOf(),rangeState=ref({endDate:null,selecting:!1}),formatEmit=(emitDayjs,index)=>{if(emitDayjs){if(defaultTime){return dayjs(defaultTime[index]||defaultTime).year(emitDayjs.year()).month(emitDayjs.month()).date(emitDayjs.date())}return emitDayjs}},getDefaultValue=()=>{let start;if(Array.isArray(defaultValue)){const left=dayjs(defaultValue[0]);let right=dayjs(defaultValue[1]);return props.unlinkPanels||(right=left.add(1,"month")),[left,right]}return start=defaultValue?dayjs(defaultValue):dayjs(),[start,start.add(1,"month")]};return ctx.emit("set-picker-option",["isValidValue",isValidValue]),ctx.emit("set-picker-option",["parseUserInput",value=>Array.isArray(value)?value.map((_=>dayjs(_,format))):dayjs(value,format)]),ctx.emit("set-picker-option",["formatToString",value=>Array.isArray(value)?value.map((_=>_.format(format))):value.format(format)]),ctx.emit("set-picker-option",["handleClear",()=>{minDate.value=null,maxDate.value=null,leftDate.value=getDefaultValue()[0],rightDate.value=leftDate.value.add(1,"month"),ctx.emit("pick",null)}]),watch((()=>props.parsedValue),(newVal=>{if(newVal&&2===newVal.length)if(minDate.value=handleWeekOneDay(newVal[0]),maxDate.value=handleWeekLastDay(newVal[1]),leftDate.value=minDate.value,props.unlinkPanels&&maxDate.value){const minDateYear=minDate.value.year(),minDateMonth=minDate.value.month(),maxDateYear=maxDate.value.year(),maxDateMonth=maxDate.value.month();rightDate.value=minDateYear===maxDateYear&&minDateMonth===maxDateMonth?maxDate.value.add(1,"month"):maxDate.value}else rightDate.value=leftDate.value.add(1,"month");else{const defaultArr=getDefaultValue();leftDate.value=defaultArr[0],rightDate.value=defaultArr[1]}}),{immediate:!0}),{shortcuts,disabledDate,cellClassName,handleShortcutClick:shortcut=>{shortcut.value?ctx.emit("pick",[dayjs(shortcut.value[0]),dayjs(shortcut.value[1])]):shortcut.onClick&&shortcut.onClick(ctx)},rangeState,minDate,maxDate,handleRangePick:(val,close=!0)=>{const minDate_=formatEmit(val.minDate,0),maxDate_=formatEmit(val.maxDate,1);maxDate.value===maxDate_&&minDate.value===minDate_||(maxDate.value=maxDate_,minDate.value=minDate_,close&&((visible=!1)=>{isValidValue([minDate.value,maxDate.value])&&ctx.emit("pick",[minDate.value,maxDate.value],visible)})())},onSelect:selecting=>{rangeState.value.selecting=selecting,selecting||(rangeState.value.endDate=null)},handleChangeRange:val=>{rangeState.value=val},enableYearArrow,enableMonthArrow,rightPrevMonth:()=>{rightDate.value=rightDate.value.subtract(1,"month")},rightPrevYear:()=>{rightDate.value=rightDate.value.subtract(1,"year")},rightNextMonth:()=>{props.unlinkPanels?rightDate.value=rightDate.value.add(1,"month"):(leftDate.value=leftDate.value.add(1,"month"),rightDate.value=leftDate.value.add(1,"month"))},rightNextYear:()=>{props.unlinkPanels?rightDate.value=rightDate.value.add(1,"year"):(leftDate.value=leftDate.value.add(1,"year"),rightDate.value=leftDate.value.add(1,"month"))},leftPrevMonth:()=>{leftDate.value=leftDate.value.subtract(1,"month"),props.unlinkPanels||(rightDate.value=leftDate.value.add(1,"month"))},leftPrevYear:()=>{leftDate.value=leftDate.value.subtract(1,"year"),props.unlinkPanels||(rightDate.value=leftDate.value.add(1,"month"))},leftNextMonth:()=>{leftDate.value=leftDate.value.add(1,"month")},leftNextYear:()=>{leftDate.value=leftDate.value.add(1,"year")},hasShortcuts,leftLabel,rightLabel,leftDate,rightDate,t}}});const _hoisted_1={class:"el-picker-panel__body-wrapper"},_hoisted_2={key:0,class:"el-picker-panel__sidebar"},_hoisted_3=["onClick"],_hoisted_4={class:"el-picker-panel__body"},_hoisted_5={class:"el-picker-panel__content el-date-range-picker__content is-left"},_hoisted_6={class:"el-date-range-picker__header"},_hoisted_7=["disabled"],_hoisted_8=["disabled"],_hoisted_9={class:"el-picker-panel__content el-date-range-picker__content is-right"},_hoisted_10={class:"el-date-range-picker__header"},_hoisted_11=["disabled"],_hoisted_12=["disabled"];script.render=function(_ctx,_cache,$props,$setup,$data,$options){const _component_DArrowLeft=resolveComponent("DArrowLeft"),_component_el_icon=resolveComponent("el-icon"),_component_ArrowLeft=resolveComponent("ArrowLeft"),_component_DArrowRight=resolveComponent("DArrowRight"),_component_ArrowRight=resolveComponent("ArrowRight"),_component_date_week_table=resolveComponent("date-week-table");return openBlock(),createElementBlock("div",{class:normalizeClass(["el-picker-panel el-date-range-picker",[{"has-sidebar":_ctx.$slots.sidebar||_ctx.hasShortcuts}]])},[createElementVNode("div",_hoisted_1,[renderSlot(_ctx.$slots,"sidebar",{class:"el-picker-panel__sidebar"}),_ctx.hasShortcuts?(openBlock(),createElementBlock("div",_hoisted_2,[(openBlock(!0),createElementBlock(Fragment,null,renderList(_ctx.shortcuts,((shortcut,key)=>(openBlock(),createElementBlock("button",{key,type:"button",class:"el-picker-panel__shortcut",onClick:$event=>_ctx.handleShortcutClick(shortcut)},toDisplayString(shortcut.text),9,_hoisted_3)))),128))])):createCommentVNode("v-if",!0),createElementVNode("div",_hoisted_4,[createElementVNode("div",_hoisted_5,[createElementVNode("div",_hoisted_6,[createElementVNode("button",{type:"button",class:"el-picker-panel__icon-btn el-icon-d-arrow-left",onClick:_cache[0]||(_cache[0]=(...args)=>_ctx.leftPrevYear&&_ctx.leftPrevYear(...args))},[createVNode(_component_el_icon,{class:normalizeClass(["arrow-down"])},{default:withCtx((()=>[createVNode(_component_DArrowLeft)])),_:1})]),createElementVNode("button",{type:"button",class:"el-picker-panel__icon-btn el-icon-arrow-left",onClick:_cache[1]||(_cache[1]=(...args)=>_ctx.leftPrevMonth&&_ctx.leftPrevMonth(...args))},[createVNode(_component_el_icon,{class:normalizeClass(["arrow-down"])},{default:withCtx((()=>[createVNode(_component_ArrowLeft)])),_:1})]),_ctx.unlinkPanels?(openBlock(),createElementBlock(Fragment,{key:0},[createElementVNode("button",{type:"button",disabled:!_ctx.enableYearArrow,class:normalizeClass([{"is-disabled":!_ctx.enableYearArrow},"el-picker-panel__icon-btn el-icon-d-arrow-right"]),onClick:_cache[2]||(_cache[2]=(...args)=>_ctx.leftNextYear&&_ctx.leftNextYear(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_DArrowRight)])),_:1})],10,_hoisted_7),createElementVNode("button",{type:"button",disabled:!_ctx.enableMonthArrow,class:normalizeClass([{"is-disabled":!_ctx.enableMonthArrow},"el-picker-panel__icon-btn el-icon-arrow-right"]),onClick:_cache[3]||(_cache[3]=(...args)=>_ctx.leftNextMonth&&_ctx.leftNextMonth(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_ArrowRight)])),_:1})],10,_hoisted_8)],64)):createCommentVNode("v-if",!0),createElementVNode("div",null,toDisplayString(_ctx.leftLabel),1)]),createVNode(_component_date_week_table,{"selection-mode":"range",date:_ctx.leftDate,"min-date":_ctx.minDate,"max-date":_ctx.maxDate,"range-state":_ctx.rangeState,"disabled-date":_ctx.disabledDate,"cell-class-name":_ctx.cellClassName,onChangerange:_ctx.handleChangeRange,onPick:_ctx.handleRangePick,onSelect:_ctx.onSelect},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onPick","onSelect"])]),createElementVNode("div",_hoisted_9,[createElementVNode("div",_hoisted_10,[_ctx.unlinkPanels?(openBlock(),createElementBlock(Fragment,{key:0},[createElementVNode("button",{type:"button",disabled:!_ctx.enableYearArrow,class:normalizeClass([{"is-disabled":!_ctx.enableYearArrow},"el-picker-panel__icon-btn el-icon-d-arrow-left"]),onClick:_cache[4]||(_cache[4]=(...args)=>_ctx.rightPrevYear&&_ctx.rightPrevYear(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_DArrowLeft)])),_:1})],10,_hoisted_11),createElementVNode("button",{type:"button",disabled:!_ctx.enableMonthArrow,class:normalizeClass([{"is-disabled":!_ctx.enableMonthArrow},"el-picker-panel__icon-btn el-icon-arrow-left"]),onClick:_cache[5]||(_cache[5]=(...args)=>_ctx.rightPrevMonth&&_ctx.rightPrevMonth(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_ArrowLeft)])),_:1})],10,_hoisted_12)],64)):createCommentVNode("v-if",!0),createElementVNode("button",{type:"button",class:"el-picker-panel__icon-btn el-icon-d-arrow-right",onClick:_cache[6]||(_cache[6]=(...args)=>_ctx.rightNextYear&&_ctx.rightNextYear(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_DArrowRight)])),_:1})]),createElementVNode("button",{type:"button",class:"el-picker-panel__icon-btn el-icon-arrow-right",onClick:_cache[7]||(_cache[7]=(...args)=>_ctx.rightNextMonth&&_ctx.rightNextMonth(...args))},[createVNode(_component_el_icon,null,{default:withCtx((()=>[createVNode(_component_ArrowRight)])),_:1})]),createElementVNode("div",null,toDisplayString(_ctx.rightLabel),1)]),createVNode(_component_date_week_table,{"selection-mode":"range",date:_ctx.rightDate,"min-date":_ctx.minDate,"max-date":_ctx.maxDate,"range-state":_ctx.rangeState,"disabled-date":_ctx.disabledDate,"cell-class-name":_ctx.cellClassName,onChangerange:_ctx.handleChangeRange,onPick:_ctx.handleRangePick,onSelect:_ctx.onSelect},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onPick","onSelect"])])])])],2)},script.__file="src/date-picker-com/panel-week-range.vue",dayjs.extend(localeData),dayjs.extend(advancedFormat),dayjs.extend(customParseFormat),dayjs.extend(weekOfYear),dayjs.extend(weekYear),dayjs.extend(dayOfYear),dayjs.extend(isSameOrAfter),dayjs.extend(isSameOrBefore);var DatePicker=defineComponent({name:"DateWeekRange",props:{...timePickerDefaultProps},emits:["update:modelValue"],setup(props,ctx){const commonPicker=ref(null),refProps={...props,focus:()=>{commonPicker.value?.handleFocus()}};return ctx.expose(refProps),()=>createVNode(CommonPicker,mergeProps(props,{ref:commonPicker,type:"daterange",format:"YYYY年ww周","onUpdate:modelValue":value=>ctx.emit("update:modelValue",value)}),{default:props=>createVNode(script,props,null)})}});const DateWeekRange=DatePicker;var index={install:function(app,options={locale:zhCn}){app.component(DatePicker.name,DatePicker),options&&provideGlobalConfig(options,app,!0)},version:"2.0.3"};export{DateWeekRange,index as default};