@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 97.2 kB
JavaScript
(function(J,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("../common/index.umd.js"),require("lodash-es"),require("../time-picker/index.umd.js"),require("../button/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../button-edit/index.umd.js"),require("../input-group/index.umd.js"),require("../popover/index.umd.js"),require("vue-i18n"),require("../../designer/button-edit/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","lodash-es","../time-picker/index.umd.js","../button/index.umd.js","../dynamic-resolver/index.umd.js","../button-edit/index.umd.js","../input-group/index.umd.js","../popover/index.umd.js","vue-i18n","../../designer/button-edit/index.umd.js","../../designer/input-group/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js"],n):(J=typeof globalThis<"u"?globalThis:J||self,n(J["date-picker"]={},J.Vue,J.common,J.LodashES,J.timePicker,J.button,J.dynamicResolver,J.FButtonEdit,J.inputGroup,J.FPopover,J.vueI18n,J.FButtonEditDesign,J.FInputGroupDesign,J.designerCanvas,J.propertyPanel))})(this,function(J,n,De,te,at,Hn,$t,Wn,Yt,Bn,In,En,jt,Ht,An){"use strict";const Me=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Rn={Sun:"日",Mon:"一",Tue:"二",Wed:"三",Thu:"四",Fri:"五",Sat:"六"};var ce=(e=>(e[e.previous=1]="previous",e[e.current=2]="current",e[e.next=3]="next",e))(ce||{}),be=(e=>(e.Sunday="Sun",e.Monday="Mon",e))(be||{});const Wt={dates:{Type:Array,default:[]},daysInWeek:{Type:Array,default:[]},enableKeyboadNavigate:{Type:Boolean,default:!0},enableMarkCurrent:{Type:Boolean,default:!0},enablePeriod:{Type:Boolean,default:!1},firstDayOfTheWeek:{Type:String,default:be.Sunday},selected:{Type:Object,default:null},selectedPeriod:{Type:Object,default:null},selectedWeek:{Type:Object,default:null},selectMode:{Type:String,default:"day"},showWeekNumber:{Type:Boolean,default:!1},weekTitle:{Type:String,default:"Week"}};var fe=(e=>(e[e.enter=13]="enter",e[e.esc=27]="esc",e[e.space=32]="space",e[e.leftArrow=37]="leftArrow",e[e.upArrow=38]="upArrow",e[e.rightArrow=39]="rightArrow",e[e.downArrow=40]="downArrow",e[e.tab=9]="tab",e[e.shift=16]="shift",e))(fe||{});function ot(){function e(t){const a=t.key||t.keyCode;return a==="Enter"||a===13?13:a==="Escape"||a===27?27:a===" "||a===32?32:a==="ArrowLeft"||a===37?37:a==="ArrowUp"||a===38?38:a==="ArrowRight"||a===39?39:a==="ArrowDown"||a===40?40:a==="Tab"||a===9?9:a==="Shift"||a===16?16:-1}return{getKeyCodeFromEvent:e}}function ue(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ie(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Ee(e,t){const a=ue(e);return isNaN(t)?Ie(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function rt(e,t){const a=ue(e);if(isNaN(t))return Ie(e,NaN);if(!t)return a;const o=a.getDate(),r=Ie(e,a.getTime());r.setMonth(a.getMonth()+t+1,0);const g=r.getDate();return o>=g?r:(a.setFullYear(r.getFullYear(),r.getMonth(),o),a)}let Ln={};function Bt(){return Ln}function Ae(e,t){var v,O,f,u;const a=Bt(),o=(t==null?void 0:t.weekStartsOn)??((O=(v=t==null?void 0:t.locale)==null?void 0:v.options)==null?void 0:O.weekStartsOn)??a.weekStartsOn??((u=(f=a.locale)==null?void 0:f.options)==null?void 0:u.weekStartsOn)??0,r=ue(e),g=r.getDay(),T=(g<o?7:0)+g-o;return r.setDate(r.getDate()-T),r.setHours(0,0,0,0),r}function qn(e){const t=ue(e);return t.setHours(0,0,0,0),t}function _n(e,t){const a=t*3;return rt(e,a)}function zn(e,t){const a=t*7;return Ee(e,a)}function Qn(e,t){return rt(e,t*12)}function Un(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Gn(e){if(!Un(e)&&typeof e!="number")return!1;const t=ue(e);return!isNaN(Number(t))}function lt(e){const t=ue(e),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function it(e){const t=ue(e),a=t.getMonth(),o=a-a%3;return t.setMonth(o,1),t.setHours(0,0,0,0),t}function Re(e){const t=ue(e);return t.setDate(1),t.setHours(0,0,0,0),t}function st(e){const t=ue(e),a=t.getFullYear();return t.setFullYear(a+1,0,0),t.setHours(23,59,59,999),t}function ct(e){const t=ue(e),a=Ie(e,0);return a.setFullYear(t.getFullYear(),0,1),a.setHours(0,0,0,0),a}function It(e,t){var v,O,f,u;const a=Bt(),o=(t==null?void 0:t.weekStartsOn)??((O=(v=t==null?void 0:t.locale)==null?void 0:v.options)==null?void 0:O.weekStartsOn)??a.weekStartsOn??((u=(f=a.locale)==null?void 0:f.options)==null?void 0:u.weekStartsOn)??0,r=ue(e),g=r.getDay(),T=(g<o?-7:0)+6-(g-o);return r.setDate(r.getDate()+T),r.setHours(23,59,59,999),r}function ut(e){const t=ue(e),a=t.getMonth(),o=a-a%3+3;return t.setMonth(o,0),t.setHours(23,59,59,999),t}function $e(e,t){return Ee(e,-t)}function Q(){return qn(Date.now())}function Le(e,t){return rt(e,-t)}function Et(e,t){return _n(e,-t)}function At(e,t){return zn(e,-t)}function Rt(e,t){return Qn(e,-t)}function me(){const{formatTo:e,parseToDate:t}=De.useDateFormat();function a(){return{year:0,month:0,day:0}}function o(s){return new Date(s.year||0,s.month?s.month-1:0,s.day||0,s.hour?s.hour:0,s.minute?s.minute:0,s.second?s.second:0,0)}function r(s){const H=new Date;return s.year||(s.year=H.getFullYear()),s.month||(s.month=H.getMonth()+1),s.day||(s.day=1),new Date(s.year,s.month-1,s.day,s.hour?s.hour:0,s.minute?s.minute:0,s.second?s.second:0,0)}function g(s){return new Date(s.year||1,(s.month||1)-1,s.day,s.hour?s.hour:0,s.minute?s.minute:0,s.second?s.second:0,0).getDay()}function T(s){return Me.indexOf(s)}function v(s){return o(s).getTime()}function O(s){return Math.round(v(s)/1e3)}function f(s,H,j){const I=v(H),y=v(j),P=v(s);return y-P>P-I?H:j}function u(){const s=new Date;return{year:s.getFullYear(),month:s.getMonth()+1,day:s.getDate(),hour:s.getHours(),minute:s.getMinutes(),second:s.getSeconds()}}function i(s,H){const j=H.match(/[^(DdMmYy)]{1,}/g),I={};if(j){let y=j[0];j[0]!==j[1]&&(y=j[0]+j[1],j[2]&&j[1]!==j[2]&&(y+=j[2]));const P=new RegExp("["+y+"]"),Y=s.split(P),V=H.split(P);for(let R=0;R<V.length;R++)V[R].indexOf("yyyy")!==-1&&(I.year=Number(Y[R])),V[R].indexOf("M")!==-1&&(I.month=Number(Y[R]||"1")),V[R].indexOf("d")!==-1&&(I.day=Number(Y[R]||"1"))}else{const y=(H+"").indexOf("yyyy"),P=(H+"").indexOf("MM"),Y=(H+"").indexOf("dd");if(y>=0){const V=s.substring(y,y+4);I.year=Number(V)}P>=0&&(I.month=Number(s.substring(P,P+2)||"1")),Y>=0&&(I.day=Number(s.substring(Y,Y+2)||"01"))}return I.year===void 0&&(I.year=u().year),I}function c(s){return{year:s.getFullYear(),month:s.getMonth()+1,day:s.getDate(),hour:s.getHours(),minute:s.getMinutes(),second:s.getSeconds()}}function M(s,H=!0){const j=new Date(1900,1,1,0,0,0),I=new Date(9999,12,31,23,59,59),y=H?j:I;let P;return s instanceof Date?P=s:typeof s=="string"?P=s.trim()?t(s,"yyyy-MM-dd HH:mm:ss"):y:P=y,Gn(P)||(P=y),{year:P.getFullYear(),month:P.getMonth()+1,day:P.getDate(),hour:P.getHours(),minute:P.getMinutes(),second:P.getSeconds()}}function d(s){return M(s,!0)}function p(s){return M(s,!1)}function k(s,H=!1){if(s){const j=s.replace("时",":").replace("分",":").replace("秒","").split(":");if(j.length>=2)return{hour:parseInt(j[0],10),minute:parseInt(j[1]),second:parseInt(j[2]||"0")||0}}else{const j=new Date,I=j.getHours(),y=j.getMinutes(),P=j.getSeconds();return H?{hour:0,minute:0,second:0}:{hour:I,minute:y,second:P}}return{hour:0,minute:0,second:0}}function D(s){if(s){const y=s.replace("时",":").replace("分",":").replace("秒","").split(":");if(y.length>=2)return{hour:y[0],minute:y[1],second:y[2]?y[2]:0}}return{hour:23,minute:59,second:59}}return{emptyDate:a,getDate:o,getDate2:r,getDayNumber:g,getEpocTime:O,getNearDate:f,getWeekdayIndex:T,getTimeInMilliseconds:v,getToday:u,getDateObject:i,getMinDate:d,getMaxDate:p,getTimeValue:k,getEndTimeValue:D,convertDateToDateObject:c}}function ke(){const{getTimeInMilliseconds:e}=me();function t(i){return i&&i.year!==0&&i.month!==0&&i.day!==0}function a(i){return i&&i.year!==0&&i.month!==0}function o(i){return i&&i.year!==0}function r(i,c){return e(i)<e(c)}function g(i,c){return e(i)<=e(c)}function T(i,c){return e(i)===e(c)}function v(i,c){const M=e(c);return e(i.from)===M||e(i.to)===M}function O(i,c){return!c||!t(c.to)||!t(c.from)?!1:g(c.from,i)&&g(i,c.to)}function f(i,c){return t(c)&&e(i)>=e(c)}function u(i,c){return t(c)&&e(i)<=e(c)}return{isDateEarlier:r,equal:T,inPeriod:O,isPoint:v,equalOrEarlier:g,isInitializedDate:t,isInitializedMonth:a,isInitializedYear:o,isMonthDisabledByDisableSince:f,isMonthDisabledByDisableUntil:u}}const qe=n.defineComponent({name:"FDatePickerCalendarView",props:Wt,emits:["click","clickWeek","keyDown","mouseEnter","mouseLeave"],setup(e,t){const a=n.ref(e.dates),o=n.ref(e.daysInWeek),r=n.ref(e.enableKeyboadNavigate),g=n.ref(e.enableMarkCurrent),T=n.ref(e.enablePeriod),v=n.ref(e.selected),O=n.ref(e.selectedPeriod),f=n.ref(e.selectedWeek),u=n.ref(e.selectMode),i=n.ref(e.showWeekNumber),c=n.ref(e.weekTitle||"周");n.watch(()=>e.dates,()=>{a.value=e.dates}),n.watch(()=>e.selected,()=>{v.value=e.selected}),n.watch(()=>e.enablePeriod,(h,$)=>{h!==$&&(T.value=h)}),n.watch(()=>e.selectedPeriod,h=>{O.value=h}),n.watch(()=>e.selectedWeek,h=>{f.value=h});const{equal:M,inPeriod:d,isInitializedDate:p,equalOrEarlier:k,isPoint:D}=ke(),{getKeyCodeFromEvent:s}=ot(),H=h=>{const $=!!f.value&&h.numberInTheYear===f.value.numberInTheYear&&h.year===f.value.year;return{"f-datepicker-selectWeek":u.value==="week","f-datepicker-selectedWeek":u.value==="week"&&$}};function j(h){return d(h,O.value)}function I(h){if(!O.value)return!1;const $={from:{year:O.value.from.year,month:O.value.from.month,day:O.value.from.day},to:{year:O.value.to.year,month:O.value.to.month,day:O.value.to.day}};return!!O.value&&D($,h)}function y(h){return!!v.value&&M({year:v.value.year,month:v.value.month,day:v.value.day},{year:h.year,month:h.month,day:h.day})}const P=(h,$,S)=>{const B=u.value!=="week"&&h.tag===ce.current&&(T.value&&j(h.date)&&!I(h.date)||h.range),x=h.tag===ce.previous||h.tag===ce.next,E={"f-datepicker-range":B,"f-datepicker-no-currmonth":x,"f-datepicker-disabled":h.disable,"f-datepicker-singledate":!h.disable},G=`d_${$}_${S}`;return E[G]=!0,E},Y=h=>{const $=u.value!=="week"&&h.tag===ce.current&&(!T.value&&y(h.date)||T.value&&I(h.date)),S=h.isCurrent&&g.value,B=h.highlight&&(h.tag===ce.previous||h.tag===ce.next||h.disable);return{"f-datepicker-date":!0,"f-datepicker-selected":$,"f-datepicker-current":S,"f-datepicker-opacity":B,"f-datepicker-highlight":h.highlight,"f-datepicker-disabled":h.disable}};function V(h,$){$.disable||u.value==="week"||(h.stopPropagation(),t.emit("click",{event:h,dayItem:$}))}function R(h,$){u.value==="week"&&(h.stopPropagation(),t.emit("clickWeek",$))}function q(h,$){const S=s(h);S!==fe.tab&&(h.preventDefault(),S===fe.enter||S===fe.space?V(h,$):r.value&&t.emit("keyDown",$.date))}function C(h){if(O.value&&p(O.value.from)&&(!p(O.value.to)||JSON.stringify(O.value.from)===JSON.stringify(O.value.to))){const{from:$}=O.value;a.value.forEach(S=>{S.days.forEach(B=>{B.range=k($,B.date)&&k(B.date,h.date)||k(B.date,$)&&k(h.date,B.date)})}),t.emit("mouseEnter",h.date)}}function A(){a.value.forEach(h=>{h.days.forEach($=>{$.range=!1})}),t.emit("mouseLeave")}return()=>n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"f-datepicker-table-wrapper"},[n.createVNode("table",{class:"f-datepicker-table",cellpadding:"0"},[n.createVNode("thead",null,[n.createVNode("tr",null,[i.value&&n.createVNode("th",{class:"f-datepicker-weeknbr-title",style:"padding-bottom: 8px;padding-top: 4px"},[c.value]),o.value&&o.value.map(h=>n.createVNode("th",{scope:"col",style:"padding-bottom: 8px;padding-top: 4px"},[h]))])]),n.createVNode("tbody",null,[a.value&&a.value.map((h,$)=>n.createVNode("tr",{class:H(h),onClick:S=>R(S,h)},[i.value&&n.createVNode("td",{class:"f-datepicker-weeknbr"},[n.createVNode("div",{class:"f-datepicker-date"},[h.numberInTheYear])]),h.days&&h.days.map((S,B)=>n.createVNode("td",{id:`d_${$}_${B}`,tabindex:"0",class:P(S,$,B),onKeydown:x=>q(x,S),onMouseenter:()=>C(S),onMouseleave:()=>A()},[S.marked&&S.marked.marked&&n.createVNode("span",{class:"f-datepicker-markdate",style:{"background-color":S.marked.color}},null),n.createVNode("div",{class:Y(S),onClick:x=>V(x,S)},[S.date.day])]))]))])])])])}}),Jn={activeMonth:{type:Object,require:!0},ariaLabelPrevMonth:{type:String,default:""},ariaLabelNextMonth:{type:String,default:""},dateFormat:{type:String,default:"yyyy-MM-dd"},disablePrePage:{type:Boolean,default:!1},disablePreRecord:{type:Boolean,default:!1},disableNextRecord:{type:Boolean,default:!1},disableNextPage:{type:Boolean,default:!1},years:{type:Array,default:[[{}]]},selectingMonth:{type:Boolean,default:!1},selectingYear:{type:Boolean,default:!1},selectMode:{type:String,default:"day"}},dt=n.defineComponent({name:"FDatePickerCalendarNavbar",props:Jn,emits:["clickMonth","clickYear","prePage","preRecord","nextRecord","nextPage"],setup(e,t){const a=n.ref(e.ariaLabelPrevMonth),o=n.ref(e.ariaLabelNextMonth),r=n.ref(e.dateFormat),g=n.ref(e.disablePrePage),T=n.ref(e.disablePreRecord),v=n.ref(e.disableNextRecord),O=n.ref(e.disableNextPage),f=n.ref(e.activeMonth),u=n.ref(e.years),i=n.ref(e.selectingMonth),c=n.ref(e.selectingYear),M=n.ref(e.selectMode),d=n.ref(!0),p=n.ref(!0);n.watch(()=>e.selectingMonth,(x,E)=>{i.value=x}),n.watch(()=>e.selectingYear,(x,E)=>{c.value=x}),n.watch(()=>e.years,(x,E)=>{u.value=x}),n.watch(()=>e.activeMonth,()=>{var x,E,G,N;f.value={month:(x=e.activeMonth)==null?void 0:x.month,year:(E=e.activeMonth)==null?void 0:E.year,displayTextOfMonth:(G=e.activeMonth)==null?void 0:G.displayTextOfMonth,displayTextOfYear:(N=e.activeMonth)==null?void 0:N.displayTextOfYear}});const k=n.computed(()=>({"f-datepicker-header":!0,monthYearSelBarBorder:i.value||c.value})),D=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":g.value})),s=n.computed(()=>!i.value&&!c.value),H=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":T.value})),j=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":v.value})),I=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":O.value})),y=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-yearLabel":d.value,"f-datepicker-labelBtnNotEdit":!d.value})),P=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-monthLabel":p.value,"f-datepicker-labelBtnNotEdit":!p.value})),Y=n.computed(()=>{const x=r.value?r.value.indexOf("yyyy"):0,E=r.value?r.value.indexOf("MM"):0;return x>E?"MM-yyyy":"yyyy-MM"});function V(x){x.stopPropagation(),t.emit("prePage")}function R(x){x.stopPropagation(),t.emit("preRecord")}function q(x){x.stopPropagation(),t.emit("clickYear")}function C(x){x.stopPropagation(),t.emit("clickMonth")}function A(x){x.stopPropagation(),t.emit("nextRecord")}function h(x){x.stopPropagation(),t.emit("nextPage")}const $=n.computed(()=>{const x={};return M.value==="year"&&(x.cursor="default"),x});function S(){return n.createVNode("button",{type:"button",style:$.value,class:y.value,onClick:x=>{d.value&&q(x)},tabindex:d.value?"0":"-1",disabled:M.value==="year"},[c.value?u.value.length>3?u.value[0][1].year+" - "+u.value[3][1].year:"":f.value.displayTextOfYear])}function B(){return!c.value&&M.value!=="month"&&n.createVNode("button",{type:"button",class:P.value,onClick:x=>{p.value&&C(x)},tabindex:p.value?"0":"-1"},[f.value.displayTextOfMonth])}return()=>n.createVNode("div",{class:k.value,style:"height:40px; overflow:hidden;"},[n.createVNode("div",{class:"f-datepicker-prev-btn"},[n.createVNode("button",{type:"button",class:D.value,onClick:V},[n.createVNode("i",{class:"f-icon f-icon-arrow-double-60-left"},null)]),s.value&&n.createVNode("button",{type:"button","aria-label":a.value,class:H.value,onClick:R},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)])]),n.createVNode("div",{class:"f-datepicker-monthYearText"},[Y.value==="yyyy-MM"?[S(),B()]:[B(),S()]]),n.createVNode("div",{class:"f-datepicker-next-btn"},[s.value&&n.createVNode("button",{type:"button","aria-label":o.value,class:j.value,onClick:A},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)]),n.createVNode("button",{type:"button",class:I.value,onClick:h},[n.createVNode("i",{class:"f-icon f-icon-arrow-double-60-right"},null)])])])}}),ft={1:"一月",2:"二月",3:"三月",4:"四月",5:"五月",6:"六月",7:"七月",8:"八月",9:"九月",10:"十月",11:"十一月",12:"十二月"},Lt=new Map([["appearance",$t.resolveAppearance]]);function qt(e,t,a){return t}const Xn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/date-view.schema.json",title:"date-view",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for date picker",type:"string"},type:{description:"The type string of date picker",type:"string",default:"date-view"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},disable:{type:"string",default:!1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Zn={title:"date-view",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{visible:{description:"",title:"可见",type:"boolean"}}}}},_t={locales:{type:Object,default:{}},top:{type:Number,default:0},left:{type:Number,default:0},position:{type:String,default:"bottom"},enablePeriod:{type:Boolean,default:!1},dateFormat:{type:String,default:"yyyy-MM-dd"},valueFormat:{type:String,default:"yyyy-MM-dd"},dates:{type:Array,default:[]},disableDates:{Type:Array,default:[]},disablePeriod:{Type:Array,default:[]},disableSince:{Type:Object,default:{year:0,month:0,day:0}},disableWeekdays:{Type:Array,default:[]},disableWeekends:{Type:Boolean,default:!1},disableUntil:{Type:Object,default:{year:0,month:0,day:0}},enableKeyboadNavigate:{type:Boolean,default:!0},enableMarkCurrent:{type:Boolean,default:!0},firstDayOfTheWeek:{type:String,default:be.Sunday},highlightDates:{Type:Array,default:[]},highlightSaturday:{Type:Boolean,default:!1},highlightSunday:{Type:Boolean,default:!1},maxYear:{Type:Number,default:1e4},minYear:{Type:Number,default:1},mode:{Type:String,default:"Embedded"},months:{type:Array,default:[[]]},nameOfMonths:{Type:Object,default:ft},secondaryDates:{type:Array,default:[]},secondaryMonths:{type:Array,default:[[]]},selectedDate:{type:Object,default:null},selectedSecondDate:{type:Object,default:null},selectedMonth:{type:Object,default:null},selectedWeek:{type:Object,default:null},selectMode:{type:String,default:"day"},showWeekNumber:{type:Boolean,default:!1},weekTitle:{type:String,default:"周"},years:{Type:Array,default:[[]]},value:{type:String,default:null},showTime:{type:Boolean,default:!1},enableQuickSelect:{type:Boolean,default:!1}},zt=$t.createPropsResolver(_t,Xn,Lt,qt,Zn),Kn={months:{Type:Array,default:[[]]},enableMarkCurrent:{Type:Boolean,default:!1},enableKeyboadNavigate:{Type:Boolean,default:!0},enablePeriod:{Type:Boolean,default:!1},selected:{Type:Object,default:null},selectedPeriod:{Type:Object,default:null},selectMode:{Type:String,default:"day"}},yt=n.defineComponent({name:"FDatePickerMonthView",props:Kn,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,t){const a=n.ref(e.months),o=n.ref(e.enableMarkCurrent),r=n.ref(e.enableKeyboadNavigate),g=n.ref(e.enablePeriod),T=n.ref(e.selected),v=n.ref(e.selectedPeriod),{equal:O,inPeriod:f,isInitializedDate:u,equalOrEarlier:i}=ke(),{getKeyCodeFromEvent:c}=ot();n.watch(()=>e.months,()=>{a.value=e.months}),n.watch(()=>e.selected,()=>{T.value=e.selected}),n.watch(()=>e.selectedPeriod,y=>{v.value=y});function M(y,P){y.stopPropagation(),!P.disable&&t.emit("click",P.date)}function d(y,P){const Y=c(y);Y!==fe.tab&&(y.preventDefault(),Y===fe.enter||Y===fe.space?M(y,P):r.value&&t.emit("keyDown",P))}function p(y){v.value&&u(v.value.from)&&!u(v.value.to)&&(a.value.forEach(P=>{P.forEach(Y=>{Y.range=!!v.value&&(i(v.value.from,Y.date)&&i(Y.date,y.date)||i(Y.date,v.value.from)&&i(y.date,Y.date))})}),t.emit("mouseEnter",y))}function k(){a.value.forEach(y=>{y.forEach(P=>{P.range=!1})}),t.emit("mouseLeave")}const D=(y,P)=>y.year===P.year&&y.month===P.month;function s(y){return!!T.value&&D(T.value,y)}function H(y){return!!v.value&&(D(v.value.from,y)||D(v.value.to,y))}function j(y){return f(y,v.value)}const I=y=>({"f-datepicker-month-cell":!0,"f-datepicker-current":y.isCurrent&&o.value,"f-datepicker-selected":(!g.value||e.selectMode==="week")&&s(y.date)||g.value&&H(y.date),"f-datepicker-disabled":y.disable,"f-datepicker-range":j(y.date)||y.range});return()=>n.createVNode("div",{class:"f-datepicker-table-wrapper"},[n.createVNode("table",{class:"f-datepicker-table"},[n.createVNode("tbody",null,[a.value&&a.value.map((y,P)=>n.createVNode("tr",null,[y.map((Y,V)=>n.createVNode("td",{id:`m_${P}_${V}`,class:`m_${P}_${V}`,onKeydown:R=>d(R,Y),onMouseenter:()=>p(Y),onMouseleave:()=>k(),tabindex:"0",style:"width: 33.3%"},[n.createVNode("div",{class:"f-datepicker-month",onClick:R=>M(R,Y)},[n.createVNode("span",{class:I(Y)},[Y.displayText])])]))]))])])])}}),ea={years:{Type:Array,default:[[]]},enableKeyboadNavigate:{Type:Boolean,default:!0},enableMarkCurrent:{Type:Boolean,default:!0},enablePeriod:{Type:Boolean,default:!1},selected:{Type:Object,default:null},selectedPeriod:{Type:Object,default:null},selectMode:{Type:String,default:"day"}},mt=n.defineComponent({name:"FDatePickerYearView",props:ea,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,t){const a=n.ref(e.years),o=n.ref(e.enableMarkCurrent),r=n.ref(e.enableKeyboadNavigate),g=n.ref(e.enablePeriod),T=n.ref(e.selected),v=n.ref(e.selectedPeriod),{equal:O,inPeriod:f,isInitializedDate:u,equalOrEarlier:i}=ke(),{getKeyCodeFromEvent:c}=ot();n.watch(()=>e.years,()=>{a.value=e.years}),n.watch(()=>e.selected,()=>{T.value=e.selected});const M=(y,P)=>{const Y=`y_${y}_${P}`,V={"f-datepicker-no-currmonth":y===0&&P===0||y===3&&P===2};return V[Y]=!0,V};function d(y){return f(y,v.value)}function p(y){return!!T.value&&O({year:T.value.year},y)}function k(y){return!!v.value&&(O({year:v.value.from.year},y)||O({year:v.value.to.year},y))}const D=y=>({"f-datepicker-year-cell":!0,"f-datepicker-current":y.isCurrent&&o.value,"f-datepicker-selected":(!g.value||e.selectMode==="week")&&p(y.date)||g.value&&k(y.date),"f-datepicker-disabled":y.disable,"f-datepicker-range":d(y.date)||y.range});function s(y,P){y.stopPropagation(),!P.disable&&t.emit("click",P)}function H(y,P){const Y=c(y);Y!==fe.tab&&(y.preventDefault(),Y===fe.enter||Y===fe.space?s(y,P):r.value&&t.emit("keyDown",P))}function j(y){v.value&&u(v.value.from)&&!u(v.value.to)&&(a.value.forEach(P=>{P.forEach(Y=>{Y.range=!!v.value&&(i(v.value.from,Y.date)&&i(Y.date,y.date)||i(Y.date,v.value.from)&&i(y.date,Y.date))})}),t.emit("mouseEnter",y))}function I(){a.value.forEach(y=>{y.forEach(P=>{P.range=!1})}),t.emit("mouseLeave")}return()=>n.createVNode("table",{class:"f-datepicker-table-wrapper"},[n.createVNode("tbody",{class:"f-datepicker-table"},[a.value&&a.value.map((y,P)=>n.createVNode("tr",null,[y.map((Y,V)=>n.createVNode("td",{id:"y_{yi}_{i}",class:M(P,V),onKeydown:R=>H(R,Y),onMouseenter:()=>j(Y),onMouseleave:()=>I(),tabindex:"0"},[n.createVNode("div",{class:"f-datepicker-year",onClick:R=>s(R,Y)},[n.createVNode("span",{class:D(Y)},[Y.year])])]))]))])])}});function Ye(){function e(r){return new Date(r.year||0,(r.month||1)-1,r.day,r.hour?r.hour:0,r.minute?r.minute:0,r.second?r.second:0,0).getDay()}function t(r){if(!r)return 1;if(!/^\d+$/.test(r.value))return-1;let g=Number(r.value);return(r.format.length===1&&r.value.length!==1&&g<10||r.format.length===1&&r.value.length!==2&&g>=10||r.format.length===2&&r.value.length>2)&&(g=-1),g}function a(r,g){if(r.value){for(let T=1;T<=12;T++)if(r.value.toLowerCase()===g[T].toLowerCase())return T}return-1}function o(r){const g=new Date(r.year||0,(r.month||1)-1,r.day,0,0,0,0);return g.setDate(g.getDate()+(g.getDay()===0?-3:4-g.getDay())),Math.round((g.getTime()-new Date(g.getFullYear(),0,4).getTime())/864e5/7)+1}return{getNumberByValue:t,getDayNumber:e,getMonthNumberByMonthName:a,getWeekNumber:o}}function Qt(e,t,a,o,r,g,T,v){const{getTimeInMilliseconds:O,getWeekdayIndex:f}=me(),{isInitializedDate:u}=ke(),{getDayNumber:i}=Ye();function c(M){if(M.year&&M.year<e||M.year&&M.year>t)return!0;const d=O(M),p=M.hour!==void 0;if(u(o)&&(p?d:d+24*60*60*1e3-1)<O(o)||u(a)&&d>O(a))return!0;if(T){const D=i(M);if(D===0||D===6)return!0}const k=i(M);return!!(v.length>0&&v.find(s=>f(s)===k)||r.length>0&&r.find(s=>(s.year===0||s.year===M.year)&&(s.month===0||s.month===M.month)&&s.day===M.day)||g.length>0&&g.find(s=>u(s.from)&&u(s.to)&&d>=O(s.from)&&d<=O(s.to)))}return{isDisabledDate:c}}function ta(){const{getDayNumber:e}=Ye();function t(o,r,g){let T=[];T=r.reduce((O,f)=>{const u=f.dates.map(i=>({date:i,color:f.color}));return[...O,...u]},T);const v=T.find(O=>(O.date.year===0||O.date.year===o.year)&&(O.date.month===0||O.date.month===o.month)&&O.date.day===o.day);if(v)return{marked:!0,color:v.color};if(g&&g.marked){const O=e(o);if(O===0||O===6)return{marked:!0,color:g.color}}return{marked:!1,color:""}}function a(o,r,g,T){const v=e(o);return r&&v===0||g&&v===6?!0:!!T.find(f=>(f.year===0||f.year===o.year)&&(f.month===0||f.month===o.month)&&f.day===o.day)}return{isHighlightedDate:a,isMarkedDate:t}}function Ut(){const{getTimeInMilliseconds:e}=me(),{isInitializedDate:t}=ke();function a(r,g){return t(g)&&e(r)<e(g)}function o(r,g){return t(g)&&e(r)>e(g)}return{isMonthDisabledByDisableSince:o,isMonthDisabledByDisableUntil:a}}function Gt(){const{getToday:e}=me(),{isMonthDisabledByDisableSince:t,isMonthDisabledByDisableUntil:a}=Ut();function o(u){const i={displayTextOfMonth:"",month:0,year:0,displayTextOfYear:""};if(u){const c=u.match(/[^0-9]/),M=c&&c.length?c[0]:"",d=u.split(M);i.month=d[0].length===2?Number(d[0]):Number(d[1]),i.year=d[0].length===2?Number(d[1]):Number(d[0])}return i}function r(u,i){return new Date(i,u,0).getDate()}function g(u,i,c){return new Date(u,i-1,c,0,0,0,0)}function T(u,i){const c=g(i,u,1);return c.setMonth(c.getMonth()-1),r(c.getMonth()+1,c.getFullYear())}function v(u,i,c,M){const d=e(),p=[],{year:k}=i,D=3,s={year:c.year,month:c.month,day:c.day},H={year:M.year,month:M.month,day:M.day};for(let j=1;j<=12;j+=D){const I=[];for(let y=j;y<j+D;y++){const P=t({year:k,month:y,day:1},s)||a({year:k,month:y,day:r(y,k||0)},H);I.push({month:y,displayText:u[y],isCurrent:y===d.month&&k===d.year,disable:P,date:{year:k,month:y}})}p.push(I)}return p}function O(u,i){const c={year:u===12?i+1:i},M=u===12?1:u+1;return c.month=M,c}function f(u,i){const c={year:u===1?i-1:i},M=u===1?12:u-1;return c.month=M,c}return{daysInMonth:r,daysInPreMonth:T,generateMonths:v,parseDefaultMonth:o,getNextMonth:O,getPreviousMonth:f}}function na({isDisabledDate:e}){const{getToday:t}=me(),{daysInMonth:a,daysInPreMonth:o,getNextMonth:r,getPreviousMonth:g}=Gt(),{isHighlightedDate:T,isMarkedDate:v}=ta(),{getWeekNumber:O}=Ye();function f(M){const d=Me.indexOf(M);return d>0?7-d:0}function u(M,d,p){const k=new Date;k.setDate(1),k.setMonth(d-1),k.setFullYear(M);const D=k.getDay()+p;return D>=7?D-7:D}function i(M,d,p,k,D){return M===D.day&&d===D.month&&p===D.year&&k===ce.current}function c(M,d,p,k,D,s,H,j,I){const y=[],P=t(),Y=u(d,M,f(p)),V=a(M,d),R=o(M,d);let q=1,C=ce.previous;for(let A=1;A<7;A++){const h=[];if(A===1){const B=R-Y+1;for(let E=B;E<=R;E++){const G={year:M===1?d-1:d,month:M===1?12:M-1,day:E},N=i(E,M,d,C,P),L=e(G),ne=v(G,k,D),X=T(G,j,H,s);h.push({date:G,tag:C,isCurrent:N,disable:L,marked:ne,highlight:X})}C=ce.current;const x=7-h.length;for(let E=0;E<x;E++){const G={year:d,month:M,day:q},N=i(q,M,d,C,P),L=e(G),ne=v(G,k,D),X=T(G,j,H,s);h.push({date:G,tag:C,isCurrent:N,disable:L,marked:ne,highlight:X}),q++}}else for(let B=1;B<=7;B++){q>V&&(q=1,C=ce.next);const x={year:C===ce.next&&M===12?d+1:d,month:C===ce.current?M:C===ce.next&&M<12?M+1:1,day:q},E=i(q,M,d,C,P),G=e(x),N=v(x,k,D),L=T(x,j,H,s);h.push({date:x,tag:C,isCurrent:E,disable:G,marked:N,highlight:L}),q++}const $=p===be.Monday?0:6,S=O(h[$].date);y.push({days:h,numberInTheYear:S,year:d})}return y}return{generateCalendar:c}}function aa(){const{getToday:e}=me();function t(a,o,r,g,T,v){const O=[],f=a-a%10,{year:u,month:i}=o,c=e(),M=3,d=f+10;for(let p=f-1;p<d;p+=M){const k=[];for(let D=p;D<p+M;D++){const s=D<r||D>g;k.push({year:D,isCurrent:D===c.year,selected:D===u,disable:s,date:{year:D}})}O.push(k)}return O}return{generateYears:t}}function oa(){function e(r,g,T){const v=[];if(T){let O=T[0];T[0]!==T[1]&&(O=T[0]+T[1],T[2]&&T[1]!==T[2]&&(O+=T[2]));const f=new RegExp("["+O+"]"),u=r.split(f),i=g.split(f);for(let c=0;c<i.length;c++)i[c].indexOf("yyyy")!==-1&&(v[0]={value:u[c],format:i[c]}),i[c].indexOf("M")!==-1&&(v[1]=u[c]===void 0?{value:"1",format:i[c]}:{value:u[c],format:i[c]}),i[c].indexOf("d")!==-1&&(v[2]=u[c]===void 0?{value:"1",format:i[c]}:{value:u[c],format:i[c]})}else{const O=(g+"").indexOf("yyyy"),f=(g+"").indexOf("MM"),u=(g+"").indexOf("dd");O>=0&&(v[0]={value:r.substring(O,O+4),format:g.substring(O,O+4)}),f>=0&&(v[1]={value:r.substring(f,f+2),format:g.substring(f,f+2)}),u>=0&&(v[2]={value:r.substring(u,u+2),format:g.substring(u,u+2)})}return v}function t(r){return r<10?"0"+Number(r):String(r)}function a(r,g){const T=r.match(/[^(DdMmYy)]{1,}/g),v=r.indexOf(g);return v<0?r:v===0?T?r.substring(3):r.substring(2):v+2===r.length?T?r.substring(0,r.length-3):r.substring(0,r.length-2):T?r.substring(0,v)+r.substring(v+3):r.substring(0,v)+r.substring(v+2)}function o(r,g,T){!r.month&&g.indexOf("MM")===-1&&(g=a(g,"MM")),!r.day&&g.indexOf("dd")===-1&&(g=a(g,"dd"));let v=g.replace("yyyy",String(r.year));return g.indexOf("M")===-1?v=v.replace("MM","01"):(g.indexOf("MMM")!==-1&&(v=v.replace("MMM",T[r.month||1])),g.indexOf("MM")!==-1?v=v.replace("MM",t(r.month||1)):v=v.replace("M",String(r.month||1))),g.indexOf("dd")===-1?v=v.replace("dd","01"):g.indexOf("dd")!==-1?v=v.replace("dd",t(r.day||1)):v=v.replace("d",String(r.day||1)),v=v.replace("MM","mm").replace("HH",t(r.hour||0)).replace("mm",t(r.minute||0)).replace("ss",t(r.second||0)),v&&v.length>2?v:""}return{getDateValue:e,formatDate:o,preZero:t,remove:a}}function ra(e){const{displayFormat:t,minYear:a,maxYear:o,selectMode:r,valueFormat:g,showTime:T,periodDelimiter:v}=e,{emptyDate:O,getToday:f}=me(),{getDateValue:u,preZero:i}=oa(),{getNumberByValue:c,getMonthNumberByMonthName:M,getWeekNumber:d}=Ye(),{equalOrEarlier:p,isInitializedDate:k,isDateEarlier:D}=ke(),{isDisabledDate:s}=Qt(e.minYear,e.maxYear,e.disableSince,e.disableUntil,e.disableDates,e.disablePeriod,e.disableWeekends,e.disableWeekdays),H=n.ref(e.nameOfMonths),j=[31,28,31,30,31,30,31,31,30,31,30,31];function I(){const C=f();switch(r){case"month":return{startMonth:{month:0,year:C.year},endMonth:{month:0,year:C.year+1}};case"year":return{startMonth:{month:0,year:C.year},endMonth:{month:0,year:C.year+10}};default:{const A={month:C.month,year:C.year};let h={month:C.month+1,year:C.year};return C.month>=12&&(h={month:1,year:C.year+1}),{startMonth:A,endMonth:h}}}}function y(C,A=!1){let h=T,$=t,S=C;return A&&($=g.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),S=S.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),(S[S.length-1]==="-"||S[S.length-1]===":")&&(S=S.substring(0,S.length-1)),!T&&g.toLocaleLowerCase().indexOf("hh:mm")>-1&&(h=!0)),{actualFormat:$,shouldDisplayTime:h,targetDateString:S}}function P(C,A=!1){const h={year:0,month:0,day:0};if(!C)return h;const{actualFormat:$,shouldDisplayTime:S,targetDateString:B}=y(C,A),x=$.indexOf("MMM")!==-1;let E=B,G=0,N=0,L=0,ne=$.match(/[^(DdMmYy)]{1,}/g);if(S&&B){E=B.split(" ")[0],Object.assign(h,{hour:0,minute:0,second:0});const oe=B.split(" ")[1];if(oe){const re=oe.replace("时",":").replace("分",":").replace("秒","").split(":");re[0]&&(G=Number(re[0].substr(0,2)),G=isNaN(G)?0:G),re[1]&&(N=Number(re[1].substr(0,2)),N=isNaN(N)?0:N),re[2]&&(L=Number(re[2].substr(0,2)),L=isNaN(L)?0:L)}else if(ne=null,/^\d{1,}$/.test(B)){const ye=$;E=B.substr(0,8);let le=B.substr(8);le&&(ye.includes("HH")&&le&&(G=+le.slice(0,2),le=le.slice(2)),ye.includes("mm")&&le&&(N=+le.slice(0,2),le=le.slice(2)),ye.includes("ss")&&le&&(L=+le.slice(0,2)))}}else E=B?B.split(" ")[0]:"";const X=u(E,$,ne),F=c(X[0]),z=x?M(X[1],H.value):c(X[1]),ae=c(X[2]);if(r==="year")return{year:F,month:1,day:1};if(z!==-1&&ae!==-1&&F!==-1){if(F<a||F>o||z<1||z>12)return h;const oe=T?{year:F,month:z,day:ae,hour:G,minute:N,second:L}:{year:F,month:z,day:ae};return s(oe)||((F%400===0||F%100!==0&&F%4===0)&&(j[1]=29),ae<1||ae>j[z-1])?h:r==="month"?{year:oe.year,month:oe.month}:r==="year"?{year:oe.year}:oe}return h}function Y(C){let A={from:{year:0,month:0,day:0},to:{year:0,month:0,day:0}};if(C&&C.length){const h=C.split(v||"~");if(h&&h.length===2){const[$,S]=h;let B=$?P($,!0):null,x=S?P(S,!0):null;if(!B&&x&&(B={...x}),!x&&B&&(x={...B}),!B&&!x)return A;A={from:B,to:x}}}return A}function V(C,A){const{from:h,to:$}=C,S=k(h),B=k($)&&JSON.stringify(h)!==JSON.stringify($);if(S&&B)C.from=A,C.to=O();else if(!S)C.from=A,!B&&e.showTime&&(C.to=A);else{if(D(A,h)){const E=h;C.to=E,C.from=A}else C.to=A;return{from:C.from,to:C.to,emit:!0}}return{from:C.from,to:C.to}}function R(C){const A=i(C.getHours()),h=i(C.getMinutes()),$=i(C.getSeconds());return`${A}:${h}:${$}`}function q(C){const A=Y(C),h=A.from,$=A.to;if(k(h)&&k($)){const S=i(h.hour||0),B=i(h.minute||0),x=i(h.second||0),E=`${S}:${B}:${x}`,G=i($.hour||0),N=i($.minute||0),L=i($.second||0),ne=`${G}:${N}:${L}`,X={year:h.year||1,month:h.month||1,displayTextOfMonth:H.value[h.month||"1"],displayTextOfYear:`${h.year}`},F={year:$.year||1,month:$.month||1,displayTextOfMonth:H.value[$.month||"1"],displayTextOfYear:`${$.year}`};if(h.month===$.month&&h.year===$.year)if(!C)F.month>=12?(F.month=1,F.year=F.year+1):(F.month=F.month+1,r==="month"&&(F.year=F.year+1),F.displayTextOfMonth=H.value[F.month]);else{const re=C.split("~"),ye=re[0],le=re[1];!ye&&le?(X.month===1?(X.year=X.year-1,X.month=12):X.month=X.month-1,X.displayTextOfMonth=H.value[X.month]):(F.month===12?(F.year=F.year+1,F.month=1):F.month=F.month+1,F.displayTextOfMonth=H.value[F.month])}else r==="month"&&h.year===$.year&&(F.year=F.year+1);F.displayTextOfYear=`${F.year}`;const z=e.firstDayOfTheWeek===be.Sunday?$:h,oe={numberInTheYear:d(z),year:z.year};return{beginDateActiveMonth:X,endDateActiveMonth:F,dateRange:A,beginTime:E,endTime:ne,selectedWeekInfo:oe}}return{dateRange:A}}return{normalizeDate:P,normalizeDateRange:Y,setNewDateRange:V,getActiveMonth:q,getTimeStr:R,getMonthAndYear:I}}function la(){function e(t,a){if(a===be.Monday){t.setDate(t.getDate()-(t.getDay()+6)%7);const o={year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()};t.setDate(t.getDate()+6);const r={year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()};return{from:o,to:r}}else{t.getDay()!==0&&t.setDate(t.getDate()-t.getDay());const o={year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()};t.setDate(t.getDate()+6-t.getDay());const r={year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate()};return{from:o,to:r}}}return{getNowWeekTime:e}}function ia(e,t){const{locales:a}=e,{quickSelectors:o}=a,r=[{label:"今天",value:Q(),description:"选择今天日期",code:"today"},{label:"昨天",value:$e(Q(),1),description:"选择昨天日期",code:"yesterday"},{label:"明天",value:Ee(Q(),1),description:"选择明天日期",code:"tomorrow"},{label:"本周一",value:Ae(Q(),{weekStartsOn:1}),description:"本周一",code:"thisMonday"},{label:"下周一",value:Ee(Ae(Q(),{weekStartsOn:1}),7),description:"下周一",code:"nextMonday"},{label:"本月初",value:Re(Q()),description:"本月第一天",code:"firstDayOfMonth"},{label:"本月末",value:lt(Q()),description:"本月最后一天",code:"lastDayOfMonth"},{label:"上月初",value:Re(Le(Q(),1)),description:"上月第一天",code:"firstDayOfLastMonth"},{label:"年初",value:ct(Q()),description:"今年第一天",code:"firstDayOfYear"},{label:"年末",value:st(Q()),description:"今年最后一天",code:"lastDayOfYear"},{label:"本季度初",value:it(Q()),description:"本季度第一天",code:"firstDayOfQuarter"},{label:"本季度末",value:ut(Q()),description:"本季度最后一天",code:"lastDayOfQuarter"}],g=[{label:"今天",value:[Q(),Q()],description:"选择今天日期",code:"today"},{label:"昨天",value:[$e(Q(),1),$e(Q(),1)],description:"选择昨天日期",code:"yesterday"},{label:"本周",value:[Ae(Q(),{weekStartsOn:1}),It(Q(),{weekStartsOn:1})],description:"本周一至周日",code:"thisWeek"},{label:"上周",value:[Ae(At(Q(),1)),It(At(Q(),1))],description:"上周一至周日",code:"lastWeek"},{label:"过去7天",value:[$e(Q(),6),Q()],description:"7天前至今天",code:"past7Days"},{label:"过去30天",value:[$e(Q(),29),Q()],description:"30天前至今天",code:"past30Days"},{label:"本月",value:[Re(Q()),lt(Q())],description:"本月1号至月末",code:"thisMonth"},{label:"上月",value:[Re(Le(Q(),1)),lt(Le(Q(),1))],description:"上月1号至月末",code:"lastMonth"},{label:"本季度",value:[it(Q()),ut(Q())],description:"本季度第一天至本季度最后一天",code:"thisQuarter"},{label:"上季度",value:[it(Et(Q(),1)),ut(Et(Q(),1))],description:"上季度第一天至最后一天",code:"lastQuarter"},{label:"今年",value:[ct(Q()),st(Q())],description:"本年1月1日至12月31日",code:"thisYear"},{label:"去年",value:[ct(Rt(Q(),1)),st(Rt(Q(),1))],description:"去年1月1日至12月31日",code:"lastYear"},{label:"最近三个月",value:[Le(Q(),2),Q()],description:"3个月前至今天",code:"recent3Months"}],T=O=>O.map(f=>(f.label=o[f.code]||f.label,f));return{quickSelectorList:{single:T(r),range:T(g)}}}const we=n.defineComponent({name:"FDateView",props:_t,emits:["datePicked","confirm"],setup(e,t){var Yn,jn;const a=n.ref(),o=n.ref(""),r=n.ref(""),g=n.ref(e.mode),T=n.ref(e.top),v=n.ref(e.left),O=n.ref(e.position),f=n.ref(e.enablePeriod),u=n.ref(e.selectMode),i=n.ref(e.dateFormat),c=n.ref(e.nameOfMonths),M=n.ref(e.valueFormat),d=n.ref(!1),p=n.ref(!1),k=n.ref(!1),D=n.ref(!1),s=n.ref(!1),H=n.ref(!1),j=n.ref(!1),I=n.ref(!1),y=n.ref(!1),P=n.ref(!1),Y=n.ref(!1),V=n.ref(!1),R=n.ref(!1),q=n.ref([]),C=n.ref(e.enableKeyboadNavigate),A=n.ref(e.enableMarkCurrent),h=n.ref(e.firstDayOfTheWeek),$=n.ref(e.showWeekNumber),S=n.ref(e.selectedDate),B=n.ref(e.selectedSecondDate),x=n.ref(e.value),E=n.ref(e.selectedWeek),G=n.ref(e.weekTitle),N=n.ref(e.selectedMonth),L=n.ref(e.minYear),ne=n.ref(e.maxYear),X=n.ref(e.disableSince),F=n.ref(e.disableUntil),z=n.ref(e.disableDates),ae=n.ref(e.disablePeriod),oe=n.ref(e.disableWeekdays),re=n.ref(e.disableWeekends),{quickSelectorList:ye}=ia(e),{getToday:le,getDateObject:Pe,getTimeValue:je,getEndTimeValue:bt,emptyDate:He,convertDateToDateObject:Se}=me(),{setNewDateRange:Te,getActiveMonth:gt,getTimeStr:fn,getMonthAndYear:Xa}=ra(e),W=n.ref({from:{...He()},to:{...He()}});function Za(){const{weekDayLabels:l}=e.locales,b=[],m=Me.indexOf(h.value);if(m!==-1){let w=m;for(let _=0;_<Me.length;_++)b.push(l[Me[w]]),w=Me[w]==="Sat"?0:w+1}return b}q.value=Za();const pt=Qt(L.value,ne.value,X.value,F.value,z.value,ae.value,re.value,oe.value),{formatTo:_e,parseToDate:Mt}=De.useDateFormat(),{isMonthDisabledByDisableSince:Ka,isMonthDisabledByDisableUntil:eo}=Ut(),{generateCalendar:yn}=na(pt),{generateMonths:mn,getNextMonth:hn,getPreviousMonth:vn,daysInMonth:to}=Gt(),{getNowWeekTime:no}=la(),{getWeekNumber:ao}=Ye(),{generateYears:bn}=aa(),{equalOrEarlier:ee,isInitializedDate:he,isDateEarlier:oo}=ke(),K=le(),ze=n.computed(()=>{const l=te.cloneDeep(K),b=x.value&&!f.value?Mt(x.value,M.value):null;return b?Pe(_e(b,"yyyy-MM-dd"),"yyyy-MM-dd"):l});if(x.value&&!f.value){const l=Mt(x.value,M.value);l&&(S.value=Pe(_e(l,"yyyy-MM-dd"),"yyyy-MM-dd"))}const U=n.ref({year:ze.value.year||1,month:ze.value.month||1,displayTextOfMonth:c.value[ze.value.month||"1"],displayTextOfYear:`${ze.value.year}`}),Qe=n.ref(te.cloneDeep(U.value));N.value={year:(Yn=S.value)==null?void 0:Yn.year,month:(jn=S.value)==null?void 0:jn.month};const{endMonth:gn}=Xa(),pn=gn.year,Mn=gn.month,Z=n.ref({year:pn,month:Mn,displayTextOfMonth:c.value[Mn],displayTextOfYear:`${pn}`}),kn=n.ref(te.cloneDeep(Z.value)),Ne=n.computed(()=>yn(U.value.month,U.value.year,h.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,$.value)),Ue=n.ref(Ne.value);n.watch(()=>Ne.value,(l,b)=>{Ue.value=l});const xe=n.computed(()=>yn(Z.value.month,Z.value.year,h.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,$.value)),Ge=n.ref(xe.value);n.watch(()=>xe.value,(l,b)=>{Ge.value=l});const Je=n.computed(()=>mn(c.value,{year:U.value.year,month:U.value.month},X.value,F.value)),kt=n.ref(Je.value);n.watch(()=>Je.value,(l,b)=>{kt.value=l});const Ce=n.computed(()=>bn(U.value.year,{year:U.value.year,month:U.value.month},L.value,ne.value,X.value,F.value)),Fe=n.ref(Ce.value);n.watch(()=>Ce.value,(l,b)=>{Fe.value=l});const We=n.computed(()=>bn(Z.value.year,{year:Z.value.year,month:Z.value.month},L.value,ne.value,X.value,F.value)),Xe=n.ref(We.value);n.watch(()=>We.value,(l,b)=>{Xe.value=l});const Ze=n.computed(()=>mn(c.value,{year:Z.value.year,month:Z.value.month},X.value,F.value)),Tt=n.ref(Ze.value);n.watch(()=>Ze.value,(l,b)=>{Tt.value=l}),n.watch(()=>e.enablePeriod,(l,b)=>{l!==b&&(f.value=l)});function ro(){return f.value&&u.value!=="week"?575:e.showTime&&u.value!=="week"?487:287}const lo=n.computed(()=>({top:`${T.value}px`,left:`${v.value}px`,width:`${ro()+(e.enableQuickSelect?90:0)}px`,position:"relative","z-index":g.value==="Embedded"?0:9999,"margin-top":"0px"}));function mr(l){}function io(l){l.stopPropagation()}function so(l,b){if(b){const m=Z.value.year-(D.value?10:1),w={year:m,month:Z.value.month,displayTextOfMonth:c.value[Z.value.month||"1"],displayTextOfYear:`${m}`};Z.value=w}else{const m=U.value.year-(k.value?10:1),w={year:m,month:U.value.month,displayTextOfMonth:c.value[U.value.month||"1"],displayTextOfYear:`${m}`};U.value=w,d.value&&(N.value={...N.value,year:w.year,month:w.month})}}function Dt(l,b){if(b){const m=vn(Z.value.month,Z.value.year),w={year:m.year||1,month:m.month||1,displayTextOfMonth:c.value[m.month||"1"],displayTextOfYear:`${m.year}`};Z.value=w}else{const m=vn(U.value.month,U.value.year),w={year:m.year||1,month:m.month||1,displayTextOfMonth:c.value[m.month||"1"],displayTextOfYear:`${m.year}`};U.value=w,N.value={...N.value,year:w.year,month:w.month}}}function wt(l,b){if(b){const m=hn(Z.value.month,Z.value.year),w={year:m.year||1,month:m.month||1,displayTextOfMonth:c.value[m.month||"1"],displayTextOfYear:`${m.year}`};Z.value=w}else{const m=hn(U.value.month,U.value.year),w={year:m.year||1,month:m.month||1,displayTextOfMonth:c.value[m.month||"1"],displayTextOfYear:`${m.year}`};U.value=w,N.value={...N.value,year:w.year,month:w.month}}}function co(l,b){if(b){let m=Z.value.year+1;D.value&&(m=We.value[3][0].year+2);const w={year:m,month:Z.value.month,displayTextOfMonth:c.value[Z.value.month||"1"],displayTextOfYear:`${m}`};Z.value=w}else{let m=U.value.year+1;k.value&&(m=Ce.value[3][0].year+2);const w={year:m,month:U.value.month,displayTextOfMonth:c.value[U.value.month||"1"],displayTextOfYear:`${m}`};U.value=w,d.value&&(N.value={...N.value,year:w.year,month:w.month})}}function Ot(l){s.value=!1,l?(p.value=!p.value,D.value=!1):(d.value=!d.value,k.value=!1)}function Pt(l){s.value=!1,l?(D.value=u.value==="year"?!0:!D.value,u.value==="month"?p.value=!p.value:p.value=!1,D.value?kn.value=te.cloneDeep(Z.value):Z.value=te.cloneDeep(kn.value)):(k.value=u.value==="year"?!0:!k.value,u.value==="month"?d.value=!d.value:d.value=!1,k.value?Qe.value=te.cloneDeep(U.value):U.value=te.cloneDeep(Qe.value))}function uo(){if(W.value){const{from:l,to:b}=W.value,m=he(l),w=he(b),_=new Date;(!m||!w)&&(m||(W.value.from={year:_.getFullYear(),month:_.getMonth()+1,day:_.getDate()}),W.value.to={...W.value.from},o.value=fn(_),r.value=fn(_))}s.value=!s.value,d.value=!1,k.value=!1,D.value=!1,p.value=!1}const fo=n.computed(()=>({"active-month":U.value,"date-format":i.value,"disable-pre-page":H.value,"disable-pre-record":j.value,"disable-next-record":I.value,"disable-next-page":y.value,years:Fe.value,"selecting-month":d.value,"selecting-year":k.value,"select-mode":u.value})),yo=n.computed(()=>({"active-month":Z.value,"date-format":i.value,"disable-pre-page":P.value,"disable-pre-record":Y.value,"disable-next-record":V.value,"disable-next-page":R.value,years:Xe.value,"selecting-month":p.value,"selecting-year":D.value,"select-mode":u.value}));function Tn(l,b){return n.createVNode(dt,n.mergeProps(l,{onPrePage:m=>so(m,b),onPreRecord:m=>Dt(m,b),onNextRecord:m=>wt(m,b),onNextPage:m=>co(m,b),onClickMonth:m=>Ot(b),onClickYear:m=>Pt(b)}),null)}const Ke=n.computed(()=>l=>l?u.value!=="week"&&!p.value&&!D.value&&!s.value:!d.value&&!k.value&&!s.value),et=n.computed(()=>d.value&&!k.value),tt=n.computed(()=>k.value&&!d.value),mo=n.computed(()=>({dates:Ue.value,daysInWeek:q.value,enableKeyboadNavigate:C.value,enableMarkCurrent:A.value,enablePeriod:f.value,firstDayOfTheWeek:h.value,selected:S.value||null,selectedPeriod:W.value,selectedWeek:E.value,selectMode:u.value,showWeekNumber:$.value,weekTitle:G.value})),ho=n.computed(()=>({dates:Ge.value,daysInWeek:q.value,enableKeyboadNavigate:C.value,enableMarkCurrent:A.value,enablePeriod:f.value,firstDayOfTheWeek:h.value,selected:B.value,selectedPeriod:W.value,selectMode:u.value,showWeekNumber:$.value,weekTitle:G.value}));function vo(l,b){const{event:m,dayItem:w}=l,_=w.date;if(w.tag===1?Dt(m,b):w.tag===3&&wt(m,b),f.value){const{from:de,to:Ve,emit:Be}=Te(W.value,_);W.value={from:te.cloneDeep(de),to:te.cloneDeep(Ve)},!e.showTime&&Be&&t.emit("datePicked",{startDate:de,endDate:Ve})}else if(!e.showTime)t.emit("datePicked",_);else{const{year:de,month:Ve,day:Be}=_;S.value=Object.assign(S.value||{},{year:de,month:Ve,day:Be})}const{year:ie,month:se}=_;N.value={year:ie,month:se}}function bo(l){const b=M.value.toLowerCase().indexOf("hh:mm")>-1;E.value={numberInTheYear:l.numberInTheYear,year:l.year},b&&(l.days[0].date.hour=0,l.days[0].date.minute=0,l.days[0].date.second=0,l.days[6].date.hour=23,l.days[6].date.minute=59,l.days[6].date.second=59),Te(W.value,l.days[0].date);const{from:m,to:w,emit:_}=Te(W.value,l.days[6].date);W.value={from:m,to:w},_&&t.emit("datePicked",{startDate:m,endDate:w})}function hr(l){}function go(l,b){if(b){for(const m of Ne.value)for(const w of m.days)w.range=ee(W.value.from,w.date)&&ee(w.date,l)||ee(w.date,W.value.from)&&ee(l,w.date);Ue.value=te.cloneDeep(Ne.value)}else{for(const m of xe.value)for(const w of m.days)w.range=ee(W.value.from,w.date)&&ee(w.date,l)||ee(w.date,W.value.from)&&ee(l,w.date);Ge.value=te.cloneDeep(xe.value)}}function po(l,b){if(b){for(const m of Ne.value)for(const w of m.days)w.range=!1;Ue.value=te.cloneDeep(Ne.value)}else{for(const m of xe.value)for(const w of m.days)w.range=!1;Ge.value=te.cloneDeep(xe.value)}}function Dn(l,b){return n.createVNode(qe,n.mergeProps(l,{onClick:m=>vo(m,b),onClickWeek:m=>bo(m),onKeyDown:m=>void 0,onMouseEnter:m=>go(m,b),onMouseLeave:m=>po(m,b)}),null)}const Mo=n.computed(()=>({months:kt.value,enableMarkCurrent:A.value,enableKeyboadNavigate:C.value,enablePeriod:f.value,selected:N.value,selectedPeriod:W.value,selectMode:u.value})),ko=n.computed(()=>({months:Tt.value,enableMarkCurrent:A.value,enableKeyboadNavigate:C.value,enablePeriod:f.value,selected:N.value,selectedPeriod:W.value})),pe=l=>{const{from:b,to:m}=W.value,w=he(b),_=he(m);if(w&&_)W.value.from={year:l.year,month:l.month},!d.value&&!k.value&&(W.value.from.day=0),W.value.to=He();else if(!w)W.value.from={year:l.year,month:l.month},!d.value&&!k.value&&(W.value.from.day=0);else{if(oo({year:l.year,month:l.month},b)){const se=W.value.from;W.value.to={...se},W.value.from={year:l.year,month:l.month}}else W.value.to={year:l.year,month:l.month};t.emit("datePicked",{startDate:W.value.from,endDate:W.value.to})}},nt=n.computed(()=>{const{from:l,to:b}=W.value;return f.value&&he(l)&&!(he(b)&&JSON.stringify(l)!==JSON.stringify(b))});function wn(l,b){b?(Z.value={month:l.month||1,displayTextOfMonth:c.value[l.month||"1"],year:l.year||1,displayTextOfYear:`${l.year}`},u.value==="month"?pe(l):(p.value=!1,D.value=!1,nt.value||pe({...l,day:0}))):(U.value={month:l.month||1,displayTextOfMonth:c.value[l.month||"1"],year:l.year||1,displayTextOfYear:`${l.year}`},Qe.value=te.cloneDeep(U.value),u.value==="month"?f.value?pe(l):t.emit("datePicked",l):(d.value=!1,k.value=!1,N.value=l,nt.value||pe({...l,day:0})))}function vr(l){}function To(l,b){if(b){for(const m of Je.value)for(const w of m)w.range=ee(W.value.from,w.date)&&ee(w.date,l.date)||ee(w.date,W.value.from)&&ee(l.date,w.date);kt.value=te.cloneDeep(Je.value)}else{for(const m of Ze.value)for(const w of m)w.range=ee(W.value.from,w.date)&&ee(w.date,l.date)||ee(w.date,W.value.from)&&ee(l.date,w.date);Tt.value=te.cloneDeep(Ze.value)}}function br(l,b){}function On(l,b){return n.createVNode(yt,n.mergeProps(l,{onClick:m=>wn(m,b),onKeyDownMonthView:m=>void 0,onMouseEnter:m=>To(m,b),onMouseLeave:m=>void 0}),null)}const Do=n.computed(()=>({years:Ce.value,enableKeyboadNavigate:C.value,enableMarkCurrent:A.value,enablePeriod:f.value,selected:N.value,selectedPeriod:W.value,selectMode:u.value})),wo=n.computed(()=>({years:Xe.value,enableKeyboadNavigate:C.value,enableMarkCurrent:A.value,enablePeriod:f.value,selected:S.value,selectedPeriod:W.value}));function Pn(l,b){b?(Z.value={month:Z.value.month||1,displayTextOfMonth:Z.value.displayTextOfMonth,year:l.year||1,displayTextOfYear:`${l.year}`},u.value==="year"?pe(l):(p.value=!0,D.value=!1,nt.value||pe({year:U.value.year,month:0}))):(U.value={month:U.value.month,displayTextOfMonth:U.value.displayTextOfMonth,year:l.year||1,displayTextOfYear:`${l.year}`},Qe.value=te.cloneDeep(U.value),u.value==="year"?f.value?pe(l):t.emit("datePicked",l):(d.value=!0,k.value=!1,N.value=Object.assign(N.value||{},{year:U.value.year}),nt.value||pe({year:U.value.year,month:0})))}function gr(l){}function Oo(l,b){if(b){for(const m of Ce.value)for(const w of m)w.range=ee(W.valu