@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 78.7 kB
JavaScript
(function(X,he){typeof exports=="object"&&typeof module<"u"?he(exports,require("../../components/common/index.umd.js"),require("../../components/date-picker/index.umd.js"),require("vue"),require("../button-edit/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../input-group/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("lodash-es"),require("../../components/time-picker/index.umd.js"),require("../../components/button/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/date-picker/index.umd.js","vue","../button-edit/index.umd.js","../../components/designer-canvas/index.umd.js","../../components/dynamic-resolver/index.umd.js","../input-group/index.umd.js","../../components/property-panel/index.umd.js","lodash-es","../../components/time-picker/index.umd.js","../../components/button/index.umd.js"],he):(X=typeof globalThis<"u"?globalThis:X||self,he(X["date-picker"]={},X.common,X.datePicker,X.Vue,X.FButtonEditDesign,X.designerCanvas,X.dynamicResolver,X.FInputGroupDesign,X.propertyPanel,X.LodashES,X.timePicker,X.button))})(this,function(X,he,$e,n,pn,It,lt,Bt,kn,ne,rt,Tn){"use strict";function $t(e,t,l){return t}const At=new Map([["appearance",lt.resolveAppearance]]),Dn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/date-picker.schema.json",title:"date-picker",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-picker"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},placeholder:{description:"",type:"string",default:"请选择日期"},beginPlaceholder:{description:"",type:"string"},endPlaceholder:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},displayFormat:{description:"",type:"enum",default:"yyyy-MM-dd"},valueFormat:{description:"",type:"enum",default:"yyyy-MM-dd"},maxDate:{description:"",type:"string"},minDate:{description:"",type:"string"},showTime:{description:"",type:"boolean",default:!1},firstDayOfTheWeek:{description:"",type:"string",default:"Sun"},enablePeriod:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!0},selectMode:{description:"",type:"string",default:"day"},beginValue:{description:"",type:"string",default:""},endValue:{description:"",type:"string",default:""},enableQuickSelect:{description:"",type:"boolean",default:!1},showWeekNumber:{description:"",type:"boolean",default:!1},onDatePicked:{type:"object",default:null},defaultTime:{description:"",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onDatePicked:"日期选择后事件"}},wn={$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"]},xn={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"}}}}},Nn={year:9999,month:12,day:31,hour:23,minute:59,second:59},On={year:1900,month:1,day:1,hour:0,minute:0,second:0},Et=Object.assign({},$e.datePickerProps,{readonly:{}}),st=lt.createPropsResolver($e.datePickerProps,Dn,At,$t),it=lt.createPropsResolver($e.datePickerContainerProps,wn,At,$t,xn);function Pn(){let e="zh-CHS";typeof window<"u"&&window.top&&window.top.localStorage&&window.top.localStorage.languageCode&&({languageCode:e}=window.top.localStorage);const t=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"},{id:"yyyyMMddHHmmss",name:"yyyyMMddHHmmss"},{id:"yyyy-MM-dd HH:mm",name:"yyyy-MM-dd HH:mm"},{id:"yyyy/MM/dd HH:mm",name:"yyyy/MM/dd HH:mm"},{id:"yyyyMMddHHmm",name:"yyyyMMddHHmm"}],l=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"yyyyMMdd",name:"yyyyMMdd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],y=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],a=[{id:"MM/dd",name:"MM/dd"},{id:"MMdd",name:"MMdd"},{id:"MM-dd",name:"MM-dd"}],i=[{id:"yyyy",name:"yyyy"}];return e==="zh-CHS"&&(t.push({id:"yyyy年MM月dd日 HH时mm分ss秒",name:"yyyy年MM月dd日 HH时mm分ss秒"},{id:"yyyy年MM月dd日 HH时mm分",name:"yyyy年MM月dd日 HH时mm分"}),l.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),y.push({id:"yyyy年MM月",name:"yyyy年MM月"}),a.push({id:"MM月dd日",name:"MM月dd日"}),i.push({id:"yyyy年",name:"yyyy年"})),e==="zh-CHT"&&(t.push({id:"yyyy年MM月dd日 HH時mm分ss秒",name:"yyyy年MM月dd日 HH時mm分ss秒"},{id:"yyyy年MM月dd日 HH時mm分",name:"yyyy年MM月dd日 HH時mm分"}),l.push({id:"yyyy年MM月dd日",name:"yyyy年MM月dd日"}),y.push({id:"yyyy年MM月",name:"yyyy年MM月"}),a.push({id:"MM月dd日",name:"MM月dd日"}),i.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:t,yMFormats:y,yMdFormats:l,mdFormats:a,yFormats:i}}const Sn=[{id:"yyyy-MM-dd",name:"yyyy-MM-dd"},{id:"yyyy/MM/dd",name:"yyyy/MM/dd"},{id:"MM/dd/yyyy",name:"MM/dd/yyyy"}],Vn=[{id:"yyyy-MM-dd HH:mm:ss",name:"yyyy-MM-dd HH:mm:ss"},{id:"yyyy/MM/dd HH:mm:ss",name:"yyyy/MM/dd HH:mm:ss"}],Cn=[{id:"yyyy-MM",name:"yyyy-MM"},{id:"yyyy/MM",name:"yyyy/MM"},{id:"yyyyMM",name:"yyyyMM"}],Yn=[{id:"yyyy",name:"yyyy"}],{timeFormats:Fn,yMdFormats:Hn,yMFormats:Wt,mdFormats:jn,yFormats:ct}=Pn();class In extends kn.InputBaseProperty{constructor(t,l){super(t,l)}getDatePickerModes(t){return t==="Date"||t==="DateTime"?[{label:"年月日",value:"day"}]:[{label:"年月日",value:"day"},{label:"年月",value:"month"},{label:"年",value:"year"}]}checkMaxMinDate(t){const{minDate:l,maxDate:y,showTime:a}=(t==null?void 0:t.editor)||{},{parseToDate:i,formatTo:M}=he.useDateFormat();if(y&&typeof y=="string"){const d=i(y,"yyyy-MM-dd HH:mm:ss");d&&(t.editor.maxDate=M(d,a?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}if(l&&typeof l=="string"){const d=i(l,"yyyy-MM-dd HH:mm:ss");d&&(t.editor.minDate=M(d,a?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd"))}}getMinOrMaxDate(t,l=!1){return typeof t=="string"&&t.trim()||(l?"9999-12-31 23:59:59":"1900-01-01 00:00:00")}getEditorProperties(t){var d,g,k,f,r,h,T,N,O,F,x,c,j,V,m;const l=this.getDateFormatOptions(t==null?void 0:t.editor),y=this.getValueFormatOptions(t==null?void 0:t.editor),a=(g=(d=this.designViewModelField)==null?void 0:d.type)==null?void 0:g.name,i=this.getDatePickerModes(a);(k=t==null?void 0:t.editor)!=null&&k.selectMode||(t.editor.selectMode="day");const M=this.getExtremeDateFormat(t);return this.checkMaxMinDate(t),this.getComponentConfig(t,{type:"date-picker"},{enableClear:{description:"是否显示清除按钮",title:"启用清除",type:"boolean"},selectMode:{description:"",title:"显示类型",type:"string",refreshPanelAfterChanged:!0,editor:{type:"combo-list",idField:"value",textField:"label",valueField:"value",data:i}},showWeekNumber:{description:"",title:"显示第几周",type:"boolean",visible:((f=t==null?void 0:t.editor)==null?void 0:f.selectMode)==="day"},firstDayOfTheWeek:{description:"",title:"每周起始日",type:"string",editor:{type:"combo-list",idField:"value",valueField:"value",textField:"label",data:[{label:"星期日",value:"Sun"},{label:"星期一",value:"Mon"}]},visible:((r=t==null?void 0:t.editor)==null?void 0:r.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((h=t==null?void 0:t.editor)==null?void 0:h.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((T=t==null?void 0:t.editor)==null?void 0:T.selectMode)==="day"},defaultTime:{description:"",title:"默认时间",type:"string",editor:this.getPropertyEditorParams(t,["Const","Variable","Expression"],"defaultTime",{constType:"time-picker",constTime:{enableClear:!0,hourStep:1,minuteStep:1,secondStep:1}},{newVariablePrefix:"",newVariableType:"String"}),visible:!1},displayFormat:{description:"",title:"展示格式",type:"enum",editor:{data:l}},valueFormat:{description:"",title:"存储格式",type:"enum",editor:{data:y},visible:((N=t==null?void 0:t.editor)==null?void 0:N.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:this.getPropertyEditorParams(t,["Const"],"minDate",{constType:"date-picker",constDateTime:{enableClear:!0,selectMode:((O=t==null?void 0:t.editor)==null?void 0:O.selectMode)||"day",displayFormat:M,valueFormat:M,minDate:"1900-01-01 00:00:00",maxDate:this.getMinOrMaxDate((F=t==null?void 0:t.editor)==null?void 0:F.maxDate,!0),showTime:(x=t==null?void 0:t.editor)==null?void 0:x.showTime}},{newVariablePrefix:"",newVariableType:"DateTime"}),refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:this.getPropertyEditorParams(t,["Const"],"maxDate",{constType:"date-picker",constDateTime:{enableClear:!0,selectMode:((c=t==null?void 0:t.editor)==null?void 0:c.selectMode)||"day",displayFormat:M,valueFormat:M,minDate:this.getMinOrMaxDate((j=t==null?void 0:t.editor)==null?void 0:j.minDate),maxDate:"9999-12-31 23:59:59",showTime:(V=t==null?void 0:t.editor)==null?void 0:V.showTime}},{newVariablePrefix:"",newVariableType:"DateTime"}),refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((m=t==null?void 0:t.editor)==null?void 0:m.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(t){var l,y,a,i;if(((l=t==null?void 0:t.editor)==null?void 0:l.selectMode)==="day")return"yyyy-MM-dd"+((y=t==null?void 0:t.editor)!=null&&y.showTime?" HH:mm:ss":"");if(((a=t==null?void 0:t.editor)==null?void 0:a.selectMode)==="month")return"yyyy-MM";if(((i=t==null?void 0:t.editor)==null?void 0:i.selectMode)==="year")return"yyyy"}getEventPropertyConfig(t){const l=this,y=[{label:"onDatePicked",name:"日期选择后事件"},...this.getInputCommonEvents(t)],a=l.eventsEditorUtils.formProperties(t,l.viewModelId,y);return{title:"事件",hideTitle:!0,properties:l.createBaseEventProperty(a),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(M,d){const g=M.propertyValue;delete d[l.viewModelId],g&&(l.eventsEditorUtils.saveRelatedParameters(d,l.viewModelId,g.events,g),l.updateLinkedLabel(g,d));const k=l.designViewModelUtils.getDgViewModel(l.viewModelId);k&&l.designViewModelField&&k.changeField(l.designViewModelField.id,{valueChanging:d.fieldValueChanging,valueChanged:d.fieldValueChanged})}}}setEditorPropertyRelates(t,l,y){if(!(!t||!l.editor))switch(t.propertyID){case"showTime":{const a=l.editor;t.propertyValue?(a.displayFormat="yyyy-MM-dd HH:mm:ss",a.valueFormat="yyyy-MM-dd HH:mm:ss"):(a.displayFormat="yyyy-MM-dd",a.valueFormat="yyyy-MM-dd"),l.formatter&&(l.formatter.dateFormat=a.displayFormat);break}case"displayFormat":{l.formatter&&(l.formatter.dateFormat=t.propertyValue);break}case"selectMode":{t.propertyValue!=="day"?(l.editor.showWeekNumber=!1,l.editor.showTime=!1,l.editor.enableQuickSelect=!1,t.propertyValue==="month"?(l.editor.displayFormat="yyyy-MM",l.editor.valueFormat="yyyy-MM"):(l.editor.displayFormat="yyyy",l.editor.valueFormat="yyyy")):(l.editor.displayFormat="yyyy-MM-dd",l.editor.valueFormat="yyyy-MM-dd");break}case"minDate":case"defaultTime":case"maxDate":this.afterMutilEditorChanged(l,t)}}getDateFormatOptions(t){const l=t.selectMode||"day";let y=[];switch(l){case"day":{const a=[];t.showTime&&a.push(...Fn),a.push(...Hn,...Wt,...ct,...jn),y=a;break}case"month":{y=[...Wt,...ct];break}case"year":{y=[...ct];break}}return y}getValueFormatOptions(t){switch(t.selectMode||"day"){case"day":{let y=[...Sn];return t.showTime&&(y=[...Vn]),y}case"month":return Cn;case"year":return Yn;default:return[]}}changeBindingField(t,l,y){var i;super.changeBindingField(t,l);const a=y;t.editor&&((i=a==null?void 0:a.type)!=null&&i.name)&&(t.editor.fieldType=a.type.name,a.type.name===he.FormSchemaEntityFieldTypeName.DateTime&&(Object.prototype.hasOwnProperty.call(t.editor,"showTime")||(t.editor.showTime=!0),Object.prototype.hasOwnProperty.call(t.editor,"displayFormat")||(t.editor.displayFormat="yyyy-MM-dd HH:mm:ss"),Object.prototype.hasOwnProperty.call(t.editor,"valueFormat")||(t.editor.valueFormat="yyyy-MM-dd HH:mm:ss")))}}function Bn(e,t){const l=e.schema;function y(a,i){return new In(a,t).getPropertyConfig(l,i)}return{getPropsConfig:y}}const Ae=n.defineComponent({name:"FDatePickerDesign",props:Et,emits:["update:modelValue","datePicked"],setup(e,t){const l='<span class="f-icon f-icon-date"></span>';n.ref(e.modelValue);const y=n.ref(),a=n.inject("designer-host-service"),i=n.inject("design-item-context"),M=Bn(i,a),d=It.useDesignerComponent(y,i,M);n.onMounted(()=>{y.value.componentInstance=d}),t.expose(d.value);const g=n.computed(()=>({"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!0,"f-cmp-datepicker":!0})),k=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-editable":!0,"align-items-center":!0}));function f(){return n.createVNode("div",{class:g.value,ref:y},[n.createVNode("div",{class:k.value},[n.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[n.createVNode(Bt,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.beginPlaceholder},null),n.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),n.createVNode(Bt,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.endPlaceholder},null)]),n.createVNode("div",{class:"input-group-append"},[n.createVNode("span",{class:"input-group-text input-group-append-button"},[n.createVNode("i",{class:"f-icon f-icon-date"},null)])])])])}return()=>e.enablePeriod?f():n.createVNode(pn,{ref:y,buttonContent:l,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),Se=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var ue=(e=>(e[e.previous=1]="previous",e[e.current=2]="current",e[e.next=3]="next",e))(ue||{}),Ne=(e=>(e.Sunday="Sun",e.Monday="Mon",e))(Ne||{});const Rt={1:"一月",2:"二月",3:"三月",4:"四月",5:"五月",6:"六月",7:"七月",8:"八月",9:"九月",10:"十月",11:"十一月",12:"十二月"},$n={id:{type:String,default:""},editable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},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}},highlightDates:{Type:Array,default:[]},highlightSaturday:{Type:Boolean,default:!1},highlightSunday:{Type:Boolean,default:!1},maxDate:{Type:String,default:"9999-12-31 23:59:59"},minDate:{Type:String,default:"1900-01-01 00:00:00"},modelValue:{type:String,default:""},nameOfMonths:{Type:Object,default:Rt},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd"},displayFormat:{Type:String,default:"yyyy-MM-dd"},enablePeriod:{type:Boolean,default:!1},splitSelection:{type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},placeholder:{type:String,default:"请选择日期"},beginPlaceholder:{type:String,default:"开始日期"},endPlaceholder:{type:String,default:"结束日期"},beginValue:{type:String,default:""},endValue:{type:String,default:""},selectOnCreated:{type:Boolean,default:!1},showTime:{type:Boolean,default:!1},inlineDateTime:{type:Boolean,default:!0},showWeekNumber:{type:Boolean,default:!1},weekTitle:{type:String,default:"周"},showMiddleIcon:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!0},firstDayOfTheWeek:{type:String,default:Ne.Sunday},enableQuickSelect:{type:Boolean,default:!1},defaultTime:{type:String,default:null}},An={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:Ne.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:Rt},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},inlineDateTime:{type:Boolean,default:!0},enableQuickSelect:{type:Boolean,default:!1},defaultTime:{type:String,default:null}},En={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"},minDate:{type:Object},maxDate:{type:Object},minYear:{type:Number,default:1900},maxYear:{type:Number,default:9999}};function fe(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 qe(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function Ve(e,t){const l=fe(e);return isNaN(t)?qe(e,NaN):(t&&l.setDate(l.getDate()+t),l)}function ut(e,t){const l=fe(e);if(isNaN(t))return qe(e,NaN);if(!t)return l;const y=l.getDate(),a=qe(e,l.getTime());a.setMonth(l.getMonth()+t+1,0);const i=a.getDate();return y>=i?a:(l.setFullYear(a.getFullYear(),a.getMonth(),y),l)}let Wn={};function _t(){return Wn}function dt(e,t){var d,g,k,f;const l=_t(),y=(t==null?void 0:t.weekStartsOn)??((g=(d=t==null?void 0:t.locale)==null?void 0:d.options)==null?void 0:g.weekStartsOn)??l.weekStartsOn??((f=(k=l.locale)==null?void 0:k.options)==null?void 0:f.weekStartsOn)??0,a=fe(e),i=a.getDay(),M=(i<y?7:0)+i-y;return a.setDate(a.getDate()-M),a.setHours(0,0,0,0),a}function Rn(e){const t=fe(e);return t.setHours(0,0,0,0),t}function _n(e,t){const l=t*3;return ut(e,l)}function ft(e,t){return ut(e,t*12)}function Ln(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function qn(e){if(!Ln(e)&&typeof e!="number")return!1;const t=fe(e);return!isNaN(Number(t))}function yt(e){const t=fe(e),l=t.getMonth();return t.setFullYear(t.getFullYear(),l+1,0),t.setHours(23,59,59,999),t}function mt(e){const t=fe(e),l=t.getMonth(),y=l-l%3;return t.setMonth(y,1),t.setHours(0,0,0,0),t}function ht(e){const t=fe(e);return t.setDate(1),t.setHours(0,0,0,0),t}function ze(e){const t=fe(e),l=t.getFullYear();return t.setFullYear(l+1,0,0),t.setHours(23,59,59,999),t}function Ke(e){const t=fe(e),l=qe(e,0);return l.setFullYear(t.getFullYear(),0,1),l.setHours(0,0,0,0),l}function Lt(e,t){var d,g,k,f;const l=_t(),y=(t==null?void 0:t.weekStartsOn)??((g=(d=t==null?void 0:t.locale)==null?void 0:d.options)==null?void 0:g.weekStartsOn)??l.weekStartsOn??((f=(k=l.locale)==null?void 0:k.options)==null?void 0:f.weekStartsOn)??0,a=fe(e),i=a.getDay(),M=(i<y?-7:0)+6-(i-y);return a.setDate(a.getDate()+M),a.setHours(23,59,59,999),a}function vt(e){const t=fe(e),l=t.getMonth(),y=l-l%3+3;return t.setMonth(y,0),t.setHours(23,59,59,999),t}function zn(e){const t=fe(e);return t.setMilliseconds(0),t}function Ee(e,t){return Ve(e,-t)}function Kn(){return Rn(Date.now())}function bt(e,t){return ut(e,-t)}function qt(e,t){return _n(e,-1)}function zt(e,t){return ft(e,-1)}function Te(){const{formatTo:e,parseToDate:t}=he.useDateFormat();function l(){return{year:0,month:0,day:0}}function y(c){return new Date(c.year||0,c.month?c.month-1:0,c.day||0,c.hour?c.hour:0,c.minute?c.minute:0,c.second?c.second:0,0)}function a(c){const j=new Date;return c.year||(c.year=j.getFullYear()),c.month||(c.month=j.getMonth()+1),c.day||(c.day=1),new Date(c.year,c.month-1,c.day,c.hour?c.hour:0,c.minute?c.minute:0,c.second?c.second:0,0)}function i(c){return new Date(c.year||1,(c.month||1)-1,c.day,c.hour?c.hour:0,c.minute?c.minute:0,c.second?c.second:0,0).getDay()}function M(c){return Se.indexOf(c)}function d(c){return y(c).getTime()}function g(c){return Math.round(d(c)/1e3)}function k(c,j,V){const m=d(j),p=d(V),D=d(c);return p-D>D-m?j:V}function f(){const c=new Date;return{year:c.getFullYear(),month:c.getMonth()+1,day:c.getDate(),hour:c.getHours(),minute:c.getMinutes(),second:c.getSeconds()}}function r(c,j){const V=j.match(/[^(DdMmYy)]{1,}/g),m={};if(V){let p=V[0];V[0]!==V[1]&&(p=V[0]+V[1],V[2]&&V[1]!==V[2]&&(p+=V[2]));const D=new RegExp("["+p+"]"),U=c.split(D),R=j.split(D);for(let z=0;z<R.length;z++)R[z].indexOf("yyyy")!==-1&&(m.year=Number(U[z])),R[z].indexOf("M")!==-1&&(m.month=Number(U[z]||"1")),R[z].indexOf("d")!==-1&&(m.day=Number(U[z]||"1"))}else{const p=(j+"").indexOf("yyyy"),D=(j+"").indexOf("MM"),U=(j+"").indexOf("dd");if(p>=0){const R=c.substring(p,p+4);m.year=Number(R)}D>=0&&(m.month=Number(c.substring(D,D+2)||"1")),U>=0&&(m.day=Number(c.substring(U,U+2)||"01"))}return m.year===void 0&&(m.year=f().year),m}function h(c){return{year:c.getFullYear(),month:c.getMonth()+1,day:c.getDate(),hour:c.getHours(),minute:c.getMinutes(),second:c.getSeconds()}}function T(c,j=!0){const V=new Date(1900,1,1,0,0,0),m=new Date(9999,12,31,23,59,59),p=j?V:m;let D;return c instanceof Date?D=c:typeof c=="string"?D=c.trim()?t(c,"yyyy-MM-dd HH:mm:ss"):p:D=p,qn(D)||(D=p),{year:D.getFullYear(),month:D.getMonth()+1,day:D.getDate(),hour:D.getHours(),minute:D.getMinutes(),second:D.getSeconds()}}function N(c){return T(c,!0)}function O(c){return T(c,!1)}function F(c,j=!1){if(c&&typeof c=="string"){const V=c.replace("时",":").replace("分",":").replace("秒","").split(":");if(V.length>=2)return{hour:parseInt(V[0],10),minute:parseInt(V[1]),second:parseInt(V[2]||"0")||0}}else{const V=new Date,m=V.getHours(),p=V.getMinutes(),D=V.getSeconds();return j?{hour:0,minute:0,second:0}:{hour:m,minute:p,second:D}}return{hour:0,minute:0,second:0}}function x(c){if(c&&typeof c=="string"){const p=c.replace("时",":").replace("分",":").replace("秒","").split(":");if(p.length>=2)return{hour:p[0],minute:p[1],second:p[2]?p[2]:0}}return{hour:23,minute:59,second:59}}return{emptyDate:l,getDate:y,getDate2:a,getDayNumber:i,getEpocTime:g,getNearDate:k,getWeekdayIndex:M,getTimeInMilliseconds:d,getToday:f,getDateObject:r,getMinDate:N,getMaxDate:O,getTimeValue:F,getEndTimeValue:x,convertDateToDateObject:h}}function De(){const{getTimeInMilliseconds:e}=Te();function t(r){return r&&r.year!==0&&r.month!==0&&r.day!==0}function l(r){return r&&r.year!==0&&r.month!==0}function y(r){return r&&r.year!==0}function a(r,h){return e(r)<e(h)}function i(r,h){return e(r)<=e(h)}function M(r,h){return e(r)===e(h)}function d(r,h){const T=e(h);return e(r.from)===T||e(r.to)===T}function g(r,h){return!h||!t(h.to)||!t(h.from)?!1:i(h.from,r)&&i(r,h.to)}function k(r,h){return t(h)&&e(r)>=e(h)}function f(r,h){return t(h)&&e(r)<=e(h)}return{isDateEarlier:a,equal:M,inPeriod:g,isPoint:d,equalOrEarlier:i,isInitializedDate:t,isInitializedMonth:l,isInitializedYear:y,isMonthDisabledByDisableSince:k,isMonthDisabledByDisableUntil:f}}function gt(){const{getTimeInMilliseconds:e}=Te(),{isInitializedDate:t}=De();function l(a,i){return t(i)&&e(a)<e(i)}function y(a,i){return t(i)&&e(a)>e(i)}return{isMonthDisabledByDisableSince:y,isMonthDisabledByDisableUntil:l}}function Mt(){const{getToday:e}=Te(),{isMonthDisabledByDisableSince:t,isMonthDisabledByDisableUntil:l}=gt();function y(f){const r={displayTextOfMonth:"",month:0,year:0,displayTextOfYear:""};if(f){const h=f.match(/[^0-9]/),T=h&&h.length?h[0]:"",N=f.split(T);r.month=N[0].length===2?Number(N[0]):Number(N[1]),r.year=N[0].length===2?Number(N[1]):Number(N[0])}return r}function a(f,r){return new Date(r,f,0).getDate()}function i(f,r,h){return new Date(f,r-1,h,0,0,0,0)}function M(f,r){const h=i(r,f,1);return h.setMonth(h.getMonth()-1),a(h.getMonth()+1,h.getFullYear())}function d(f,r,h,T){const N=e(),O=[],{year:F}=r,x=3,c={year:h.year,month:h.month,day:h.day},j={year:T.year,month:T.month,day:T.day};for(let V=1;V<=12;V+=x){const m=[];for(let p=V;p<V+x;p++){const D=t({year:F,month:p,day:1},c)||l({year:F,month:p,day:a(p,F||0)},j);m.push({month:p,displayText:f[p],isCurrent:p===N.month&&F===N.year,disable:D,date:{year:F,month:p}})}O.push(m)}return O}function g(f,r){const h={year:f===12?r+1:r},T=f===12?1:f+1;return h.month=T,h}function k(f,r){const h={year:f===1?r-1:r},T=f===1?12:f-1;return h.month=T,h}return{daysInMonth:a,daysInPreMonth:M,generateMonths:d,parseDefaultMonth:y,getNextMonth:g,getPreviousMonth:k}}const Qn=n.defineComponent({name:"FDatePickerCalendarNavbar",props:En,emits:["clickMonth","clickYear","prePage","preRecord","nextRecord","nextPage"],setup(e,t){const l=n.ref(e.ariaLabelPrevMonth),y=n.ref(e.ariaLabelNextMonth),a=n.ref(e.dateFormat),i=n.ref(e.disablePrePage),M=n.ref(e.disablePreRecord),d=n.ref(e.disableNextRecord),g=n.ref(e.disableNextPage),k=n.ref(e.activeMonth),f=n.ref(e.years),r=n.ref(e.selectingMonth),h=n.ref(e.selectingYear),T=n.ref(e.selectMode),N=n.ref(!0),O=n.ref(!0),{isMonthDisabledByDisableSince:F,isMonthDisabledByDisableUntil:x}=gt(),{daysInMonth:c}=Mt();n.watch(()=>e.selectingMonth,(w,A)=>{r.value=w}),n.watch(()=>e.selectingYear,(w,A)=>{h.value=w});const j=(w,A)=>({year:A===1?w-1:w,month:A===1?12:A-1,day:c(A===1?12:A-1,A===1?w-1:w)}),V=(w,A)=>({year:A===12?w+1:w,month:A===12?1:A+1,day:1}),m=w=>({year:w-1,month:12,day:31}),p=w=>({year:w+1,month:1,day:1});function D(w,A,oe,le,ye="page"){ye==="page"?(i.value=oe||w,g.value=le||A):ye==="record"&&(M.value=oe||w,d.value=le||A)}function U(w,A){const{minDate:oe,maxDate:le,minYear:ye,maxYear:me}=e,ge=oe?x(m(w),oe):!0,Re=le?F(p(A),le):!0;D(ge,Re,w<=ye,A>=me)}function R(w,A){var ye,me;const oe=w||((ye=f.value[0][1])==null?void 0:ye.year),le=A||((me=f.value[3][1])==null?void 0:me.year);oe!==void 0&&le!==void 0&&U(oe,le)}function z(w,A){const{minDate:oe,maxDate:le,minYear:ye,maxYear:me}=e,ge=j(A,w),Re=V(A,w),Oe=oe?x(ge,{year:oe.year,month:oe.month,day:oe.day}):!0,kt=le?F(Re,{year:le.year,month:le.month,day:le.day}):!0;D(Oe,kt,w===1&&A===ye,w===12&&A===me,"record"),R(A,A)}function $(w){const{minDate:A,maxDate:oe,minYear:le,maxYear:ye}=e,me=A?x(m(w),A):!0,ge=oe?F(p(w),oe):!0;D(me,ge,w===le,w===ye)}n.watch(()=>e.selectingMonth,(w,A)=>{w&&$(k.value.year)}),n.watch(()=>e.selectingYear,(w,A)=>{w&&R()}),n.watch(()=>e.years,(w,A)=>{f.value=w,h.value&&R()}),n.watch(()=>e.activeMonth,()=>{const w=e.activeMonth;w&&(k.value={month:w.month,year:w.year,displayTextOfMonth:w.displayTextOfMonth,displayTextOfYear:w.displayTextOfYear},!e.selectingMonth&&!e.selectingYear?z(k.value.month,k.value.year):e.selectingMonth?$(k.value.year):R())},{immediate:!0});const I=n.computed(()=>({"f-datepicker-header":!0,monthYearSelBarBorder:r.value||h.value})),H=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":i.value})),b=n.computed(()=>!r.value&&!h.value),S=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":M.value})),C=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":d.value})),P=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":g.value})),L=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-yearLabel":N.value,"f-datepicker-labelBtnNotEdit":!N.value})),K=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-monthLabel":O.value,"f-datepicker-labelBtnNotEdit":!O.value})),Z=n.computed(()=>{const w=a.value?a.value.indexOf("yyyy"):0,A=a.value?a.value.indexOf("MM"):0;return w>A?"MM-yyyy":"yyyy-MM"});function re(w){w.stopPropagation(),!i.value&&t.emit("prePage")}function q(w){w.stopPropagation(),!M.value&&t.emit("preRecord")}function te(w){w.stopPropagation(),t.emit("clickYear")}function E(w){w.stopPropagation(),t.emit("clickMonth")}function J(w){w.stopPropagation(),!d.value&&t.emit("nextRecord")}function ee(w){w.stopPropagation(),!g.value&&t.emit("nextPage")}const de=n.computed(()=>{const w={};return T.value==="year"&&(w.cursor="default"),w});function ce(){return n.createVNode("button",{type:"button",style:de.value,class:L.value,onClick:w=>{N.value&&te(w)},tabindex:N.value?"0":"-1",disabled:T.value==="year"},[h.value?f.value.length>3?f.value[0][1].year+" - "+f.value[3][1].year:"":k.value.displayTextOfYear])}function be(){return!h.value&&T.value!=="month"&&n.createVNode("button",{type:"button",class:K.value,onClick:w=>{O.value&&E(w)},tabindex:O.value?"0":"-1"},[k.value.displayTextOfMonth])}const ae={opacity:.4,cursor:"default"};return()=>n.createVNode("div",{class:I.value,style:"height:40px; overflow:hidden;"},[n.createVNode("div",{class:"f-datepicker-prev-btn"},[n.createVNode("button",{type:"button",class:H.value,style:i.value?ae:{},onClick:re},[n.createVNode("i",{class:"f-icon f-icon-arrow-double-60-left"},null)]),b.value&&n.createVNode("button",{style:M.value?ae:{},type:"button","aria-label":l.value,class:S.value,onClick:q},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)])]),n.createVNode("div",{class:"f-datepicker-monthYearText"},[Z.value==="yyyy-MM"?[ce(),be()]:[be(),ce()]]),n.createVNode("div",{class:"f-datepicker-next-btn"},[b.value&&n.createVNode("button",{style:d.value?ae:{},type:"button","aria-label":y.value,class:C.value,onClick:J},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)]),n.createVNode("button",{style:g.value?ae:{},type:"button",class:P.value,onClick:ee},[n.createVNode("i",{class:"f-icon f-icon-arrow-double-60-right"},null)])])])}}),Un={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:Ne.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 ve=(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))(ve||{});function pt(){function e(t){const l=t.key||t.keyCode;return l==="Enter"||l===13?13:l==="Escape"||l===27?27:l===" "||l===32?32:l==="ArrowLeft"||l===37?37:l==="ArrowUp"||l===38?38:l==="ArrowRight"||l===39?39:l==="ArrowDown"||l===40?40:l==="Tab"||l===9?9:l==="Shift"||l===16?16:-1}return{getKeyCodeFromEvent:e}}const Jn=n.defineComponent({name:"FDatePickerCalendarView",props:Un,emits:["click","clickWeek","keyDown","mouseEnter","mouseLeave"],setup(e,t){const l=n.ref(e.dates),y=n.ref(e.daysInWeek),a=n.ref(e.enableKeyboadNavigate),i=n.ref(e.enableMarkCurrent),M=n.ref(e.enablePeriod),d=n.ref(e.selected),g=n.ref(e.selectedPeriod),k=n.ref(e.selectedWeek),f=n.ref(e.selectMode),r=n.ref(e.showWeekNumber),h=n.ref(e.weekTitle||"周");n.watch(()=>e.dates,()=>{l.value=e.dates}),n.watch(()=>e.selected,()=>{d.value=e.selected}),n.watch(()=>e.enablePeriod,(b,S)=>{b!==S&&(M.value=b)}),n.watch(()=>e.selectedPeriod,b=>{g.value=b}),n.watch(()=>e.selectedWeek,b=>{k.value=b});const{equal:T,inPeriod:N,isInitializedDate:O,equalOrEarlier:F,isPoint:x}=De(),{getKeyCodeFromEvent:c}=pt(),j=b=>{const S=!!k.value&&b.numberInTheYear===k.value.numberInTheYear;return{"f-datepicker-selectWeek":f.value==="week","f-datepicker-selectedWeek":f.value==="week"&&S}};function V(b){return N(b,g.value)}function m(b){if(!g.value)return!1;const S={from:{year:g.value.from.year,month:g.value.from.month,day:g.value.from.day},to:{year:g.value.to.year,month:g.value.to.month,day:g.value.to.day}};return!!g.value&&x(S,b)}function p(b){return!!d.value&&T({year:d.value.year,month:d.value.month,day:d.value.day},{year:b.year,month:b.month,day:b.day})}const D=(b,S,C)=>{const P=f.value!=="week"&&b.tag===ue.current&&(M.value&&V(b.date)&&!m(b.date)||b.range),L=b.tag===ue.previous||b.tag===ue.next,K={"f-datepicker-range":P,"f-datepicker-no-currmonth":L,"f-datepicker-disabled":b.disable,"f-datepicker-singledate":!b.disable},Z=`d_${S}_${C}`;return K[Z]=!0,K},U=b=>{const S=f.value!=="week"&&b.tag===ue.current&&(!M.value&&p(b.date)||M.value&&m(b.date)),C=b.isCurrent&&i.value,P=b.highlight&&(b.tag===ue.previous||b.tag===ue.next||b.disable);return{"f-datepicker-date":!0,"f-datepicker-selected":S,"f-datepicker-current":C,"f-datepicker-opacity":P,"f-datepicker-highlight":b.highlight,"f-datepicker-disabled":b.disable}};function R(b,S){S.disable||f.value==="week"||(b.stopPropagation(),t.emit("click",{event:b,dayItem:S}))}function z(b,S){f.value==="week"&&(b.stopPropagation(),t.emit("clickWeek",S))}function $(b,S){const C=c(b);C!==ve.tab&&(b.preventDefault(),C===ve.enter||C===ve.space?R(b,S):a.value&&t.emit("keyDown",S.date))}function I(b){if(g.value&&O(g.value.from)&&(!O(g.value.to)||JSON.stringify(g.value.from)===JSON.stringify(g.value.to))){const{from:S}=g.value;l.value.forEach(C=>{C.days.forEach(P=>{P.range=F(S,P.date)&&F(P.date,b.date)||F(P.date,S)&&F(b.date,P.date)})}),t.emit("mouseEnter",b.date)}}function H(){l.value.forEach(b=>{b.days.forEach(S=>{S.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,[r.value&&n.createVNode("th",{class:"f-datepicker-weeknbr-title",style:"padding-bottom: 8px;padding-top: 4px"},[h.value]),y.value&&y.value.map(b=>n.createVNode("th",{scope:"col",style:"padding-bottom: 8px;padding-top: 4px"},[b]))])]),n.createVNode("tbody",null,[l.value&&l.value.map((b,S)=>n.createVNode("tr",{class:j(b),onClick:C=>z(C,b)},[r.value&&n.createVNode("td",{class:"f-datepicker-weeknbr"},[n.createVNode("div",{class:"f-datepicker-date"},[b.numberInTheYear])]),b.days&&b.days.map((C,P)=>n.createVNode("td",{id:`d_${S}_${P}`,tabindex:"0",class:D(C,S,P),onKeydown:L=>$(L,C),onMouseenter:()=>I(C),onMouseleave:()=>H()},[C.marked&&C.marked.marked&&n.createVNode("span",{class:"f-datepicker-markdate",style:{"background-color":C.marked.color}},null),n.createVNode("div",{class:U(C),onClick:L=>R(L,C)},[C.date.day])]))]))])])])])}}),Gn={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"}},Xn=n.defineComponent({name:"FDatePickerMonthView",props:Gn,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,t){const l=n.ref(e.months),y=n.ref(e.enableMarkCurrent),a=n.ref(e.enableKeyboadNavigate),i=n.ref(e.enablePeriod),M=n.ref(e.selected),d=n.ref(e.selectedPeriod),{inPeriod:g,isInitializedDate:k,equalOrEarlier:f}=De(),{getKeyCodeFromEvent:r}=pt();n.watch(()=>e.months,()=>{l.value=e.months}),n.watch(()=>e.selected,()=>{M.value=e.selected}),n.watch(()=>e.selectedPeriod,m=>{d.value=m});function h(m,p){m.stopPropagation(),!p.disable&&t.emit("click",p.date)}function T(m,p){const D=r(m);D!==ve.tab&&(m.preventDefault(),D===ve.enter||D===ve.space?h(m,p):a.value&&t.emit("keyDown",p))}function N(m){d.value&&k(d.value.from)&&!k(d.value.to)&&(l.value.forEach(p=>{p.forEach(D=>{D.range=!!d.value&&(f(d.value.from,D.date)&&f(D.date,m.date)||f(D.date,d.value.from)&&f(m.date,D.date))})}),t.emit("mouseEnter",m))}function O(){l.value.forEach(m=>{m.forEach(p=>{p.range=!1})}),t.emit("mouseLeave")}const F=(m,p)=>m.year===p.year&&m.month===p.month;function x(m){return!!M.value&&F(M.value,m)}function c(m){return!!d.value&&(F(d.value.from,m)||F(d.value.to,m))}function j(m){return g(m,d.value)}const V=m=>({"f-datepicker-month-cell":!0,"f-datepicker-current":m.isCurrent&&y.value,"f-datepicker-selected":(!i.value||e.selectMode==="week")&&x(m.date)||i.value&&c(m.date),"f-datepicker-disabled":m.disable,"f-datepicker-range":j({...m.date,day:1})||m.range});return()=>n.createVNode("div",{class:"f-datepicker-table-wrapper"},[n.createVNode("table",{class:"f-datepicker-table"},[n.createVNode("tbody",null,[l.value&&l.value.map((m,p)=>n.createVNode("tr",null,[m.map((D,U)=>n.createVNode("td",{id:`m_${p}_${U}`,class:`m_${p}_${U}`,onKeydown:R=>T(R,D),onMouseenter:()=>N(D),onMouseleave:()=>O(),tabindex:"0",style:"width: 33.3%"},[n.createVNode("div",{class:"f-datepicker-month",onClick:R=>h(R,D)},[n.createVNode("span",{class:V(D)},[D.displayText])])]))]))])])])}}),Zn={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"}},ea=n.defineComponent({name:"FDatePickerYearView",props:Zn,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,t){const l=n.ref(e.years),y=n.ref(e.enableMarkCurrent),a=n.ref(e.enableKeyboadNavigate),i=n.ref(e.enablePeriod),M=n.ref(e.selected),d=n.ref(e.selectedPeriod),{equal:g,isInitializedDate:k,equalOrEarlier:f}=De(),{getKeyCodeFromEvent:r}=pt();n.watch(()=>e.years,()=>{l.value=e.years}),n.watch(()=>e.selected,()=>{M.value=e.selected});const h=(m,p)=>{const D=`y_${m}_${p}`,U={"f-datepicker-no-currmonth":m===0&&p===0||m===3&&p===2};return U[D]=!0,U};function T(m){if(!d.value)return!1;const{from:p,to:D}=d.value;return!k(D)||!k(p)?!1:m!=null&&m.year&&(p!=null&&p.year)&&(D!=null&&D.year)?m.year>=p.year&&m.year<=D.year:!1}function N(m){return!!M.value&&g({year:M.value.year},m)}function O(m){return!!d.value&&(g({year:d.value.from.year},m)||g({year:d.value.to.year},m))}const F=m=>({"f-datepicker-year-cell":!0,"f-datepicker-current":m.isCurrent&&y.value,"f-datepicker-selected":(!i.value||e.selectMode==="week")&&N(m.date)||i.value&&O(m.date),"f-datepicker-disabled":m.disable,"f-datepicker-range":T(m.date)||m.range});function x(m,p){m.stopPropagation(),!p.disable&&t.emit("click",p)}function c(m,p){const D=r(m);D!==ve.tab&&(m.preventDefault(),D===ve.enter||D===ve.space?x(m,p):a.value&&t.emit("keyDown",p))}function j(m){d.value&&k(d.value.from)&&!k(d.value.to)&&(l.value.forEach(p=>{p.forEach(D=>{D.range=!!d.value&&(f(d.value.from,D.date)&&f(D.date,m.date)||f(D.date,d.value.from)&&f(m.date,D.date))})}),t.emit("mouseEnter",m))}function V(){l.value.forEach(m=>{m.forEach(p=>{p.range=!1})}),t.emit("mouseLeave")}return()=>n.createVNode("table",{class:"f-datepicker-table-wrapper"},[n.createVNode("tbody",{class:"f-datepicker-table"},[l.value&&l.value.map((m,p)=>n.createVNode("tr",null,[m.map((D,U)=>n.createVNode("td",{id:"y_{yi}_{i}",class:h(p,U),onKeydown:R=>c(R,D),onMouseenter:()=>j(D),onMouseleave:()=>V(),tabindex:"0"},[n.createVNode("div",{class:"f-datepicker-year",onClick:R=>x(R,D)},[n.createVNode("span",{class:F(D)},[D.year])])]))]))])])}});function We(){function e(a){return new Date(a.year||0,(a.month||1)-1,a.day,a.hour?a.hour:0,a.minute?a.minute:0,a.second?a.second:0,0).getDay()}function t(a){if(!a)return 1;if(!/^\d+$/.test(a.value))return-1;let i=Number(a.value);return(a.format.length===1&&a.value.length!==1&&i<10||a.format.length===1&&a.value.length!==2&&i>=10||a.format.length===2&&a.value.length>2)&&(i=-1),i}function l(a,i){if(a.value){for(let M=1;M<=12;M++)if(a.value.toLowerCase()===i[M].toLowerCase())return M}return-1}function y(a){const i=new Date(a.year||0,(a.month||1)-1,a.day,0,0,0,0);return i.setDate(i.getDate()+(i.getDay()===0?-3:4-i.getDay())),Math.round((i.getTime()-new Date(i.getFullYear(),0,4).getTime())/864e5/7)+1}return{getNumberByValue:t,getDayNumber:e,getMonthNumberByMonthName:l,getWeekNumber:y}}function Kt(e,t,l,y,a,i,M,d){const{getTimeInMilliseconds:g,getWeekdayIndex:k}=Te(),{isInitializedDate:f}=De(),{getDayNumber:r}=We();function h(T){if(T.year&&T.year<e||T.year&&T.year>t)return!0;const N=g(T),O=T.hour!==void 0;if(f(y)&&(O?N:N+24*60*60*1e3-1)<g(y)||f(l)&&N>g(l))return!0;if(M){const x=r(T);if(x===0||x===6)return!0}const F=r(T);return!!(d.length>0&&d.find(c=>k(c)===F)||a.length>0&&a.find(c=>(c.year===0||c.year===T.year)&&(c.month===0||c.month===T.month)&&c.day===T.day)||i.length>0&&i.find(c=>f(c.from)&&f(c.to)&&N>=g(c.from)&&N<=g(c.to)))}return{isDisabledDate:h}}function ta(){const{getDayNumber:e}=We();function t(y,a,i){let M=[];M=a.reduce((g,k)=>{const f=k.dates.map(r=>({date:r,color:k.color}));return[...g,...f]},M);const d=M.find(g=>(g.date.year===0||g.date.year===y.year)&&(g.date.month===0||g.date.month===y.month)&&g.date.day===y.day);if(d)return{marked:!0,color:d.color};if(i&&i.marked){const g=e(y);if(g===0||g===6)return{marked:!0,color:i.color}}return{marked:!1,color:""}}function l(y,a,i,M){const d=e(y);return a&&d===0||i&&d===6?!0:!!M.find(k=>(k.year===0||k.year===y.year)&&(k.month===0||k.month===y.month)&&k.day===y.day)}return{isHighlightedDate:l,isMarkedDate:t}}function na({isDisabledDate:e}){const{getToday:t}=Te(),{daysInMonth:l,daysInPreMonth:y}=Mt(),{isHighlightedDate:a,isMarkedDate:i}=ta(),{getWeekNumber:M}=We();function d(r){const h=Se.indexOf(r);return h>0?7-h:0}function g(r,h,T){const N=new Date;N.setDate(1),N.setMonth(h-1),N.setFullYear(r);const O=N.getDay()+T;return O>=7?O-7:O}function k(r,h,T,N,O){return r===O.day&&h===O.month&&T===O.year&&N===ue.current}function f(r,h,T,N,O,F,x,c,j){const V=[],m=t(),p=g(h,r,d(T)),D=l(r,h),U=y(r,h);let R=1,z=ue.previous;for(let $=1;$<7;$++){const I=[];if($===1){const S=U-p+1;for(let P=S;P<=U;P++){const L={year:r===1?h-1:h,month:r===1?12:r-1,day:P},K=k(P,r,h,z,m),Z=e(L),re=i(L,N,O),q=a(L,c,x,F);I.push({date:L,tag:z,isCurrent:K,disable:Z,marked:re,highlight:q})}z=ue.current;const C=7-I.length;for(let P=0;P<C;P++){const L={year:h,month:r,day:R},K=k(R,r,h,z,m),Z=e(L),re=i(L,N,O),q=a(L,c,x,F);I.push({date:L,tag:z,isCurrent:K,disable:Z,marked:re,highlight:q}),R++}}else for(let S=1;S<=7;S++){R>D&&(R=1,z=ue.next);const C={year:z===ue.next&&r===12?h+1:h,month:z===ue.current?r:z===ue.next&&r<12?r+1:1,day:R},P=k(R,r,h,z,m),L=e(C),K=i(C,N,O),Z=a(C,c,x,F);I.push({date:C,tag:z,isCurrent:P,disable:L,marked:K,highlight:Z}),R++}const H=T===Ne.Monday?0:6,b=M(I[H].date);V.push({days:I,numberInTheYear:b,year:h})}return V}return{generateCalendar:f}}function aa(){const{getToday:e}=Te();function t(l,y,a,i,M,d){const g=[],k=l-l%10,{year:f,month:r}=y,h=e(),T=3,N=k+10;for(let O=k-1;O<N;O+=T){const F=[];for(let x=O;x<O+T;x++){const c=x<a||x>i;F.push({year:x,isCurrent:x===h.year,selected:x===f,disable:c,date:{year:x}})}g.push(F)}return g}return{generateYears:t}}function oa(){function e(a,i,M){const d=[];if(M){let g=M[0];M[0]!==M[1]&&(g=M[0]+M[1],M[2]&&M[1]!==M[2]&&(g+=M[2]));const k=new RegExp("["+g+"]"),f=a.split(k),r=i.split(k);for(let h=0;h<r.length;h++)r[h].indexOf("yyyy")!==-1&&(d[0]={value:f[h],format:r[h]}),r[h].indexOf("M")!==-1&&(d[1]=f[h]===void 0?{value:"1",format:r[h]}:{value:f[h],format:r[h]}),r[h].indexOf("d")!==-1&&(d[2]=f[h]===void 0?{value:"1",format:r[h]}:{value:f[h],format:r[h]})}else{const g=(i+"").indexOf("yyyy"),k=(i+"").indexOf("MM"),f=(i+"").indexOf("dd");g>=0&&(d[0]={value:a.substring(g,g+4),format:i.substring(g,g+4)}),k>=0&&(d[1]={value:a.substring(k,k+2),format:i.substring(k,k+2)}),f>=0&&(d[2]={value:a.substring(f,f+2),format:i.substring(f,f+2)})}return d}function t(a){return a<10?"0"+Number(a):String(a)}function l(a,i){const M=a.match(/[^(DdMmYy)]{1,}/g),d=a.indexOf(i);return d<0?a:d===0?M?a.substring(3):a.substring(2):d+2===a.length?M?a.substring(0,a.length-3):a.substring(0,a.length-2):M?a.substring(0,d)+a.substring(d+3):a.substring(0,d)+a.substring(d+2)}function y(a,i,M){!a.month&&i.indexOf("MM")===-1&&(i=l(i,"MM")),!a.day&&i.indexOf("dd")===-1&&(i=l(i,"dd"));let d=i.replace("yyyy",String(a.year));return i.indexOf("M")===-1?d=d.replace("MM","01"):(i.indexOf("MMM")!==-1&&(d=d.replace("MMM",M[a.month||1])),i.indexOf("MM")!==-1?d=d.replace("MM",t(a.month||1)):d=d.replace("M",String(a.month||1))),i.indexOf("dd")===-1?d=d.replace("dd","01"):i.indexOf("dd")!==-1?d=d.replace("dd",t(a.day||1)):d=d.replace("d",String(a.day||1)),d=d.replace("MM","mm").replace("HH",t(a.hour||0)).replace("mm",t(a.minute||0)).replace("ss",t(a.second||0)),d&&d.length>2?d:""}return{getDateValue:e,formatDate:y,preZero:t,remove:l}}function la(e){const{displayFormat:t,minYear:l,maxYear:y,selectMode:a,valueFormat:i,showTime:M,periodDelimiter:d}=e,{emptyDate:g,getToday:k}=Te(),{getDateValue:f,preZero:r}=oa(),{getNumberByValue:h,getMonthNumberByMonthName:T,getWeekNumber:N}=We(),{isInitializedDate:O,isDateEarlier:F}=De(),{isDisabledDate:x}=Kt(e.minYear,e.maxYear,e.disableSince,e.disableUntil,e.disableDates,e.disablePeriod,e.disableWeekends,e.disableWeekdays),c=n.ref(e.nameOfMonths),j=[31,28,31,30,31,30,31,31,30,31,30,31];function V(){const $=k(),I=$.year,H=$.month;switch(a){case"month":return{startMonth:{month:0,year:I},endMonth:{month:0,year:I+1}};case"year":return{startMonth:{month:0,year:I},endMonth:{month:0,year:I+10}};default:{const b={month:H,year:I};let S={month:H+1,year:I};return H>=12&&(S={month:1,year:I+1}),{startMonth:b,endMonth:S}}}}function m($,I=!1){let H=M,b=t,S=$;return I&&(b=i.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)),!M&&i.toLocaleLowerCase().indexOf("hh:mm")>-1&&(H=!0)),{actualFormat:b,shouldDisplayTime:H,targetDateString:S}}function p($,I=!1){const H={year:0,month:0,day:0};if(!$)return H;const{actualFormat:b,shouldDisplayTime:S,targetDateString:C}=m($,I),P=b.indexOf("MMM")!==-1;let L=C,K=0,Z=0,re=0,q=b.match(/[^(DdMmYy)]{1,}/g);if(S&&C){L=C.split(" ")[0],Object.assign(H,{hour:0,minute:0,second:0});const de=C.split(" ")[1];if(de){const ce=de.replace("时",":").replace("分",":").replace("秒","").split(":");ce[0]&&(K=Number(ce[0].substr(0,2)),K=isNaN(K)?0:K),ce[1]&&(Z=Number(ce[1].substr(0,2)),Z=isNaN(Z)?0:Z),ce[2]&&(re=Number(ce[2].substr(0,2)),re=isNaN(re)?0:re)}else if(q=null,/^\d{1,}$/.test(C)){const be=b;L=C.substr(0,8);let ae=C.substr(8);ae&&(be.includes("HH")&&ae&&(K=+ae.slice(0,2),ae=ae.slice(2)),be.includes("mm")&&ae&&(Z=+ae.slice(0,2),ae=ae.slice(2)),be.includes("ss")&&ae&&(re=+ae.slice(0,2)))}}else L=C?C.split(" ")[0]:"";const te=f(L,b,q),E=h(te[0]),J=P?T(te[1],c.value):h(te[1]),ee=h(te[2]);if(a==="year")return{year:E,month:1,day:1};if(J!==-1&&ee!==-1&&E!==-1){if(E<l||E>y||J<1||J>12)return H;const de=M?{year:E,month:J,day:ee,hour:K,minute:Z,second:re}:{year:E,month:J,day:ee};return x(de)||((E%400===0||E%100!==0&&E%4===0)&&(j[1]=29),ee<1||ee>j[J-1])?H:a==="month"?{year:de.year,month:de.month}:a==="year"?{year:de.year}:de}return H}function D($){let I={from:{year:0,month:0,day:0},to:{year:0,month:0,day:0}};if($&&$.length){const H=$.split(d||"~");if(H&&H.length===2){const[b,S]=H;let C=b?p(b,!0):null,P=S?p(S,!0):null;if(!C&&P&&(C={...P}),!P&&C&&(P={...C}),!C&&!P)return I;I={from:C,to:P}}}return I}function U($,I){const{from:H,to:b}=$,S=O(H),C=O(b)&&JSON.stringify(H)!==JSON.stringify(b);if(S&&C)$.from=I,$.to=g();else if(!S)$.from=I,!C&&e.showTime&&($.to=I);else{if(F(I,H)){const L=H;$.to=L,$.from=I}else $.to=I;return{from:$.from,to:$.to,emit:!0}}return{from:$.from,to:$.to}}function R($){const I=r($.getHours()),H=r($.getMinutes()),b=r($.getSeconds());return`${I}:${H}:${b}`}function z($){const I=D($),H=I.from,b=I.to;if(O(H)&&O(b)){const S=r(H.hour||0),C=r(H.minute||0),P=r(H.second||0),L=`${S}:${C}:${P}`,K=r(b.hour||0),Z=r(b.minute||0),re=r(b.second||0),q=`${K}:${Z}:${re}`,te={year:H.year||1,month:H.month||1,displayTextOfMonth:c.value[H.month||"1"],displayTextOfYear:`${H.year}`},E={year:b.year||1,month:b.month||1,displayTextOfMonth:c.value[b.month||"1"],displayTextOfYear:`${b.year}`};if(H.month===b.month&&H.year===b.year)if(!$)E.month>=12?(E.month=1,E.year=E.year+1):(E.month=E.month+1,a==="month"&&(E.year=E.year+1),E.displayTextOfMonth=c.value[E.month]);else{const ce=$.split("~"),be=ce[0],ae=ce[1];!be&&ae?(te.month===1?(te.year=te.year-1,te.month=12):te.month=te.month-1,te.displayTextOfMonth=c.value[te.month]):(E.month===12?(E.year=E.year+1,E.month=1):E.month=E.month+1,E.displayTextOfMonth=c.value[E.month])}else a==="month"&&H.year===b.year&&(E.year=E.year+1);E.displayTextOfYear=`${E.year}`;const J=e.firstDayOfTheWeek===Ne.Sunday?b:H,de={numberInTheYear:N(J),year:J.year};r