@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 81 kB
JavaScript
(function(Z,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):(Z=typeof globalThis<"u"?globalThis:Z||self,he(Z["date-picker"]={},Z.common,Z.datePicker,Z.Vue,Z.FButtonEditDesign,Z.designerCanvas,Z.dynamicResolver,Z.FInputGroupDesign,Z.propertyPanel,Z.LodashES,Z.timePicker,Z.button))})(this,function(Z,he,Be,n,pn,$t,lt,jt,kn,ne,st,Tn){"use strict";function Bt(e,t,l){return t}const At=new Map([["appearance",lt.resolveAppearance]]),wn={$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},hourStep:{description:"",type:"number",default:1},minuteStep:{description:"",type:"number",default:1},secondStep:{description:"",type:"number",default:1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},defaultTime:{description:"",type:"string",default:""},onExpandClick:{description:"",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onDatePicked:"日期选择后事件"}},Dn={$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},Pn={year:1900,month:1,day:1,hour:0,minute:0,second:0},Et=Object.assign({},Be.datePickerProps,{readonly:{}}),rt=lt.createPropsResolver(Be.datePickerProps,wn,At,Bt),it=lt.createPropsResolver(Be.datePickerContainerProps,Dn,At,Bt,xn);function On(){let e="zh-CHS";window&&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"}],m=[{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日"}),m.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日"}),m.push({id:"yyyy年MM月",name:"yyyy年MM月"}),a.push({id:"MM月dd日",name:"MM月dd日"}),i.push({id:"yyyy年",name:"yyyy年"})),{timeFormats:t,yMFormats:m,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:In,yFormats:ut}=On();class $n 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:m,showTime:a}=(t==null?void 0:t.editor)||{},{parseToDate:i,formatTo:M}=he.useDateFormat();if(m&&typeof m=="string"){const d=i(m,"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,T,c,s,h,w,N,P,F,x,V,y,H,f,p,k;const l=this.getDateFormatOptions(t==null?void 0:t.editor),m=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);(T=t==null?void 0:t.editor)!=null&&T.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"},editable:{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:((c=t==null?void 0:t.editor)==null?void 0:c.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:((s=t==null?void 0:t.editor)==null?void 0:s.selectMode)==="day"},showTime:{description:"",title:"启用时间选择",type:"boolean",readonly:((h=t==null?void 0:t.editor)==null?void 0:h.fieldType)==="Date",refreshPanelAfterChanged:!0,visible:((w=t==null?void 0:t.editor)==null?void 0:w.selectMode)==="day"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1,needValid:!0},visible:((N=t==null?void 0:t.editor)==null?void 0:N.showTime)===!0},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0},visible:((P=t==null?void 0:t.editor)==null?void 0:P.showTime)===!0},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1,needValid:!0},visible:t.editor.showTime===!0},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:m},visible:((F=t==null?void 0:t.editor)==null?void 0:F.fieldType)==="String"},minDate:{description:"",title:"最小日期",type:"string",editor:this.getPropertyEditorParams(t,["Const"],"minDate",{constType:"date-picker",constDateTime:{enableClear:!0,selectMode:((x=t==null?void 0:t.editor)==null?void 0:x.selectMode)||"day",displayFormat:M,valueFormat:M,minDate:"1900-01-01 00:00:00",maxDate:this.getMinOrMaxDate((V=t==null?void 0:t.editor)==null?void 0:V.maxDate,!0),showTime:(y=t==null?void 0:t.editor)==null?void 0:y.showTime}},{newVariablePrefix:"",newVariableType:"DateTime"}),refreshPanelAfterChanged:!0},maxDate:{description:"",title:"最大日期",type:"string",editor:this.getPropertyEditorParams(t,["Const"],"maxDate",{constType:"date-picker",constDateTime:{enableClear:!0,selectMode:((H=t==null?void 0:t.editor)==null?void 0:H.selectMode)||"day",displayFormat:M,valueFormat:M,minDate:this.getMinOrMaxDate((f=t==null?void 0:t.editor)==null?void 0:f.minDate),maxDate:"9999-12-31 23:59:59",showTime:(p=t==null?void 0:t.editor)==null?void 0:p.showTime}},{newVariablePrefix:"",newVariableType:"DateTime"}),refreshPanelAfterChanged:!0},enableQuickSelect:{description:"",title:"启用快速选择",type:"boolean",visible:((k=t==null?void 0:t.editor)==null?void 0:k.selectMode)==="day"}},this.setEditorPropertyRelates)}getExtremeDateFormat(t){var l,m,a,i;if(((l=t==null?void 0:t.editor)==null?void 0:l.selectMode)==="day")return"yyyy-MM-dd"+((m=t==null?void 0:t.editor)!=null&&m.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,m=[{label:"onDatePicked",name:"日期选择后事件"},...this.getInputCommonEvents(t)],a=l.eventsEditorUtils.formProperties(t,l.viewModelId,m),i=l.createBaseEventProperty(a);return this.appendFieldValueChangeEvents(t,m),{title:"事件",hideTitle:!0,properties:i,refreshPanelAfterChanged:!0,tabId:he.EVENT_PROPERTY_TAB_IDS,tabName:"交互",setPropertyRelates(M,d){const g=M.propertyValue;delete t[l.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,l.eventsEditorUtils.saveRelatedParameters(t,l.viewModelId,g.events,g),l.updateLinkedLabel(g,t));const T=l.designViewModelUtils.getDgViewModel(l.viewModelId);T&&l.designViewModelField&&T.changeField(l.designViewModelField.id,{valueChanging:t.fieldValueChanging||"",valueChanged:t.fieldValueChanged||""})}}}setEditorPropertyRelates(t,l,m){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 m=[];switch(l){case"day":{const a=[];t.showTime&&a.push(...Fn),a.push(...Hn,...Wt,...ut,...In),m=a;break}case"month":{m=[...Wt,...ut];break}case"year":{m=[...ut];break}}return m}getValueFormatOptions(t){switch(t.selectMode||"day"){case"day":{let m=[...Sn];return t.showTime&&(m=[...Vn]),m}case"month":return Cn;case"year":return Yn;default:return[]}}changeBindingField(t,l,m){var i;super.changeBindingField(t,l);const a=m;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 jn(e,t){const l=e.schema;function m(a,i){return new $n(a,t).getPropertyConfig(l,i)}return{getPropsConfig:m}}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 m=n.ref(),a=n.inject("designer-host-service"),i=n.inject("design-item-context"),M=jn(i,a),d=$t.useDesignerComponent(m,i,M);n.onMounted(()=>{m.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})),T=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-editable":!0,"align-items-center":!0}));function c(){return n.createVNode("div",{class:g.value,ref:m},[n.createVNode("div",{class:T.value},[n.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[n.createVNode(jt,{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(jt,{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?c():n.createVNode(pn,{ref:m,buttonContent:l,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}}),Se=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var de=(e=>(e[e.previous=1]="previous",e[e.current=2]="current",e[e.next=3]="next",e))(de||{}),Ne=(e=>(e.Sunday="Sun",e.Monday="Mon",e))(Ne||{});const Rt={1:"一月",2:"二月",3:"三月",4:"四月",5:"五月",6:"六月",7:"七月",8:"八月",9:"九月",10:"十月",11:"十一月",12:"十二月"},Bn={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:""},minDate:{Type:String,default:""},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},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},defaultTime:{type:String,default:null},popupClass:{type:String,default:""}},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},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,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 dt(e,t){const l=fe(e);if(isNaN(t))return qe(e,NaN);if(!t)return l;const m=l.getDate(),a=qe(e,l.getTime());a.setMonth(l.getMonth()+t+1,0);const i=a.getDate();return m>=i?a:(l.setFullYear(a.getFullYear(),a.getMonth(),m),l)}let Wn={};function _t(){return Wn}function ct(e,t){var d,g,T,c;const l=_t(),m=(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??((c=(T=l.locale)==null?void 0:T.options)==null?void 0:c.weekStartsOn)??0,a=fe(e),i=a.getDay(),M=(i<m?7:0)+i-m;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 dt(e,l)}function ft(e,t){return dt(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(),m=l-l%3;return t.setMonth(m,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,T,c;const l=_t(),m=(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??((c=(T=l.locale)==null?void 0:T.options)==null?void 0:c.weekStartsOn)??0,a=fe(e),i=a.getDay(),M=(i<m?-7:0)+6-(i-m);return a.setDate(a.getDate()+M),a.setHours(23,59,59,999),a}function vt(e){const t=fe(e),l=t.getMonth(),m=l-l%3+3;return t.setMonth(m,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 dt(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 m(y){return new Date(y.year||0,y.month?y.month-1:0,y.day||0,y.hour?y.hour:0,y.minute?y.minute:0,y.second?y.second:0,0)}function a(y){const H=new Date;return y.year||(y.year=H.getFullYear()),y.month||(y.month=H.getMonth()+1),y.day||(y.day=1),new Date(y.year,y.month-1,y.day,y.hour?y.hour:0,y.minute?y.minute:0,y.second?y.second:0,0)}function i(y){return new Date(y.year||1,(y.month||1)-1,y.day,y.hour?y.hour:0,y.minute?y.minute:0,y.second?y.second:0,0).getDay()}function M(y){return Se.indexOf(y)}function d(y){return m(y).getTime()}function g(y){return Math.round(d(y)/1e3)}function T(y,H,f){const p=d(H),k=d(f),B=d(y);return k-B>B-p?H:f}function c(){const y=new Date;return{year:y.getFullYear(),month:y.getMonth()+1,day:y.getDate(),hour:y.getHours(),minute:y.getMinutes(),second:y.getSeconds()}}function s(y,H){const f=H.match(/[^(DdMmYy)]{1,}/g),p={};if(f){let k=f[0];f[0]!==f[1]&&(k=f[0]+f[1],f[2]&&f[1]!==f[2]&&(k+=f[2]));const B=new RegExp("["+k+"]"),_=y.split(B),K=H.split(B);for(let I=0;I<K.length;I++)K[I].indexOf("yyyy")!==-1&&(p.year=Number(_[I])),K[I].indexOf("M")!==-1&&(p.month=Number(_[I]||"1")),K[I].indexOf("d")!==-1&&(p.day=Number(_[I]||"1"))}else{const k=(H+"").indexOf("yyyy"),B=(H+"").indexOf("MM"),_=(H+"").indexOf("dd");if(k>=0){const K=y.substring(k,k+4);p.year=Number(K)}B>=0&&(p.month=Number(y.substring(B,B+2)||"1")),_>=0&&(p.day=Number(y.substring(_,_+2)||"01"))}return p.year===void 0&&(p.year=c().year),p}function h(y){return{year:y.getFullYear(),month:y.getMonth()+1,day:y.getDate(),hour:y.getHours(),minute:y.getMinutes(),second:y.getSeconds()}}function w(y,H=!0){const f=new Date(1900,1,1,0,0,0),p=new Date(9999,12,31,23,59,59),k=H?f:p;let B;return y instanceof Date?B=y:typeof y=="string"?B=y.trim()?t(y,"yyyy-MM-dd HH:mm:ss"):k:B=k,qn(B)||(B=k),{year:B.getFullYear(),month:B.getMonth()+1,day:B.getDate(),hour:B.getHours(),minute:B.getMinutes(),second:B.getSeconds()}}function N(y){return w(y,!0)}function P(y){return w(y,!1)}function F(y,H=!1){if(y&&typeof y=="string"){const f=y.replace("时",":").replace("分",":").replace("秒","").split(":");if(f.length>=2)return{hour:parseInt(f[0],10),minute:parseInt(f[1]),second:parseInt(f[2]||"0")||0}}else{const f=new Date,p=f.getHours(),k=f.getMinutes(),B=f.getSeconds();return H?{hour:0,minute:0,second:0}:{hour:p,minute:k,second:B}}return{hour:0,minute:0,second:0}}function x(y){if(y&&typeof y=="string"){const k=y.replace("时",":").replace("分",":").replace("秒","").split(":");if(k.length>=2)return{hour:k[0],minute:k[1],second:k[2]?k[2]:0}}return{hour:23,minute:59,second:59}}function V(y,H,f){const{year:p}=y,k=String(y.month).padStart(2,"0"),B=String(y.day).padStart(2,"0");if(H==="year")return`${p}`;if(H==="month")return`${p}-${k}`;let _=`${p}-${k}-${B}`;if(f&&(y.hour!==void 0||y.minute!==void 0||y.second!==void 0)){const K=String(y.hour||0).padStart(2,"0"),I=String(y.minute||0).padStart(2,"0"),j=String(y.second||0).padStart(2,"0");_+=` ${K}:${I}:${j}`}return _}return{emptyDate:l,getDate:m,getDate2:a,getDayNumber:i,getEpocTime:g,getNearDate:T,getWeekdayIndex:M,getTimeInMilliseconds:d,getToday:c,getDateObject:s,getMinDate:N,getMaxDate:P,getTimeValue:F,getEndTimeValue:x,convertDateToDateObject:h,formatDateObject:V}}function we(){const{getTimeInMilliseconds:e}=Te();function t(s){return s&&s.year!==0&&s.month!==0&&s.day!==0}function l(s){return s&&s.year!==0&&s.month!==0}function m(s){return s&&s.year!==0}function a(s,h){return e(s)<e(h)}function i(s,h){return e(s)<=e(h)}function M(s,h){return e(s)===e(h)}function d(s,h){const w=e(h);return e(s.from)===w||e(s.to)===w}function g(s,h){return!h||!t(h.to)||!t(h.from)?!1:i(h.from,s)&&i(s,h.to)}function T(s,h){return t(h)&&e(s)>=e(h)}function c(s,h){return t(h)&&e(s)<=e(h)}return{isDateEarlier:a,equal:M,inPeriod:g,isPoint:d,equalOrEarlier:i,isInitializedDate:t,isInitializedMonth:l,isInitializedYear:m,isMonthDisabledByDisableSince:T,isMonthDisabledByDisableUntil:c}}function gt(){const{getTimeInMilliseconds:e}=Te(),{isInitializedDate:t}=we();function l(a,i){return t(i)&&e(a)<e(i)}function m(a,i){return t(i)&&e(a)>e(i)}return{isMonthDisabledByDisableSince:m,isMonthDisabledByDisableUntil:l}}function Mt(){const{getToday:e}=Te(),{isMonthDisabledByDisableSince:t,isMonthDisabledByDisableUntil:l}=gt();function m(c){const s={displayTextOfMonth:"",month:0,year:0,displayTextOfYear:""};if(c){const h=c.match(/[^0-9]/),w=h&&h.length?h[0]:"",N=c.split(w);s.month=N[0].length===2?Number(N[0]):Number(N[1]),s.year=N[0].length===2?Number(N[1]):Number(N[0])}return s}function a(c,s){return new Date(s,c,0).getDate()}function i(c,s,h){return new Date(c,s-1,h,0,0,0,0)}function M(c,s){const h=i(s,c,1);return h.setMonth(h.getMonth()-1),a(h.getMonth()+1,h.getFullYear())}function d(c,s,h,w){const N=e(),P=[],{year:F}=s,x=3,V={year:h.year,month:h.month,day:h.day},y={year:w.year,month:w.month,day:w.day};for(let H=1;H<=12;H+=x){const f=[];for(let p=H;p<H+x;p++){const k=t({year:F,month:p,day:1},V)||l({year:F,month:p,day:a(p,F||0)},y);f.push({month:p,displayText:c[p],isCurrent:p===N.month&&F===N.year,disable:k,date:{year:F,month:p}})}P.push(f)}return P}function g(c,s){const h={year:c===12?s+1:s},w=c===12?1:c+1;return h.month=w,h}function T(c,s){const h={year:c===1?s-1:s},w=c===1?12:c-1;return h.month=w,h}return{daysInMonth:a,daysInPreMonth:M,generateMonths:d,parseDefaultMonth:m,getNextMonth:g,getPreviousMonth:T}}const Qn=n.defineComponent({name:"FDatePickerCalendarNavbar",props:En,emits:["clickMonth","clickYear","prePage","preRecord","nextRecord","nextPage"],setup(e,t){const l=n.ref(e.ariaLabelPrevMonth),m=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),T=n.ref(e.activeMonth),c=n.ref(e.years),s=n.ref(e.selectingMonth),h=n.ref(e.selectingYear),w=n.ref(e.selectMode),N=n.ref(!0),P=n.ref(!0),{isMonthDisabledByDisableSince:F,isMonthDisabledByDisableUntil:x}=gt(),{daysInMonth:V}=Mt();n.watch(()=>e.selectingMonth,(D,E)=>{s.value=D}),n.watch(()=>e.selectingYear,(D,E)=>{h.value=D});const y=(D,E)=>({year:E===1?D-1:D,month:E===1?12:E-1,day:V(E===1?12:E-1,E===1?D-1:D)}),H=(D,E)=>({year:E===12?D+1:D,month:E===12?1:E+1,day:1}),f=D=>({year:D-1,month:12,day:31}),p=D=>({year:D+1,month:1,day:1});function k(D,E,oe,le,ye="page"){ye==="page"?(i.value=oe||D,g.value=le||E):ye==="record"&&(M.value=oe||D,d.value=le||E)}function B(D,E){const{minDate:oe,maxDate:le,minYear:ye,maxYear:me}=e,ge=oe?x(f(D),oe):!0,Re=le?F(p(E),le):!0;k(ge,Re,D<=ye,E>=me)}function _(D,E){var ye,me;const oe=D||((ye=c.value[0][1])==null?void 0:ye.year),le=E||((me=c.value[3][1])==null?void 0:me.year);oe!==void 0&&le!==void 0&&B(oe,le)}function K(D,E){const{minDate:oe,maxDate:le,minYear:ye,maxYear:me}=e,ge=y(E,D),Re=H(E,D),Pe=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;k(Pe,kt,D===1&&E===ye,D===12&&E===me,"record"),_(E,E)}function I(D){const{minDate:E,maxDate:oe,minYear:le,maxYear:ye}=e,me=E?x(f(D),E):!0,ge=oe?F(p(D),oe):!0;k(me,ge,D===le,D===ye)}n.watch(()=>e.selectingMonth,(D,E)=>{D&&I(T.value.year)}),n.watch(()=>e.selectingYear,(D,E)=>{D&&_()}),n.watch(()=>e.years,(D,E)=>{c.value=D,h.value&&_()}),n.watch(()=>e.activeMonth,()=>{const D=e.activeMonth;D&&(T.value={month:D.month,year:D.year,displayTextOfMonth:D.displayTextOfMonth,displayTextOfYear:D.displayTextOfYear},!e.selectingMonth&&!e.selectingYear?K(T.value.month,T.value.year):e.selectingMonth?I(T.value.year):_())},{immediate:!0});const j=n.computed(()=>({"f-datepicker-header":!0,monthYearSelBarBorder:s.value||h.value})),$=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":i.value})),b=n.computed(()=>!s.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})),O=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":g.value})),q=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-yearLabel":N.value,"f-datepicker-labelBtnNotEdit":!N.value})),Q=n.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-monthLabel":P.value,"f-datepicker-labelBtnNotEdit":!P.value})),ee=n.computed(()=>{const D=a.value?a.value.indexOf("yyyy"):0,E=a.value?a.value.indexOf("MM"):0;return D>E?"MM-yyyy":"yyyy-MM"});function se(D){D.stopPropagation(),!i.value&&t.emit("prePage")}function z(D){D.stopPropagation(),!M.value&&t.emit("preRecord")}function te(D){D.stopPropagation(),t.emit("clickYear")}function W(D){D.stopPropagation(),t.emit("clickMonth")}function U(D){D.stopPropagation(),!d.value&&t.emit("nextRecord")}function X(D){D.stopPropagation(),!g.value&&t.emit("nextPage")}const ce=n.computed(()=>{const D={};return w.value==="year"&&(D.cursor="default"),D});function ue(){return n.createVNode("button",{type:"button",style:ce.value,class:q.value,onClick:D=>{N.value&&te(D)},tabindex:N.value?"0":"-1",disabled:w.value==="year"},[h.value?c.value.length>3?c.value[0][1].year+" - "+c.value[3][1].year:"":T.value.displayTextOfYear])}function be(){return!h.value&&w.value!=="month"&&n.createVNode("button",{type:"button",class:Q.value,onClick:D=>{P.value&&W(D)},tabindex:P.value?"0":"-1"},[T.value.displayTextOfMonth])}const ae={opacity:.4,cursor:"default"};return()=>n.createVNode("div",{class:j.value,style:"height:40px; overflow:hidden;"},[n.createVNode("div",{class:"f-datepicker-prev-btn"},[n.createVNode("button",{type:"button",class:$.value,style:i.value?ae:{},onClick:se},[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:z},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)])]),n.createVNode("div",{class:"f-datepicker-monthYearText"},[ee.value==="yyyy-MM"?[ue(),be()]:[be(),ue()]]),n.createVNode("div",{class:"f-datepicker-next-btn"},[b.value&&n.createVNode("button",{style:d.value?ae:{},type:"button","aria-label":m.value,class:C.value,onClick:U},[n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)]),n.createVNode("button",{style:g.value?ae:{},type:"button",class:O.value,onClick:X},[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),m=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),T=n.ref(e.selectedWeek),c=n.ref(e.selectMode),s=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=>{T.value=b});const{equal:w,inPeriod:N,isInitializedDate:P,equalOrEarlier:F,isPoint:x}=we(),{getKeyCodeFromEvent:V}=pt(),y=b=>{const S=!!T.value&&b.numberInTheYear===T.value.numberInTheYear;return{"f-datepicker-selectWeek":c.value==="week","f-datepicker-selectedWeek":c.value==="week"&&S}};function H(b){return N(b,g.value)}function f(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&&w({year:d.value.year,month:d.value.month,day:d.value.day},{year:b.year,month:b.month,day:b.day})}const k=(b,S,C)=>{const O=c.value!=="week"&&b.tag===de.current&&(M.value&&H(b.date)&&!f(b.date)||b.range),q=b.tag===de.previous||b.tag===de.next,Q={"f-datepicker-range":O,"f-datepicker-no-currmonth":q,"f-datepicker-disabled":b.disable,"f-datepicker-singledate":!b.disable},ee=`d_${S}_${C}`;return Q[ee]=!0,Q},B=b=>{const S=c.value!=="week"&&b.tag===de.current&&(!M.value&&p(b.date)||M.value&&f(b.date)),C=b.isCurrent&&i.value,O=b.highlight&&(b.tag===de.previous||b.tag===de.next||b.disable);return{"f-datepicker-date":!0,"f-datepicker-selected":S,"f-datepicker-current":C,"f-datepicker-opacity":O,"f-datepicker-highlight":b.highlight,"f-datepicker-disabled":b.disable}};function _(b,S){S.disable||c.value==="week"||(b.stopPropagation(),t.emit("click",{event:b,dayItem:S}))}function K(b,S){c.value==="week"&&(b.stopPropagation(),t.emit("clickWeek",S))}function I(b,S){const C=V(b);C!==ve.tab&&(b.preventDefault(),C===ve.enter||C===ve.space?_(b,S):a.value&&t.emit("keyDown",S.date))}function j(b){if(g.value&&P(g.value.from)&&(!P(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(O=>{O.range=F(S,O.date)&&F(O.date,b.date)||F(O.date,S)&&F(b.date,O.date)})}),t.emit("mouseEnter",b.date)}}function $(){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,[s.value&&n.createVNode("th",{class:"f-datepicker-weeknbr-title",style:"padding-bottom: 8px;padding-top: 4px"},[h.value]),m.value&&m.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:y(b),onClick:C=>K(C,b)},[s.value&&n.createVNode("td",{class:"f-datepicker-weeknbr"},[n.createVNode("div",{class:"f-datepicker-date"},[b.numberInTheYear])]),b.days&&b.days.map((C,O)=>n.createVNode("td",{id:`d_${S}_${O}`,tabindex:"0",class:k(C,S,O),onKeydown:q=>I(q,C),onMouseenter:()=>j(C),onMouseleave:()=>$()},[C.marked&&C.marked.marked&&n.createVNode("span",{class:"f-datepicker-markdate",style:{"background-color":C.marked.color}},null),n.createVNode("div",{class:B(C),onClick:q=>_(q,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),m=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:T,equalOrEarlier:c}=we(),{getKeyCodeFromEvent:s}=pt();n.watch(()=>e.months,()=>{l.value=e.months}),n.watch(()=>e.selected,()=>{M.value=e.selected}),n.watch(()=>e.selectedPeriod,f=>{d.value=f});function h(f,p){f.stopPropagation(),!p.disable&&t.emit("click",p.date)}function w(f,p){const k=s(f);k!==ve.tab&&(f.preventDefault(),k===ve.enter||k===ve.space?h(f,p):a.value&&t.emit("keyDown",p))}function N(f){d.value&&T(d.value.from)&&!T(d.value.to)&&(l.value.forEach(p=>{p.forEach(k=>{k.range=!!d.value&&(c(d.value.from,k.date)&&c(k.date,f.date)||c(k.date,d.value.from)&&c(f.date,k.date))})}),t.emit("mouseEnter",f))}function P(){l.value.forEach(f=>{f.forEach(p=>{p.range=!1})}),t.emit("mouseLeave")}const F=(f,p)=>f.year===p.year&&f.month===p.month;function x(f){return!!M.value&&F(M.value,f)}function V(f){return!!d.value&&(F(d.value.from,f)||F(d.value.to,f))}function y(f){return g(f,d.value)}const H=f=>({"f-datepicker-month-cell":!0,"f-datepicker-current":f.isCurrent&&m.value,"f-datepicker-selected":(!i.value||e.selectMode==="week")&&x(f.date)||i.value&&V(f.date),"f-datepicker-disabled":f.disable,"f-datepicker-range":y({...f.date,day:1})||f.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((f,p)=>n.createVNode("tr",null,[f.map((k,B)=>n.createVNode("td",{id:`m_${p}_${B}`,class:`m_${p}_${B}`,onKeydown:_=>w(_,k),onMouseenter:()=>N(k),onMouseleave:()=>P(),tabindex:"0",style:"width: 33.3%"},[n.createVNode("div",{class:"f-datepicker-month",onClick:_=>h(_,k)},[n.createVNode("span",{class:H(k)},[k.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),m=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:T,equalOrEarlier:c}=we(),{getKeyCodeFromEvent:s}=pt();n.watch(()=>e.years,()=>{l.value=e.years}),n.watch(()=>e.selected,()=>{M.value=e.selected});const h=(f,p)=>{const k=`y_${f}_${p}`,B={"f-datepicker-no-currmonth":f===0&&p===0||f===3&&p===2};return B[k]=!0,B};function w(f){if(!d.value)return!1;const{from:p,to:k}=d.value;return!T(k)||!T(p)?!1:f!=null&&f.year&&(p!=null&&p.year)&&(k!=null&&k.year)?f.year>=p.year&&f.year<=k.year:!1}function N(f){return!!M.value&&g({year:M.value.year},f)}function P(f){return!!d.value&&(g({year:d.value.from.year},f)||g({year:d.value.to.year},f))}const F=f=>({"f-datepicker-year-cell":!0,"f-datepicker-current":f.isCurrent&&m.value,"f-datepicker-selected":(!i.value||e.selectMode==="week")&&N(f.date)||i.value&&P(f.date),"f-datepicker-disabled":f.disable,"f-datepicker-range":w(f.date)||f.range});function x(f,p){f.stopPropagation(),!p.disable&&t.emit("click",p)}function V(f,p){const k=s(f);k!==ve.tab&&(f.preventDefault(),k===ve.enter||k===ve.space?x(f,p):a.value&&t.emit("keyDown",p))}function y(f){d.value&&T(d.value.from)&&!T(d.value.to)&&(l.value.forEach(p=>{p.forEach(k=>{k.range=!!d.value&&(c(d.value.from,k.date)&&c(k.date,f.date)||c(k.date,d.value.from)&&c(f.date,k.date))})}),t.emit("mouseEnter",f))}function H(){l.value.forEach(f=>{f.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((f,p)=>n.createVNode("tr",null,[f.map((k,B)=>n.createVNode("td",{id:"y_{yi}_{i}",class:h(p,B),onKeydown:_=>V(_,k),onMouseenter:()=>y(k),onMouseleave:()=>H(),tabindex:"0"},[n.createVNode("div",{class:"f-datepicker-year",onClick:_=>x(_,k)},[n.createVNode("span",{class:F(k)},[k.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 m(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:m}}function Kt(e,t,l,m,a,i,M,d){const{getTimeInMilliseconds:g,getWeekdayIndex:T}=Te(),{isInitializedDate:c}=we(),{getDayNumber:s}=We();function h(w){if(w.year&&w.year<e||w.year&&w.year>t)return!0;const N=g(w),P=w.hour!==void 0;if(c(m)&&(P?N:N+24*60*60*1e3-1)<g(m)||c(l)&&N>g(l))return!0;if(M){const x=s(w);if(x===0||x===6)return!0}const F=s(w);return!!(d.length>0&&d.find(V=>T(V)===F)||a.length>0&&a.find(V=>(V.year===0||V.year===w.year)&&(V.month===0||V.month===w.month)&&V.day===w.day)||i.length>0&&i.find(V=>c(V.from)&&c(V.to)&&N>=g(V.from)&&N<=g(V.to)))}return{isDisabledDate:h}}function ta(){const{getDayNumber:e}=We();function t(m,a,i){let M=[];M=a.reduce((g,T)=>{const c=T.dates.map(s=>({date:s,color:T.color}));return[...g,...c]},M);const d=M.find(g=>(g.date.year===0||g.date.year===m.year)&&(g.date.month===0||g.date.month===m.month)&&g.date.day===m.day);if(d)return{marked:!0,color:d.color};if(i&&i.marked){const g=e(m);if(g===0||g===6)return{marked:!0,color:i.color}}return{marked:!1,color:""}}function l(m,a,i,M){const d=e(m);return a&&d===0||i&&d===6?!0:!!M.find(T=>(T.year===0||T.year===m.year)&&(T.month===0||T.month===m.month)&&T.day===m.day)}return{isHighlightedDate:l,isMarkedDate:t}}function na({isDisabledDate:e}){const{getToday:t}=Te(),{daysInMonth:l,daysInPreMonth:m}=Mt(),{isHighlightedDate:a,isMarkedDate:i}=ta(),{getWeekNumber:M}=We();function d(s){const h=Se.indexOf(s);return h>0?7-h:0}function g(s,h,w){const N=new Date;N.setDate(1),N.setMonth(h-1),N.setFullYear(s);const P=N.getDay()+w;return P>=7?P-7:P}function T(s,h,w,N,P){return s===P.day&&h===P.month&&w===P.year&&N===de.current}function c(s,h,w,N,P,F,x,V,y){const H=[],f=t(),p=g(h,s,d(w)),k=l(s,h),B=m(s,h);let _=1,K=de.previous;for(let I=1;I<7;I++){const j=[];if(I===1){const S=B-p+1;for(let O=S;O<=B;O++){const q={year:s===1?h-1:h,month:s===1?12:s-1,day:O},Q=T(O,s,h,K,f),ee=e(q),se=i(q,N,P),z=a(q,V,x,F);j.push({date:q,tag:K,isCurrent:Q,disable:ee,marked:se,highlight:z})}K=de.current;const C=7-j.length;for(let O=0;O<C;O++){const q={year:h,month:s,day:_},Q=T(_,s,h,K,f),ee=e(q),se=i(q,N,P),z=a(q,V,x,F);j.push({date:q,tag:K,isCurrent:Q,disable:ee,marked:se,highlight:z}),_++}}else for(let S=1;S<=7;S++){_>k&&(_=1,K=de.next);const C={year:K===de.next&&s===12?h+1:h,month:K===de.current?s:K===de.next&&s<12?s+1:1,day:_},O=T(_,s,h,K,f),q=e(C),Q=i(C,N,P),ee=a(C,V,x,F);j.push({date:C,tag:K,isCurrent:O,disable:q,marked:Q,highlight:ee}),_++}const $=w===Ne.Monday?0:6,b=M(j[$].date);H.push({days:j,numberInTheYear:b,year:h})}return H}return{generateCalendar:c}}function aa(){const{getToday:e}=Te();function t(l,m,a,i,M,d){const g=[],T=l-l%10,{year:c,month:s}=m,h=e(),w=3,N=T+10;for(let P=T-1;P<N;P+=w){const F=[];for(let x=P;x<P+w;x++){const V=x<a||x>i;F.push({year:x,isCurrent:x===h.year,selected:x===c,disable:V,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 T=new RegExp("["+g+"]"),c=a.split(T),s=i.split(T);for(let h=0;h<s.length;h++)s[h].indexOf("yyyy")!==-1&&(d[0]={value:c[h],format:s[h]}),s[h].indexOf("M")!==-1&&(d[1]=c[h]===void 0?{value:"1",format:s[h]}:{value:c[h],format:s[h]}),s[h].indexOf("d")!==-1&&(d[2]=c[h]===void 0?{value:"1",format:s[h]}:{value:c[h],format:s[h]})}else{const g=(i+"").indexOf("yyyy"),T=(i+"").indexOf("MM"),c=(i+"").indexOf("dd");g>=0&&(d[0]={value:a.substring(g,g+4),format:i.substring(g,g+4)}),T>=0&&(d[1]={value:a.substring(T,T+2),format:i.substring(T,T+2)}),c>=0&&(d[2]={value:a.substring(c,c+2),format:i.substring(c,c+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 m(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:m,preZero:t,remove:l}}function la(e){const{displayFormat:t,minYear:l,maxYear:m,selectMode:a,valueFormat:i,showTime:M,periodDelimiter:d}=e,{emptyDate:g,getToday:T}=Te(),{getDateValue:c,preZero:s}=oa(),{getNumberByValue:h,getMonthNumberByMonthName:w,getWeekNumber:N}=We(),{isInitializedDate:P,isDateEarlier:F}=we(),{isDisabledDate:x}=Kt(e.minYear,e.maxYear,e.disableSince,e.disableUntil,e.disableDates,e.disablePeriod,e.disableWeekends,e.disableWeekdays),V=n.ref(e.nameOfMonths),y=[31,28,31,30,31,30,31,31,30,31,30,31];function H(){const I=T(),j=I.year,$=I.month;switch(a){case"month":return{startMonth:{month:0,year:j},endMonth:{month:0,year:j+1}};case"year":return{startMonth:{month:0,year:j},endMonth:{month:0,year:j+10}};default:{const b={month:$,year:j};let S={month:$+1,year:j};return $>=12&&(S={month:1,year:j+1}),{startMonth:b,endMonth:S}}}}function f(I,j=!1){let $=M,b=t,S=I;return j&&(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&&($=!0)),{actualFormat:b,shouldDisplayTime:$,targetDateString:S}}function p(I,j=!1){const $={year:0,month:0,day:0};if(!I)return $;const{actualFormat:b,shouldDisplayTime:S,targetDateString:C}=f(I,j),O=b.indexOf("MMM")!==-1;let q=C,Q=0,ee=0,se=0,z=b.match(/[^(DdMmYy)]{1,}/g);if(S&&C){q=C.split(" ")[0],Object.assign($,{hour:0,minute:0,second:0});const ce=C.split(" ")[1];if(ce){const ue=ce.replace("时",":").replace("分",":").replace("秒","").split(":");ue[0]&&(Q=Number(ue[0].substr(0,2)),Q=isNaN(Q)?0:Q),ue[1]&&(ee=Number(ue[1].substr(0,2)),ee=isNaN(ee)?0:ee),ue[2]&&(se=Number(ue[2].substr(0,2)),se=isNaN(se)?0:se)}else if(z=null,/^\d{1,}$/.test(C)){const be=b;q=C.substr(0,8);let ae=C.substr(8);ae&&(be.includes("HH")&&ae&&(Q=+ae.slice(0,2),ae=ae.slice(2)),be.includes("mm")&&ae&&(ee=+ae.slice(0,2),ae=ae.slice(2)),be.includes("ss")&&ae&&(se=+ae.slice(0,2)))}}else q=C?C.split(" ")[0]:"";const te=c(q,b,z),W=h(te[0]),U=O?w(te[1],V.value):h(te[1]),X=h(te[2]);if(a==="year")return{year:W,month:1,da