@farris/ui-vue 1.8.1 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -660,7 +660,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
660
660
 
661
661
  返回值为字符串,将作为
662
662
  单元格显示内容。
663
- `])])}}},setPropertyRelates(h,y,b){var v;if(h)switch(h&&h.propertyID){case"type":{h.propertyValue!=="none"&&y.columnTemplate,h.propertyValue==="boolean"&&(a.call(y.formatter,"trueText")||(y.formatter.trueText="是"),a.call(y.formatter,"falseText")||(y.formatter.falseText="否")),h.propertyValue==="number"&&(a.call(y.formatter,"prefix")||(y.formatter.prefix=""),a.call(y.formatter,"suffix")||(y.formatter.suffix=""),a.call(y.formatter,"precision")||(y.formatter.precision=0),a.call(y.formatter,"decimal")||(y.formatter.decimal="."),a.call(y.formatter,"thousand")||(y.formatter.thousand=",")),h.propertyValue==="date"&&(a.call(y.formatter,"dateFormat")||(y.formatter.dateFormat="yyyy-MM-dd")),h.propertyValue==="enum"&&(a.call(y.formatter,"data")||(y.formatter.data=[],(v=y.formatterEnumData)!=null&&v.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(o,a="gridFieldEditor",i=!1){const r=this.formMetadataConverter.getRealEditorType(o.editor.type);let l;switch(r){case"avatar":l=new Ys(this.componentId,this.designerHostService);break;case"check-group":l=new rc(this.componentId,this.designerHostService);break;case"check-box":l=new oc(this.componentId,this.designerHostService);break;case"combo-list":l=new uc(this.componentId,this.designerHostService);break;case"date-picker":l=new Gc(this.componentId,this.designerHostService);break;case"lookup":l=new yl(this.componentId,this.designerHostService);break;case"number-range":l=new Yc(this.componentId,this.designerHostService);break;case"number-spinner":l=new Qc(this.componentId,this.designerHostService);break;case"radio-group":l=new Kc(this.componentId,this.designerHostService);break;case"switch":l=new Xc(this.componentId,this.designerHostService);break;case"textarea":l=new Uc(this.componentId,this.designerHostService);break;case"time-picker":l=new Jc(this.componentId,this.designerHostService);break;case"language-textbox":l=new Zc(this.componentId,this.designerHostService);break;default:l=new qc(this.componentId,this.designerHostService)}this.setDesignViewModelField(o);const s=this,{canChangeControlType:c,editorTypeList:u}=this.getAvailableEditorType(o);this.propertyConfig.categories[`${a}_editorType`]={description:"",title:"编辑器类型",propertyData:o.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:u,readonly:!c}}},setPropertyRelates(p,g){if(p)switch(p&&p.propertyID){case"type":{s.changeFieldEditorType(o,p.propertyValue);break}}}};const f=["id","type","class","style","binding","label","responseLayout","visible","fill"],d=l.getGridFieldEdtiorPropConfig(o);Object.keys(d).map(p=>{const g=d[p],m={};if(Object.keys(g.properties).map(h=>{f.findIndex(y=>y===h)===-1&&g.properties[h]!==!1&&(m[h]=g.properties[h])}),Object.keys(m).length!==0){const h=g==null?void 0:g.title,y="gridFieldEditor",b="编辑器",v=g==null?void 0:g.description,C=(g==null?void 0:g.$converter)||"";s.propertyConfig.categories[a+"_"+p]={title:h,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||y,tabName:g.tabName||b,description:v,$converter:C,parentPropertyID:"editor",propertyData:o,properties:m,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(o,a){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i.changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const r=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),l=this.formSchemaUtils.selectNode(r,d=>d.type===he["data-grid"].type||d.type===he["tree-grid"].type);if(!l)return;const s=i.fields.find(d=>d.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(a,s,null,!0),u=Object.prototype.hasOwnProperty.call(l,"columns")?l.columns:l.fields,f=u.findIndex(d=>d.id===o.id);if(f>-1&&u[f].editor){const d={};["readonly","required","placeholder"].map(p=>{Object.prototype.hasOwnProperty.call(u[f].editor,p)&&(d[p]=u[f].editor[p])}),u[f].editor=Object.assign(c.editor,d)}Object.assign(u[f],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&u[f].formatter&&delete u[f].formatter}checkCanChangeControlType(o,a){return!(!o.binding||!this.designViewModelField||this.designViewModelField.$type!==An.SimpleField)}getAvailableEditorType(o){var r;const a=this.checkCanChangeControlType(o,this.viewModelId);if(!a)return{canChangeControlType:!1,editorTypeList:[{key:o.editor.type,value:((r=he[o.editor.type])==null?void 0:r.name)||o.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===An.SimpleField&&(i=Zo.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,o.type)),{canChangeControlType:a,editorTypeList:i}}afterChangeBindingType(o,a){!o||!a||(o.field=a.bindingPath,o.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(a),this.controlCreatorUtils.setGridFieldFormatter(o.dataType,o,a))}getFieldEditorPropForCard(o,a,i="gridCardEditor",r=null){var f;const l=this.formMetadataConverter.getRealEditorType(o.editor.type);let s;switch(l){case"avatar":s=new Ys(this.componentId,this.designerHostService);break;case"check-group":s=new rc(this.componentId,this.designerHostService);break;case"check-box":s=new oc(this.componentId,this.designerHostService);break;case"combo-list":s=new uc(this.componentId,this.designerHostService);break;case"date-picker":s=new Gc(this.componentId,this.designerHostService);break;case"lookup":s=new yl(this.componentId,this.designerHostService);break;case"number-range":s=new Yc(this.componentId,this.designerHostService);break;case"number-spinner":s=new Qc(this.componentId,this.designerHostService);break;case"radio-group":s=new Kc(this.componentId,this.designerHostService);break;case"switch":s=new Xc(this.componentId,this.designerHostService);break;case"textarea":s=new Uc(this.componentId,this.designerHostService);break;case"time-picker":s=new Jc(this.componentId,this.designerHostService);break;case"language-textbox":s=new Zc(this.componentId,this.designerHostService);break;default:s=new qc(this.componentId,this.designerHostService)}s.checkCanChangeControlType=()=>!(!o.binding||o.binding.type==="Variable"&&(s.bindingVarible=this.formSchemaUtils.getVariableById(o.binding.field),!s.bindingVarible)),s.getAvailableEditorType=()=>{var g,m;const d=s.checkCanChangeControlType(o,this.viewModelId);if(!d||!r)return{canChangeControlType:!1,editorTypeList:[{key:o.editor.type,value:((g=he[o.editor.type])==null?void 0:g.name)||o.editor.type}]};let p=[];return s.bindingVarible?p=Zo.getEditorTypesByMDataType(s.bindingVarible.type,!!(r!=null&&r.multiLanguage)):p=Zo.getEditorTypesByMDataType((m=r==null?void 0:r.type)==null?void 0:m.name,!!(r!=null&&r.multiLanguage)),{canChangeControlType:d,editorTypeList:p}},s.formRule=a,s.expressionProperty.getExpressionData=()=>a.expressions||[],s.expressionProperty.getExpressionConverter=(d,p)=>({convertFrom:(g,m,h,y)=>{var C;const b=(C=a.expressions)==null?void 0:C.find(w=>w.target===d);if(!b)return"";const v=b.rules.find(w=>w.type===m);return v&&(v==null?void 0:v.value)||""},convertTo:(g,m,h,y,b)=>{var C;if(m==="dataPicking"&&(h!=null&&h.target)){const w=`${h.target}_dataPicking`;((C=h.rules)==null?void 0:C.some(T=>T.id===w&&T.value))?g.dictPickingExpressionId=w:delete g.dictPickingExpressionId}if(!h)return;let v=a.expressions||[];if(!h.rules||!h.rules.length)v=v.filter(w=>w.target!==h.target);else{const w=v.findIndex(S=>S.target===h.target);w===-1?v.push(h):v[w]=ge.cloneDeep(h)}a.expressions=JSON.parse(JSON.stringify(v))}}),this.setDesignViewModelField(o);const c=this,u=(f=s.getPropertyConfig(o))==null?void 0:f.categories;return Object.keys(u).map(d=>{const p=u[d];if(d==="basic"){const{editor:g}=p.properties.binding;g&&(g.readonly=!0),p.properties.position={title:"在卡片标题中显示",description:"启用后,控件将显示在卡片标题中",type:"boolean",defaultValue:!1,$converter:{convertFrom:(m,h)=>o.position==="header",convertTo:(m,h,y)=>{m.position=y?"header":"body"}}}}if(d==="expressions"&&Object.keys(p.properties).forEach(g=>{(g==="compute"||g==="dependency"||g==="dataPicking")&&(p.properties[g].visible=!1)}),Object.keys(p.properties).length!==0){const g=p==null?void 0:p.title,m="gridFieldEditor",h="编辑器",y=p==null?void 0:p.description,b=(p==null?void 0:p.$converter)||"";c.propertyConfig.categories[i+"_"+d]={title:g,hide:Object.prototype.hasOwnProperty.call(p,"hide")?p.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(p,"hideTitle")?p.hideTitle:!1,tabId:p.tabId||m,tabName:p.tabName||h,description:y,$converter:b,parentPropertyID:"editor",propertyData:o,properties:p.properties,setPropertyRelates:p==null?void 0:p.setPropertyRelates}}}),this.propertyConfig}}let Lo=function(e){return e.condition="condition",e.formatter="formatter",e.other="other",e}({});const _O=t.defineComponent({name:"FormRuleEditor",props:{rule:Object,gridPropertyData:Object,entities:Array,plainFields:Array},emits:["updateRuleName","updateIsDefault"],setup(e,n){const o=t.ref(),a=t.ref(),i=t.ref(),r=t.ref(),l=t.ref([]),{onAddFilter:s,onClear:c,onMoveBottom:u,onMoveNext:f,onMovePrev:d,onMoveTop:p,onInsert:g,onRemove:m,activeRowIndex:h,onSelectRow:y,canClear:b,canMove:v,validateCondition:C,resetActiveRow:w}=Wc({singleValue:!0},l),S=t.ref(Lo.condition),T=t.inject("viewModelId"),x=t.inject("componentId"),V=t.inject("designerHostService"),{controlCreatorUtils:N,eventsEditorUtils:k,messagerService:P,dialogCodeView:M,useDataFields:F}=V,I=F==null?void 0:F.getFieldsTree(),E=t.ref(),A=t.ref(),D=t.ref(),$=new ec(x,V,!1),B=t.ref(!0),_=[{label:"等于",value:0},{label:"不等于",value:1},{label:"大于",value:2},{label:"大于等于",value:3},{label:"小于",value:4},{label:"小于等于",value:5},{label:"包含",value:6},{label:"不包含",value:9},{label:"为空",value:1001},{label:"不为空",value:1002}],O=be=>({"btn mr-2":!0,"btn-primary":S.value===be,"btn-link":S.value!==be}),L=t.ref(e.rule||{});L.value.headerButtons=L.value.headerButtons||[],t.watch(()=>l.value,(be,de)=>{be!==de&&(L.value.condition=be)});const W=(be,de)=>{const J=`${de.raw.name} [${de.raw.bindingPath}]`;return t.createVNode("span",{title:J},[J])};function U(){var be;F.fieldsOrder.value=F.fieldsOrder.value||{},F.fieldsOrder.value[L.value.id]=(be=D.value)==null?void 0:be.selectedFields.map(de=>de.columnSchema)}function H(be){L.value.fields=be,U()}const q=()=>{var de,J,ne;const be=(J=(de=L.value)==null?void 0:de.fields)==null?void 0:J.findIndex(oe=>oe.id===r.value.id);if(be!==-1&&((ne=L.value)!=null&&ne.fields)){const oe=[...L.value.fields];if(oe[be]=r.value,L.value.fields=oe,D.value){const ce=D.value.selectedFields.findIndex(se=>se.columnSchema.id===r.value.id);if(ce!==-1){const se=[...D.value.selectedFields];se[ce].columnSchema=r.value,se[ce].name=r.value.label||r.value.name,D.value.selectedFields=se}}}};function Y(be){var de;S.value!==be&&(be!==Lo.formatter&&(r.value&&q(),L.value.fields=(de=D.value)==null?void 0:de.selectedFields.map(J=>J.columnSchema)),S.value=be)}const G=()=>{var de,J;const be=new yS(x,V);if(a.value=r.value?be.getFieldEditorPropForCard(r.value,L.value,"gridCardEditor",E.value):null,!a.value){(de=o.value)==null||de.updatePropertyConfig(null,r.value,!0);return}a.value.categories.gridCardEditor_eventsEditor.setPropertyRelates=(ne,oe)=>{const{propertyValue:ce}=ne;if(delete r.value[T],ce){const se=()=>{if(k.saveRelatedParameters(r.value,T,ce.events,ce),ce.boundEventsList&&ce.boundEventsList.length>0){const we=ce.boundEventsList.find(Ke=>Ke.boundEvents&&Ke.boundEvents.label==="onClickLabel");oe.linkLabel=!!we}else oe.linkLabel=!1};ce.isAddControllerMethod&&(ce.controlInfo={type:r.value.type,name:r.value.label},M.closeCallback=()=>{o==null||o.value.reloadPropertyPanel()}),se()}},Object.keys(a.value.categories).forEach(ne=>{const{properties:oe}=a.value.categories[ne];oe&&Object.keys(oe).forEach(ce=>{oe[ce].refreshPanelAfterChanged=!1,["maxDate","minDate","defaultTime"].includes(ce)&&(oe[ce].editor.propertyTypes=["Const"])})}),(J=o.value)==null||J.updatePropertyConfig(a.value,r.value,!0)};function j(be){const{changeObject:de,designerItem:J}=be,{categoryId:ne,propertyID:oe,propertyValue:ce}=de;if((ne==="gridCardEditor_editorType"||ne==="gridCardEditor_basic")&&oe==="type"){E.value.editor.$type=ce;const se=N.setFormFieldProperty(E.value,ce),we=ge.cloneDeep(r.value.editor);se.id=r.value.id,se.field=se.path,se.label=r.value.label,se.editor=se.editor||{},se.editor.readonly=we.readonly||!1,se.editor.required=we.required||!1,se.visible=r.value.visible||!0,r.value=se}q(),ne!=="gridCardEditor_eventsEditor"&&t.nextTick(()=>{B.value=!1,t.nextTick(()=>{G(),B.value=!0})})}function R(be){var de;E.value=be,r.value=be?be.columnSchema:null,i.value=((de=be==null?void 0:be.columnSchema)==null?void 0:de.type)||"",G(),U()}function z(){P.question("确定清空当前设置的所有字段吗?","",()=>{var be;L.value.fields=[],(be=D.value)==null||be.clearSelectedFields(),R(null)},()=>{})}function Q(be){be.target._value=L.value.name,L.value.name=ge.trim(be.target.value),n.emit("updateRuleName",L.value,be)}function K(be){L.value.footerContent=be}function Z(be){L.value.headerContent=be}function ae({selectedData:be,propertyConfig:de,modalRef:J,buttonPropertyPanelInstance:ne}){de.value=$.getPropertyConfig(be.value,!1,!1,J),de.value.categories.eventsEditor.setPropertyRelates=(oe,ce)=>{const se=oe.propertyValue;if(delete be.value[T],se){const we=()=>{k.saveRelatedParameters(be.value,T,se.events,se)};se.isAddControllerMethod&&(se.controlInfo={type:be.value.type,name:be.value.text},M.closeCallback=()=>{ne==null||ne.reloadPropertyPanel()},we())}}}const ee={modalTitle:"自定义按钮",editable:!1,idField:"id",textField:"text",allowCollapse:!1,enableClear:!0,defaultComponentSchema:{id:"button",type:"button",text:"按钮",appearance:{class:"btn btn-secondary"},visible:!0,disabled:!1,onClick:""}};function te(be){L.value.headerButtons=be}t.watch(()=>e.rule,(be,de)=>{var J,ne;de&&D.value&&(de.fields=(J=D.value)==null?void 0:J.selectedFields.map(oe=>oe.columnSchema).map(oe=>de.fields.find(ce=>ce.id===oe.id))),L.value=be||{name:"",fields:[]},l.value=L.value.condition||[],L.value.showHeader=L.value.showHeader==null?!0:L.value.showHeader,be||R(null),(ne=D.value)==null||ne.clearActiveItem()});function le(be){L.value.isDefault=be,be&&L.value.condition&&L.value.condition.length?P.question("设为默认格式将清空格式条件,是否继续?","",()=>{c(),n.emit("updateIsDefault",L.value)},()=>{L.value.isDefault=!1}):n.emit("updateIsDefault",L.value)}const ye=t.computed(()=>({"f-utils-fill d-flex flex-column":!0," no-need-filters":L.value.isDefault}));return()=>{var be,de,J;return t.createVNode("div",{class:"d-flex flex-column h-100 "},[t.createVNode("div",{class:"form-rule-items f-utils-fill d-flex flex-column"},[t.createVNode("div",{style:"height: 50px;",class:"d-flex align-items-center mx-3"},[t.createVNode("span",{class:"farris-label-text"},[t.createTextVNode("格式名称:")]),t.createVNode("input",{class:"form-control f-utils-fill mr-3",type:"text",maxlength:"100",onBlur:Q,ref:A,value:L.value.name,title:L.value.name,placeholder:"请输入格式名称,最多可输入100个字符",style:"text-align: left;text-overflow: ellipsis;"},null),t.createVNode("div",{class:"custom-control custom-checkbox",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"isDefaultFormRule",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":[ne=>L.value.isDefault=ne,le]},null),[[t.vModelCheckbox,L.value.isDefault]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"isDefaultFormRule"},[t.createTextVNode("默认格式")])])]),t.createVNode("div",{class:"mx-3 mb-2 d-flex align-items-center"},[t.createVNode("div",{class:"f-utils-fill"},[t.createVNode("button",{class:O(Lo.condition),onClick:()=>Y(Lo.condition)},[t.createTextVNode("格式条件")]),t.createVNode("button",{class:O(Lo.formatter),onClick:()=>Y(Lo.formatter)},[t.createTextVNode("字段设置")])]),S.value===Lo.formatter&&L.value&&t.createVNode("button",{disabled:!((be=L.value.fields)!=null&&be.length),class:"btn btn-link",onClick:()=>z()},[t.createTextVNode("清空")])]),S.value===Lo.condition&&t.createVNode("div",{class:ye.value},[t.createVNode(lm,{conditions:l.value,fields:I,singleValue:!0,idField:"bindingPath",valueField:"bindingPath",formatter:W,activeIndex:h.value,onInsert:ne=>g(ne),enableSearch:!0,onRemove:ne=>m(ne),compareOperators:_,onRowClick:ne=>y(ne)},null),t.createVNode(sm,{canClear:b,canMove:v,onAdd:s,onClear:c,onMoveBottom:u,onMoveNext:f,onMovePrev:d,onMoveTop:p},null)]),S.value===Lo.formatter&&t.createVNode("div",{class:"f-utils-fill d-flex ml-2"},[t.createVNode("div",{class:"f-utils-fill d-flex"},[t.createVNode(kO,{gridPropertyData:e.gridPropertyData,fields:L.value.fields,ref:D,onSelectionFieldChanged:R,entities:e.entities,plainFields:e.plainFields,onUpdateFields:H},null)]),t.createVNode(zl,{enableSearch:B.value,ref:o,propertyConfig:a.value,propertyName:i.value,onPropertyChanged:j},null)]),S.value===Lo.other&&t.createVNode("div",{class:"f-utils-fill d-flex flex-column ml-3",style:"overflow: auto;"},[t.createVNode("div",{class:"custom-control custom-checkbox mb-2",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"enableHeader",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":ne=>L.value.showHeader=ne},null),[[t.vModelCheckbox,L.value.showHeader]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"enableHeader"},[t.createTextVNode("启用头部")])]),!!((de=L.value)!=null&&de.showHeader)&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"d-flex flex-column mr-3 mb-3",style:"height: 200px;min-height: 200px;"},[t.createVNode("div",{class:"mb-2 d-flex align-items-center"},[t.createVNode("label",{class:"m-0 mr-2"},[t.createTextVNode("头部工具栏")]),t.createVNode("div",{class:"farris-input-wrap"},[t.createVNode(Lc,t.mergeProps(ee,{modelValue:L.value.headerButtons,onValueChange:te,onSelectionChange:ae}),null)])]),t.createVNode("label",null,[t.createTextVNode("头部模板")]),t.createVNode(im,{modelValue:L.value.headerContent,onValueChanged:Z,class:"f-utils-fill",lineNumbers:"on",theme:"vs-dark",language:"html"},null)])]),t.createVNode("div",{class:"custom-control custom-checkbox mb-2",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"enableFooter",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":ne=>L.value.showFooter=ne},null),[[t.vModelCheckbox,L.value.showFooter]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"enableFooter"},[t.createTextVNode("启用页脚")])]),!!((J=L.value)!=null&&J.showFooter)&&t.createVNode("div",{class:"d-flex flex-column mr-3",style:"height: 200px;min-height: 200px;"},[t.createVNode("label",null,[t.createTextVNode("页脚内容")]),t.createVNode(im,{modelValue:L.value.footerContent,onValueChanged:K,class:"f-utils-fill",lineNumbers:"on",theme:"vs-dark",language:"html"},null)])])])])}}});function HO(e,n){const{designViewModelUtils:o,formSchemaUtils:a,schemaService:i,designerContext:r,controlCreatorUtils:l}=e,s=t.ref([]),c=t.ref([]);function u(p,g,m=[]){return p&&p.forEach(h=>{m.push(h);const y=g.find(b=>{var v;return((v=b.binding)==null?void 0:v.field)===h.data.id});if(y&&!y.editor&&h.data.id===y.binding.field){const b=l.setFormFieldProperty(i.getFieldByID(h.data.id));y.editor=b.editor}h.data.columnSchema=y,h.children&&u(h.children,g,m),r.appendIdentifyForNewControl&&(!y||y[r.identifyForNewControl])&&r.appendIdentifyForNewControl(h)}),m}function f(){if(a.designerMode==="PC_RTC"&&i.rtcAddedTreeNodes.value){const p=i.getTableInfoByViewModelId(n);if(p!=null&&p.id){const g=i.rtcAddedTreeNodes.value[p.id];g!=null&&g.length&&(s.value=s.value.concat(g))}}}function d(p){s.value=o.getAllFields2TreeByVMId(n),f(),c.value=u(s.value,p)}return{entities:s,plainFields:c,initEntities:d}}const zO=t.defineComponent({name:"FormRules",props:{rules:Array,designerHostService:Object,gridPropertyData:Object,viewModelId:String,componentId:String},emits:["updateRules"],setup(e,n){var C;const o=t.ref(null),{componentSchemaService:a,formSchemaUtils:i,useDataFields:r}=e.designerHostService;t.provide("useFormSchema",i),t.provide("SchemaService",a),t.provide("designerHostService",e.designerHostService),t.provide("viewModelId",e.viewModelId),t.provide("componentId",e.componentId);const l=t.ref(e.rules),{entities:s,plainFields:c,initEntities:u}=HO(e.designerHostService,e.viewModelId||"");t.watch(()=>e.rules,w=>{l.value=w,(!w||!w.length)&&(o.value=null)});function f(w){var S;(!w||w.id!==((S=o.value)==null?void 0:S.id))&&(o.value=w)}function d(){n.emit("updateRules",l.value)}function p(w){var T;const S=w.removed;l.value=((T=l.value)==null?void 0:T.filter(x=>x.id!==S.id))||[],d()}const g=t.computed(()=>{var w;return((w=e.gridPropertyData)==null?void 0:w.type)==="data-grid"?"datagrid":"formcard"}),m=ge.cloneDeep(((C=e.gridPropertyData)==null?void 0:C.columns)||[]).map(w=>{!w.label&&w.title&&(w.label=w.title);const S=r.columnPropertyClean(w);return{id:S.id,type:S.type,field:S.field,binding:S.binding,dataType:S.dataType,editor:null,label:S.label,appearance:S.appearance}});u(m);const h=t.ref(),y=t.computed(()=>{var w,S;return{overflow:"hidden",opacity:(w=l.value)!=null&&w.length?1:.5,"pointer-events":(S=l.value)!=null&&S.length?"auto":"none"}});function b(w,S){l.value&&l.value.length&&l.value.filter(x=>x.id!==w.id).filter(x=>x.name===w.name).length&&(new qt().error({message:"格式名称已存在,请输入其他名称",position:"top-center"}),w.name=S.target._value,S.target.focus())}function v(w){l.value&&l.value.length&&l.value.forEach(S=>{S.id===w.id?S.isDefault=w.isDefault:S.isDefault=!1})}return()=>t.createVNode("div",{class:"d-flex flex-column h-100 mx-2 border"},[t.createVNode(Hn,null,{default:()=>[t.createVNode(Pn,{position:"left",width:200,minWidth:130,maxWidth:300},{default:()=>{var w;return[t.createVNode(oB,{rules:l.value||[],onSelect:f,fields:m,onAdd:d,onRemove:p,controlId:(w=e.gridPropertyData)==null?void 0:w.id,ruleType:g.value},null)]}}),t.createVNode(Pn,{position:"center","custom-class":"layout-border flex-column",style:y.value},{default:()=>[t.createVNode(_O,{ref:h,rule:o.value,gridPropertyData:e.gridPropertyData,onUpdateRuleName:b,onUpdateIsDefault:v,entities:s.value,plainFields:c.value},null)]})]})])}});function WO(e){const n=t.ref({});function o(l){const s=l.formSchemaService.getSchemaEntities();if(!(s!=null&&s.length))return[];const c=s[0];if(!(c!=null&&c.type))return[];const u=l.buildEntityFieldsTreeData(c.type.fields,[]),f=l.buildChildEntityTreeData(c.type.entities,[]);return f!=null&&f.length&&(u==null||u.push(...f)),u}function a(l,s,c="label"){return{id:l.id,name:l.name,bindingPath:[...s,l.label].join("."),parents:s,type:"field",$type:l.$type}}function i(){const l=new Gs(e);return l.createTreeNode=a,o(l)}function r(l){return l.type="form-group",l.appearance={class:"col-12 col-md-6 col-xl-3 col-el-2"},["title","width","align","halign","formatter","filter","showSetting","actualWidth"].forEach(c=>{delete l[c]}),l}return{getFieldsTree:i,columnPropertyClean:r,fieldsOrder:n}}function qO(e,n){const{modalService:o,formSchemaUtils:a,messagerService:i,dialogCodeView:r}=e,{componentId:l,gridPropertyData:s,viewModelId:c}=n,u=WO(a);e.useDataFields=u;const f=t.ref(n.rules),d=ge.cloneDeep(n.rules),p=t.ref();function g(w){const S=o==null?void 0:o.getCurrentModal();o&&S.close(w)}function m(w){const S=o==null?void 0:o.getCurrentModal();S&&S.maxDialog(w)}const h=t.computed(()=>{const w=o==null?void 0:o.getCurrentModal();return w==null?void 0:w.isMaximized});function y(w){const S=[],T=new Map;return w.forEach((x,V)=>{if(x.name){const N=x.name.trim();N&&(T.has(N)||T.set(N,[]),T.get(N).push(V))}}),T.forEach((x,V)=>{x.length>1&&S.push({index:x[0],message:"第 "+x.map(N=>N+1).join(",")+" 格式名称重复"})}),w.forEach((x,V)=>{if((!x.name||!x.name.trim())&&S.push({index:V,message:"请输入格式名称"}),!x.isDefault&&(!x.condition||!Array.isArray(x.condition)||x.condition.length===0))S.push({index:V,message:"请设置格式条件"});else if(x.isDefault)(!x.fields||!Array.isArray(x.fields)||x.fields.length===0)&&S.push({index:V,message:"请配置格式字段"});else{const{validateCondition:N}=Wc({singleValue:!0},t.ref(x.condition)),k=N();k?S.push({index:V,message:"格式条件"+k.message}):(!x.fields||!Array.isArray(x.fields)||x.fields.length===0)&&S.push({index:V,message:"请配置格式字段"})}}),{isValid:S.length===0,errors:S}}function b(w){const T=a.getFormRules().filter(V=>V.controlId!==(s==null?void 0:s.id));w.forEach(V=>{V.viewModelId=c});const x=[...T,...w];a.setFormRules(x)}function v(w){const S=y(w);if(!w.some(x=>x.isDefault===!0))return i==null||i.error("请设置默认格式!"),!1;if(!S.isValid&&S.errors.length>0){let x="<b>请检查以下问题:</b><ul>";return S.errors.forEach(V=>{if(V.index===-1)x+=`<li>${V.message}</li>`;else{const N=w[V.index].name||`第 ${V.index+1} 条`;x+=`<li>${N}: ${V.message}</li>`}}),x+="</ul>",i==null||i.error(x),!1}return Object.keys(u.fieldsOrder.value||{}).forEach(x=>{const V=u.fieldsOrder.value[x],N=w.find(k=>k.id===x);if(N){const k=V.map(P=>N.fields.find(M=>M.id===P.id)).filter(P=>P);N.fields=k}}),b(w),!0}function C(w){const S=o==null?void 0:o.open({fitContent:!1,width:970,height:600,title:"配置卡片格式",showMaxButton:!0,showButtons:!0,draggable:!0,resizeable:!0,stopMoveHandle:()=>{const T=document.activeElement;T&&typeof T.blur=="function"&&T.blur()},render:()=>t.createVNode(zO,{ref:p,isMaximized:h.value,designerHostService:e,gridPropertyData:s,viewModelId:c,rules:f.value,componentId:l,onMaximize:m,onCloseModal:g,onUpdateRules:T=>{f.value=T,t.nextTick(()=>{S==null||S.disableButtons(["clear"],!T.length)})}},null),closedCallback:(T,x)=>{r.openCodeEditor=!1,w&&w()},buttons:[{name:"clear",text:"移除所有格式",disabled:!f.value.length,class:"btn btn-link px-2",styles:"position: absolute;left:20px",handle:T=>{i.question("确定要删除所有格式吗?","",()=>{f.value=[],S==null||S.disableButtons(["clear"],!0)},()=>{})}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:T=>(r.openCodeEditor=!1,b(d),!0)},{name:"accept",text:"确定",class:"btn btn-primary",handle:T=>{v(f.value)&&(S.close(),r.openCodeEditor=!1)}}]});r.openCodeEditor=!0}return{show:C}}function bS(e,n,o){const{modalService:a,formSchemaUtils:i,eventsEditorUtils:r,dialogCodeView:l,useFormCommand:s}=e,{componentId:c,modalPropertyData:u,viewModelId:f,onSubmitHandle:d,onCancelHandle:p,defaultClass:g,forModalFooter:m}=n,h=t.ref(n.buttons),y={id:"button",type:"button",text:"按钮",appearance:{class:g||"btn btn-secondary"},visible:!0,disabled:!1,onClick:""},b=new ec(c,e,!1),v=t.ref(),C=ge.cloneDeep(n.buttons||[]);function w(){h.value=[]}const S=N=>N.map(k=>{const P={...k};return Object.keys(P).forEach(M=>{M.startsWith("__fv_")&&delete P[M]}),P});function T(){const N=S(h.value);if(d)return typeof d=="function"&&d(N);{const k=i.getExternalComponents().find(P=>P.id===u.id);return k&&(k.buttons=N),!0}}function x({selectedData:N,propertyConfig:k,propertyPanelRef:P}){if(k.value=b.getPropertyConfig(N.value,!1,!1),k.value.categories.behavior.properties.disabled.refreshPanelAfterChanged=!1,m){const{visible:M,disabled:F}=k.value.categories.behavior.properties;M.editor.propertyTypes=["Const"],F.editor.propertyTypes=["Const"]}k.value.categories.eventsEditor.setPropertyRelates=(M,F)=>{const I=M.propertyValue;if(delete N.value[f],I){const E=()=>{r.saveRelatedParameters(N.value,f,I.events,I)};I.isAddControllerMethod&&(I.controlInfo={type:N.value.type,name:N.value.text},e.dialogCodeView.closeCallback=()=>{P==null||P.reloadPropertyPanel()}),E()}},o&&o(k.value)}function V(N){const k=a==null?void 0:a.open({fitContent:!1,width:800,height:600,title:"自定义按钮",showMaxButton:!0,showButtons:!0,draggable:!0,resizeable:!0,render:()=>t.createVNode(Ww,{ref:v,modelValue:h,"onUpdate:modelValue":P=>h=P,designerHostService:e,idField:"id",textField:"text",defaultComponentSchema:y,onSelectionChange:x,useFormCommand:s,useFormSchema:i,allowCollapse:!1,enableClear:!0,onClear:w},null),closedCallback:(P,M)=>{l.openCodeEditor=!1,N&&N()},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:P=>(l.openCodeEditor=!1,p&&p(C),!0)},{name:"accept",text:"确定",class:"btn btn-primary",handle:P=>{T()&&(k.close(),l.openCodeEditor=!1)}}]});l.openCodeEditor=!0}return{show:V}}const UO={install(e){e.component(Lc.name,Lc)},register(e,n,o,a){e["collection-property-editor"]=Lc,n["collection-property-editor"]=iB}};class GO extends Lt{constructor(n,o){super(n,o)}getModalButtons(n){const o=this.formSchemaUtils.getExternalComponents().find(a=>a.id===n);return o?o.buttons||[]:[]}setModalButtons(n,o){const a=this.formSchemaUtils.getExternalComponents().find(i=>i.id===n);a&&(a.buttons=o)}getPropertyConfig(n,o){var a;return this.getBasicPropConfig(n),this.getAppearanceProperties(n,o),(n.displayType==="Card"&&((a=n.columns)!=null&&a.length)||n.displayType!=="Card")&&(this.propertyConfig.categories.column=Dw().getColumnOptionProperties(n)),n.displayType!=="Card"&&(this.propertyConfig.categories.command=$w(this).getCommandColumnProperties(n),this.propertyConfig.categories.rowOption=Aw().getRowOptionProperties(n),this.propertyConfig.categories.summary=Bw().getSummaryProperties(n)),this.propertyConfig.categories.group=Z$().getGroupProperties(n,this.viewModelId),n.displayType!=="Card"&&(this.propertyConfig.categories.sort=tB().getSort(n),this.propertyConfig.categories.filter=nB().getFilter(n)),this.getEventPropConfig(n),this.propertyConfig}getBasicPropConfig(n){var l,s,c;const o=(c=(s=(l=this.formSchemaUtils.getFormSchema())==null?void 0:l.module)==null?void 0:s.entity[0])==null?void 0:c.entities[0],a=this.assembleSchemaEntityToTree(o,0),i=this,r=super.getBasicPropConfig(n);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...r.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:a,editable:!1},readonly:!0}},setPropertyRelates(u,f){switch(u&&u.propertyID){case"dataSource":{const d=i.formSchemaUtils.getViewModelById(i.viewModelId);if(d){const p=a.find(g=>g.label===u.propertyValue);d.bindTo=p.bindTo}i.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(n,o,a,i="",r=[]){const l=i?`${i}/${n.label}`:"/";return r.push({id:n.id,name:n.name,label:n.label,layer:o,parent:a&&a.id,bindTo:l.replace("//","/")}),n.type.entities&&n.type.entities.length&&n.type.entities.map(s=>this.assembleSchemaEntityToTree(s,o+1,n,l,r)),r}getAppearanceProperties(n,o){const a=this;this.propertyConfig.categories.appearance=jw().getDataGrid(n,this.viewModelId),this.getGridRuleProperties(n,o),n.displayType!=="Card"&&(this.propertyConfig.categories.selection=Rw().getSelection(n,a),this.propertyConfig.categories.rowNumber=Lw().getRowNumber(n),this.propertyConfig.categories.pagination=eB().getPagination(n,!1,a))}getEventPropConfig(n){const o=[...Ow().initEvent(n)],a=this,i=a.eventsEditorUtils.formProperties(n,a.viewModelId,o),r=a.createBaseEventProperty(i);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:Yt,tabName:"交互",setPropertyRelates(l,s){const c=l.propertyValue;delete n[a.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,c.events,c)),n.remoteSort=!!n.columnSorted,n.command&&(n.command.onClickEditCommand=n.onClickEditCommand,n.command.onClickDeleteCommand=n.onClickDeleteCommand,n.command.onHandleAction=n.onHandleAction)}}}cleanDataItem(n){Object.keys(n).forEach(o=>{o.indexOf("__fv")>-1&&delete n[o]})}cleanData(n){if(n)return n.forEach(o=>{this.cleanDataItem(o)}),n}getGridRuleProperties(n,o){var f,d;const a=this,i=()=>this.formSchemaUtils.getFormRules().filter(g=>g.type==="datagrid"&&g.controlId===n.id),r=()=>{const g=this.formSchemaUtils.getFormRules().filter(m=>m.controlId!==n.id);this.formSchemaUtils.setFormRules(g)},l=()=>n.displayType==="Card"&&(!!n.showCardHeader||n.showCardHeader===void 0),s=()=>n.displayType==="Card"&&(!!n.showCardFooter||n.showCardFooter===void 0),c=()=>{const p=a.formSchemaUtils.getViewModelById(this.viewModelId);return p&&p.bindTo?p.bindTo.trim().split("/").filter(g=>g).length===1:!1},u=ge.cloneDeep(n.cardToolbar||[]);this.propertyConfig.categories.gridRules={description:"卡片格式设置",title:"卡片格式",hide:!c(),properties:{displayType:{title:"显示模式",description:"表格按照什么模式展示,默认List模式",type:"enum",refreshPanelAfterChanged:!0,editor:{data:[{id:"List",name:"表格"},{id:"Card",name:"卡片"}]}},showCardHeader:{title:"显示头部",description:"",type:"boolean",visible:n.displayType==="Card",refreshPanelAfterChanged:!0},cardMainTitle:{title:"卡片主标题",description:"卡片主标题",type:"string",visible:l(),refreshPanelAfterChanged:!0},cardTitleTemplate:{title:"头部标题模板",description:"头部标题模板设置后,会覆盖卡片主标题",type:"string",visible:l(),editor:{type:"code-editor",language:"html",enableClear:!0},refreshPanelAfterChanged:!0},cardHeaderTemplate:{title:"头部内容模板",description:"头部内容模板",type:"string",visible:l(),editor:{type:"code-editor",language:"html",enableClear:!0},refreshPanelAfterChanged:!0},cardToolbar:{visible:l(),description:"配置卡片头部区域展示的按钮",title:"头部工具栏按钮组",type:"array",defaultValue:`共 ${((f=n.cardToolbar)==null?void 0:f.length)||0} 项`,$converter:{convertFrom:()=>{var p;return`共 ${((p=n.cardToolbar)==null?void 0:p.length)||0} 项`}},editor:{type:"button-edit",editable:!1,enableClear:((d=n.cardToolbar)==null?void 0:d.length)>0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:p}=a.designerHostService;p.question("您确定要清空所有按钮吗?","",()=>{n.cardToolbar=[],a.getFormDesignerInstance().reloadPropertyPanel()},()=>{n.cardToolbar=u,a.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{bS(a.designerHostService,{defaultClass:"btn btn-link",buttons:n.cardToolbar||[],modalPropertyData:n,componentId:a.componentId,viewModelId:a.viewModelId,onSubmitHandle:p=>(n.cardToolbar=this.cleanData(p),!0),onCancelHandle:p=>{n.cardToolbar=this.cleanData(p)}},p=>{p.categories.behavior.properties.disabled.editor.propertyTypes=["Const","Variable","StateMachine","Expression"]}).show(()=>{a.getFormDesignerInstance().reloadPropertyPanel()})}}},showCardFooter:{title:"显示底部",description:"",type:"boolean",visible:n.displayType==="Card",refreshPanelAfterChanged:!0},cardFooterTemplate:{title:"底部内容模板",description:"",type:"string",visible:s(),refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html",enableClear:!0}},rules:{description:"配触发条件,根据条件动态渲染卡片",title:"格式配置",defaultValue:`共 ${i().length} 项`,editor:{type:"button-edit",editable:!1,enableClear:i().length>0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:p}=this.designerHostService;p.question("确定要删除所有格式吗?","",()=>{r(),this.getFormDesignerInstance().reloadPropertyPanel()},()=>{this.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{qO(this.designerHostService,{rules:i(),gridPropertyData:n,componentId:this.componentId,viewModelId:this.viewModelId}).show(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}},readonly:!1,visible:!!n.displayType&&n.displayType.toLowerCase()==="card"}},setPropertyRelates(p,g){switch(p&&p.propertyID){case"displayType":{p.propertyValue.toLowerCase()==="card"?(o.appearance.class=o.appearance.class.replace(/\s+$/,""),o.appearance.class=`${o.appearance.class.trim()} h-auto data-grid-container`):o.appearance.class=o.appearance.class.replace("h-auto data-grid-container","");break}}}}}}function YO(e,n){const o=e.schema,a=t.ref(!0),i=t.ref(!0);function r(g){return g&&g.sourceType==="control"?g.componentCategory==="input":!1}function l(){return!1}function s(){return!1}function c(){return!0}function u(g){var y;const m=new GO(g,n),h=(y=e==null?void 0:e.parent)==null?void 0:y.schema;return m.getPropertyConfig(o,h)}function f(){var g,m,h,y;if(e&&n){const b=(g=e==null?void 0:e.componentInstance)==null?void 0:g.value.belongedComponentId;let v="",C="";const{formSchemaUtils:w}=n;if(b){const T=w.getRootViewModelId(),x=w.getComponentByViewModelId(T),V=w.selectNode(x,N=>N.contents&&N.contents.find(k=>k.component===b));(V==null?void 0:V.type)===((m=he["tab-page"])==null?void 0:m.type)&&((h=V==null?void 0:V.contents)!=null&&h.length)&&(v=V.title||""),(V==null?void 0:V.type)===((y=he.section)==null?void 0:y.type)&&(V==null?void 0:V.showHeader)!==!1&&(v=V.mainTitle||""),v=v?`${v} > `:"",C=v?V.id:""}const S=he["data-grid"].name;n==null||n.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:S,parentPathName:`${v}${S}`,reliedComponentId:C}),o.cardToolbar&&o.cardToolbar.length&&o.cardToolbar.forEach(T=>{n==null||n.formSchemaUtils.getControlBasicInfoMap().set(T.id,{componentTitle:T.text,parentPathName:`${v}${S} > ${T.text}`,reliedComponentId:C})})}}function d(g){var m;g&&((m=g==null?void 0:g.changeObject)==null?void 0:m.propertyID)==="cardToolbar"&&f()}function p(){if(!n)return;const{formSchemaUtils:g}=n,h=g.getFormRules().filter(y=>y.type==="datagrid"&&y.controlId!==o.id);g.setFormRules(h)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:a,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:u,setComponentBasicInfoMap:f,onRemoveComponent:p,onPropertyChanged:d}}const ci=t.defineComponent({name:"FDataGridDesign",props:X$,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,n){var de,J;const o=t.ref(!1),a=t.ref(((de=e.rowOption)==null?void 0:de.rowHeight)||28),i=t.ref(),r=t.inject("designer-host-service"),l=t.inject("design-item-context"),s=YO(l,r),c=pt(i,l,s);c.value.styles="display:flex;flex:1;",t.onMounted(()=>{i.value.componentInstance=c}),t.provide("data-grid-context",{dataGridProps:e}),n.expose(c.value);const u=t.ref(e.columns),f=20,d=pa(e),p=0,g=t.ref(),m=t.ref(),h=t.ref(e.showStripe),y=t.ref([]),b=t.ref(!1),v=t.ref(((J=e.rowOption)==null?void 0:J.wrapContent)||!1),C=la(e,n),w=sa(e),S=ia(e,new Map,C,w,d),T=ga(e,S,d,y,n),x=t.computed(()=>S.totalItems.value<f?S.totalItems.value:f),{containerStyleObject:V}=hi(e,y),N=ql(e),{applyCommands:k}=N;k(u);const P=Iw(e),M=Yl(),{applyColumnSorter:F,columnContext:I,updateColumnRenderContext:E}=P;F(S,M);const A=hr(e,I),D=ma(e,n,T,d),$=fa(e,n,d,D,y),B=ca(e,S,a),_=da(e,$,B),O=ua(e,S,$,w,d,B,_,a),L=Ul(e,d,_,O),W=Gl(e,d,_,O),U=Ew(e,u,S,x,p,O,L,W),{getVisualData:H}=U,q=bi(e,T),{sidebarWidth:Y}=q;y.value=H(0,x.value+p-1);const G=Da(e,S,y,I,U,x,p,Y,a,o),{onWheel:j,dataGridWidth:R,viewPortHeight:z,viewPortWidth:Q}=G,K=Pw(e,I,g,Q,A),{calculateColumnsSize:Z}=K,ae=t.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":h.value})),ee=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":b.value,"fv-grid-wrap-content":v.value})),{renderGridHeader:te}=_w(l,e,P,G),{renderHorizontalScrollbar:le}=mr(e,g,G);function ye(){var ne,oe;z.value=((ne=m.value)==null?void 0:ne.clientHeight)||0,R.value=((oe=g.value)==null?void 0:oe.clientWidth)||0,m.value&&(Q.value=m.value.clientWidth),Z()}t.onMounted(()=>{g.value&&(Ir.useResizeObserver(g.value,ye),Z(),t.nextTick(()=>{g.value&&(R.value=g.value.clientWidth),m.value&&(Q.value=m.value.clientWidth,z.value=m.value.clientHeight)}))});function be(ne){ne&&(u.value=ne,k(u),E(u.value),F(S,M),Z())}return t.watch(()=>e.columns,ne=>{be(ne),tn.value++}),()=>t.createVNode("div",{ref:i,class:ae.value,style:{flex:"1 1 0"},onWheel:j},[te(),t.createVNode("div",{ref:g,class:ee.value,onMouseover:()=>{b.value=!0},onMouseleave:()=>{b.value=!1}},[le()])])}}),ed=new Map([["appearance",ft],["column","columnOption"],["command","commandOption"]]),vS=new Map([]),QO="root-viewmodel";class KO{constructor(n,o){X(this,"formSchemaUtils");X(this,"controlCreatorUtils");X(this,"designViewModelUtils");X(this,"useFormCommand");X(this,"formStateMachineUtils");this.resolver=n,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(n){const o=this.createComponentRefNode(n),a=this.createComponentNode(n),i=this.createViewModeNode(n),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(i),r.module.components.push(a),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(o,n,i)}wrapContainerSectionForComponent(n,o,a){var c,u,f,d,p,g,m,h,y,b,v;const i=(u=(c=o==null?void 0:o.parentComponentInstance)==null?void 0:c.schema)==null?void 0:u.type,r=(p=(d=(f=o==null?void 0:o.parentComponentInstance)==null?void 0:f.schema)==null?void 0:d.appearance)==null?void 0:p.class,l=(m=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:m.templateId;if(i===he["splitter-pane"].type&&(r!=null&&r.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(l))return n;const s=[he["content-container"].type,he["response-layout-item"].type,he["splitter-pane"].type,he.drawer.type];if(i&&s.includes(i)){const C=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance,mainTitle:o.componentName},this.designerHostService);if(C&&C.contents&&C.contents.length){const w=C.contents[0];return w.contents=[n],this.appendAddDeleteBtnToParentContainer(w,o,a),C}}return this.appendAddDeleteBtnToParentContainer((h=o==null?void 0:o.parentComponentInstance)==null?void 0:h.schema,o,a),i===he["tab-page"].type&&(y=o.parentComponentInstance)!=null&&y.parent&&(b=o.parentComponentInstance)!=null&&b.parent.updateToolbarItems&&((v=o.parentComponentInstance)==null||v.parent.updateToolbarItems()),n}appendAddDeleteBtnToParentContainer(n,o,a){const i=n.type,r=a.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(o.bindTo==="/"||o.componentType!=="data-grid"&&o.componentType!=="form")return;const l=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=he["tab-page"].type===i?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(s),u=[Object.assign({},c,{id:`button-add-${o.componentId}`,type:s,text:"新增",disabled:l.find(f=>f.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${a.id}.${r}AddItem1`}),Object.assign({},c,{id:`button-remove-${o.componentId}`,type:s,text:"删除",disabled:l.find(f=>f.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${a.id}.${r}RemoveItem1`})];n.toolbar||(n.toolbar={id:`${n.id}_toolbar`,type:he["tab-page"].type===i?"tab-toolbar":"section-toolbar",buttons:[]}),n.toolbar.id||(n.toolbar.id=`${n.id}_toolbar`),n.toolbar.type||(n.toolbar.type=he["tab-page"].type===i?"tab-toolbar":"section-toolbar"),n.toolbar.buttons||(n.toolbar.buttons=[]),n.toolbar.buttons=n.toolbar.buttons.concat(u),this.appendAddAndDeleteCommands(a),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(n){var f;const o=n.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),a=Wt().guid(),i=Wt().guid(),r=this.resolveCommandController(),l={id:a,code:`${o}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:r,shortcut:{},extensions:[]},s={id:i,code:`${o}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${n.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:r,shortcut:{},extensions:[]};(f=this.designerHostService.designerContext)!=null&&f.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(l),this.designerHostService.designerContext.appendIdentifyForNewCommand(s)),n.commands.push(l,s),this.formSchemaUtils.getFormSchema().module.webcmds.find(d=>d.id===r).refedHandlers.push({host:a,handler:"AddItem"},{host:i,handler:"RemoveItem"})}resolveCommandController(){const n=this.formSchemaUtils.getFormSchema().module.webcmds,o=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],a=n.find(r=>o.includes(r.id));if(a)return a.id;const i="45be24f9-c1f7-44f7-b447-fe2ada458a61";return n.push({id:i,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),i}createComponentRefNode(n){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${n.componentId}-component-ref`,component:`${n.componentId}-component`}),o}createComponentNode(n){const o=this.resolver.getSchemaByType("component"),a=this.createDateGridComponentContents(n);return Object.assign(o,{id:`${n.componentId}-component`,viewModel:`${n.componentId}-component-viewmodel`,componentType:n.componentType,appearance:{class:this.getDataGridComponentClass(n)},contents:a}),o}createViewModeNode(n){return{id:`${n.componentId}-component-viewmodel`,code:`${n.componentId}-component-viewmodel`,name:n.componentName,bindTo:n.bindTo,parent:QO,fields:this.assembleViewModelFields(n),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(n){var r,l,s,c;const{templateId:o}=this.formSchemaUtils.getFormSchema().module,a=(r=n.parentComponentInstance)==null?void 0:r.schema,i=(l=a==null?void 0:a.appearance)==null?void 0:l.class;if(o==="double-list-in-tab-template"&&(a==null?void 0:a.type)==="tab-page"){const u=((s=n.parentComponentInstance)==null?void 0:s.parent)&&((c=n.parentComponentInstance)==null?void 0:c.parent.schema);if((u==null?void 0:u.type)==="tabs"&&(u==null?void 0:u.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(o)&&(i!=null&&i.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(n){var p,g,m,h,y;const o=(p=n.parentComponentInstance)==null?void 0:p.schema,a=(m=(g=o==null?void 0:o.schema)==null?void 0:g.appearance)==null?void 0:m.class,{templateId:i}=this.formSchemaUtils.getFormSchema().module;let r,l=!1;if(i==="double-list-in-tab-template"&&(o==null?void 0:o.type)==="tab-page"){const b=((h=n.parentComponentInstance)==null?void 0:h.parent)&&((y=n.parentComponentInstance)==null?void 0:y.parent.schema);(b==null?void 0:b.type)==="tabs"&&(b==null?void 0:b.fill)===!0&&(l=!0)}if(l){const b=this.resolver.getSchemaByType("section");Object.assign(b,{id:n.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),r=b}else if((i==="double-list-template"||i==="tree-list-template")&&(a!=null&&a.includes("f-page-content-main"))){const b=this.resolver.getSchemaByType("section");Object.assign(b,{id:n.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),r=b}else{const b=this.resolver.getSchemaByType("content-container");Object.assign(b,{id:n.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),r=b}const s=this.resolver.getSchemaByType("data-grid"),c=[],u=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),f=n.editable&&u.length>0&&u.findIndex(b=>b.id==="editable")>-1;Object.assign(s,{id:n.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:f,dataSource:n.dataSource||"",editable:f?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!n.editable}}),r.contents=[s];const{selectedFields:d}=n;return d==null||d.forEach(b=>{if(b.$type===An.ComplexField)return;const v=ge.cloneDeep(b),C=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",v,"",f);C&&c.push(C)}),[r]}assembleViewModelFields(n){const o=[],{selectedFields:a}=n;return a==null||a.forEach(i=>{if(i.$type===An.ComplexField)return;let r="blur";const l=i.type.name;(l===Gn.Enum||l===Gn.Boolean)&&(r="change"),o.push({type:"Form",id:i.id,fieldName:i.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function td(e,n,o,a){var r,l,s,c,u,f,d;const i=o.parentComponentInstance;if(i&&a){const p=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${p}`,componentName:((r=o.bindingSourceContext)==null?void 0:r.entityTitle)||((s=(l=o.bindingSourceContext)==null?void 0:l.bindingEntity)==null?void 0:s.name)||`表格-${p}`,componentType:"data-grid",parentContainerId:i.schema.id,parentComponentInstance:i,editable:!0,bindTo:((c=o.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(f=(u=o.bindingSourceContext)==null?void 0:u.bindingEntity)==null?void 0:f.label,selectedFields:(d=o.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new KO(e,a).createComponent(g)}else return n}function CS(e,n,o){return n}const wS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null},usage:{description:"",type:"string",default:"column"}},required:["id","type"]},um={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function},usage:{Type:String,default:Xo.Column}};We(um,wS,ed,td);const XO=Xt(um,wS,ed,td),JO=t.defineComponent({name:"FGridFieldEditor",props:um,emits:["change"],setup(e,n){const o=t.ref(e.viewModelId),a=t.inject("designViewModelUtils"),i=t.inject("useFormSchema"),r=t.inject("schemaService"),l=t.inject("controlCreatorUtils"),s=t.inject("designerContext");let c=e.gridData.columns;const{fieldEditable:u}=e.gridData,f=t.ref(`共 ${(c||[]).length} 项`),d=t.ref([]),p=t.ref([]);let g=[];function m(){if(e.usage===Xo.Group){let A=[];if(e.gridData.group&&e.gridData.group.groupFields){const{groupFields:D}=e.gridData.group;A=D}c=g.filter(D=>A.includes(D.data.bindingPath)).map(D=>l.setGridFieldProperty(e.gridType,D.data,null,u)),f.value=`共 ${(c||[]).length} 项`}}function h(A){return e.usage===Xo.Group?A.map(D=>D.field):A}function y(A,D=!0){if(s.checkCanDeleteControl){const $=g.find(B=>{var _;return((_=B.data)==null?void 0:_.id)===A.id});return s.checkCanDeleteControl($,D)}return!0}const b={customRowStatus:A=>{const D=A.raw;D.type&&D.type.fields&&D.type.fields.length>0&&(A.disabled=!0),y(D,!1)||(A.disabled=!0)}};function v(){if(d.value=[],!c||c.length===0)return[];const A="[绑定字段不存在,待移除]";c.forEach(D=>{if(D.binding&&D.binding.field){const $=g.find(B=>B.data.id===D.binding.field);$?$.data.$type===An.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},$.data,{name:$.data.name+A})):d.value.push(Object.assign({},$.data)):d.value.push({id:D.binding.field,name:D.title+A,label:D.field,bindingField:null,isInValidBinding:!0})}}),f.value=`共 ${d.value.length} 项`}function C(A,D=[]){return A&&A.forEach($=>{if(D.push($),$.children&&C($.children,D),s.appendIdentifyForNewControl){const B=c.find(_=>{var O;return((O=_.binding)==null?void 0:O.field)===$.data.id});(!B||B[s.identifyForNewControl])&&s.appendIdentifyForNewControl($)}}),D}function w(){if(i.designerMode==="PC_RTC"&&r.rtcAddedTreeNodes.value){const A=r.getTableInfoByViewModelId(o.value);if(A!=null&&A.id){const D=r.rtcAddedTreeNodes.value[A.id];D!=null&&D.length&&(p.value=p.value.concat(D))}}}function S(){p.value=a.getAllFields2TreeByVMId(o.value),w(),g=C(p.value)}function T(A,D,$){if(i.getComponents().find(_=>{let O=i.getControlsInCmpWidthBinding(_.viewModel,A);if(O=O.filter(L=>{var U;if(L.id===$)return!1;const W=D.type==="visible"?L[D.type]:(U=L.editor)==null?void 0:U[D.type];if(W&&W.type==="Expression"&&W.expressionId===D.id)return!0}),O.length)return!0}))return!0}function x(A){A.map(D=>{var B;const $=c.find(_=>{var O;return((O=_.binding)==null?void 0:O.field)===D});if($&&i.getExpressions().length){const _=i.getExpressions(),O=_.findIndex(L=>L.target===D);O>-1&&((B=_[O].rules)==null||B.map(L=>{var W;switch(L.type){case"visible":case"readonly":case"required":{const U=L.type==="visible"?$[L.type]:(W=$.editor)==null?void 0:W[L.type];U&&U.type==="Expression"&&U.expressionId===L.id&&(T(D,L,$.id)||(L.needDelete=!0));break}default:T(D,L,$.id)||(L.needDelete=!0)}}),_[O].rules=_[O].rules.filter(L=>!L.needDelete))}})}function V(){const A=a.getDgViewModel(o.value),D=[],$=[],B=d.value;if(B.forEach(_=>{const O=c==null?void 0:c.find(L=>{if(L.binding&&L.binding.field)return L.binding.field===_.id});if(O)D.push(O);else{const L=l.setGridFieldProperty(e.gridType,_.data,null,u);e.usage!==Xo.Group&&A.addField(_),D.push(L)}$.push(_.id)}),e.usage!==Xo.Group){const _=A.fields.filter(O=>!$.includes(O.id));if(_&&_.length>0){const O=_.map(L=>L.id);A.removeField(O),x(O)}}B.length!==d.value.length&&(d.value=B),f.value=`共 ${D.length} 项`,n.emit("change",h(D))}const N={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{V()},rejectCallback:()=>{}};function k(){return e.getLatestGridData?c=e.getLatestGridData().columns:c=e.gridData.columns,S(),m(),v(),Promise.resolve(!0)}function P(A){e.usage===Xo.Group?d.value=[A.raw]:d.value=[...d.value,A.raw]}function M(A){const D=d.value.findIndex($=>$.id===A.raw.id);D>-1&&(d.value=[...d.value.slice(0,D),...d.value.slice(D+1)])}function F(A){const D=d.value.findIndex($=>$.id===A.id);D>-1&&(d.value=[...d.value.slice(0,D),...d.value.slice(D+1)])}function I(A){const D=A[0].__fv_index__,$=d.value.findIndex(_=>_.id===A[0].id),B=d.value.find(_=>_.id===A[0].id);d.value.splice($,1),d.value.splice(D,0,B)}const E=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(A,D)=>A.data+` [${D.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return t.onMounted(()=>{S(),m()}),()=>t.createVNode(fn,{"button-behavior":"Modal","modal-options":N,modelValue:f.value,"onUpdate:modelValue":A=>f.value=A,editable:!1,beforeOpen:k},{default:()=>[t.createVNode("div",{class:"f-utils-absolute-all"},[t.createVNode(Ma,{selections:d.value,"data-source":p.value,rowOption:b,class:"mx-2",columns:E,displayType:"Tree",onRemoveItem:F,onSelectItem:P,onUnSelectItem:M,onActiveChange:I,checkBeforeRemoveItem:y},{text:A=>t.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[A.data.name.data,t.createTextVNode(" ["),A.data.bindingField.data,t.createTextVNode("]")])})])]})}}),ZO={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},headerFormatter:{description:"头部模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"},enableBatchEdit:{description:"启用批量编辑",type:"boolean",default:!1},cellStyle:{description:"单元格样式",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件",fieldValueChanging:"绑定字段值变化前事件",fieldValueChanged:"绑定字段值变化后事件",onChange:"值变化事件",beforeOpen:"下拉面板前事件",onDatePicked:"日期选择后事件",onClickHandle:"按钮点击事件"}},eR={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},fm={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},tR=We(fm,ZO,vS,CS),nR=We(fm,eR,vS,CS);function oR(e,n,o){const a=e.schema,i=t.ref(!0),r=t.ref(!0);function l(p){return!1}function s(){return!1}function c(){return!1}function u(){return!0}function f(p){var h,y;const g=new yS(p,n),m=(h=e==null?void 0:e.parent)==null?void 0:h.schema;return m!=null&&m.groupFields&&m!=null&&m.groupFields.includes(a.field)&&(a.enableSummary=!0),g.getPropertyConfig(a,(y=e==null?void 0:e.parent)==null?void 0:y.schema)}function d(){var y,b;if(!n||!e)return;const{formSchemaUtils:p}=n;let g=he["data-grid"].name||"表格";const m=p.getControlBasicInfoMap(),h=m.get((b=(y=e.parent)==null?void 0:y.schema)==null?void 0:b.id);h&&h.parentPathName&&(g=h.parentPathName),m.set(a.id,{showName:a.title,parentPathName:`${g} > ${a.title}`,reliedComponentId:h.reliedComponentId})}return{canAccepts:l,checkCanDeleteComponent:s,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:u,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:f,setComponentBasicInfoMap:d}}function SS(e,n,o){function a(){const l=o.componentId;if(!l)return!1;const s=e.formSchemaUtils.getViewModelIdByComponentId(l);if(!s)return!1;const{schema:c}=n,{designViewModelUtils:u}=e,f=u.getDgViewModel(s),d=f==null?void 0:f.fields.find(p=>p.id===c.binding.field);return!(!d||d.$type!==An.SimpleField)}function i(){const{schema:l}=n;return!!e.formSchemaUtils.getVariableById(l.binding.field)}function r(){var c;const{schema:l}=n;let s=!0;if(!e||!((c=l.binding)!=null&&c.field))return s;switch(l.binding.type){case nn.Form:{s=a();break}case nn.Variable:s=i()}return s}return{checkBindingFieldValidation:r}}const VS=t.defineComponent({name:"FDataGridColumnDesign",props:fm,emits:[],setup(e,n){const o=t.ref(),a=t.inject("designer-host-service"),i=t.inject("design-item-context");t.inject("data-grid-context");const r=oR(i,a),l=pt(o,i,r);t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);function s(d){var p;(p=i==null?void 0:i.setupContext)==null||p.emit("selectionChange",l.value.schema,i.schema,e.componentId,l.value)}const{checkBindingFieldValidation:c}=SS(a,i,e),f=!t.inject("external-container-id");return()=>{var m;const d=f?c():!0,p="绑定信息已失效,请手动移除列",g=d?"":"color:red";return t.createVNode(t.Fragment,null,[d?"":t.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:p},null),t.createVNode("span",{class:"fv-column-title",style:g,ref:o,onClick:h=>s()},[((m=e.editor)==null?void 0:m.required)===!0&&t.createVNode("span",{class:"text-danger"},[t.createTextVNode("*")]),e.title])])}}}),xS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0},customRender:{description:"自定义分组行模板",type:"string",default:""}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},disabled:{description:"锁定分页",type:"boolean",default:!1},sizeLimits:{description:"",type:"string",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:28},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"string"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"enum",default:"bottom",enum:["bottom","top","both"]},customRender:{description:"合计行模板",type:"string",default:""}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},virtualized:{description:"是否虚拟加载",type:"boolean",default:!0},beforeUpdate:{description:"",type:"string",default:""},scrollbarMode:{description:"",type:"string",default:""},displayType:{description:"表格按照什么模式展示,默认List模式",type:"string",default:"List"},showCardHeader:{description:"",type:"boolean",default:!0},showCardFooter:{description:"",type:"boolean",default:!0},cardHeaderTemplate:{description:"头部内容模板",type:"string",default:""},cardFooterTemplate:{description:"底部内容模板",type:"string",default:""},cardTitleTemplate:{description:"头部标题模板",type:"string",default:""},cardToolbar:{description:"自定义工具栏",type:"array",default:[]},cardMainTitle:{description:"主标题",type:"string",default:""},formId:{description:"表单id",type:"string",default:""},enableColumnSettingSolution:{description:"是否启用列配置方案",type:"boolean",default:!1}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function aR(){function e(n,o){const a={};return a.beforeEditCell=i=>o.call("beforeEditCell",n,[i,n]),a.beforeUpdate=i=>o.call("beforeUpdate",n,[i,n]),a.fieldsCallback=(...i)=>o.call("fieldsCallback",n,[i]),a.fieldsResolver=(...i)=>o.call("fieldsResolver",n,i),a}return{resolve:e}}const iR=Xt(Ac,xS,ed,td),rR=We(Ac,xS,ed,td),lR=$u(),sR=Mh(),cR=Lu(),dR=aR();ci.install=e=>{e.component(ci.name,ci)},ci.register=(e,n,o,a,i)=>{e["data-grid"]=li,n["data-grid"]=iR(i),e["grid-field-editor"]=JO,n["grid-field-editor"]=XO(i),a["data-grid"]={bindingResolver:lR,selectionItemResolver:sR,updateColumnsResolver:cR,callbackResolver:dR,eventHandlerResolver:f$}},ci.registerDesigner=(e,n,o)=>{e["data-grid"]=ci,n["data-grid"]=rR,n["data-grid-column"]=tR,e["data-grid-column"]=VS,n["tree-grid-column"]=nR,e["tree-grid-column"]=VS};const pm=Vt(ci),ir=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var ao=(e=>(e[e.previous=1]="previous",e[e.current=2]="current",e[e.next=3]="next",e))(ao||{}),di=(e=>(e.Sunday="Sun",e.Monday="Mon",e))(di||{});const uR={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:di.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 jo=(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))(jo||{});function mm(){function e(n){const o=n.key||n.keyCode;return o==="Enter"||o===13?13:o==="Escape"||o===27?27:o===" "||o===32?32:o==="ArrowLeft"||o===37?37:o==="ArrowUp"||o===38?38:o==="ArrowRight"||o===39?39:o==="ArrowDown"||o===40?40:o==="Tab"||o===9?9:o==="Shift"||o===16?16:-1}return{getKeyCodeFromEvent:e}}function _o(){const{formatTo:e,parseToDate:n}=Fn();function o(){return{year:0,month:0,day:0}}function a(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 i(C){const w=new Date;return C.year||(C.year=w.getFullYear()),C.month||(C.month=w.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 r(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 l(C){return ir.indexOf(C)}function s(C){return a(C).getTime()}function c(C){return Math.round(s(C)/1e3)}function u(C,w,S){const T=s(w),x=s(S),V=s(C);return x-V>V-T?w:S}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 d(C,w){const S=w.match(/[^(DdMmYy)]{1,}/g),T={};if(S){let x=S[0];S[0]!==S[1]&&(x=S[0]+S[1],S[2]&&S[1]!==S[2]&&(x+=S[2]));const V=new RegExp("["+x+"]"),N=C.split(V),k=w.split(V);for(let P=0;P<k.length;P++)k[P].indexOf("yyyy")!==-1&&(T.year=Number(N[P])),k[P].indexOf("M")!==-1&&(T.month=Number(N[P]||"1")),k[P].indexOf("d")!==-1&&(T.day=Number(N[P]||"1"))}else{const x=(w+"").indexOf("yyyy"),V=(w+"").indexOf("MM"),N=(w+"").indexOf("dd");if(x>=0){const k=C.substring(x,x+4);T.year=Number(k)}V>=0&&(T.month=Number(C.substring(V,V+2)||"1")),N>=0&&(T.day=Number(C.substring(N,N+2)||"01"))}return T.year===void 0&&(T.year=f().year),T}function p(C){return{year:C.getFullYear(),month:C.getMonth()+1,day:C.getDate(),hour:C.getHours(),minute:C.getMinutes(),second:C.getSeconds()}}function g(C,w=!0){const S=new Date(1900,1,1,0,0,0),T=new Date(9999,12,31,23,59,59),x=w?S:T;let V;return C instanceof Date?V=C:typeof C=="string"?V=C.trim()?n(C,"yyyy-MM-dd HH:mm:ss"):x:V=x,Ii(V)||(V=x),{year:V.getFullYear(),month:V.getMonth()+1,day:V.getDate(),hour:V.getHours(),minute:V.getMinutes(),second:V.getSeconds()}}function m(C){return g(C,!0)}function h(C){return g(C,!1)}function y(C,w=!1){if(C&&typeof C=="string"){const S=C.replace("时",":").replace("分",":").replace("秒","").split(":");if(S.length>=2)return{hour:parseInt(S[0],10),minute:parseInt(S[1]),second:parseInt(S[2]||"0")||0}}else{const S=new Date,T=S.getHours(),x=S.getMinutes(),V=S.getSeconds();return w?{hour:0,minute:0,second:0}:{hour:T,minute:x,second:V}}return{hour:0,minute:0,second:0}}function b(C){if(C&&typeof C=="string"){const x=C.replace("时",":").replace("分",":").replace("秒","").split(":");if(x.length>=2)return{hour:x[0],minute:x[1],second:x[2]?x[2]:0}}return{hour:23,minute:59,second:59}}function v(C,w,S){const{year:T}=C,x=String(C.month).padStart(2,"0"),V=String(C.day).padStart(2,"0");if(w==="year")return`${T}`;if(w==="month")return`${T}-${x}`;let N=`${T}-${x}-${V}`;if(S&&(C.hour!==void 0||C.minute!==void 0||C.second!==void 0)){const k=String(C.hour||0).padStart(2,"0"),P=String(C.minute||0).padStart(2,"0"),M=String(C.second||0).padStart(2,"0");N+=` ${k}:${P}:${M}`}return N}return{emptyDate:o,getDate:a,getDate2:i,getDayNumber:r,getEpocTime:c,getNearDate:u,getWeekdayIndex:l,getTimeInMilliseconds:s,getToday:f,getDateObject:d,getMinDate:m,getMaxDate:h,getTimeValue:y,getEndTimeValue:b,convertDateToDateObject:p,formatDateObject:v}}function Pa(){const{getTimeInMilliseconds:e}=_o();function n(d){return d&&d.year!==0&&d.month!==0&&d.day!==0}function o(d){return d&&d.year!==0&&d.month!==0}function a(d){return d&&d.year!==0}function i(d,p){return e(d)<e(p)}function r(d,p){return e(d)<=e(p)}function l(d,p){return e(d)===e(p)}function s(d,p){const g=e(p);return e(d.from)===g||e(d.to)===g}function c(d,p){return!p||!n(p.to)||!n(p.from)?!1:r(p.from,d)&&r(d,p.to)}function u(d,p){return n(p)&&e(d)>=e(p)}function f(d,p){return n(p)&&e(d)<=e(p)}return{isDateEarlier:i,equal:l,inPeriod:c,isPoint:s,equalOrEarlier:r,isInitializedDate:n,isInitializedMonth:o,isInitializedYear:a,isMonthDisabledByDisableSince:u,isMonthDisabledByDisableUntil:f}}const gm=t.defineComponent({name:"FDatePickerCalendarView",props:uR,emits:["click","clickWeek","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.dates),a=t.ref(e.daysInWeek),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enableMarkCurrent),l=t.ref(e.enablePeriod),s=t.ref(e.selected),c=t.ref(e.selectedPeriod),u=t.ref(e.selectedWeek),f=t.ref(e.selectMode),d=t.ref(e.showWeekNumber),p=t.ref(e.weekTitle||"周");t.watch(()=>e.dates,()=>{o.value=e.dates}),t.watch(()=>e.selected,()=>{s.value=e.selected}),t.watch(()=>e.enablePeriod,(I,E)=>{I!==E&&(l.value=I)}),t.watch(()=>e.selectedPeriod,I=>{c.value=I}),t.watch(()=>e.selectedWeek,I=>{u.value=I});const{equal:g,inPeriod:m,isInitializedDate:h,equalOrEarlier:y,isPoint:b}=Pa(),{getKeyCodeFromEvent:v}=mm(),C=I=>{const E=!!u.value&&I.numberInTheYear===u.value.numberInTheYear;return{"f-datepicker-selectWeek":f.value==="week","f-datepicker-selectedWeek":f.value==="week"&&E}};function w(I){return m(I,c.value)}function S(I){if(!c.value)return!1;const E={from:{year:c.value.from.year,month:c.value.from.month,day:c.value.from.day},to:{year:c.value.to.year,month:c.value.to.month,day:c.value.to.day}};return!!c.value&&b(E,I)}function T(I){return!!s.value&&g({year:s.value.year,month:s.value.month,day:s.value.day},{year:I.year,month:I.month,day:I.day})}const x=(I,E,A)=>{const D=f.value!=="week"&&I.tag===ao.current&&(l.value&&w(I.date)&&!S(I.date)||I.range),$=I.tag===ao.previous||I.tag===ao.next,B={"f-datepicker-range":D,"f-datepicker-no-currmonth":$,"f-datepicker-disabled":I.disable,"f-datepicker-singledate":!I.disable},_=`d_${E}_${A}`;return B[_]=!0,B},V=I=>{const E=f.value!=="week"&&I.tag===ao.current&&(!l.value&&T(I.date)||l.value&&S(I.date)),A=I.isCurrent&&r.value,D=I.highlight&&(I.tag===ao.previous||I.tag===ao.next||I.disable);return{"f-datepicker-date":!0,"f-datepicker-selected":E,"f-datepicker-current":A,"f-datepicker-opacity":D,"f-datepicker-highlight":I.highlight,"f-datepicker-disabled":I.disable}};function N(I,E){E.disable||f.value==="week"||(I.stopPropagation(),n.emit("click",{event:I,dayItem:E}))}function k(I,E){f.value==="week"&&(I.stopPropagation(),n.emit("clickWeek",E))}function P(I,E){const A=v(I);A!==jo.tab&&(I.preventDefault(),A===jo.enter||A===jo.space?N(I,E):i.value&&n.emit("keyDown",E.date))}function M(I){if(c.value&&h(c.value.from)&&(!h(c.value.to)||JSON.stringify(c.value.from)===JSON.stringify(c.value.to))){const{from:E}=c.value;o.value.forEach(A=>{A.days.forEach(D=>{D.range=y(E,D.date)&&y(D.date,I.date)||y(D.date,E)&&y(I.date,D.date)})}),n.emit("mouseEnter",I.date)}}function F(){o.value.forEach(I=>{I.days.forEach(E=>{E.range=!1})}),n.emit("mouseLeave")}return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"f-datepicker-table-wrapper"},[t.createVNode("table",{class:"f-datepicker-table",cellpadding:"0"},[t.createVNode("thead",null,[t.createVNode("tr",null,[d.value&&t.createVNode("th",{class:"f-datepicker-weeknbr-title",style:"padding-bottom: 8px;padding-top: 4px"},[p.value]),a.value&&a.value.map(I=>t.createVNode("th",{scope:"col",style:"padding-bottom: 8px;padding-top: 4px"},[I]))])]),t.createVNode("tbody",null,[o.value&&o.value.map((I,E)=>t.createVNode("tr",{class:C(I),onClick:A=>k(A,I)},[d.value&&t.createVNode("td",{class:"f-datepicker-weeknbr"},[t.createVNode("div",{class:"f-datepicker-date"},[I.numberInTheYear])]),I.days&&I.days.map((A,D)=>t.createVNode("td",{id:`d_${E}_${D}`,tabindex:"0",class:x(A,E,D),onKeydown:$=>P($,A),onMouseenter:()=>M(A),onMouseleave:()=>F()},[A.marked&&A.marked.marked&&t.createVNode("span",{class:"f-datepicker-markdate",style:{"background-color":A.marked.color}},null),t.createVNode("div",{class:V(A),onClick:$=>N($,A)},[A.date.day])]))]))])])])])}}),fR={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 hm(){const{getTimeInMilliseconds:e}=_o(),{isInitializedDate:n}=Pa();function o(i,r){return n(r)&&e(i)<e(r)}function a(i,r){return n(r)&&e(i)>e(r)}return{isMonthDisabledByDisableSince:a,isMonthDisabledByDisableUntil:o}}function ym(){const{getToday:e}=_o(),{isMonthDisabledByDisableSince:n,isMonthDisabledByDisableUntil:o}=hm();function a(f){const d={displayTextOfMonth:"",month:0,year:0,displayTextOfYear:""};if(f){const p=f.match(/[^0-9]/),g=p&&p.length?p[0]:"",m=f.split(g);d.month=m[0].length===2?Number(m[0]):Number(m[1]),d.year=m[0].length===2?Number(m[1]):Number(m[0])}return d}function i(f,d){return new Date(d,f,0).getDate()}function r(f,d,p){return new Date(f,d-1,p,0,0,0,0)}function l(f,d){const p=r(d,f,1);return p.setMonth(p.getMonth()-1),i(p.getMonth()+1,p.getFullYear())}function s(f,d,p,g){const m=e(),h=[],{year:y}=d,b=3,v={year:p.year,month:p.month,day:p.day},C={year:g.year,month:g.month,day:g.day};for(let w=1;w<=12;w+=b){const S=[];for(let T=w;T<w+b;T++){const x=n({year:y,month:T,day:1},v)||o({year:y,month:T,day:i(T,y||0)},C);S.push({month:T,displayText:f[T],isCurrent:T===m.month&&y===m.year,disable:x,date:{year:y,month:T}})}h.push(S)}return h}function c(f,d){const p={year:f===12?d+1:d},g=f===12?1:f+1;return p.month=g,p}function u(f,d){const p={year:f===1?d-1:d},g=f===1?12:f-1;return p.month=g,p}return{daysInMonth:i,daysInPreMonth:l,generateMonths:s,parseDefaultMonth:a,getNextMonth:c,getPreviousMonth:u}}const bm=t.defineComponent({name:"FDatePickerCalendarNavbar",props:fR,emits:["clickMonth","clickYear","prePage","preRecord","nextRecord","nextPage"],setup(e,n){const o=t.ref(e.ariaLabelPrevMonth),a=t.ref(e.ariaLabelNextMonth),i=t.ref(e.dateFormat),r=t.ref(e.disablePrePage),l=t.ref(e.disablePreRecord),s=t.ref(e.disableNextRecord),c=t.ref(e.disableNextPage),u=t.ref(e.activeMonth),f=t.ref(e.years),d=t.ref(e.selectingMonth),p=t.ref(e.selectingYear),g=t.ref(e.selectMode),m=t.ref(!0),h=t.ref(!0),{isMonthDisabledByDisableSince:y,isMonthDisabledByDisableUntil:b}=hm(),{daysInMonth:v}=ym();t.watch(()=>e.selectingMonth,(z,Q)=>{d.value=z}),t.watch(()=>e.selectingYear,(z,Q)=>{p.value=z});const C=(z,Q)=>({year:Q===1?z-1:z,month:Q===1?12:Q-1,day:v(Q===1?12:Q-1,Q===1?z-1:z)}),w=(z,Q)=>({year:Q===12?z+1:z,month:Q===12?1:Q+1,day:1}),S=z=>({year:z-1,month:12,day:31}),T=z=>({year:z+1,month:1,day:1});function x(z,Q,K,Z,ae="page"){ae==="page"?(r.value=K||z,c.value=Z||Q):ae==="record"&&(l.value=K||z,s.value=Z||Q)}function V(z,Q){const{minDate:K,maxDate:Z,minYear:ae,maxYear:ee}=e,te=K?b(S(z),K):!0,le=Z?y(T(Q),Z):!0;x(te,le,z<=ae,Q>=ee)}function N(z,Q){var ae,ee;const K=z||((ae=f.value[0][1])==null?void 0:ae.year),Z=Q||((ee=f.value[3][1])==null?void 0:ee.year);K!==void 0&&Z!==void 0&&V(K,Z)}function k(z,Q){const{minDate:K,maxDate:Z,minYear:ae,maxYear:ee}=e,te=C(Q,z),le=w(Q,z),ye=K?b(te,{year:K.year,month:K.month,day:K.day}):!0,be=Z?y(le,{year:Z.year,month:Z.month,day:Z.day}):!0;x(ye,be,z===1&&Q===ae,z===12&&Q===ee,"record"),N(Q,Q)}function P(z){const{minDate:Q,maxDate:K,minYear:Z,maxYear:ae}=e,ee=Q?b(S(z),Q):!0,te=K?y(T(z),K):!0;x(ee,te,z===Z,z===ae)}t.watch(()=>e.selectingMonth,(z,Q)=>{z&&P(u.value.year)}),t.watch(()=>e.selectingYear,(z,Q)=>{z&&N()}),t.watch(()=>e.years,(z,Q)=>{f.value=z,p.value&&N()}),t.watch(()=>e.activeMonth,()=>{const z=e.activeMonth;z&&(u.value={month:z.month,year:z.year,displayTextOfMonth:z.displayTextOfMonth,displayTextOfYear:z.displayTextOfYear},!e.selectingMonth&&!e.selectingYear?k(u.value.month,u.value.year):e.selectingMonth?P(u.value.year):N())},{immediate:!0});const M=t.computed(()=>({"f-datepicker-header":!0,monthYearSelBarBorder:d.value||p.value})),F=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":r.value})),I=t.computed(()=>!d.value&&!p.value),E=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":l.value})),A=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":s.value})),D=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":c.value})),$=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-yearLabel":m.value,"f-datepicker-labelBtnNotEdit":!m.value})),B=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-monthLabel":h.value,"f-datepicker-labelBtnNotEdit":!h.value})),_=t.computed(()=>{const z=i.value?i.value.indexOf("yyyy"):0,Q=i.value?i.value.indexOf("MM"):0;return z>Q?"MM-yyyy":"yyyy-MM"});function O(z){z.stopPropagation(),!r.value&&n.emit("prePage")}function L(z){z.stopPropagation(),!l.value&&n.emit("preRecord")}function W(z){z.stopPropagation(),n.emit("clickYear")}function U(z){z.stopPropagation(),n.emit("clickMonth")}function H(z){z.stopPropagation(),!s.value&&n.emit("nextRecord")}function q(z){z.stopPropagation(),!c.value&&n.emit("nextPage")}const Y=t.computed(()=>{const z={};return g.value==="year"&&(z.cursor="default"),z});function G(){return t.createVNode("button",{type:"button",style:Y.value,class:$.value,onClick:z=>{m.value&&W(z)},tabindex:m.value?"0":"-1",disabled:g.value==="year"},[p.value?f.value.length>3?f.value[0][1].year+" - "+f.value[3][1].year:"":u.value.displayTextOfYear])}function j(){return!p.value&&g.value!=="month"&&t.createVNode("button",{type:"button",class:B.value,onClick:z=>{h.value&&U(z)},tabindex:h.value?"0":"-1"},[u.value.displayTextOfMonth])}const R={opacity:.4,cursor:"default"};return()=>t.createVNode("div",{class:M.value,style:"height:40px; overflow:hidden;"},[t.createVNode("div",{class:"f-datepicker-prev-btn"},[t.createVNode("button",{type:"button",class:F.value,style:r.value?R:{},onClick:O},[t.createVNode("i",{class:"f-icon f-icon-arrow-double-60-left"},null)]),I.value&&t.createVNode("button",{style:l.value?R:{},type:"button","aria-label":o.value,class:E.value,onClick:L},[t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)])]),t.createVNode("div",{class:"f-datepicker-monthYearText"},[_.value==="yyyy-MM"?[G(),j()]:[j(),G()]]),t.createVNode("div",{class:"f-datepicker-next-btn"},[I.value&&t.createVNode("button",{style:s.value?R:{},type:"button","aria-label":a.value,class:A.value,onClick:H},[t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)]),t.createVNode("button",{style:c.value?R:{},type:"button",class:D.value,onClick:q},[t.createVNode("i",{class:"f-icon f-icon-arrow-double-60-right"},null)])])])}}),vm={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},popupClassName:{type:String,default:""},placeholder:{type:String,default:"请选择时间"},placement:{type:String,default:"auto"},defaultOpenValue:{type:Date,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},hideDisabledElements:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0}},pR={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},defaultOpenValue:{type:Date,default:null},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},hideDisabledElements:{type:Boolean,default:!1},inDatePicker:{type:Boolean,default:!1},headerLabels:{type:Object,default:null}};function on(e){return typeof e<"u"&&e!==null}function Cm(e,n="hh:mm:ss"){if(!(!e||!n))return n.indexOf("ss")===-1&&e.split(":").length===3&&(n=n+":ss"),n.indexOf("A")>-1?(n=n.replace(/A/g,"a"),Or(e.toLowerCase(),n,new Date)):Or(e,n,new Date)}function TS(e,n="hh:mm:ss",o="AM"){return!e||isNaN(e.getTime())?"":n.indexOf("A")>-1?(n=n.replace(/A/g,"a"),Ca(e,n).toUpperCase()):Ca(e,n)}function wm(e,n){let o=e||"hh:mm:ss";return n?(o=o?o.replace(/H/g,"h"):"hh:mm:ss a",o.indexOf("a")===-1&&o.indexOf("A")===-1&&(o=o+" a")):o=o?o.replace(/h/g,"H"):"HH:mm:ss",o}class mR{constructor(){X(this,"hourStep",1);X(this,"minuteStep",1);X(this,"secondStep",1);X(this,"use12Hours",!1);X(this,"changedValue",t.ref({text:"",value:void 0}));X(this,"format","HH:mm:ss");X(this,"temporaryHours");X(this,"temporaryMinutes");X(this,"temporarySeconds");X(this,"temporaryText","");X(this,"temporaryValue");X(this,"temporarySelected12Hours");X(this,"temporaryDefaultOpenValue",new Date)}get hours(){return this.temporaryHours}set hours(n){n!==this.temporaryHours&&(this.use12Hours?this.selected12Hours==="PM"&&n!==12?this.temporaryHours=n+12:this.selected12Hours==="AM"&&n===12?this.temporaryHours=0:this.temporaryHours=n:this.temporaryHours=n,this.update())}get realHours(){return this.temporaryHours}get viewHours(){return this.use12Hours&&on(this.temporaryHours)?this.calculateViewHour(this.temporaryHours):this.temporaryHours}get minutes(){return this.temporaryMinutes}set minutes(n){n!==this.temporaryMinutes&&(this.temporaryMinutes=n,this.update())}get seconds(){return this.temporarySeconds}set seconds(n){n!==this.temporarySeconds&&(this.temporarySeconds=n,this.update())}get defaultHours(){return this.defaultOpenValue.getHours()}get defaultViewHours(){const n=this.defaultOpenValue.getHours();return this.use12Hours&&on(n)?this.calculateViewHour(n):n}get defaultRealHours(){return this.defaultOpenValue.getHours()}get defaultMinutes(){return this.defaultOpenValue.getMinutes()}get defaultSeconds(){return this.defaultOpenValue.getSeconds()}get default12Hours(){return this.defaultOpenValue.getHours()>=12?"PM":"AM"}get text(){return this.temporaryText}set text(n){n!==this.temporaryText&&(this.temporaryText=n)}get value(){return this.temporaryValue}set value(n){n!==this.temporaryValue&&(this.temporaryValue=n,on(this.temporaryValue)&&Ii(this.temporaryValue)?(this.temporaryHours=this.temporaryValue.getHours(),this.temporaryMinutes=this.temporaryValue.getMinutes(),this.temporarySeconds=this.temporaryValue.getSeconds(),this.use12Hours&&on(this.temporaryHours)&&(this.temporarySelected12Hours=this.temporaryHours>=12?"PM":"AM")):this.clearTimeValue())}get selected12Hours(){return this.temporarySelected12Hours}set selected12Hours(n){n.toUpperCase()!==this.temporarySelected12Hours&&(this.temporarySelected12Hours=n.toUpperCase(),this.update())}get defaultOpenValue(){return this.temporaryDefaultOpenValue.setHours(this.setValueByStep(this.temporaryDefaultOpenValue.getHours(),this.hourStep)),this.temporaryDefaultOpenValue.setMinutes(this.setValueByStep(this.temporaryDefaultOpenValue.getMinutes(),this.minuteStep)),this.temporaryDefaultOpenValue.setSeconds(this.setValueByStep(this.temporaryDefaultOpenValue.getSeconds(),this.secondStep)),this.temporaryDefaultOpenValue}set defaultOpenValue(n){this.temporaryDefaultOpenValue!==n&&(this.temporaryDefaultOpenValue=n,this.update())}get isEmpty(){return!(on(this.temporaryHours)||on(this.temporaryMinutes)||on(this.temporarySeconds))}setFormat(n){this.format=n}setHours(n,o){return o?this:(this.setDefaultValueIfNil(),this.hours=n,this)}setUse12Hours(n){return this.use12Hours=n,this}setMinutes(n,o){return o?this:(this.setDefaultValueIfNil(),this.minutes=n,this)}setSeconds(n,o){return o?this:(this.setDefaultValueIfNil(),this.seconds=n,this)}setValue(n,o){return on(o)&&(this.use12Hours=o),this.value=n,this}setValueByStep(n,o){let a=Math.floor(n/o);const i=n%o,r=o/2;return a=i>r?a+1:a,o*a}setDefaultOpenValue(n){return this.defaultOpenValue=n,this}setDefaultValueIfNil(){on(this.temporaryValue)||(this.temporaryValue=new Date(this.defaultOpenValue))}update(){this.isEmpty?this.temporaryValue=void 0:(on(this.temporaryHours)?this.temporaryValue.setHours(this.hours):this.temporaryHours=this.defaultHours,on(this.temporaryMinutes)?this.temporaryValue.setMinutes(this.minutes):this.temporaryMinutes=this.defaultMinutes,on(this.temporarySeconds)?this.temporaryValue.setSeconds(this.seconds):this.temporarySeconds=this.defaultSeconds,this.use12Hours&&(on(this.temporarySelected12Hours)||(this.temporarySelected12Hours=this.default12Hours),this.selected12Hours==="PM"&&this.temporaryHours<12&&(this.temporaryHours+=12,this.temporaryValue.setHours(this.temporaryHours)),this.selected12Hours==="AM"&&this.temporaryHours>=12&&(this.temporaryHours-=12,this.temporaryValue.setHours(this.temporaryHours))),this.temporaryValue=new Date(this.temporaryValue),this.text=TS(this.temporaryValue,this.format,this.selected12Hours),this.changedValue.value={text:this.text,value:this.temporaryValue})}clearTimeValue(){this.temporaryHours=void 0,this.temporaryMinutes=void 0,this.temporarySeconds=void 0,this.temporarySelected12Hours=void 0,this.temporaryValue=void 0}clear(){this.clearTimeValue(),this.update()}calculateViewHour(n){const o=this.temporarySelected12Hours||this.default12Hours;return o==="PM"&&n>12?n-12:o==="AM"&&n===0?12:n}}function gR(e,n,o,a,i,r){function l(f,d,p=0,g,m){const h=s(d,g,m),y=f.children[0].children[h]||f.children[0].children[0];c(f,y.offsetTop,p)}function s(f,d,p){if(d==="hour"){const g=e.disabledHours&&e.disabledHours();return u(g,o.value.map(m=>m.index).indexOf(f))}if(d==="minute"){const g=e.disabledMinutes&&e.disabledMinutes(p.hours);return u(g,a.value.map(m=>m.index).indexOf(f))}if(d==="second"){const g=e.disabledSeconds&&e.disabledSeconds(p.hours,p.minutes);return u(g,i.value.map(m=>m.index).indexOf(f))}return u([],r.value.map(g=>g.index).indexOf(f))}function c(f,d,p){if(p<=0){f.scrollTop=d;return}const m=(d-f.scrollTop)/p*10;gy(()=>{f.scrollTop+=m,f.scrollTop!==d&&c(f,d,p-10)})}function u(f,d){return f&&f.length&&e.hideDisabledElements?d-f.reduce((p,g)=>p+(g<d?1:0),0):d}return{scrollToSelected:l}}function hR(e,n){function o(s){return s.index===e.viewHours||!on(e.viewHours)&&s.index===e.defaultViewHours}function a(s){return s.index===e.minutes||!on(e.minutes)&&s.index===e.defaultMinutes}function i(s){return s.index===e.seconds||!on(e.seconds)&&s.index===e.defaultSeconds}function r(s){return s.value.toUpperCase()===e.selected12Hours||!on(e.selected12Hours)&&s.value.toUpperCase()===e.default12Hours}function l(s,c){let u="";const f=` ${n}-select-option-selected `,d=` ${n}-select-option-disabled `;let p=!1;return c==="hour"?p=o(s):c==="minute"?p=a(s):c==="second"?p=i(s):p=r(s),p&&(u+=f),c==="12-hour"||s.disabled&&(u+=d),u}return{getSelectedClass:l}}const Tl=t.defineComponent({name:"FTimePickerTimeView",props:pR,emits:["valueChange","formatedValueChange"],setup(e,n){const o=e.inDatePicker?"calendar-time-picker":"time-picker-panel",a=t.ref(0),i=t.ref([]),r=t.ref([]),l=t.ref([]),s=t.ref([]),c=t.ref(),u=t.ref(),f=t.ref(),d=t.ref(),p=new mR,{scrollToSelected:g}=gR(e,n,i,r,l,s),{getSelectedClass:m}=hR(p,o),h=t.ref(e.hourStep),y=t.ref(e.minuteStep),b=t.ref(e.secondStep),v=t.ref(),C=t.ref(""),w=t.ref(),S=t.ref(e.hideDisabledElements),T=t.ref(0);t.watch(()=>e.defaultOpenValue,j=>{on(j)&&(v.value=j)}),t.watch(v,j=>{on(j)&&p.setDefaultOpenValue(j)}),v.value=e.defaultOpenValue,t.watch(()=>p.changedValue.value,j=>{n.emit("valueChange",j)}),t.watch(()=>e.modelValue,j=>{x(j)}),t.watch(()=>e.format,j=>{on(j)?C.value=j:C.value="HH:mm:ss"}),t.watch(C,j=>{on(j)&&(p.setFormat(C.value),T.value=0,M.value&&T.value++,F.value&&T.value++,I.value&&T.value++,w.value&&(T.value++,_()),a.value=T.value*66)}),t.watch(()=>e.use12Hours,j=>{w.value=j}),t.watch(w,j=>{C.value=wm(C.value,j),p.setUse12Hours(j)}),t.watch(()=>e.disabledHours,()=>{D()}),t.watch(()=>e.disabledMinutes,()=>{$()}),t.watch(()=>e.disabledSeconds,()=>{B()});function x(j){if(on(j)&&j){p.text=j;const R=Cm(p.text,C.value);R?p.setValue(R,w.value):(p.setValue(new Date,w.value),p.update()),H()}else p.setUse12Hours(w.value)}function V(){let j=[];return e.disabledHours&&(j=e.disabledHours(),w.value&&(p.selected12Hours==="PM"?j=j.filter(R=>R>=12).map(R=>R>12?R-12:R):j=j.filter(R=>R<12||R===24).map(R=>R===24||R===0?12:R))),j}function N(j="hour"){return C.value?C.value.indexOf(j[0].toUpperCase())>-1||C.value.indexOf(j[0].toLowerCase())>-1:!1}const k=t.computed(()=>({"time-picker-panel":!0,"time-picker-panel-column-3":!0,"time-picker-panel-placement-bottomLeft":!0,"f-area-show":!0})),P=t.computed(()=>{const j={width:`${a.value}px`};return e.inDatePicker?{}:j}),M=t.computed(()=>N("hour")),F=t.computed(()=>N("minute")),I=t.computed(()=>N("second"));function E(j,R=1,z=0){return R=Math.ceil(R),new Array(Math.ceil(j/R)).fill(0).map((Q,K)=>(K+z)*R)}function A(){if(M.value&&c.value&&g(c.value,on(p.viewHours)?p.viewHours:p.defaultViewHours,0,"hour",p),F.value&&u.value&&g(u.value,on(p.minutes)?p.minutes:p.defaultMinutes,0,"minute",p),I.value&&f.value&&g(f.value,on(p.seconds)?p.seconds:p.defaultSeconds,0,"second",p),w.value&&d.value){const R=(on(p.selected12Hours)?p.selected12Hours:p.default12Hours)==="AM"?0:1;g(d.value,R,0,"12-hour",p)}}function D(){let j=24,R=0;w.value&&(j=12,R=1);const z=V();if(i.value=E(j,h.value,R).map(Q=>({index:Q,disabled:z.length>0&&z.indexOf(Q)!==-1})),w.value){const Q=i.value.filter(K=>K.index<=12);i.value=Q}i.value=i.value.filter(Q=>!(S.value&&Q.disabled))}function $(){r.value=E(60,y.value).map(j=>({index:j,disabled:!!e.disabledMinutes&&e.disabledMinutes(p.hours).indexOf(j)!==-1})),r.value=r.value.filter(j=>!(S.value&&j.disabled))}function B(){l.value=E(60,b.value).map(j=>({index:j,disabled:!!e.disabledSeconds&&e.disabledSeconds(p.hours,p.minutes).indexOf(j)!==-1})),l.value=l.value.filter(j=>!(S.value&&j.disabled))}function _(){const j=C.value.includes("A");s.value=[{index:0,value:j?"AM":"am"},{index:1,value:j?"PM":"pm"}],s.value=s.value.filter(()=>!S.value)}function O(j,R){if(j.stopPropagation(),p.setHours(R.index,R.disabled),!R.disabled){if(g(c.value,R.index,120,"hour",p),e.disabledMinutes!==null){$();const z=r.value.filter(Q=>!Q.disabled);if(!z.find(Q=>Q.index===p.minutes)){const{index:Q,disabled:K}=z[0];p.setMinutes(Q,K)}}(e.disabledSeconds!==null||e.disabledMinutes!==null)&&B()}}function L(j,R){j.stopPropagation(),p.selected12Hours=R.value,D(),$(),B(),g(d.value,R.index,120,"12-hour",p)}function W(j,R){if(j.stopPropagation(),p.setMinutes(R.index,R.disabled),!R.disabled&&(g(u.value,R.index,120,"minute",p),e.disabledSeconds!==null)){B();const z=l.value.filter(Q=>!Q.disabled);if(!z.find(Q=>Q.index===p.seconds)){const{index:Q,disabled:K}=z[0];p.setSeconds(Q,K)}}}function U(j,R){j.stopPropagation(),p.setSeconds(R.index,R.disabled),!R.disabled&&g(f.value,R.index,120,"second",p)}function H(){D(),$(),B(),_()}t.onMounted(()=>{C.value=wm(e.format,e.use12Hours),w.value=e.use12Hours,x(e.modelValue),H(),setTimeout(()=>{A()},10)}),n.expose({refresh:H});function q(){return e.showHeader?t.createVNode("div",{class:o+"-combobox time-picker-panel-header",style:P.value},[M.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"+F.value?"time-header-split":""},[e.headerLabels.hour])])]),F.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"+I.value?"time-header-split":""},[e.headerLabels.minute])])]),I.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"},[e.headerLabels.seconds])])]),e.use12Hours&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"},null)])])]):null}const Y=o+"-select "+(e.inDatePicker?"h-100":""),G=Ot()?{"overflow-y":"auto"}:{};return()=>t.createVNode("div",{class:k.value,style:"position: relative"},[t.createVNode("div",{class:{"farris-timer-picker":!0,"calendar-time-picker-panel h-100":e.inDatePicker}},[t.createVNode("div",{class:o+"-inner "+(e.inDatePicker?"h-100":"")},[q(),t.createVNode("div",{class:o+"-combobox d-flex h-100",style:P.value},[M.value&&t.createVNode("div",{class:Y,ref:c,style:G},[t.createVNode("ul",null,[i.value.map(j=>t.createVNode("li",{class:m(j,"hour"),onClick:R=>O(R,j)},[`${j.index}`.padStart(2,"0")]))])]),F.value&&t.createVNode("div",{class:Y,ref:u,style:G},[t.createVNode("ul",null,[r.value.map(j=>t.createVNode("li",{class:m(j,"minute"),onClick:R=>W(R,j)},[`${j.index}`.padStart(2,"0")]))])]),I.value&&t.createVNode("div",{class:Y,ref:f,style:G},[t.createVNode("ul",null,[l.value.map(j=>t.createVNode("li",{class:m(j,"second"),onClick:R=>U(R,j)},[`${j.index}`.padStart(2,"0")]))])]),w.value&&t.createVNode("div",{class:Y,ref:d},[t.createVNode("ul",null,[s.value.map(j=>t.createVNode("li",{class:m(j,"12-hour"),onClick:R=>L(R,j)},[`${j.value}`]))])])])])])])}}),yR={title:{type:String,default:""},modelValue:{type:String,default:""},format:{type:String,default:"HH:mm:ss"},maxTime:{type:String,default:void 0},minTime:{type:String,default:void 0},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},use12Hours:{type:Boolean,default:!1}};var oa=(e=>(e.Hour="hour",e.Minute="minute",e.Second="second",e.Period="period",e))(oa||{});const bR=(e,n)=>{const o="text",a="value",{beginTime:i,endTime:r,selectedValue:l,use12Hours:s,resetSelectedValue:c}=n,u=(b,v,C,w)=>{const S=[];let T=b;for(;T<=v;){let x=String(T).padStart(2,"0");x=w?w(T):x,x=e.optionFormatter?e.optionFormatter(C,x):x,S.push({[o]:x,[a]:T}),T++}return S},f=()=>{l.value||c();const[b,v,C,w]=l.value;return{hour:b,minute:v,second:C,period:w}},d=()=>{const b=i.value,v=r.value,C={begin:0,end:1};return C.begin=b.period,C.end=v.period,u(C.begin,C.end,"period",w=>w===0?"AM":"PM")},p=b=>{const v=i.value,C=r.value,w={begin:0,end:23};let S;return s.value?(w.end=11,S=T=>T===0?"12":String(T).padStart(2,"0"),b<=v.period&&(w.begin=v.hour),b>=C.period&&(w.end=C.hour)):(w.begin=v.hour,w.end=C.hour),u(w.begin,w.end,"hour",S)},g=(b,v)=>{const C=i.value,w=r.value,S={begin:0,end:59};return s.value?(b<=C.period&&v<=C.hour&&(S.begin=C.minute),b>=w.period&&v>=w.hour&&(S.end=w.minute)):(v<=C.hour&&(S.begin=C.minute),v>=w.hour&&(S.end=w.minute)),u(S.begin,S.end,"minute")},m=(b,v,C)=>{const w=i.value,S=r.value,T={begin:0,end:59};return s.value?(b<=w.period&&v<=w.hour&&C<=w.minute&&(T.begin=w.second),b>=S.period&&v>=S.hour&&C>=S.minute&&(T.end=S.second)):(v<=w.hour&&C<=w.minute&&(T.begin=w.second),v>=S.hour&&C>=S.minute&&(T.end=S.second)),u(T.begin,T.end,"second")},h=t.computed(()=>{const b=[];return(e.format.includes("HH")||e.format.includes("hh"))&&b.push(oa.Hour),e.format.includes("mm")&&b.push(oa.Minute),e.format.includes("ss")&&b.push(oa.Second),s.value&&b.push(oa.Period),b}),y=t.computed(()=>{const b=f(),v=d(),C=p(b.period),w=g(b.period,b.hour),S=m(b.period,b.hour,b.minute);return h.value.map(T=>{switch(T){case oa.Hour:return C;case oa.Minute:return w;case oa.Second:return S;case oa.Period:return v;default:return S}})});return{textField:o,valueField:a,timeColumns:y}},vR=e=>{const n="text",o="value",a=t.computed(()=>e.format.includes("a")),i=t.ref([]),r=t.ref({hour:0,minute:0,second:0,period:0}),l=()=>{if(!e.minTime)return;const{hour:p,minute:g,second:m}=Vs(e.minTime);if(a.value){const h=p>=12?1:0;r.value={hour:p%12,minute:g,second:m,period:h}}else r.value={hour:p,minute:g,second:m,period:0}};t.watch(()=>e.minTime,l);const s=t.ref({hour:23,minute:59,second:59,period:0}),c=()=>{if(!e.maxTime){a.value&&(s.value={hour:11,minute:59,second:59,period:1});return}const{hour:p,minute:g,second:m}=Vs(e.maxTime);if(a.value){const h=p>=12?1:0;s.value={hour:p%12,minute:g,second:m,period:h}}else s.value={hour:p,minute:g,second:m,period:0}};t.watch(()=>e.maxTime,c);const u=p=>{const{hour:g,minute:m,second:h}=p?Vs(p,e.format):Eo(new Date);if(a.value){const y=g>=12?1:0;i.value=[g%12||0,m,h,y]}else i.value=[g,m,h]},f=p=>{if(p&&i.value){const{index:g,value:m}=p;i.value[g]=m[o]}},d=()=>{if(!i.value)return"";const[p=0,g=0,m=0,h=0]=i.value;return uy({hour:p,minute:g,second:m,period:h},e.format)};return t.watch(()=>e.modelValue,p=>{l(),c(),u(p)},{immediate:!0}),{textField:n,valueField:o,beginTime:r,endTime:s,selectedValue:i,use12Hours:a,getSelectedValue:d,resetSelectedValue:u,updateSelectedValue:f}},NS=t.defineComponent({inheritAttrs:!1,props:yR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,a=vR(e),{textField:i,valueField:r,selectedValue:l,getSelectedValue:s,resetSelectedValue:c,updateSelectedValue:u}=a,{timeColumns:f}=bR(e,a),d=h=>{u(h),o("change",s())},p=()=>{o("confirm",s())},g=()=>{c(e.modelValue),o("cancel")},{bem:m}=bn("FTouchTimePickerContainer");return()=>t.createVNode(cp,{class:m(),modelValue:l.value,"onUpdate:modelValue":h=>l.value=h,title:e.title,columns:f.value,valueField:r,textField:i,showToolbar:e.showToolbar,visiableOptionCount:e.visiableOptionCount,onChange:d,onConfirm:p,onCancel:g},null)}});function CR(e){const{getLocaleValue:n}=Ce;function o(r,l,s){return l===s?n(r):l||""}const a=o("timePicker.placeholder",e.placeholder,"请选择时间"),i={hour:o("timePicker.time.hour"),minute:o("timePicker.time.minute"),seconds:o("timePicker.time.seconds")};return{placeholder:a,headerLabels:i}}const ui=t.defineComponent({name:"FTimePicker",props:vm,emits:["update:modelValue","valueChange","clear","expandClick"],setup(e,n){const o='<span class="f-icon f-icon-timepicker"></span>',a=t.ref(e.modelValue),i=t.ref(null),r=t.ref(),l=CR(e),s=t.computed(()=>wm(e.format,e.use12Hours));function c(){a.value="",n.emit("clear")}function u(){if(a.value){const m=Cm(a.value,s.value);a.value=TS(m,s.value)}}function f(){Ot()||u()}function d(m){a.value=m.text}function p(){i.value&&i.value.hidePopup()}u(),t.watch(()=>e.modelValue,m=>{a.value=m}),t.watch(a,m=>{n.emit("valueChange",m),n.emit("update:modelValue",m)});const g=()=>{n.emit("expandClick")};return()=>t.createVNode(go,{ref:i,modelValue:a.value,"onUpdate:modelValue":m=>a.value=m,disable:e.disabled,readonly:e.readonly,editable:e.editable,buttonContent:o,placeholder:l.placeholder,enableClear:e.enableClear,popupOnClick:!0,keepWidthWithReference:!1,placement:Ot()?"bottom":e.placement,onClear:c,onBlur:f,popupMinWidth:132,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:g},{default:()=>[Ot()?t.createVNode(NS,{modelValue:a.value,format:s.value,onConfirm:m=>{d({text:m}),p()},onCancel:p},null):t.createVNode(Tl,t.mergeProps({ref:r},e,{headerLabels:l.headerLabels,onValueChange:d}),null)]})}});ui.install=e=>{e.component(ui.name,ui).component(Tl.name,Tl)};const kS={1:"一月",2:"二月",3:"三月",4:"四月",5:"五月",6:"六月",7:"七月",8:"八月",9:"九月",10:"十月",11:"十一月",12:"十二月"},FS={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:di.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:kS},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}},wR={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"}},Sm=t.defineComponent({name:"FDatePickerMonthView",props:wR,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.months),a=t.ref(e.enableMarkCurrent),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enablePeriod),l=t.ref(e.selected),s=t.ref(e.selectedPeriod),{inPeriod:c,isInitializedDate:u,equalOrEarlier:f}=Pa(),{getKeyCodeFromEvent:d}=mm();t.watch(()=>e.months,()=>{o.value=e.months}),t.watch(()=>e.selected,()=>{l.value=e.selected}),t.watch(()=>e.selectedPeriod,S=>{s.value=S});function p(S,T){S.stopPropagation(),!T.disable&&n.emit("click",T.date)}function g(S,T){const x=d(S);x!==jo.tab&&(S.preventDefault(),x===jo.enter||x===jo.space?p(S,T):i.value&&n.emit("keyDown",T))}function m(S){s.value&&u(s.value.from)&&!u(s.value.to)&&(o.value.forEach(T=>{T.forEach(x=>{x.range=!!s.value&&(f(s.value.from,x.date)&&f(x.date,S.date)||f(x.date,s.value.from)&&f(S.date,x.date))})}),n.emit("mouseEnter",S))}function h(){o.value.forEach(S=>{S.forEach(T=>{T.range=!1})}),n.emit("mouseLeave")}const y=(S,T)=>S.year===T.year&&S.month===T.month;function b(S){return!!l.value&&y(l.value,S)}function v(S){return!!s.value&&(y(s.value.from,S)||y(s.value.to,S))}function C(S){return c(S,s.value)}const w=S=>({"f-datepicker-month-cell":!0,"f-datepicker-current":S.isCurrent&&a.value,"f-datepicker-selected":(!r.value||e.selectMode==="week")&&b(S.date)||r.value&&v(S.date),"f-datepicker-disabled":S.disable,"f-datepicker-range":C({...S.date,day:1})||S.range});return()=>t.createVNode("div",{class:"f-datepicker-table-wrapper"},[t.createVNode("table",{class:"f-datepicker-table"},[t.createVNode("tbody",null,[o.value&&o.value.map((S,T)=>t.createVNode("tr",null,[S.map((x,V)=>t.createVNode("td",{id:`m_${T}_${V}`,class:`m_${T}_${V}`,onKeydown:N=>g(N,x),onMouseenter:()=>m(x),onMouseleave:()=>h(),tabindex:"0",style:"width: 33.3%"},[t.createVNode("div",{class:"f-datepicker-month",onClick:N=>p(N,x)},[t.createVNode("span",{class:w(x)},[x.displayText])])]))]))])])])}}),SR={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"}},Vm=t.defineComponent({name:"FDatePickerYearView",props:SR,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.years),a=t.ref(e.enableMarkCurrent),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enablePeriod),l=t.ref(e.selected),s=t.ref(e.selectedPeriod),{equal:c,isInitializedDate:u,equalOrEarlier:f}=Pa(),{getKeyCodeFromEvent:d}=mm();t.watch(()=>e.years,()=>{o.value=e.years}),t.watch(()=>e.selected,()=>{l.value=e.selected});const p=(S,T)=>{const x=`y_${S}_${T}`,V={"f-datepicker-no-currmonth":S===0&&T===0||S===3&&T===2};return V[x]=!0,V};function g(S){if(!s.value)return!1;const{from:T,to:x}=s.value;return!u(x)||!u(T)?!1:S!=null&&S.year&&(T!=null&&T.year)&&(x!=null&&x.year)?S.year>=T.year&&S.year<=x.year:!1}function m(S){return!!l.value&&c({year:l.value.year},S)}function h(S){return!!s.value&&(c({year:s.value.from.year},S)||c({year:s.value.to.year},S))}const y=S=>({"f-datepicker-year-cell":!0,"f-datepicker-current":S.isCurrent&&a.value,"f-datepicker-selected":(!r.value||e.selectMode==="week")&&m(S.date)||r.value&&h(S.date),"f-datepicker-disabled":S.disable,"f-datepicker-range":g(S.date)||S.range});function b(S,T){S.stopPropagation(),!T.disable&&n.emit("click",T)}function v(S,T){const x=d(S);x!==jo.tab&&(S.preventDefault(),x===jo.enter||x===jo.space?b(S,T):i.value&&n.emit("keyDown",T))}function C(S){s.value&&u(s.value.from)&&!u(s.value.to)&&(o.value.forEach(T=>{T.forEach(x=>{x.range=!!s.value&&(f(s.value.from,x.date)&&f(x.date,S.date)||f(x.date,s.value.from)&&f(S.date,x.date))})}),n.emit("mouseEnter",S))}function w(){o.value.forEach(S=>{S.forEach(T=>{T.range=!1})}),n.emit("mouseLeave")}return()=>t.createVNode("table",{class:"f-datepicker-table-wrapper"},[t.createVNode("tbody",{class:"f-datepicker-table"},[o.value&&o.value.map((S,T)=>t.createVNode("tr",null,[S.map((x,V)=>t.createVNode("td",{id:"y_{yi}_{i}",class:p(T,V),onKeydown:N=>v(N,x),onMouseenter:()=>C(x),onMouseleave:()=>w(),tabindex:"0"},[t.createVNode("div",{class:"f-datepicker-year",onClick:N=>b(N,x)},[t.createVNode("span",{class:y(x)},[x.year])])]))]))])])}});function Nl(){function e(i){return new Date(i.year||0,(i.month||1)-1,i.day,i.hour?i.hour:0,i.minute?i.minute:0,i.second?i.second:0,0).getDay()}function n(i){if(!i)return 1;if(!/^\d+$/.test(i.value))return-1;let r=Number(i.value);return(i.format.length===1&&i.value.length!==1&&r<10||i.format.length===1&&i.value.length!==2&&r>=10||i.format.length===2&&i.value.length>2)&&(r=-1),r}function o(i,r){if(i.value){for(let l=1;l<=12;l++)if(i.value.toLowerCase()===r[l].toLowerCase())return l}return-1}function a(i){const r=new Date(i.year||0,(i.month||1)-1,i.day,0,0,0,0);return r.setDate(r.getDate()+(r.getDay()===0?-3:4-r.getDay())),Math.round((r.getTime()-new Date(r.getFullYear(),0,4).getTime())/864e5/7)+1}return{getNumberByValue:n,getDayNumber:e,getMonthNumberByMonthName:o,getWeekNumber:a}}function MS(e,n,o,a,i,r,l,s){const{getTimeInMilliseconds:c,getWeekdayIndex:u}=_o(),{isInitializedDate:f}=Pa(),{getDayNumber:d}=Nl();function p(g){if(g.year&&g.year<e||g.year&&g.year>n)return!0;const m=c(g),h=g.hour!==void 0;if(f(a)&&(h?m:m+24*60*60*1e3-1)<c(a)||f(o)&&m>c(o))return!0;if(l){const b=d(g);if(b===0||b===6)return!0}const y=d(g);return!!(s.length>0&&s.find(v=>u(v)===y)||i.length>0&&i.find(v=>(v.year===0||v.year===g.year)&&(v.month===0||v.month===g.month)&&v.day===g.day)||r.length>0&&r.find(v=>f(v.from)&&f(v.to)&&m>=c(v.from)&&m<=c(v.to)))}return{isDisabledDate:p}}function VR(){const{getDayNumber:e}=Nl();function n(a,i,r){let l=[];l=i.reduce((c,u)=>{const f=u.dates.map(d=>({date:d,color:u.color}));return[...c,...f]},l);const s=l.find(c=>(c.date.year===0||c.date.year===a.year)&&(c.date.month===0||c.date.month===a.month)&&c.date.day===a.day);if(s)return{marked:!0,color:s.color};if(r&&r.marked){const c=e(a);if(c===0||c===6)return{marked:!0,color:r.color}}return{marked:!1,color:""}}function o(a,i,r,l){const s=e(a);return i&&s===0||r&&s===6?!0:!!l.find(u=>(u.year===0||u.year===a.year)&&(u.month===0||u.month===a.month)&&u.day===a.day)}return{isHighlightedDate:o,isMarkedDate:n}}function xR({isDisabledDate:e}){const{getToday:n}=_o(),{daysInMonth:o,daysInPreMonth:a}=ym(),{isHighlightedDate:i,isMarkedDate:r}=VR(),{getWeekNumber:l}=Nl();function s(d){const p=ir.indexOf(d);return p>0?7-p:0}function c(d,p,g){const m=new Date;m.setDate(1),m.setMonth(p-1),m.setFullYear(d);const h=m.getDay()+g;return h>=7?h-7:h}function u(d,p,g,m,h){return d===h.day&&p===h.month&&g===h.year&&m===ao.current}function f(d,p,g,m,h,y,b,v,C){const w=[],S=n(),T=c(p,d,s(g)),x=o(d,p),V=a(d,p);let N=1,k=ao.previous;for(let P=1;P<7;P++){const M=[];if(P===1){const E=V-T+1;for(let D=E;D<=V;D++){const $={year:d===1?p-1:p,month:d===1?12:d-1,day:D},B=u(D,d,p,k,S),_=e($),O=r($,m,h),L=i($,v,b,y);M.push({date:$,tag:k,isCurrent:B,disable:_,marked:O,highlight:L})}k=ao.current;const A=7-M.length;for(let D=0;D<A;D++){const $={year:p,month:d,day:N},B=u(N,d,p,k,S),_=e($),O=r($,m,h),L=i($,v,b,y);M.push({date:$,tag:k,isCurrent:B,disable:_,marked:O,highlight:L}),N++}}else for(let E=1;E<=7;E++){N>x&&(N=1,k=ao.next);const A={year:k===ao.next&&d===12?p+1:p,month:k===ao.current?d:k===ao.next&&d<12?d+1:1,day:N},D=u(N,d,p,k,S),$=e(A),B=r(A,m,h),_=i(A,v,b,y);M.push({date:A,tag:k,isCurrent:D,disable:$,marked:B,highlight:_}),N++}const F=g===di.Monday?0:6,I=l(M[F].date);w.push({days:M,numberInTheYear:I,year:p})}return w}return{generateCalendar:f}}function TR(){const{getToday:e}=_o();function n(o,a,i,r,l,s){const c=[],u=o-o%10,{year:f,month:d}=a,p=e(),g=3,m=u+10;for(let h=u-1;h<m;h+=g){const y=[];for(let b=h;b<h+g;b++){const v=b<i||b>r;y.push({year:b,isCurrent:b===p.year,selected:b===f,disable:v,date:{year:b}})}c.push(y)}return c}return{generateYears:n}}function NR(){function e(i,r,l){const s=[];if(l){let c=l[0];l[0]!==l[1]&&(c=l[0]+l[1],l[2]&&l[1]!==l[2]&&(c+=l[2]));const u=new RegExp("["+c+"]"),f=i.split(u),d=r.split(u);for(let p=0;p<d.length;p++)d[p].indexOf("yyyy")!==-1&&(s[0]={value:f[p],format:d[p]}),d[p].indexOf("M")!==-1&&(s[1]=f[p]===void 0?{value:"1",format:d[p]}:{value:f[p],format:d[p]}),d[p].indexOf("d")!==-1&&(s[2]=f[p]===void 0?{value:"1",format:d[p]}:{value:f[p],format:d[p]})}else{const c=(r+"").indexOf("yyyy"),u=(r+"").indexOf("MM"),f=(r+"").indexOf("dd");c>=0&&(s[0]={value:i.substring(c,c+4),format:r.substring(c,c+4)}),u>=0&&(s[1]={value:i.substring(u,u+2),format:r.substring(u,u+2)}),f>=0&&(s[2]={value:i.substring(f,f+2),format:r.substring(f,f+2)})}return s}function n(i){return i<10?"0"+Number(i):String(i)}function o(i,r){const l=i.match(/[^(DdMmYy)]{1,}/g),s=i.indexOf(r);return s<0?i:s===0?l?i.substring(3):i.substring(2):s+2===i.length?l?i.substring(0,i.length-3):i.substring(0,i.length-2):l?i.substring(0,s)+i.substring(s+3):i.substring(0,s)+i.substring(s+2)}function a(i,r,l){!i.month&&r.indexOf("MM")===-1&&(r=o(r,"MM")),!i.day&&r.indexOf("dd")===-1&&(r=o(r,"dd"));let s=r.replace("yyyy",String(i.year));return r.indexOf("M")===-1?s=s.replace("MM","01"):(r.indexOf("MMM")!==-1&&(s=s.replace("MMM",l[i.month||1])),r.indexOf("MM")!==-1?s=s.replace("MM",n(i.month||1)):s=s.replace("M",String(i.month||1))),r.indexOf("dd")===-1?s=s.replace("dd","01"):r.indexOf("dd")!==-1?s=s.replace("dd",n(i.day||1)):s=s.replace("d",String(i.day||1)),s=s.replace("MM","mm").replace("HH",n(i.hour||0)).replace("mm",n(i.minute||0)).replace("ss",n(i.second||0)),s&&s.length>2?s:""}return{getDateValue:e,formatDate:a,preZero:n,remove:o}}function xm(e){const{displayFormat:n,minYear:o,maxYear:a,selectMode:i,valueFormat:r,showTime:l,periodDelimiter:s}=e,{emptyDate:c,getToday:u}=_o(),{getDateValue:f,preZero:d}=NR(),{getNumberByValue:p,getMonthNumberByMonthName:g,getWeekNumber:m}=Nl(),{isInitializedDate:h,isDateEarlier:y}=Pa(),{isDisabledDate:b}=MS(e.minYear,e.maxYear,e.disableSince,e.disableUntil,e.disableDates,e.disablePeriod,e.disableWeekends,e.disableWeekdays),v=t.ref(e.nameOfMonths),C=[31,28,31,30,31,30,31,31,30,31,30,31];function w(){const P=u(),M=P.year,F=P.month;switch(i){case"month":return{startMonth:{month:0,year:M},endMonth:{month:0,year:M+1}};case"year":return{startMonth:{month:0,year:M},endMonth:{month:0,year:M+10}};default:{const I={month:F,year:M};let E={month:F+1,year:M};return F>=12&&(E={month:1,year:M+1}),{startMonth:I,endMonth:E}}}}function S(P,M=!1){let F=l,I=n,E=P;return M&&(I=r.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),E=E.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),(E[E.length-1]==="-"||E[E.length-1]===":")&&(E=E.substring(0,E.length-1)),!l&&r.toLocaleLowerCase().indexOf("hh:mm")>-1&&(F=!0)),{actualFormat:I,shouldDisplayTime:F,targetDateString:E}}function T(P,M=!1){const F={year:0,month:0,day:0};if(!P)return F;const{actualFormat:I,shouldDisplayTime:E,targetDateString:A}=S(P,M),D=I.indexOf("MMM")!==-1;let $=A,B=0,_=0,O=0,L=I.match(/[^(DdMmYy)]{1,}/g);if(E&&A){$=A.split(" ")[0],Object.assign(F,{hour:0,minute:0,second:0});const Y=A.split(" ")[1];if(Y){const G=Y.replace("时",":").replace("分",":").replace("秒","").split(":");G[0]&&(B=Number(G[0].substr(0,2)),B=isNaN(B)?0:B),G[1]&&(_=Number(G[1].substr(0,2)),_=isNaN(_)?0:_),G[2]&&(O=Number(G[2].substr(0,2)),O=isNaN(O)?0:O)}else if(L=null,/^\d{1,}$/.test(A)){const j=I;$=A.substr(0,8);let R=A.substr(8);R&&(j.includes("HH")&&R&&(B=+R.slice(0,2),R=R.slice(2)),j.includes("mm")&&R&&(_=+R.slice(0,2),R=R.slice(2)),j.includes("ss")&&R&&(O=+R.slice(0,2)))}}else $=A?A.split(" ")[0]:"";const W=f($,I,L),U=p(W[0]),H=D?g(W[1],v.value):p(W[1]),q=p(W[2]);if(i==="year")return{year:U,month:1,day:1};if(H!==-1&&q!==-1&&U!==-1){if(U<o||U>a||H<1||H>12)return F;const Y=l?{year:U,month:H,day:q,hour:B,minute:_,second:O}:{year:U,month:H,day:q};return b(Y)||((U%400===0||U%100!==0&&U%4===0)&&(C[1]=29),q<1||q>C[H-1])?F:i==="month"?{year:Y.year,month:Y.month}:i==="year"?{year:Y.year}:Y}return F}function x(P){let M={from:{year:0,month:0,day:0},to:{year:0,month:0,day:0}};if(P&&P.length){const F=P.split(s||"~");if(F&&F.length===2){const[I,E]=F;let A=I?T(I,!0):null,D=E?T(E,!0):null;if(!A&&D&&(A={...D}),!D&&A&&(D={...A}),!A&&!D)return M;M={from:A,to:D}}}return M}function V(P,M){const{from:F,to:I}=P,E=h(F),A=h(I)&&JSON.stringify(F)!==JSON.stringify(I);if(E&&A)P.from=M,P.to=c();else if(!E)P.from=M,!A&&e.showTime&&(P.to=M);else{if(y(M,F)){const $=F;P.to=$,P.from=M}else P.to=M;return{from:P.from,to:P.to,emit:!0}}return{from:P.from,to:P.to}}function N(P){const M=d(P.getHours()),F=d(P.getMinutes()),I=d(P.getSeconds());return`${M}:${F}:${I}`}function k(P){const M=x(P),F=M.from,I=M.to;if(h(F)&&h(I)){const E=d(F.hour||0),A=d(F.minute||0),D=d(F.second||0),$=`${E}:${A}:${D}`,B=d(I.hour||0),_=d(I.minute||0),O=d(I.second||0),L=`${B}:${_}:${O}`,W={year:F.year||1,month:F.month||1,displayTextOfMonth:v.value[F.month||"1"],displayTextOfYear:`${F.year}`},U={year:I.year||1,month:I.month||1,displayTextOfMonth:v.value[I.month||"1"],displayTextOfYear:`${I.year}`};if(F.month===I.month&&F.year===I.year)if(!P)U.month>=12?(U.month=1,U.year=U.year+1):(U.month=U.month+1,i==="month"&&(U.year=U.year+1),U.displayTextOfMonth=v.value[U.month]);else{const G=P.split("~"),j=G[0],R=G[1];!j&&R?(W.month===1?(W.year=W.year-1,W.month=12):W.month=W.month-1,W.displayTextOfMonth=v.value[W.month]):(U.month===12?(U.year=U.year+1,U.month=1):U.month=U.month+1,U.displayTextOfMonth=v.value[U.month])}else i==="month"&&F.year===I.year&&(U.year=U.year+1);U.displayTextOfYear=`${U.year}`;const H=e.firstDayOfTheWeek===di.Sunday?I:F,Y={numberInTheYear:m(H),year:H.year};return{beginDateActiveMonth:W,endDateActiveMonth:U,dateRange:M,beginTime:$,endTime:L,selectedWeekInfo:Y}}return{dateRange:M}}return{normalizeDate:T,normalizeDateRange:x,setNewDateRange:V,getActiveMonth:k,getTimeStr:N,getMonthAndYear:w}}function kR(){function e(n,o){if(o===di.Monday){n.setDate(n.getDate()-(n.getDay()+6)%7);const a={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};n.setDate(n.getDate()+6);const i={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};return{from:a,to:i}}else{n.getDay()!==0&&n.setDate(n.getDate()-n.getDay());const a={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};n.setDate(n.getDate()+6-n.getDay());const i={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};return{from:a,to:i}}}return{getNowWeekTime:e}}function nd(e,n=0){return ba(Vo(e,{weekStartsOn:n}),n?0:1)}function FR(e,n){const{locales:o}=e,{quickSelectors:a}=o,i=e.showTime?AF(Date.now()):QF(),r=e.firstDayOfTheWeek==="Mon"?1:0,l=[{label:"今天",value:i,description:"选择今天日期",code:"today"},{label:"昨天",value:Rr(i,1),description:"选择昨天日期",code:"yesterday"},{label:"明天",value:ba(i,1),description:"选择明天日期",code:"tomorrow"},{label:"本周一",value:nd(i,r),description:"本周一",code:"thisMonday"},{label:"下周一",value:ba(nd(i,r),7),description:"下周一",code:"nextMonday"},{label:"本月初",value:Zu(i),description:"本月第一天",code:"firstDayOfMonth"},{label:"本月末",value:Xu(i),description:"本月最后一天",code:"lastDayOfMonth"},{label:"年初",value:Dr(i),description:"今年第一天",code:"firstDayOfYear"},{label:"年末",value:Cs(i),description:"今年最后一天",code:"lastDayOfYear"},{label:"本季度初",value:Ju(i),description:"本季度第一天",code:"firstDayOfQuarter"},{label:"本季度末",value:ef(i),description:"本季度最后一天",code:"lastDayOfQuarter"}],s=[{label:"今天",value:[i,i],description:"选择今天日期",code:"today"},{label:"昨天",value:[Rr(i,1),Rr(i,1)],description:"选择昨天日期",code:"yesterday"},{label:"本周",value:[Vo(i,{weekStartsOn:r}),Uh(i,{weekStartsOn:r})],description:"本周一至周日",code:"thisWeek"},{label:"上周",value:[Vo(ba(nd(i,r),-7),{weekStartsOn:r}),Uh(ba(nd(i,r),-7),{weekStartsOn:r})],description:"上周一至周日",code:"lastWeek"},{label:"过去7天",value:[Rr(i,6),i],description:"7天前至今天",code:"past7Days"},{label:"过去30天",value:[Rr(i,29),i],description:"30天前至今天",code:"past30Days"},{label:"本月",value:[Zu(i),Xu(i)],description:"本月1号至月末",code:"thisMonth"},{label:"上月",value:[Zu(cf(i,1)),Xu(cf(i,1))],description:"上月1号至月末",code:"lastMonth"},{label:"最近三个月",value:[cf(i,2),i],description:"3个月前至今天",code:"recent3Months"},{label:"本季度",value:[Ju(i),ef(i)],description:"本季度第1天至本季度最后1天",code:"thisQuarter"},{label:"上季度",value:[Ju(cy(i)),ef(cy(i))],description:"上季度第1天至最后1天",code:"lastQuarter"},{label:"去年",value:[Dr(dy(i)),Cs(dy(i))],description:"去年1月1日至12月31日",code:"lastYear"},{label:"今年",value:[Dr(i),Cs(i)],description:"本年1月1日至12月31日",code:"thisYear"},{label:"明年",value:[Dr(Ku(i,1)),Cs(Ku(i,1))],description:"明年1月1日至12月31日",code:"nextYear"}],c=f=>f.map(d=>(d.label=a[d.code]||d.label,d));return{quickSelectorList:{single:c(l),range:c(s)}}}function MR(){const{equal:e,isDateEarlier:n}=Pa();function o(r,l,s){const c=r.hour||0,u=l.hour||0,f=[],d={year:s.year,month:s.month,day:s.day},p={year:r.year,month:r.month,day:r.day},g={year:l.year,month:l.month,day:l.day};if(n(d,p))return Array.from({length:24},(m,h)=>h);if(n(g,d))return Array.from({length:24},(m,h)=>h);if(e(d,p))for(let m=0;m<c;m++)f.push(m);if(e(d,g))for(let m=u+1;m<24;m++)f.push(m);return f}function a(r,l,s,c){const u=l.hour||0,f=l.minute||0,d=r.hour||0,p=r.minute||0,g=[],m={year:c.year,month:c.month,day:c.day},h={year:r.year,month:r.month,day:r.day},y={year:l.year,month:l.month,day:l.day};if(n(m,h)||n(y,m))return Array.from({length:60},(b,v)=>v);if(e(m,h)){if(s<d)return Array.from({length:60},(b,v)=>v);if(s===d)for(let b=0;b<p;b++)g.push(b)}if(e(m,y)){if(s>u)return Array.from({length:60},(b,v)=>v);if(s===u)for(let b=f+1;b<60;b++)g.push(b)}return g}function i(r,l,s,c,u){const f=l.hour||0,d=l.minute||0,p=l.second||0,g=r.hour||0,m=r.minute||0,h=r.second||0,y=[],b={year:u.year,month:u.month,day:u.day},v={year:r.year,month:r.month,day:r.day},C={year:l.year,month:l.month,day:l.day};if(n(b,v)||n(C,b))return Array.from({length:60},(w,S)=>S);if(e(b,v)){if(s<g)return Array.from({length:60},(w,S)=>S);if(s===g){if(c<m)return Array.from({length:60},(w,S)=>S);if(c===m)for(let w=0;w<h;w++)y.push(w)}}if(e(b,C)){if(s>f)return Array.from({length:60},(w,S)=>S);if(s===f){if(c>d)return Array.from({length:60},(w,S)=>S);if(c===d)for(let w=p+1;w<60;w++)y.push(w)}}return y}return{getDisabledHours:o,getDisabledMinutes:a,getDisabledSeconds:i}}const rr=t.defineComponent({name:"FDateView",props:FS,emits:["datePicked","confirm"],setup(e,n){var ZT,eN,tN;const o=t.ref(),a=t.ref(""),i=t.ref(e.defaultTime||""),r=t.ref(""),l=t.ref(e.mode),s=t.ref(e.top),c=t.ref(e.left),u=t.ref(e.position),f=t.ref(e.enablePeriod),d=t.ref(e.selectMode),p=t.ref(e.dateFormat),g=t.ref(e.nameOfMonths),m=t.ref(e.valueFormat),h=t.ref(!1),y=t.ref(!1),b=t.ref(!1),v=t.ref(!1),C=t.ref(!1),w=t.ref(!1),S=t.ref(!1),T=t.ref(!1),x=t.ref(!1),V=t.ref(!1),N=t.ref(!1),k=t.ref(!1),P=t.ref(!1),M=t.ref([]),F=t.ref(e.enableKeyboadNavigate),I=t.ref(e.enableMarkCurrent),E=t.ref(e.firstDayOfTheWeek),A=t.ref(e.showWeekNumber),D=t.ref(e.selectedDate),$=t.ref(e.selectedSecondDate),B=t.ref(e.value),_=t.ref(e.selectedWeek),O=t.ref(e.weekTitle),L=t.ref(e.selectedMonth),W=t.ref(e.minYear),U=t.ref(e.maxYear),H=t.ref(e.disableSince),q=t.ref(e.disableUntil),Y=t.ref(e.disableDates),G=t.ref(e.disablePeriod),j=t.ref(e.disableWeekdays),R=t.ref(e.disableWeekends),{quickSelectorList:z}=FR(e),{getToday:Q,getDateObject:K,getTimeValue:Z,getEndTimeValue:ae,emptyDate:ee,convertDateToDateObject:te,getNearDate:le}=_o(),{setNewDateRange:ye,getActiveMonth:be,getTimeStr:de,getMonthAndYear:J}=xm(e),ne=t.ref({from:{...ee()},to:{...ee()}});function oe(){const{weekDayLabels:ve}=e.locales,je=[],Oe=ir.indexOf(E.value);if(Oe!==-1){let et=Oe;for(let $t=0;$t<ir.length;$t++)je.push(ve[ir[et]]),et=ir[et]==="Sat"?0:et+1}return je}M.value=oe(),(ZT=e.locales)!=null&&ZT.weekTitle&&(O.value=e.locales.weekTitle);const ce=MS(W.value,U.value,H.value,q.value,Y.value,G.value,R.value,j.value),{formatTo:se,parseToDate:we}=Fn(),{isMonthDisabledByDisableSince:Ke,isMonthDisabledByDisableUntil:mt}=hm(),{generateCalendar:Se}=xR(ce),{generateMonths:Me,getNextMonth:fe,getPreviousMonth:Ve,daysInMonth:Ie}=ym(),{getNowWeekTime:xe}=kR(),{getWeekNumber:me}=Nl(),{generateYears:Be}=TR(),{equalOrEarlier:ue,isInitializedDate:_e,isDateEarlier:pe}=Pa();let Fe=Q();Fe=ce.isDisabledDate(Fe)?le(Fe,q.value,H.value):Fe;const Qe=t.computed(()=>{const ve=ge.cloneDeep(Fe),je=B.value&&!f.value?we(B.value,m.value):null;return je?K(se(je,"yyyy-MM-dd"),"yyyy-MM-dd"):ve});if(B.value&&!f.value){const ve=we(B.value,m.value);ve&&(D.value=K(se(ve,"yyyy-MM-dd"),"yyyy-MM-dd"))}const tt=t.ref({year:Qe.value.year||1,month:Qe.value.month||1,displayTextOfMonth:g.value[Qe.value.month||"1"],displayTextOfYear:`${Qe.value.year}`}),Tt=t.ref(ge.cloneDeep(tt.value));L.value={year:(eN=D.value)==null?void 0:eN.year,month:(tN=D.value)==null?void 0:tN.month};const{endMonth:xt}=J(),Ye=xt.year,Te=xt.month,re=t.ref({year:Ye,month:Te,displayTextOfMonth:g.value[Te],displayTextOfYear:`${Ye}`}),Ae=t.ref(ge.cloneDeep(re.value)),qe=t.computed(()=>Se(tt.value.month,tt.value.year,E.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,A.value));t.watch(()=>e.defaultTime,ve=>{i.value=ve||""});const rt=t.ref(qe.value);t.watch(()=>qe.value,(ve,je)=>{rt.value=ve}),t.watch(()=>e.disableUntil,ve=>{q.value=ve}),t.watch(()=>e.disableSince,ve=>{H.value=ve});const Ct=t.computed(()=>Se(re.value.month,re.value.year,E.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,A.value)),ke=t.ref(Ct.value);t.watch(()=>Ct.value,(ve,je)=>{ke.value=ve});const ze=t.computed(()=>Me(g.value,{year:tt.value.year,month:tt.value.month},H.value,q.value)),nt=t.ref(ze.value);t.watch(()=>ze.value,(ve,je)=>{nt.value=ve});const ut=t.computed(()=>Be(tt.value.year,{year:tt.value.year,month:tt.value.month},W.value,U.value,H.value,q.value)),Ne=t.ref(ut.value);t.watch(()=>ut.value,(ve,je)=>{Ne.value=ve});const Ee=t.computed(()=>Be(re.value.year,{year:re.value.year,month:re.value.month},W.value,U.value,H.value,q.value)),Ue=t.ref(Ee.value);t.watch(()=>Ee.value,(ve,je)=>{Ue.value=ve});const Je=t.computed(()=>Me(g.value,{year:re.value.year,month:re.value.month},H.value,q.value)),dt=t.ref(Je.value);t.watch(()=>Je.value,(ve,je)=>{dt.value=ve}),t.watch(()=>e.enablePeriod,(ve,je)=>{ve!==je&&(f.value=ve)});const kt=t.computed(()=>ve=>ve?d.value!=="week"&&!y.value&&!v.value&&!C.value:!h.value&&!b.value&&!C.value);function It(){return f.value&&d.value!=="week"?575:e.showTime&&d.value!=="week"&&e.inlineDateTime?487:287}const gt=t.computed(()=>({top:`${s.value}px`,left:`${c.value}px`,width:`${It()+(e.enableQuickSelect?90:0)}px`,position:"relative","z-index":l.value==="Embedded"?0:9999,"margin-top":"0px"}));function Ft(ve){}function an(ve){ve.stopPropagation()}function kn(ve,je){if(je){const Oe=re.value.year-(v.value?10:1),et={year:Oe,month:re.value.month,displayTextOfMonth:g.value[re.value.month||"1"],displayTextOfYear:`${Oe}`};re.value=et}else{const Oe=tt.value.year-(b.value?10:1),et={year:Oe,month:tt.value.month,displayTextOfMonth:g.value[tt.value.month||"1"],displayTextOfYear:`${Oe}`};tt.value=et,(h.value||kt.value(!1))&&(L.value={...L.value,year:et.year,month:et.month})}}function ha(ve,je){if(je){const Oe=Ve(re.value.month,re.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};re.value=et}else{const Oe=Ve(tt.value.month,tt.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};tt.value=et,L.value={...L.value,year:et.year,month:et.month}}}function Ci(ve,je){if(je){const Oe=fe(re.value.month,re.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};re.value=et}else{const Oe=fe(tt.value.month,tt.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};tt.value=et,L.value={...L.value,year:et.year,month:et.month}}}function Xl(ve,je){if(je){let Oe=re.value.year+1;v.value&&(Oe=Ee.value[3][0].year+2);const et={year:Oe,month:re.value.month,displayTextOfMonth:g.value[re.value.month||"1"],displayTextOfYear:`${Oe}`};re.value=et}else{let Oe=tt.value.year+1;b.value&&(Oe=ut.value[3][0].year+2);const et={year:Oe,month:tt.value.month,displayTextOfMonth:g.value[tt.value.month||"1"],displayTextOfYear:`${Oe}`};tt.value=et,(h.value||kt.value(!1))&&(L.value={...L.value,year:et.year,month:et.month})}}function wi(ve){C.value=!1,ve?(y.value=!y.value,v.value=!1):(h.value=!h.value,b.value=!1)}function Ba(ve){C.value=!1,ve?(v.value=d.value==="year"?!0:!v.value,d.value==="month"?y.value=!y.value:y.value=!1,v.value?Ae.value=ge.cloneDeep(re.value):re.value=ge.cloneDeep(Ae.value)):(b.value=d.value==="year"?!0:!b.value,d.value==="month"?h.value=!h.value:h.value=!1,b.value?Tt.value=ge.cloneDeep(tt.value):tt.value=ge.cloneDeep(Tt.value))}function Jl(){if(ne.value){const{from:ve,to:je}=ne.value,Oe=_e(ve),et=_e(je),$t=new Date;(!Oe||!et)&&(Oe||(ne.value.from={year:$t.getFullYear(),month:$t.getMonth()+1,day:$t.getDate()}),ne.value.to={...ne.value.from},a.value=de($t),r.value=de($t))}C.value=!C.value,h.value=!1,b.value=!1,v.value=!1,y.value=!1}const Zl=t.computed(()=>({"active-month":tt.value,"date-format":p.value,"disable-pre-page":w.value,"disable-pre-record":S.value,"disable-next-record":T.value,"disable-next-page":x.value,years:Ne.value,"selecting-month":h.value,"selecting-year":b.value,"select-mode":d.value,minDate:q.value,maxDate:H.value})),es=t.computed(()=>({"active-month":re.value,"date-format":p.value,"disable-pre-page":V.value,"disable-pre-record":N.value,"disable-next-record":k.value,"disable-next-page":P.value,years:Ue.value,"selecting-month":y.value,"selecting-year":v.value,"select-mode":d.value,minDate:q.value,maxDate:H.value}));function Sr(ve,je){return t.createVNode(bm,t.mergeProps(ve,{onPrePage:Oe=>kn(Oe,je),onPreRecord:Oe=>ha(Oe,je),onNextRecord:Oe=>Ci(Oe,je),onNextPage:Oe=>Xl(Oe,je),onClickMonth:Oe=>wi(je),onClickYear:Oe=>Ba(je)}),null)}const Oa=t.computed(()=>h.value&&!b.value),Ra=t.computed(()=>b.value&&!h.value),ts=t.computed(()=>({dates:rt.value,daysInWeek:M.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,firstDayOfTheWeek:E.value,selected:D.value||null,selectedPeriod:ne.value,selectedWeek:_.value,selectMode:d.value,showWeekNumber:A.value,weekTitle:O.value})),Vr=t.computed(()=>({dates:ke.value,daysInWeek:M.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,firstDayOfTheWeek:E.value,selected:$.value,selectedPeriod:ne.value,selectMode:d.value,showWeekNumber:A.value,weekTitle:O.value}));function ns(ve,je){var Yo;const{event:Oe,dayItem:et}=ve,$t=et.date;if(et.tag===1?ha(Oe,je):et.tag===3&&Ci(Oe,je),f.value){const{from:Mr,to:Pr,emit:ps}=ye(ne.value,$t);ne.value={from:ge.cloneDeep(Mr),to:ge.cloneDeep(Pr)},!e.showTime&&ps&&n.emit("datePicked",{startDate:Mr,endDate:Pr})}else if(!e.showTime)n.emit("datePicked",$t);else{const{year:Mr,month:Pr,day:ps}=$t;D.value=Object.assign(D.value||{},{year:Mr,month:Pr,day:ps}),(Yo=o.value)==null||Yo.refresh()}const{year:En,month:Un}=$t;L.value={year:En,month:Un}}function os(ve){const je=m.value.toLowerCase().indexOf("hh:mm")>-1;_.value={numberInTheYear:ve.numberInTheYear,year:ve.year},je&&(ve.days[0].date.hour=0,ve.days[0].date.minute=0,ve.days[0].date.second=0,ve.days[6].date.hour=23,ve.days[6].date.minute=59,ve.days[6].date.second=59),ye(ne.value,ve.days[0].date);const{from:Oe,to:et,emit:$t}=ye(ne.value,ve.days[6].date);ne.value={from:Oe,to:et},$t&&n.emit("datePicked",{startDate:Oe,endDate:et})}function Pu(ve){}function xr(ve,je){if(je){for(const Oe of qe.value)for(const et of Oe.days)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve)||ue(et.date,ne.value.from)&&ue(ve,et.date);rt.value=ge.cloneDeep(qe.value)}else{for(const Oe of Ct.value)for(const et of Oe.days)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve)||ue(et.date,ne.value.from)&&ue(ve,et.date);ke.value=ge.cloneDeep(Ct.value)}}function as(ve,je){if(je){for(const Oe of qe.value)for(const et of Oe.days)et.range=!1;rt.value=ge.cloneDeep(qe.value)}else{for(const Oe of Ct.value)for(const et of Oe.days)et.range=!1;ke.value=ge.cloneDeep(Ct.value)}}function Tr(ve,je){return t.createVNode(gm,t.mergeProps(ve,{onClick:Oe=>ns(Oe,je),onClickWeek:Oe=>os(Oe),onKeyDown:Oe=>void 0,onMouseEnter:Oe=>xr(Oe,je),onMouseLeave:Oe=>as(Oe,je)}),null)}const is=t.computed(()=>({months:nt.value,enableMarkCurrent:I.value,enableKeyboadNavigate:F.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value,selectMode:d.value})),rs=t.computed(()=>({months:dt.value,enableMarkCurrent:I.value,enableKeyboadNavigate:F.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value})),So=ve=>{const{from:je,to:Oe}=ne.value,et=_e(je),$t=_e(Oe);if(et&&$t)ne.value.from={year:ve.year,month:ve.month},!h.value&&!b.value&&(ne.value.from.day=0),ne.value.to=ee();else if(!et)ne.value.from={year:ve.year,month:ve.month},!h.value&&!b.value&&(ne.value.from.day=0);else{if(pe({year:ve.year,month:ve.month},je)){const Un=ne.value.from;ne.value.to={...Un},ne.value.from={year:ve.year,month:ve.month}}else ne.value.to={year:ve.year,month:ve.month};n.emit("datePicked",{startDate:ne.value.from,endDate:ne.value.to})}},La=t.computed(()=>{const{from:ve,to:je}=ne.value;return f.value&&_e(ve)&&!(_e(je)&&JSON.stringify(ve)!==JSON.stringify(je))});function ja(ve,je){je?(re.value={month:ve.month||1,displayTextOfMonth:g.value[ve.month||"1"],year:ve.year||1,displayTextOfYear:`${ve.year}`},d.value==="month"?So(ve):(y.value=!1,v.value=!1,La.value||So({...ve}))):(tt.value={month:ve.month||1,displayTextOfMonth:g.value[ve.month||"1"],year:ve.year||1,displayTextOfYear:`${ve.year}`},Tt.value=ge.cloneDeep(tt.value),d.value==="month"?f.value?So(ve):n.emit("datePicked",ve):(h.value=!1,b.value=!1,L.value=ve,La.value||So({...ve})))}function ls(ve){}function ss(ve,je){if(je){for(const Oe of ze.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);nt.value=ge.cloneDeep(ze.value)}else{for(const Oe of Je.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);dt.value=ge.cloneDeep(Je.value)}}function Nr(ve,je){}function Uo(ve,je){return t.createVNode(Sm,t.mergeProps(ve,{onClick:Oe=>ja(Oe,je),onKeyDownMonthView:Oe=>void 0,onMouseEnter:Oe=>ss(Oe,je),onMouseLeave:Oe=>void 0}),null)}const kr=t.computed(()=>({years:ut.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value,selectMode:d.value})),cs=t.computed(()=>({years:Ue.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,selected:D.value,selectedPeriod:ne.value}));function Go(ve,je){je?(re.value={month:re.value.month||1,displayTextOfMonth:re.value.displayTextOfMonth,year:ve.year||1,displayTextOfYear:`${ve.year}`},d.value==="year"?So(ve):(y.value=!0,v.value=!1,La.value||So({year:tt.value.year,month:0}))):(tt.value={month:tt.value.month,displayTextOfMonth:tt.value.displayTextOfMonth,year:ve.year||1,displayTextOfYear:`${ve.year}`},Tt.value=ge.cloneDeep(tt.value),d.value==="year"?f.value?So(ve):n.emit("datePicked",ve):(h.value=!0,b.value=!1,L.value=Object.assign(L.value||{},{year:tt.value.year}),La.value||So({year:tt.value.year,month:0})))}function ds(ve){}function us(ve,je){if(je){for(const Oe of ut.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);Ne.value=ge.cloneDeep(ut.value)}else{for(const Oe of Ee.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);Ue.value=ge.cloneDeep(Ee.value)}}function Iu(ve,je){}const Fr=()=>{const{from:ve,to:je}=ne.value,Oe=!_e(ve),et=!_e(je);let $t={...ve},En={...je};if(Oe||et){const Un=new Date;Oe&&($t={year:Un.getFullYear(),month:Un.getMonth()+1,day:Un.getDate()}),En={...$t}}if(e.showTime){const{hour:Un,minute:Yo,second:Mr}=Z(a.value,!0);$t={...$t,hour:Un,minute:Yo,second:Mr};const{hour:Pr,minute:ps,second:a4}=ae(r.value);En={...En,hour:Pr,minute:ps,second:a4}}return{begin:$t,end:En}};function Si(){if(f.value&&ne.value){const{begin:ve,end:je}=Fr();ne.value={from:ve,to:je},n.emit("datePicked",{startDate:ve,endDate:je})}else{if(e.showTime){const{hour:ve,minute:je,second:Oe}=Z(a.value,!0);_e(D.value)||(D.value={...Fe}),D.value={...D.value,hour:ve,minute:je,second:Oe}}n.emit("confirm",D.value)}}function fs(ve){tt.value={year:Fe.year||1,month:Fe.month||1,displayTextOfMonth:g.value[Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value=ge.cloneDeep(Fe),n.emit("datePicked",Fe)}function Vi(ve){tt.value={year:Fe.year||1,month:Fe.month||1,displayTextOfMonth:g.value[Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value={year:Fe.year,month:Fe.month},L.value={year:Fe.year,month:Fe.month},ja(D.value,!1),d.value==="month"&&n.emit("datePicked",L.value)}function _a(ve){var je,Oe;tt.value={year:Fe.year||1,month:((je=D.value)==null?void 0:je.month)||Fe.month||1,displayTextOfMonth:g.value[((Oe=D.value)==null?void 0:Oe.month)||Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value={...D.value,year:Fe.year,month:tt.value.month},L.value={year:Fe.year,month:tt.value.month},Go(D.value,!1),d.value==="year"&&n.emit("datePicked",D.value)}const xi=t.computed(()=>f.value&&d.value!=="week"),He=t.computed(()=>{const ve={"flex-row":!0,"f-datepicker-container":!0,"f-daterange-select-timerange":xi.value&&C.value},je=`container-position-${u.value}`;return ve[je]=!0,ve}),vt=t.computed(()=>e.showTime&&d.value!=="week");function Dt(ve,je){return t.createVNode(Vm,t.mergeProps(ve,{onClick:Oe=>Go(Oe,je),onKeyDownYearView:Oe=>void 0,onClickPreRecord:Oe=>ha(Oe,je),onClickNextRecord:Oe=>Ci(Oe,je),onMouseEnter:Oe=>us(Oe,je),onMouseLeave:Oe=>void 0}),null)}function $e(){const ve="HH:mm:ss";if(B.value){const je=we(B.value,m.value);a.value=se(je||"",ve)||"00:00:00",D.value&&(D.value.hour=(je==null?void 0:je.getHours())||0,D.value.minute=(je==null?void 0:je.getMinutes())||0,D.value.second=(je==null?void 0:je.getSeconds())||0)}else{if(!a.value){const{hour:je,minute:Oe,second:et}=D.value||Fe;a.value=`${je||"0"}:${Oe||0}:${et||0}`}a.value=df(a.value)}}t.onMounted(()=>{if(f.value){const{dateRange:ve,beginDateActiveMonth:je,endDateActiveMonth:Oe,beginTime:et,endTime:$t,selectedWeekInfo:En}=be(B.value);ne.value=ve,je&&(tt.value=je),Oe&&(re.value=Oe),et&&(a.value=et),$t&&(r.value=$t),En&&(_.value=En)}else if(e.showTime){const je=m.value.split(" ")[1]||"HH:mm:ss";a.value=se(B.value,je),!a.value&&i.value&&typeof i.value=="string"&&(a.value=i.value),$e()}if(d.value==="month")wi(!1),f.value&&wi(!0);else if(d.value==="year"&&(Ba(!1),f.value)){const ve=re.value.year;Ne.value.length&&ve<Ne.value[3][2].year&&ve>Ne.value[0][0].year&&(re.value.year=ve+10),Ba(!0)}d.value==="month"?(h.value=!0,b.value=!1):d.value==="year"&&(b.value=!0,h.value=!1)});const Ze=(ve,je=!1)=>{const et=m.value.split(" ")[1]||"HH:mm:ss",$t=Cm(ve.text,et),En=($t==null?void 0:$t.getHours())||0,Un=($t==null?void 0:$t.getMinutes())||0,Yo=($t==null?void 0:$t.getSeconds())||0;je?(r.value=ve.text,f.value&&ne.value&&(ne.value.to.hour=En,ne.value.to.minute=Un,ne.value.to.second=Yo)):(a.value=ve.text,f.value&&ne.value?(ne.value.from.hour=En,ne.value.from.minute=Un,ne.value.from.second=Yo):D.value&&(D.value.hour=En,D.value.minute=Un,D.value.second=Yo))};function lt(ve){return t.createVNode(Tl,{class:"calendar-time-picker",style:"width: 287px;height: 254px;display: block; position: relative;padding:8px 0px;",modelValue:ve?r.value:a.value,inDatePicker:!0,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep,onValueChange:je=>Ze(je,ve)},null)}const Nt=t.computed(()=>(ve,je=!1)=>{const Oe=(ve==null?void 0:ve.day)==null||ce.isDisabledDate(e.showTime?ve:{year:ve.year,month:ve.month,day:ve.day}),et={"pointer-events":Oe?"none":"auto",opacity:Oe?.3:1};return je?{...et}:{...et,"font-size":"15px"}}),Mt=t.computed(()=>{const{year:ve,month:je}=Q(),Oe={year:H.value.year,month:H.value.month,day:H.value.day},et={year:q.value.year,month:q.value.month,day:q.value.day},$t=Ke({year:ve,month:je,day:1},Oe)||mt({year:ve,month:je,day:Ie(je||0,ve||0)},et);return{"pointer-events":$t?"none":"auto",opacity:$t?.3:1,"font-size":"15px"}}),ht=t.computed(()=>{const ve=Q(),je=ve.year?ve.year>=W.value&&ve.year<=U.value:!1;return{"pointer-events":je?"auto":"none",opacity:je?1:.3,"font-size":"15px"}}),At=()=>{const{from:ve,to:je}=xe(new Date,E.value);e.showTime&&(ve.hour=0,ve.minute=0,ve.second=0,je.hour=23,je.minute=59,je.second=59);const Oe=ce.isDisabledDate(ve)||ce.isDisabledDate(je);return{"pointer-events":Oe?"none":"auto",opacity:Oe?.3:1,"font-size":"15px"}},Bn=t.computed(()=>{if(f.value){if(e.showTime){let ve=!0;const{begin:je,end:Oe}=Fr();return ce.isDisabledDate(je)||ce.isDisabledDate(Oe)?ve=!1:ve=ue(je,Oe),{"pointer-events":ve?"auto":"none",opacity:ve?1:.3}}}else{const{hour:ve,minute:je,second:Oe}=Z(a.value,!0),et={...D.value,hour:ve,minute:je,second:Oe};return Nt.value(et,!0)}});function so(){const{from:ve,to:je}=xe(new Date,E.value),Oe=new Date().getFullYear(),et=me(ve),$t=m.value.toLowerCase().indexOf("hh:mm")>-1;_.value={numberInTheYear:et,year:Oe},$t&&(ve.hour=0,ve.minute=0,ve.second=0,je.hour=23,je.minute=59,je.second=59),ye(ne.value,ve);const{from:En,to:Un,emit:Yo}=ye(ne.value,je);ne.value={from:En,to:Un},Yo&&n.emit("datePicked",{startDate:En,endDate:Un})}const yn=e.locales.buttons.current,Ti=t.computed(()=>C.value?e.locales.buttons.selectDate:e.locales.buttons.selectTime);function Q6(ve,je){const{value:Oe}=ve;f.value?(ne.value={from:te(Oe[0]),to:te(Oe[1])},e.showTime&&(a.value="00:00:00",r.value="23:59:59")):(D.value={...te(Oe)},e.showTime&&(a.value=`${Oe.getHours()}:${Oe.getMinutes()}:${Oe.getSeconds()}`)),Si()}const K6=()=>{const ve=f.value?z.range:z.single.filter(je=>{let Oe=te(je.value);return e.showTime||(Oe={year:Oe.year,month:Oe.month,day:Oe.day}),!ce.isDisabledDate(Oe)});return t.createVNode("ul",{class:"p-1"},[ve.map((je,Oe)=>t.createVNode("li",{class:"text-truncate",title:je.label,key:Oe,onClick:et=>Q6(je)},[je.label]))])},X6=t.computed(()=>({"max-height":vt.value||!f.value?"339px":"294px"})),{getDisabledHours:J6,getDisabledMinutes:Z6,getDisabledSeconds:e4}=MR(),t4=()=>{const ve=q.value,je=H.value,Oe=D.value||Qe.value;return J6(ve,je,Oe)},n4=ve=>{const je=q.value,Oe=H.value,et=D.value||Qe.value;return Z6(je,Oe,ve,et)},o4=(ve,je)=>{const Oe=q.value,et=H.value,$t=D.value||Qe.value;return e4(Oe,et,ve,je,$t)};return()=>t.createVNode("div",{class:He.value,style:gt.value,tabindex:"0",onKeyup:ve=>void 0,onClick:ve=>an(ve)},[e.enableQuickSelect&&d.value==="day"&&t.createVNode("div",{class:"f-datepicker-content f-datepicker-quick-selector ",style:X6.value},[K6()]),t.createVNode("div",{class:"w-100 d-flex f-utils-fill",style:"flex-wrap: wrap;"},[t.createVNode("div",{class:"f-datepicker-content",style:"width:287px"},[Sr(Zl.value,!1),kt.value(!1)&&Tr(ts.value,!1),h.value&&Uo(is.value,!1),b.value&&Dt(kr.value,!1),C.value&&f.value&&lt(!1)]),e.showTime&&!f.value&&e.inlineDateTime&&t.createVNode("div",{class:"f-datepicker-content position-relative datepicker-content-has-timer",style:"width:200px"},[t.createVNode("div",{style:"height: 40px; border-bottom: 1px solid #E4E7EF; text-align: center; line-height: 40px; font-size: 16px; font-weight: 500;"},[a.value]),t.createVNode(Tl,{style:"top:41px; padding: 8px 0px; position: absolute",ref:o,inDatePicker:!1,modelValue:a.value,onValueChange:Ze,disabledHours:t4,disabledMinutes:n4,disabledSeconds:o4,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep},null)]),e.showTime&&!f.value&&!e.inlineDateTime&&C.value&&lt(!1),xi.value&&d.value!=="week"&&t.createVNode("div",{class:"f-datepicker-content f-datepicker-secondary",style:"width:287px"},[Sr(es.value,!0),kt.value(!0)&&Tr(Vr.value,!0),y.value&&Uo(rs.value,!0),v.value&&Dt(cs.value,!0),C.value&&lt(!0)]),vt.value&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: end;"},[!f.value&&kt.value(!1)&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:Nt.value(Q()),onClick:fs},[yn.today]),!f.value&&Oa.value&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:Mt.value,onClick:Vi},[yn.month]),!f.value&&Ra.value&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:ht.value,onClick:_a},[yn.year]),(f.value||!e.inlineDateTime)&&d.value==="day"&&t.createVNode("div",{class:"d-flex f-utils-fill",style:"justify-content:center"},[t.createVNode("button",{class:"btn btn-link",style:"font-size: 15px",onClick:Jl},[Ti.value])]),t.createVNode(fo,{onClick:Si,style:Bn.value},{default:()=>[e.locales.buttons.commit]})]),!f.value&&!vt.value&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: center;"},[kt.value(!1)&&t.createVNode("button",{class:"btn btn-link",style:Nt.value(Q()),onClick:fs},[yn.today]),Oa.value&&t.createVNode("button",{class:"btn btn-link",style:Mt.value,onClick:Vi},[yn.month]),Ra.value&&t.createVNode("button",{class:"btn btn-link",style:ht.value,onClick:_a},[yn.year])]),f.value&&d.value==="week"&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: center;"},[Oa.value&&t.createVNode("button",{class:"btn btn-link",style:Mt.value,onClick:Vi},[yn.month]),Ra.value&&t.createVNode("button",{class:"btn btn-link",style:ht.value,onClick:_a},[yn.year]),!Oa.value&&!Ra.value&&t.createVNode("button",{class:"btn btn-link",style:At(),onClick:so},[yn.week])])])])}}),PR={year:9999,month:12,day:31,hour:23,minute:59,second:59},IR={year:1900,month:1,day:1,hour:0,minute:0,second:0},kl={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:kS},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:di.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:""}},ER={...kl,locales:{type:Object,default:{}},minYear:{type:Number,default:1900},maxYear:{type:Number,default:9999}},AR=t.defineComponent({name:"FDateRange",props:ER,emits:["update:modelValue","confirm","clear"],setup(e,n){const o=t.ref(e.maxYear),a=t.ref(e.minYear),i=t.ref(e.highlightSaturday),r=t.ref(e.highlightSunday),l=t.ref(e.nameOfMonths),s=t.ref(e.highlightDates),c=t.ref(e.showWeekNumber),u=t.ref(e.selectMode),f=t.ref(e.disableWeekends),d=t.ref(e.disableWeekdays),p=t.ref(e.disableSince),g=t.ref(e.disableUntil),m=t.ref(!1),h=t.ref(),y=t.ref(),b=t.ref(!1),{formatTo:v,parseToDate:C}=Fn(),w=t.ref(e.beginValue),S=t.ref(e.endValue),T=oe=>{const ce=oe.split("~");w.value=(ce==null?void 0:ce[0])||"",S.value=(ce==null?void 0:ce[1])||""},{formatDateObject:x,getDateObject:V}=_o(),N=t.ref(),k=t.ref();function P(){return e.modelValue?(T(e.modelValue),e.modelValue):e.beginValue||e.endValue?e.beginValue+"~"+e.endValue:""}const M=t.ref(P());function F(oe){if(oe){const ce=C(oe,e.valueFormat);return ce?v(ce,e.displayFormat):""}return""}const I=t.computed(()=>F(w.value)),E=t.computed(()=>F(S.value)),A=t.computed(()=>I.value+"~"+E.value);t.watch(()=>e.beginValue,oe=>{w.value=oe}),t.watch(()=>e.endValue,oe=>{S.value=oe}),t.watch(()=>e.modelValue,oe=>{M.value=e.modelValue}),t.watch(M,oe=>{T(oe)}),t.watch(()=>e.disableUntil,oe=>{g.value=oe}),t.watch(()=>e.disableSince,oe=>{p.value=oe});function D(){a.value=g.value.year??a.value,o.value=p.value.year??o.value,a.value>o.value&&(o.value=a.value)}const $=t.computed(()=>({"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!0,"f-cmp-datepicker":!0})),B=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":e.disabled,"f-state-editable":!0,"align-items-center":!0,"f-state-readonly":e.readonly})),_=t.computed(()=>{const oe={width:"22px",height:"22px"};return b.value||(oe.visibility="hidden"),oe}),O=()=>{var oe;(oe=h.value)==null||oe.show(y.value)},L=()=>{e.readonly||e.disabled||(m.value=!m.value,setTimeout(()=>{m.value&&(D(),O())}))},W=()=>{m.value=!1};function U(){document.body.click()}const H=oe=>{const{startDate:ce,endDate:se}=oe;let we=`${ce.year}-${ce.month}-${ce.day}`,Ke=`${se.year}-${se.month}-${se.day}`;if(e.showTime){const{hour:fe,minute:Ve,second:Ie}=ce;we=`${we} ${fe||0}:${Ve||0}:${Ie||0}`;const{hour:xe,minute:me,second:Be}=se;Ke=`${Ke} ${xe||0}:${me||0}:${Be||0}`}u.value==="month"&&(we=`${ce.year}-${ce.month}`,Ke=`${se.year}-${se.month}`),u.value==="year"&&(we=`${ce.year}`,Ke=`${se.year}`);const mt=v(we,e.valueFormat),Se=v(Ke,e.valueFormat),Me=mt+"~"+Se;M.value=Me,n.emit("update:modelValue",Me),n.emit("confirm",Me),U()},q=oe=>{H(oe)},Y=()=>{M.value="",U(),n.emit("update:modelValue",""),n.emit("clear")};t.onMounted(()=>{l.value=e.locales.monthLabels,D()});function G(){b.value=!!I.value||!!E.value}function j(){b.value=!1}function R(oe,ce){const se=v(oe,e.valueFormat),we=v(ce,e.valueFormat);let Ke="";(se||we)&&(Ke=se+"~"+we),M.value=Ke,n.emit("update:modelValue",Ke),Ke?n.emit("confirm",Ke):n.emit("clear")}function z(oe){R(oe,S.value)}function Q(oe){R(w.value,oe)}function K(){R("",S.value)}function Z(){R(w.value,"")}const ae=oe=>{W()},ee=oe=>{W()},te=t.computed(()=>!e.editable||!(e.readonly&&e.disabled)),le=(oe,ce)=>{const se={...e,disableSince:ce||p.value,disableUntil:oe||g.value,maxYear:(ce==null?void 0:ce.year)||p.value.year,minYear:(oe==null?void 0:oe.year)||g.value.year};return xm(se)},ye=oe=>{var ce;(!((ce=oe.relatedTarget)!=null&&ce.closest(".f-cmp-datepicker"))||oe.relatedTarget.closest(".f-cmp-datepicker")!==oe.target.closest(".f-cmp-datepicker"))&&W()};function be(oe,ce){var we,Ke;if(m.value&&h.value.popoverRef.contains(oe.relatedTarget))return;const se=oe.target.value;if(se&&te.value){let mt=null,Se=null;ce?(Se=S.value?V(S.value,e.valueFormat):null,w.value):(mt=w.value?V(w.value,e.valueFormat):null,S.value);const fe=le(mt,Se).normalizeDate(se,!0);if(fe&&fe.year!==0){const Ve=x(fe,u.value,e.showTime);ce?R(Ve,S.value):R(w.value,Ve)}else R(w.value,S.value),ce?(we=N.value)==null||we.setText(I.value):(Ke=k.value)==null||Ke.setText(E.value);ye(oe)}}function de(oe){be(oe,!0)}function J(oe){be(oe,!1)}function ne(){return t.createVNode("div",{class:"f-button-edit f-cmp-inputgroup f-button-edit-nowrap f-cmp-datepicker",id:e.id},[t.createVNode("div",{class:B.value,style:"border: 0px;"},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Xn,{class:"f-utils-fill",showTime:e.showTime,popupClass:e.popupClass,disabled:e.disabled,readonly:e.readonly,placeholder:e.locales.placeholder.begin,editable:e.editable,minYear:a.value,maxYear:o.value,maxDate:S.value,enableQuickSelect:e.enableQuickSelect,onDatePicked:oe=>z(oe),modelValue:w.value,"onUpdate:modelValue":oe=>w.value=oe,displayFormat:e.displayFormat,valueFormat:e.valueFormat,onClear:K},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Xn,{class:"f-utils-fill",showTime:e.showTime,popupClass:e.popupClass,disabled:e.disabled,readonly:e.readonly,placeholder:e.locales.placeholder.end,editable:e.editable,minYear:a.value,maxYear:o.value,minDate:w.value,enableQuickSelect:e.enableQuickSelect,onDatePicked:oe=>Q(oe),modelValue:S.value,"onUpdate:modelValue":oe=>S.value=oe,displayFormat:e.displayFormat,valueFormat:e.valueFormat,onClear:Z},null)])])])}return()=>t.createVNode(t.Fragment,null,[e.splitSelection&&ne(),!e.splitSelection&&t.createVNode(t.Fragment,null,[t.createVNode("div",{ref:y,class:$.value,id:e.id},[t.createVNode("div",{class:B.value,onMouseenter:G,onMouseleave:j,title:A.value},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Na,{ref:N,modelValue:I.value,"onUpdate:modelValue":oe=>I.value=oe,showBorder:!1,editable:e.editable,enableClear:!1,onClick:L,readonly:e.readonly,disabled:e.disabled,onBlur:de,onInput:ae,placeholder:e.locales.placeholder.begin},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Na,{ref:k,modelValue:E.value,"onUpdate:modelValue":oe=>E.value=oe,showBorder:!1,editable:e.editable,enableClear:!1,onClick:L,readonly:e.readonly,disabled:e.disabled,onInput:ee,onBlur:J,placeholder:e.locales.placeholder.end},null)]),!e.disabled&&!e.readonly&&t.createVNode("div",{class:"input-group-append"},[e.enableClear&&t.createVNode("span",{class:"input-group-text input-group-clear",style:_.value,onClick:Y},[t.createVNode("span",{class:"f-icon modal_close",style:"position: absolute;top: 7px;"},null)]),t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:'<span class="f-icon f-icon-date"></span>',onClick:L},null)])])]),m.value&&t.createVNode(to,{ref:h,id:`${e.id}-popover`,placement:"auto",host:e.popupHost,keepWidthWithReference:!1,fitContent:!0,onHidden:W},{default:()=>[t.createVNode(rr,{mode:"Popup",locales:e.locales,value:M.value,valueFormat:e.valueFormat,minYear:a.value,maxYear:o.value,enablePeriod:!0,highlightSunday:r.value,highlightSaturday:i.value,nameOfMonths:l.value,highlightDates:s.value,showWeekNumber:c.value,firstDayOfTheWeek:e.firstDayOfTheWeek,selectMode:u.value,enableQuickSelect:e.enableQuickSelect,showTime:e.showTime,disableWeekends:f.value,disableWeekdays:d.value,disableSince:p.value,disableUntil:g.value,onDatePicked:oe=>q(oe),onConfirm:oe=>H(oe)},null)]})])])}});function DR(e){function n(c,u,f){return u===f?Ce.getLocaleValue(c):u||""}const o=n("datepicker.weekText",e.weekTitle,"周"),a={Sun:n("datepicker.dayLabels.Sun"),Mon:n("datepicker.dayLabels.Mon"),Tue:n("datepicker.dayLabels.Tue"),Wed:n("datepicker.dayLabels.Wed"),Thu:n("datepicker.dayLabels.Thu"),Fri:n("datepicker.dayLabels.Fri"),Sat:n("datepicker.dayLabels.Sat")},i={1:n("datepicker.monthLabels.1"),2:n("datepicker.monthLabels.2"),3:n("datepicker.monthLabels.3"),4:n("datepicker.monthLabels.4"),5:n("datepicker.monthLabels.5"),6:n("datepicker.monthLabels.6"),7:n("datepicker.monthLabels.7"),8:n("datepicker.monthLabels.8"),9:n("datepicker.monthLabels.9"),10:n("datepicker.monthLabels.10"),11:n("datepicker.monthLabels.11"),12:n("datepicker.monthLabels.12")},r={default:n("datepicker.placeholder",e.placeholder,"请选择日期"),begin:n("datepicker.range.begin",e.beginPlaceholder,"开始日期"),end:n("datepicker.range.end",e.endPlaceholder,"结束日期")},l={selectDate:n("datepicker.dateBtnText"),selectTime:n("datepicker.timeBtnText"),commit:n("datepicker.commitBtnText"),current:{week:n("datepicker.current.week")||"本周",year:n("datepicker.current.year")||"今年",month:n("datepicker.current.month")||"本月",today:n("datepicker.current.today")||"今天"}},s={today:n("datepicker.quickSelectors.today"),yesterday:n("datepicker.quickSelectors.yesterday"),tomorrow:n("datepicker.quickSelectors.tomorrow"),thisMonday:n("datepicker.quickSelectors.thisMonday"),nextMonday:n("datepicker.quickSelectors.nextMonday"),firstDayOfMonth:n("datepicker.quickSelectors.firstDayOfMonth"),lastDayOfMonth:n("datepicker.quickSelectors.lastDayOfMonth"),firstDayOfLastMonth:n("datepicker.quickSelectors.firstDayOfLastMonth"),lastDayOfLastMonth:n("datepicker.quickSelectors.lastDayOfLastMonth"),firstDayOfYear:n("datepicker.quickSelectors.firstDayOfYear"),lastDayOfYear:n("datepicker.quickSelectors.lastDayOfYear"),firstDayOfQuarter:n("datepicker.quickSelectors.firstDayOfQuarter"),lastDayOfQuarter:n("datepicker.quickSelectors.lastDayOfQuarter"),thisWeek:n("datepicker.quickSelectors.thisWeek"),lastWeek:n("datepicker.quickSelectors.lastWeek"),nextWeek:n("datepicker.quickSelectors.nextWeek"),past7Days:n("datepicker.quickSelectors.past7Days"),past30Days:n("datepicker.quickSelectors.past30Days"),thisMonth:n("datepicker.quickSelectors.thisMonth"),lastMonth:n("datepicker.quickSelectors.lastMonth"),thisQuarter:n("datepicker.quickSelectors.thisQuarter"),lastQuarter:n("datepicker.quickSelectors.lastQuarter"),thisYear:n("datepicker.quickSelectors.thisYear"),lastYear:n("datepicker.quickSelectors.lastYear"),recent3Months:n("datepicker.quickSelectors.recent3Months"),nextYear:n("datepicker.quickSelectors.nextYear")};return{weekTitle:o,weekDayLabels:a,monthLabels:i,placeholder:r,buttons:l,quickSelectors:s}}const $R={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd"},displayFormat:{Type:String,default:"yyyy-MM-dd"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},showTime:{type:Boolean,default:!1}};var Tn=(e=>(e.Year="year",e.Month="month",e.Date="day",e))(Tn||{});const BR=(e,n)=>{const{textField:o,valueField:a,beginDate:i,endDate:r,selectedValue:l}=n,s=(m,h,y)=>{const b=[];let v=m;for(;v<=h;){let C=String(v).padStart(2,"0");C=e.optionFormatter?e.optionFormatter(y,C):C,b.push({[o]:C,[a]:v}),v++}return b},c=()=>{const m=i.value.year,h=r.value.year;return s(m,h,Tn.Year)},u=m=>{const h=i.value,y=r.value,b={begin:1,end:12};return m<=h.year&&(b.begin=h.month),m>=y.year&&(b.end=y.month),s(b.begin,b.end,Tn.Month)},f=(m,h)=>{const y=i.value,b=r.value,v=uf(m)&&h===2?29:28,C=[1,3,5,7,8,10,12],w=[4,6,9,11],T={begin:1,end:C.includes(h)?31:w.includes(h)?30:v};return m<=y.year&&h<=y.month&&(T.begin=y.day),m>=b.year&&h>=b.month&&(T.end=b.day),s(T.begin,T.end,Tn.Date)},d=t.computed(()=>{switch(e.selectMode){case Tn.Date:return[Tn.Year,Tn.Month,Tn.Date];case Tn.Month:return[Tn.Year,Tn.Month];case Tn.Year:return[Tn.Year];default:return[Tn.Year,Tn.Month,Tn.Date]}}),p=()=>{if(!l.value){const{year:b,month:v,day:C}=Eo(new Date);l.value=[b,v,C]}const[m,h,y]=l.value;return{year:m,month:h,day:y}},g=t.computed(()=>{const m=p(),h=c(),y=u(m.year),b=f(m.year,m.month);return d.value.map(v=>{switch(v){case Tn.Year:return h;case Tn.Month:return y;case Tn.Date:return b;default:return[]}})});return{columnsMap:d,dateColumns:g}},OR=e=>{const{parseToDate:n,formatTo:o}=Fn(),a="text",i="value",r=t.ref([]),l=t.ref([]),s=t.ref({year:0,month:0,day:0}),c=()=>{const b=n(e.minDate,e.valueFormat);if(e.minDate&&b){s.value=Eo(b);return}const{year:v,month:C,day:w}=Eo(new Date);s.value={year:v-10,month:C,day:w}};t.watch(()=>e.minDate,c,{immediate:!0});const u=t.ref({year:0,month:0,day:0}),f=()=>{const b=n(e.maxDate,e.valueFormat);if(e.maxDate&&b){u.value=Eo(b);return}const{year:v,month:C,day:w}=Eo(new Date);u.value={year:v+10,month:C,day:w}};t.watch(()=>e.maxDate,f,{immediate:!0});const d=b=>{const v=n(b||"",e.valueFormat);if(!b||!v){r.value=b;return}const{year:C,month:w,day:S}=Eo(v);r.value=[C,w,S]},p=b=>{let v=new Date;const C=n(b||"",e.valueFormat);b&&C&&(v=C);const w=n(e.minDate,e.valueFormat);e.minDate&&w&&jr(v,w)<0&&(v=w);const S=n(e.maxDate,e.valueFormat);e.maxDate&&S&&jr(v,S)>0&&(v=S);const{year:T,month:x,day:V}=Eo(v);l.value=[T,x,V]};t.watch(()=>e.modelValue,b=>{d(b),p(b)},{immediate:!0});const g=b=>{if(b&&l.value){const{index:v,value:C}=b;l.value[v]=C[i]}if(l.value){const v=fy(l.value[0],l.value[1]);l.value[2]>v&&(l.value[2]=v)}},m=(b,v)=>{if(!b)return b;const C=[...b];if(v){const{index:V,value:N}=v;C[V]=N[i]}const[w,S=1,T=1]=C,x=new Date(w,S-1,T);return o(x,e.valueFormat)};return{textField:a,valueField:i,beginDate:s,endDate:u,realValue:r,selectedValue:l,getSelectedValue:b=>m(l.value,b),getRealValue:()=>m(r.value),resetSelectedValue:p,resetRealValue:d,updateSelectedValue:g}},RR={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd"},displayFormat:{Type:String,default:"yyyy-MM-dd"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0}},PS=t.defineComponent({inheritAttrs:!1,props:RR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o,expose:a}=n,i=OR(e),{selectedValue:r,realValue:l,textField:s,valueField:c,getSelectedValue:u,getRealValue:f,resetSelectedValue:d,resetRealValue:p,updateSelectedValue:g}=i,{dateColumns:m}=BR(e,i),h=C=>{g(C);const w=u(C);o("change",w)},y=()=>{const C=u();o("confirm",C)},b=()=>{o("cancel")};a({resetRealValue:p,resetSelectedValue:d,getRealValue:f,getSelectedValue:u,selectedValue:r,realValue:l});const{bem:v}=bn("TouchDatePicker");return()=>t.createVNode(cp,{class:v(),modelValue:r.value,"onUpdate:modelValue":C=>r.value=C,columns:m.value,valueField:c,textField:s,title:e.title,showToolbar:e.showToolbar,visiableOptionCount:e.visiableOptionCount,onChange:h,onConfirm:y,onCancel:b},null)}}),LR={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd HH:mm:ss"},displayFormat:{Type:String,default:"yyyy-MM-dd HH:mm:ss"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"}},jR=e=>{const{parseToDate:n,formatTo:o}=Fn(),a=t.ref(""),i=t.ref(""),r=g=>{const m=n(g,e.valueFormat)||new Date,h=o(m,e.valueFormat);h&&(a.value=h.split(" ")[0],i.value=h.split(" ")[1])};t.watch(()=>e.modelValue,r,{immediate:!0});const l=t.computed(()=>`${a.value} ${i.value}`),s=t.computed(()=>e.valueFormat.split(" ")[0]),c=t.computed(()=>e.valueFormat.split(" ")[1]),u=t.computed(()=>{var g;return(g=e.minDate)==null?void 0:g.split(" ")[0]}),f=t.computed(()=>{var g;return(g=e.maxDate)==null?void 0:g.split(" ")[0]}),d=t.computed(()=>{const g=n(a.value,s.value),m=n(f.value,s.value);return e.maxDate&&g&&m&&jr(m,g)<=0&&e.maxDate.split(" ")[1]||""}),p=t.computed(()=>{const g=n(a.value,s.value),m=n(u.value,s.value);return e.minDate&&g&&m&&jr(m,g)>=0&&e.minDate.split(" ")[1]||""});return{dateValue:a,timeValue:i,dateTimeValue:l,dateFormat:s,timeFormat:c,minDate:u,maxDate:f,minTime:p,maxTime:d}},_R=t.defineComponent({inheritAttrs:!1,props:LR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,{dateValue:a,timeValue:i,dateTimeValue:r,dateFormat:l,timeFormat:s,minDate:c,maxDate:u,minTime:f,maxTime:d}=jR(e),p=S=>{o("change",S)},g=S=>{a.value=S,p(r.value)},m=S=>{i.value=S,p(r.value)},h=()=>{o("confirm",r.value)},y=()=>{o("cancel")},{bem:b}=bn("FComboTouchListGroup"),v=()=>t.createVNode("div",{class:b("toolbar")},[t.createVNode("div",{class:b("toolbar-left"),onClick:y},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:b("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:b("toolbar-right"),onClick:h},[t.createVNode("span",null,[e.confirmText])])]),C=[{name:"日期",value:"date",minWidth:140},{name:"时间",value:"time",minWidth:140}],w=t.ref("date");return()=>t.createVNode("div",{class:b()},[t.createVNode("div",{class:b("header")},[v(),t.createVNode("div",{class:b("tab-bar")},[t.createVNode(ei,{modelValue:w.value,"onUpdate:modelValue":S=>w.value=S,items:C},null)])]),t.createVNode("div",{class:b("content")},[w.value==="date"?t.createVNode(PS,{modelValue:a.value,format:l.value,showToolbar:!1,minDate:c.value,maxDate:u.value,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:g},null):t.createVNode(NS,{modelValue:i.value,format:s.value,showToolbar:!1,minTime:f.value,maxTime:d.value,visiableOptionCount:e.visiableOptionCount,onChange:m},null)])])}}),HR=t.defineComponent({inheritAttrs:!1,props:$R,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,a=l=>{o("change",l)},i=l=>{o("confirm",l)},r=()=>{o("cancel")};return()=>e.showTime?t.createVNode(_R,{modelValue:e.modelValue,title:e.title,showToolbar:e.showToolbar,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:a,onConfirm:i,onCancel:r},null):t.createVNode(PS,{modelValue:e.modelValue,title:e.title,showToolbar:e.showToolbar,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:a,onConfirm:i,onCancel:r},null)}}),Xn=t.defineComponent({name:"FDatePicker",props:kl,emits:["update:modelValue","datePicked","clear","expandClick"],setup(e,n){const o='<span class="f-icon f-icon-date"></span>',a=t.ref(null),{getMinDate:i,getMaxDate:r,formatDateObject:l}=_o(),s=DR(e),c=t.computed(()=>e.maxDate?r(e.maxDate):PR),u=t.computed(()=>e.minDate?i(e.minDate):IR),f=t.ref(9999),d=t.ref(1900),p=t.ref(e.enablePeriod),g=t.ref(e.highlightSaturday),m=t.ref(e.highlightSunday),h=t.ref(e.nameOfMonths),y=t.ref(e.highlightDates),b=t.ref(e.showWeekNumber),v=t.ref(e.selectMode),C=t.ref(e.disableWeekends),w=t.ref(e.disableWeekdays);h.value=s.monthLabels;const S=t.ref(e.disabled),T=t.ref(e.readonly),x=t.ref(e.enableClear),V=t.ref(e.editable),{formatTo:N,parseToDate:k}=Fn(),P=t.computed(()=>Ot()?!1:e.inlineDateTime),M=t.computed(()=>Ot()?!0:e.splitSelection),F=()=>{const j={...e,disableSince:c.value,disableUntil:u.value,minYear:u.value.year,maxYear:c.value.year};return xm(j)};function I(){return e.modelValue?e.modelValue:e.enablePeriod&&(e.beginValue||e.endValue)?e.beginValue+"~"+e.endValue:""}const E=t.ref(I()),A=t.ref(E.value);function D(){}const $=t.computed(()=>{const j=k(A.value,e.valueFormat);return N(j,e.displayFormat)});function B(j,R=!0){if(p.value){E.value!==j&&(E.value=j,A.value=j,R&&(n.emit("update:modelValue",j),n.emit("datePicked",j)));return}const z=N(j,e.valueFormat);E.value!==z&&(E.value=z,A.value=z,R&&(n.emit("update:modelValue",z),n.emit("datePicked",z)))}function _(){a.value&&a.value.hidePopup()}function O(j){if(!p.value&&typeof j=="object"){let R=`${j.year}-${j.month}-${j.day}`;R=l(j,v.value,e.showTime),B(R)}else typeof j=="string"&&B(j);_()}function L(){E.value="",A.value="",n.emit("update:modelValue",""),n.emit("clear")}function W(){var j;L(),_(),(j=a.value)==null||j.clear()}function U(){d.value=u.value.year??d.value,f.value=c.value.year??f.value,d.value>f.value&&(f.value=d.value)}function H(j){var ee;if(!e.editable||T.value||S.value||((ee=a.value.popoverRef)==null?void 0:ee.isShow)&&a.value.popoverRef.popoverRef.contains(j.relatedTarget))return;const z=j.target.value;if(!z){W();return}const Q=k(z,e.displayFormat)||k(z,e.valueFormat);if(!Q){a.value.setText($.value);return}const K=N(Q,e.valueFormat),{normalizeDate:Z}=F(),ae=Z(K,!0);ae&&ae.year!==0?O(ae):a.value.setText($.value)}t.watch(()=>e.modelValue,(j,R)=>{j!==R&&B(j,!1)}),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.readonly],([j,R,z,Q])=>{S.value=j,V.value=R,x.value=z,T.value=Q}),t.watch(()=>e.beginValue,j=>{if(!E.value)E.value=j;else{const R=E.value.split("~");R.length===1?E.value=`${j}`:R.length===2&&(E.value=`${j}~${R[1]}`)}}),t.watch(()=>e.endValue,j=>{if(!E.value)E.value="~"+j;else{const R=E.value.split("~");R.length===1?E.value=`${R[0]}~${j}`:R.length===2&&(E.value=`${R[0]}~${j}`)}}),t.watch([()=>e.maxDate,()=>e.minDate],([j,R])=>{U()}),t.watch(()=>e.selectMode,(j,R)=>{j!==R&&(v.value=j)}),t.watch(()=>e.enablePeriod,(j,R)=>{j!==R&&(p.value=j)}),t.onMounted(()=>{U()});const q=j=>{O(j)},Y=()=>{n.emit("expandClick")},G=j=>{_()};return()=>p.value?t.createVNode(AR,t.mergeProps(e,{disableSince:c.value,disableUntil:u.value,locales:s,splitSelection:M.value&&v.value!=="week",onConfirm:q,onClear:W}),null):t.createVNode(go,{id:e.id,ref:a,customClass:"f-cmp-datepicker",modelValue:$.value,buttonContent:o,placeholder:s.placeholder.default,disable:S.value,readonly:T.value,editable:V.value,enableClear:x.value,popupOnClick:!0,onClear:W,onClickButton:D,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,keepWidthWithReference:!1,placement:Ot()?"bottom":"auto",enableTitle:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:Y,onBlur:H,"onUpdate:modelValue":G},{default:()=>Ot()?t.createVNode(HR,{modelValue:A.value,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,showTime:e.showTime,onConfirm:q,onCancel:_},null):t.createVNode(rr,{mode:"Popup",defaultTime:e.defaultTime,class:e.popupClass,locales:s,value:A.value,valueFormat:e.valueFormat,minYear:d.value,maxYear:f.value,firstDayOfTheWeek:e.firstDayOfTheWeek,enablePeriod:p.value,highlightSunday:m.value,highlightSaturday:g.value,nameOfMonths:h.value,highlightDates:y.value,showWeekNumber:b.value,weekTitle:s.weekTitle,selectMode:v.value,enableQuickSelect:e.enableQuickSelect,disableWeekends:C.value,disableWeekdays:w.value,disableSince:c.value,inlineDateTime:P.value,disableUntil:u.value,showTime:e.showTime,onDatePicked:j=>O(j),onConfirm:q,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep},null)})}});Xn.install=e=>{e.component(gm.name,gm).component(bm.name,bm).component(rr.name,rr).component(Sm.name,Sm).component(Vm.name,Vm).component(Xn.name,Xn)};function IS(e,n,o){return n}const ES=new Map([["appearance",ft]]),zR={$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:"日期选择后事件"}},WR={$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"]},qR={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"}}}}},UR=Object.assign({},kl,{readonly:{}}),AS=We(kl,zR,ES,IS),DS=We(FS,WR,ES,IS,qR);function GR(e,n){const o=e.schema;function a(i,r){return new qc(i,n).getPropertyConfig(o,r)}return{getPropsConfig:a}}const Fl=t.defineComponent({name:"FInputGroupDesign",props:fc,emits:["updateExtendInfo","clear","valueChange","clickHandle","blurHandle","focusHandle","enterHandle","iconMouseEnter","iconMouseLeave","keyupHandle","keydownHandle","inputClick"],setup(e,n){const o=t.ref(e.modelValue),a=t.ref(e.modelValue),i=zh(e,n,o,a),{inputGroupClass:r,inputType:l,inputGroupStyle:s}=i,c=t.ref(),u=t.inject("designer-host-service"),f=t.inject("design-item-context"),d=GR(f,u),p=pt(c,f,d),g=t.computed(()=>e.showType==="password"?"password":"");t.onMounted(()=>{c.value.componentInstance=p}),n.expose(p.value);const m=t.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":e.expandMode==="button","input-append-text":e.expandMode==="text"})),h=t.computed(()=>({"form-control":!0,"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right"}));return()=>t.createVNode("div",{id:"inputGroup",ref:c,class:r.value,style:[s.value,"pointer-events: none"].join(";")},[t.createVNode("input",{class:h.value,type:e.showType,placeholder:e.placeholder,value:g.value,readonly:!0},null),e.showType==="password"&&e.enableViewPassword&&t.createVNode("span",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-eye"},null)])]),e.showType==="text"&&e.groupText&&t.createVNode("span",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text",innerHTML:e.groupText},null)]),e.expandContent&&e.expandable&&t.createVNode("div",{class:m.value},[t.createVNode("div",{class:"input-group-text",innerHTML:e.expandContent},null)])])}}),$S=new Map([["appearance",ft]]);function BS(e,n,o){return n}const OS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/input-group.schema.json",title:"input-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"input-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},formatValidation:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},labelWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabIndex:{description:"",type:"number",default:-1},maxLength:{description:"",type:"number",default:""},textAlign:{description:"",type:"enum",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},addonDisabled:{description:"",type:"boolean",default:!1},addonContent:{description:"",type:"string",default:""},autoHeight:{description:"",type:"boolean",default:!1},enableAddon:{description:"",type:"boolean",default:!1},addonType:{description:"",type:"string",enum:["button","static"],default:"button"},enableClear:{description:"",type:"boolean",default:!0},enableViewPassword:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["input","password","text"],default:"input"},showType:{description:"",type:"string",enum:["password","text"],default:"text"},maxHeight:{description:"",type:"number",default:500},popUp:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},groupText:{description:"",type:"string",default:""},onClickHandle:{description:"",type:"string",default:""},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},onClear:{description:"",type:"string",default:""},updateOn:{description:"",type:"string",default:"blur"},onChange:{description:"值变化事件",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""},onFocus:{description:"获取焦点事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onKeydown:{description:"按键按下事件",type:"string",default:""},onKeyup:{description:"按键松开事件",type:"string",default:""},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClickHandle:"按钮点击事件",onClear:"清空事件"}};We(fc,OS,$S,BS);const RS=Xt(fc,OS,$S,BS);Fl.register=(e,n,o,a,i)=>{e["input-group"]=ka,n["input-group"]=RS(i)},Fl.registerDesigner=(e,n,o,a)=>{e["input-group"]=Fl,n["input-group"]=RS(a)};const Ml=Vt(Fl);function YR(e,n){const o=e.schema;function a(i,r){return new Gc(i,n).getPropertyConfig(o,r)}return{getPropsConfig:a}}const od=t.defineComponent({name:"FDatePickerDesign",props:UR,emits:["update:modelValue","datePicked"],setup(e,n){const o='<span class="f-icon f-icon-date"></span>';t.ref(e.modelValue);const a=t.ref(),i=t.inject("designer-host-service"),r=t.inject("design-item-context"),l=YR(r,i),s=pt(a,r,l);t.onMounted(()=>{a.value.componentInstance=s}),n.expose(s.value);const c=t.computed(()=>({"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!0,"f-cmp-datepicker":!0})),u=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-editable":!0,"align-items-center":!0}));function f(){return t.createVNode("div",{class:c.value,ref:a},[t.createVNode("div",{class:u.value},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Ml,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.beginPlaceholder},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Ml,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.endPlaceholder},null)]),t.createVNode("div",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text input-group-append-button"},[t.createVNode("i",{class:"f-icon f-icon-date"},null)])])])])}return()=>e.enablePeriod?f():t.createVNode(tl,{ref:a,buttonContent:o,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}}),QR=t.defineComponent({name:"FDateViewDesign",props:kl,emits:[],setup(e,n){const o=t.ref(),a=t.inject("design-item-context"),i=pt(o,a);return t.onMounted(()=>{o.value.componentInstance=i}),n.expose(i.value),()=>t.createVNode(rr,{ref:o},null)}});od.register=(e,n,o,a)=>{e["date-picker"]=Xn,e["date-view"]=rr,n["date-picker"]=AS,n["date-view"]=DS},od.registerDesigner=(e,n,o)=>{e["date-picker"]=od,e["date-view"]=QR,n["date-picker"]=AS,n["date-view"]=DS};const Tm=Vt(od);function KR(e,n,o){return n}const XR=new Map([["appearance",ft]]),JR={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dropdown.schema.json",title:"dropdown",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for dropdown",type:"string"},type:{description:"The type string of dropdown",type:"string",default:"dropdown"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},ZR={title:"dropdown",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:{readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"}}}}},Nm={show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{type:String,default:"下拉示例"},size:{type:String,default:""},type:{type:String,default:"primary"},iconClass:{type:String,default:""},active:{type:Boolean,default:!1},splitButton:{type:Boolean,default:!1},position:{type:String,default:"bottom"},model:{type:Array,default:[{label:"项目一",value:"XM1"},{label:"项目二",value:"XM2"},{label:"项目三",value:"XM3"}]},onSelect:{type:Function,default:()=>{}}},LS=We(Nm,JR,XR,KR,ZR);function jS(e,n){const o=t.ref(e.show),a=t.ref(),i=t.ref(),r=t.ref(),l=()=>i.value,s=10,c=(v=1)=>{const C=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],w=Array.from(document.body.querySelectorAll(C.join(","))).filter(T=>T).map(T=>{const{display:x,zIndex:V}=window.getComputedStyle(T);return x==="none"?0:parseInt(V,10)}).filter(T=>T);let S=Math.max(...w);return S<1040&&(S=1040),S+v},u=(v,C)=>{const{height:w,left:S,top:T,width:x}=v.getBoundingClientRect(),{width:V,height:N,top:k}=C.getBoundingClientRect();if(v.className.indexOf("dropdown-submenu")>-1||v.closest(".dropdown-submenu")||v.classList.contains("dropright")){const M=window.innerWidth-S-v.offsetWidth,F=window.innerHeight-T,{position:I}=getComputedStyle(C);if(I==="fixed"){let E=S+v.offsetWidth;C.offsetWidth>M&&S>M&&(E=S-V),C.style.left=E+"px",C.style.right="auto",window.innerHeight-2*s<C.offsetHeight?(C.style.top=s+"px",C.style.bottom=s+"px",C.style.maxHeight=window.innerHeight-2*s+"px",C.style.overflowY="auto",C.className+=" dropdown-menu-maxheight"):F<C.offsetHeight?(C.style.top="auto",C.style.bottom=s+"px"):(C.style.top=T+"px",C.style.bottom="auto")}else{if(C.offsetWidth>M){const E=-V;C.style.left=E+"px"}window.innerHeight-2*s<C.offsetHeight?(C.style.top=-1*(T-s)+"px",C.style.bottom="auto",C.style.maxHeight=window.innerHeight-2*s+"px",C.style.overflowY="auto",C.className+=" dropdown-menu-maxheight"):F<C.offsetHeight&&(C.style.top=F-C.offsetHeight-s+"px",C.style.bottom="auto")}}else{const{marginTop:M,marginBottom:F}=getComputedStyle(C);let I=0;const E=Math.ceil(parseFloat(M))+Math.ceil(parseFloat(F));let A=T+w,D=S;window.innerHeight-A-E<N&&(A=T-N,A<0&&(window.innerHeight-T-w>T?(A=T+w,I=window.innerHeight-A-E-s):(A=s,I=T-A-E))),window.innerWidth-S<V&&window.innerWidth-S<S+x&&(D=S-V+x),document.body.append(C),C.style.cssText=`position:fixed;bottom:unset;left:${D}px
663
+ `])])}}},setPropertyRelates(h,y,b){var v;if(h)switch(h&&h.propertyID){case"type":{h.propertyValue!=="none"&&y.columnTemplate,h.propertyValue==="boolean"&&(a.call(y.formatter,"trueText")||(y.formatter.trueText="是"),a.call(y.formatter,"falseText")||(y.formatter.falseText="否")),h.propertyValue==="number"&&(a.call(y.formatter,"prefix")||(y.formatter.prefix=""),a.call(y.formatter,"suffix")||(y.formatter.suffix=""),a.call(y.formatter,"precision")||(y.formatter.precision=0),a.call(y.formatter,"decimal")||(y.formatter.decimal="."),a.call(y.formatter,"thousand")||(y.formatter.thousand=",")),h.propertyValue==="date"&&(a.call(y.formatter,"dateFormat")||(y.formatter.dateFormat="yyyy-MM-dd")),h.propertyValue==="enum"&&(a.call(y.formatter,"data")||(y.formatter.data=[],(v=y.formatterEnumData)!=null&&v.length&&(y.formatterEnumData=[])));break}}}}}getFieldEditorProp(o,a="gridFieldEditor",i=!1){const r=this.formMetadataConverter.getRealEditorType(o.editor.type);let l;switch(r){case"avatar":l=new Ys(this.componentId,this.designerHostService);break;case"check-group":l=new rc(this.componentId,this.designerHostService);break;case"check-box":l=new oc(this.componentId,this.designerHostService);break;case"combo-list":l=new uc(this.componentId,this.designerHostService);break;case"date-picker":l=new Gc(this.componentId,this.designerHostService);break;case"lookup":l=new yl(this.componentId,this.designerHostService);break;case"number-range":l=new Yc(this.componentId,this.designerHostService);break;case"number-spinner":l=new Qc(this.componentId,this.designerHostService);break;case"radio-group":l=new Kc(this.componentId,this.designerHostService);break;case"switch":l=new Xc(this.componentId,this.designerHostService);break;case"textarea":l=new Uc(this.componentId,this.designerHostService);break;case"time-picker":l=new Jc(this.componentId,this.designerHostService);break;case"language-textbox":l=new Zc(this.componentId,this.designerHostService);break;default:l=new qc(this.componentId,this.designerHostService)}this.setDesignViewModelField(o);const s=this,{canChangeControlType:c,editorTypeList:u}=this.getAvailableEditorType(o);this.propertyConfig.categories[`${a}_editorType`]={description:"",title:"编辑器类型",propertyData:o.editor,tabId:"gridFieldEditor",tabName:"编辑器",properties:{type:{description:"",title:"编辑器类型",type:"enum",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",refreshPanelAfterChanged:!0,editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",data:u,readonly:!c}}},setPropertyRelates(p,g){if(p)switch(p&&p.propertyID){case"type":{s.changeFieldEditorType(o,p.propertyValue);break}}}};const f=["id","type","class","style","binding","label","responseLayout","visible","fill"],d=l.getGridFieldEdtiorPropConfig(o);Object.keys(d).map(p=>{const g=d[p],m={};if(Object.keys(g.properties).map(h=>{f.findIndex(y=>y===h)===-1&&g.properties[h]!==!1&&(m[h]=g.properties[h])}),Object.keys(m).length!==0){const h=g==null?void 0:g.title,y="gridFieldEditor",b="编辑器",v=g==null?void 0:g.description,C=(g==null?void 0:g.$converter)||"";s.propertyConfig.categories[a+"_"+p]={title:h,hide:Object.prototype.hasOwnProperty.call(g,"hide")?g.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(g,"hideTitle")?g.hideTitle:!1,tabId:g.tabId||y,tabName:g.tabName||b,description:v,$converter:C,parentPropertyID:"editor",propertyData:o,properties:m,setPropertyRelates:g==null?void 0:g.setPropertyRelates}}})}changeFieldEditorType(o,a){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i.changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1);const r=this.formSchemaUtils.getComponentByViewModelId(this.viewModelId),l=this.formSchemaUtils.selectNode(r,d=>d.type===he["data-grid"].type||d.type===he["tree-grid"].type);if(!l)return;const s=i.fields.find(d=>d.id===this.designViewModelField.id),c=this.controlCreatorUtils.setGridFieldProperty(a,s,null,!0),u=Object.prototype.hasOwnProperty.call(l,"columns")?l.columns:l.fields,f=u.findIndex(d=>d.id===o.id);if(f>-1&&u[f].editor){const d={};["readonly","required","placeholder"].map(p=>{Object.prototype.hasOwnProperty.call(u[f].editor,p)&&(d[p]=u[f].editor[p])}),u[f].editor=Object.assign(c.editor,d)}Object.assign(u[f],{dataType:c.dataType},c.formatter?{formatter:c.formatter}:{}),!c.formatter&&u[f].formatter&&delete u[f].formatter}checkCanChangeControlType(o,a){return!(!o.binding||!this.designViewModelField||this.designViewModelField.$type!==An.SimpleField)}getAvailableEditorType(o){var r;const a=this.checkCanChangeControlType(o,this.viewModelId);if(!a)return{canChangeControlType:!1,editorTypeList:[{key:o.editor.type,value:((r=he[o.editor.type])==null?void 0:r.name)||o.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===An.SimpleField&&(i=Zo.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage,o.type)),{canChangeControlType:a,editorTypeList:i}}afterChangeBindingType(o,a){!o||!a||(o.field=a.bindingPath,o.dataType=this.controlCreatorUtils.mapControlType2GridFieldType(a),this.controlCreatorUtils.setGridFieldFormatter(o.dataType,o,a))}getFieldEditorPropForCard(o,a,i="gridCardEditor",r=null){var f;const l=this.formMetadataConverter.getRealEditorType(o.editor.type);let s;switch(l){case"avatar":s=new Ys(this.componentId,this.designerHostService);break;case"check-group":s=new rc(this.componentId,this.designerHostService);break;case"check-box":s=new oc(this.componentId,this.designerHostService);break;case"combo-list":s=new uc(this.componentId,this.designerHostService);break;case"date-picker":s=new Gc(this.componentId,this.designerHostService);break;case"lookup":s=new yl(this.componentId,this.designerHostService);break;case"number-range":s=new Yc(this.componentId,this.designerHostService);break;case"number-spinner":s=new Qc(this.componentId,this.designerHostService);break;case"radio-group":s=new Kc(this.componentId,this.designerHostService);break;case"switch":s=new Xc(this.componentId,this.designerHostService);break;case"textarea":s=new Uc(this.componentId,this.designerHostService);break;case"time-picker":s=new Jc(this.componentId,this.designerHostService);break;case"language-textbox":s=new Zc(this.componentId,this.designerHostService);break;default:s=new qc(this.componentId,this.designerHostService)}s.checkCanChangeControlType=()=>!(!o.binding||o.binding.type==="Variable"&&(s.bindingVarible=this.formSchemaUtils.getVariableById(o.binding.field),!s.bindingVarible)),s.getAvailableEditorType=()=>{var g,m;const d=s.checkCanChangeControlType(o,this.viewModelId);if(!d||!r)return{canChangeControlType:!1,editorTypeList:[{key:o.editor.type,value:((g=he[o.editor.type])==null?void 0:g.name)||o.editor.type}]};let p=[];return s.bindingVarible?p=Zo.getEditorTypesByMDataType(s.bindingVarible.type,!!(r!=null&&r.multiLanguage)):p=Zo.getEditorTypesByMDataType((m=r==null?void 0:r.type)==null?void 0:m.name,!!(r!=null&&r.multiLanguage)),{canChangeControlType:d,editorTypeList:p}},s.formRule=a,s.expressionProperty.getExpressionData=()=>a.expressions||[],s.expressionProperty.getExpressionConverter=(d,p)=>({convertFrom:(g,m,h,y)=>{var C;const b=(C=a.expressions)==null?void 0:C.find(w=>w.target===d);if(!b)return"";const v=b.rules.find(w=>w.type===m);return v&&(v==null?void 0:v.value)||""},convertTo:(g,m,h,y,b)=>{var C;if(m==="dataPicking"&&(h!=null&&h.target)){const w=`${h.target}_dataPicking`;((C=h.rules)==null?void 0:C.some(T=>T.id===w&&T.value))?g.dictPickingExpressionId=w:delete g.dictPickingExpressionId}if(!h)return;let v=a.expressions||[];if(!h.rules||!h.rules.length)v=v.filter(w=>w.target!==h.target);else{const w=v.findIndex(S=>S.target===h.target);w===-1?v.push(h):v[w]=ge.cloneDeep(h)}a.expressions=JSON.parse(JSON.stringify(v))}}),this.setDesignViewModelField(o);const c=this,u=(f=s.getPropertyConfig(o))==null?void 0:f.categories;return Object.keys(u).map(d=>{const p=u[d];if(d==="basic"){const{editor:g}=p.properties.binding;g&&(g.readonly=!0),p.properties.position={title:"在卡片标题中显示",description:"启用后,控件将显示在卡片标题中",type:"boolean",defaultValue:!1,$converter:{convertFrom:(m,h)=>o.position==="header",convertTo:(m,h,y)=>{m.position=y?"header":"body"}}}}if(d==="expressions"&&Object.keys(p.properties).forEach(g=>{(g==="compute"||g==="dependency"||g==="dataPicking")&&(p.properties[g].visible=!1)}),Object.keys(p.properties).length!==0){const g=p==null?void 0:p.title,m="gridFieldEditor",h="编辑器",y=p==null?void 0:p.description,b=(p==null?void 0:p.$converter)||"";c.propertyConfig.categories[i+"_"+d]={title:g,hide:Object.prototype.hasOwnProperty.call(p,"hide")?p.hide:!1,hideTitle:Object.prototype.hasOwnProperty.call(p,"hideTitle")?p.hideTitle:!1,tabId:p.tabId||m,tabName:p.tabName||h,description:y,$converter:b,parentPropertyID:"editor",propertyData:o,properties:p.properties,setPropertyRelates:p==null?void 0:p.setPropertyRelates}}}),this.propertyConfig}}let Lo=function(e){return e.condition="condition",e.formatter="formatter",e.other="other",e}({});const _O=t.defineComponent({name:"FormRuleEditor",props:{rule:Object,gridPropertyData:Object,entities:Array,plainFields:Array},emits:["updateRuleName","updateIsDefault"],setup(e,n){const o=t.ref(),a=t.ref(),i=t.ref(),r=t.ref(),l=t.ref([]),{onAddFilter:s,onClear:c,onMoveBottom:u,onMoveNext:f,onMovePrev:d,onMoveTop:p,onInsert:g,onRemove:m,activeRowIndex:h,onSelectRow:y,canClear:b,canMove:v,validateCondition:C,resetActiveRow:w}=Wc({singleValue:!0},l),S=t.ref(Lo.condition),T=t.inject("viewModelId"),x=t.inject("componentId"),V=t.inject("designerHostService"),{controlCreatorUtils:N,eventsEditorUtils:k,messagerService:P,dialogCodeView:M,useDataFields:F}=V,I=F==null?void 0:F.getFieldsTree(),E=t.ref(),A=t.ref(),D=t.ref(),$=new ec(x,V,!1),B=t.ref(!0),_=[{label:"等于",value:0},{label:"不等于",value:1},{label:"大于",value:2},{label:"大于等于",value:3},{label:"小于",value:4},{label:"小于等于",value:5},{label:"包含",value:6},{label:"不包含",value:9},{label:"为空",value:1001},{label:"不为空",value:1002}],O=be=>({"btn mr-2":!0,"btn-primary":S.value===be,"btn-link":S.value!==be}),L=t.ref(e.rule||{});L.value.headerButtons=L.value.headerButtons||[],t.watch(()=>l.value,(be,de)=>{be!==de&&(L.value.condition=be)});const W=(be,de)=>{const J=`${de.raw.name} [${de.raw.bindingPath}]`;return t.createVNode("span",{title:J},[J])};function U(){var be;F.fieldsOrder.value=F.fieldsOrder.value||{},F.fieldsOrder.value[L.value.id]=(be=D.value)==null?void 0:be.selectedFields.map(de=>de.columnSchema)}function H(be){L.value.fields=be,U()}const q=()=>{var de,J,ne;const be=(J=(de=L.value)==null?void 0:de.fields)==null?void 0:J.findIndex(oe=>oe.id===r.value.id);if(be!==-1&&((ne=L.value)!=null&&ne.fields)){const oe=[...L.value.fields];if(oe[be]=r.value,L.value.fields=oe,D.value){const ce=D.value.selectedFields.findIndex(se=>se.columnSchema.id===r.value.id);if(ce!==-1){const se=[...D.value.selectedFields];se[ce].columnSchema=r.value,se[ce].name=r.value.label||r.value.name,D.value.selectedFields=se}}}};function Y(be){var de;S.value!==be&&(be!==Lo.formatter&&(r.value&&q(),L.value.fields=(de=D.value)==null?void 0:de.selectedFields.map(J=>J.columnSchema)),S.value=be)}const G=()=>{var de,J;const be=new yS(x,V);if(a.value=r.value?be.getFieldEditorPropForCard(r.value,L.value,"gridCardEditor",E.value):null,!a.value){(de=o.value)==null||de.updatePropertyConfig(null,r.value,!0);return}a.value.categories.gridCardEditor_eventsEditor.setPropertyRelates=(ne,oe)=>{const{propertyValue:ce}=ne;if(delete r.value[T],ce){const se=()=>{if(k.saveRelatedParameters(r.value,T,ce.events,ce),ce.boundEventsList&&ce.boundEventsList.length>0){const we=ce.boundEventsList.find(Ke=>Ke.boundEvents&&Ke.boundEvents.label==="onClickLabel");oe.linkLabel=!!we}else oe.linkLabel=!1};ce.isAddControllerMethod&&(ce.controlInfo={type:r.value.type,name:r.value.label},M.closeCallback=()=>{o==null||o.value.reloadPropertyPanel()}),se()}},Object.keys(a.value.categories).forEach(ne=>{const{properties:oe}=a.value.categories[ne];oe&&Object.keys(oe).forEach(ce=>{oe[ce].refreshPanelAfterChanged=!1,["maxDate","minDate","defaultTime"].includes(ce)&&(oe[ce].editor.propertyTypes=["Const"])})}),(J=o.value)==null||J.updatePropertyConfig(a.value,r.value,!0)};function j(be){const{changeObject:de,designerItem:J}=be,{categoryId:ne,propertyID:oe,propertyValue:ce}=de;if((ne==="gridCardEditor_editorType"||ne==="gridCardEditor_basic")&&oe==="type"){E.value.editor.$type=ce;const se=N.setFormFieldProperty(E.value,ce),we=ge.cloneDeep(r.value.editor);se.id=r.value.id,se.field=se.path,se.label=r.value.label,se.editor=se.editor||{},se.editor.readonly=we.readonly||!1,se.editor.required=we.required||!1,se.visible=r.value.visible||!0,r.value=se}q(),ne!=="gridCardEditor_eventsEditor"&&t.nextTick(()=>{B.value=!1,t.nextTick(()=>{G(),B.value=!0})})}function R(be){var de;E.value=be,r.value=be?be.columnSchema:null,i.value=((de=be==null?void 0:be.columnSchema)==null?void 0:de.type)||"",G(),U()}function z(){P.question("确定清空当前设置的所有字段吗?","",()=>{var be;L.value.fields=[],(be=D.value)==null||be.clearSelectedFields(),R(null)},()=>{})}function Q(be){be.target._value=L.value.name,L.value.name=ge.trim(be.target.value),n.emit("updateRuleName",L.value,be)}function K(be){L.value.footerContent=be}function Z(be){L.value.headerContent=be}function ae({selectedData:be,propertyConfig:de,modalRef:J,buttonPropertyPanelInstance:ne}){de.value=$.getPropertyConfig(be.value,!1,!1,J),de.value.categories.eventsEditor.setPropertyRelates=(oe,ce)=>{const se=oe.propertyValue;if(delete be.value[T],se){const we=()=>{k.saveRelatedParameters(be.value,T,se.events,se)};se.isAddControllerMethod&&(se.controlInfo={type:be.value.type,name:be.value.text},M.closeCallback=()=>{ne==null||ne.reloadPropertyPanel()},we())}}}const ee={modalTitle:"自定义按钮",editable:!1,idField:"id",textField:"text",allowCollapse:!1,enableClear:!0,defaultComponentSchema:{id:"button",type:"button",text:"按钮",appearance:{class:"btn btn-secondary"},visible:!0,disabled:!1,onClick:""}};function te(be){L.value.headerButtons=be}t.watch(()=>e.rule,(be,de)=>{var J,ne;de&&D.value&&(de.fields=(J=D.value)==null?void 0:J.selectedFields.map(oe=>oe.columnSchema).map(oe=>de.fields.find(ce=>ce.id===oe.id))),L.value=be||{name:"",fields:[]},l.value=L.value.condition||[],L.value.showHeader=L.value.showHeader==null?!0:L.value.showHeader,be||R(null),(ne=D.value)==null||ne.clearActiveItem()});function le(be){L.value.isDefault=be,be&&L.value.condition&&L.value.condition.length?P.question("设为默认格式将清空格式条件,是否继续?","",()=>{c(),n.emit("updateIsDefault",L.value)},()=>{L.value.isDefault=!1}):n.emit("updateIsDefault",L.value)}const ye=t.computed(()=>({"f-utils-fill d-flex flex-column":!0," no-need-filters":L.value.isDefault}));return()=>{var be,de,J;return t.createVNode("div",{class:"d-flex flex-column h-100 "},[t.createVNode("div",{class:"form-rule-items f-utils-fill d-flex flex-column"},[t.createVNode("div",{style:"height: 50px;",class:"d-flex align-items-center mx-3"},[t.createVNode("span",{class:"farris-label-text"},[t.createTextVNode("格式名称:")]),t.createVNode("input",{class:"form-control f-utils-fill mr-3",type:"text",maxlength:"100",onBlur:Q,ref:A,value:L.value.name,title:L.value.name,placeholder:"请输入格式名称,最多可输入100个字符",style:"text-align: left;text-overflow: ellipsis;"},null),t.createVNode("div",{class:"custom-control custom-checkbox",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"isDefaultFormRule",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":[ne=>L.value.isDefault=ne,le]},null),[[t.vModelCheckbox,L.value.isDefault]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"isDefaultFormRule"},[t.createTextVNode("默认格式")])])]),t.createVNode("div",{class:"mx-3 mb-2 d-flex align-items-center"},[t.createVNode("div",{class:"f-utils-fill"},[t.createVNode("button",{class:O(Lo.condition),onClick:()=>Y(Lo.condition)},[t.createTextVNode("格式条件")]),t.createVNode("button",{class:O(Lo.formatter),onClick:()=>Y(Lo.formatter)},[t.createTextVNode("字段设置")])]),S.value===Lo.formatter&&L.value&&t.createVNode("button",{disabled:!((be=L.value.fields)!=null&&be.length),class:"btn btn-link",onClick:()=>z()},[t.createTextVNode("清空")])]),S.value===Lo.condition&&t.createVNode("div",{class:ye.value},[t.createVNode(lm,{conditions:l.value,fields:I,singleValue:!0,idField:"bindingPath",valueField:"bindingPath",formatter:W,activeIndex:h.value,onInsert:ne=>g(ne),enableSearch:!0,onRemove:ne=>m(ne),compareOperators:_,onRowClick:ne=>y(ne)},null),t.createVNode(sm,{canClear:b,canMove:v,onAdd:s,onClear:c,onMoveBottom:u,onMoveNext:f,onMovePrev:d,onMoveTop:p},null)]),S.value===Lo.formatter&&t.createVNode("div",{class:"f-utils-fill d-flex ml-2"},[t.createVNode("div",{class:"f-utils-fill d-flex"},[t.createVNode(kO,{gridPropertyData:e.gridPropertyData,fields:L.value.fields,ref:D,onSelectionFieldChanged:R,entities:e.entities,plainFields:e.plainFields,onUpdateFields:H},null)]),t.createVNode(zl,{enableSearch:B.value,ref:o,propertyConfig:a.value,propertyName:i.value,onPropertyChanged:j},null)]),S.value===Lo.other&&t.createVNode("div",{class:"f-utils-fill d-flex flex-column ml-3",style:"overflow: auto;"},[t.createVNode("div",{class:"custom-control custom-checkbox mb-2",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"enableHeader",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":ne=>L.value.showHeader=ne},null),[[t.vModelCheckbox,L.value.showHeader]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"enableHeader"},[t.createTextVNode("启用头部")])]),!!((de=L.value)!=null&&de.showHeader)&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"d-flex flex-column mr-3 mb-3",style:"height: 200px;min-height: 200px;"},[t.createVNode("div",{class:"mb-2 d-flex align-items-center"},[t.createVNode("label",{class:"m-0 mr-2"},[t.createTextVNode("头部工具栏")]),t.createVNode("div",{class:"farris-input-wrap"},[t.createVNode(Lc,t.mergeProps(ee,{modelValue:L.value.headerButtons,onValueChange:te,onSelectionChange:ae}),null)])]),t.createVNode("label",null,[t.createTextVNode("头部模板")]),t.createVNode(im,{modelValue:L.value.headerContent,onValueChanged:Z,class:"f-utils-fill",lineNumbers:"on",theme:"vs-dark",language:"html"},null)])]),t.createVNode("div",{class:"custom-control custom-checkbox mb-2",style:"display: inline-block;"},[t.withDirectives(t.createVNode("input",{id:"enableFooter",title:"checkbox-input",type:"checkbox",class:"custom-control-input","onUpdate:modelValue":ne=>L.value.showFooter=ne},null),[[t.vModelCheckbox,L.value.showFooter]]),t.createVNode("label",{style:"padding-left: 20px;",class:"custom-control-label",for:"enableFooter"},[t.createTextVNode("启用页脚")])]),!!((J=L.value)!=null&&J.showFooter)&&t.createVNode("div",{class:"d-flex flex-column mr-3",style:"height: 200px;min-height: 200px;"},[t.createVNode("label",null,[t.createTextVNode("页脚内容")]),t.createVNode(im,{modelValue:L.value.footerContent,onValueChanged:K,class:"f-utils-fill",lineNumbers:"on",theme:"vs-dark",language:"html"},null)])])])])}}});function HO(e,n){const{designViewModelUtils:o,formSchemaUtils:a,schemaService:i,designerContext:r,controlCreatorUtils:l}=e,s=t.ref([]),c=t.ref([]);function u(p,g,m=[]){return p&&p.forEach(h=>{m.push(h);const y=g.find(b=>{var v;return((v=b.binding)==null?void 0:v.field)===h.data.id});if(y&&!y.editor&&h.data.id===y.binding.field){const b=l.setFormFieldProperty(i.getFieldByID(h.data.id));y.editor=b.editor}h.data.columnSchema=y,h.children&&u(h.children,g,m),r.appendIdentifyForNewControl&&(!y||y[r.identifyForNewControl])&&r.appendIdentifyForNewControl(h)}),m}function f(){if(a.designerMode==="PC_RTC"&&i.rtcAddedTreeNodes.value){const p=i.getTableInfoByViewModelId(n);if(p!=null&&p.id){const g=i.rtcAddedTreeNodes.value[p.id];g!=null&&g.length&&(s.value=s.value.concat(g))}}}function d(p){s.value=o.getAllFields2TreeByVMId(n),f(),c.value=u(s.value,p)}return{entities:s,plainFields:c,initEntities:d}}const zO=t.defineComponent({name:"FormRules",props:{rules:Array,designerHostService:Object,gridPropertyData:Object,viewModelId:String,componentId:String},emits:["updateRules"],setup(e,n){var C;const o=t.ref(null),{componentSchemaService:a,formSchemaUtils:i,useDataFields:r}=e.designerHostService;t.provide("useFormSchema",i),t.provide("SchemaService",a),t.provide("designerHostService",e.designerHostService),t.provide("viewModelId",e.viewModelId),t.provide("componentId",e.componentId);const l=t.ref(e.rules),{entities:s,plainFields:c,initEntities:u}=HO(e.designerHostService,e.viewModelId||"");t.watch(()=>e.rules,w=>{l.value=w,(!w||!w.length)&&(o.value=null)});function f(w){var S;(!w||w.id!==((S=o.value)==null?void 0:S.id))&&(o.value=w)}function d(){n.emit("updateRules",l.value)}function p(w){var T;const S=w.removed;l.value=((T=l.value)==null?void 0:T.filter(x=>x.id!==S.id))||[],d()}const g=t.computed(()=>{var w;return((w=e.gridPropertyData)==null?void 0:w.type)==="data-grid"?"datagrid":"formcard"}),m=ge.cloneDeep(((C=e.gridPropertyData)==null?void 0:C.columns)||[]).map(w=>{!w.label&&w.title&&(w.label=w.title);const S=r.columnPropertyClean(w);return{id:S.id,type:S.type,field:S.field,binding:S.binding,dataType:S.dataType,editor:null,label:S.label,appearance:S.appearance}});u(m);const h=t.ref(),y=t.computed(()=>{var w,S;return{overflow:"hidden",opacity:(w=l.value)!=null&&w.length?1:.5,"pointer-events":(S=l.value)!=null&&S.length?"auto":"none"}});function b(w,S){l.value&&l.value.length&&l.value.filter(x=>x.id!==w.id).filter(x=>x.name===w.name).length&&(new qt().error({message:"格式名称已存在,请输入其他名称",position:"top-center"}),w.name=S.target._value,S.target.focus())}function v(w){l.value&&l.value.length&&l.value.forEach(S=>{S.id===w.id?S.isDefault=w.isDefault:S.isDefault=!1})}return()=>t.createVNode("div",{class:"d-flex flex-column h-100 mx-2 border"},[t.createVNode(Hn,null,{default:()=>[t.createVNode(Pn,{position:"left",width:200,minWidth:130,maxWidth:300},{default:()=>{var w;return[t.createVNode(oB,{rules:l.value||[],onSelect:f,fields:m,onAdd:d,onRemove:p,controlId:(w=e.gridPropertyData)==null?void 0:w.id,ruleType:g.value},null)]}}),t.createVNode(Pn,{position:"center","custom-class":"layout-border flex-column",style:y.value},{default:()=>[t.createVNode(_O,{ref:h,rule:o.value,gridPropertyData:e.gridPropertyData,onUpdateRuleName:b,onUpdateIsDefault:v,entities:s.value,plainFields:c.value},null)]})]})])}});function WO(e){const n=t.ref({});function o(l){const s=l.formSchemaService.getSchemaEntities();if(!(s!=null&&s.length))return[];const c=s[0];if(!(c!=null&&c.type))return[];const u=l.buildEntityFieldsTreeData(c.type.fields,[]),f=l.buildChildEntityTreeData(c.type.entities,[]);return f!=null&&f.length&&(u==null||u.push(...f)),u}function a(l,s,c="label"){return{id:l.id,name:l.name,bindingPath:[...s,l.label].join("."),parents:s,type:"field",$type:l.$type}}function i(){const l=new Gs(e);return l.createTreeNode=a,o(l)}function r(l){return l.type="form-group",l.appearance={class:"col-12 col-md-6 col-xl-3 col-el-2"},["title","width","align","halign","formatter","filter","showSetting","actualWidth"].forEach(c=>{delete l[c]}),l}return{getFieldsTree:i,columnPropertyClean:r,fieldsOrder:n}}function qO(e,n){const{modalService:o,formSchemaUtils:a,messagerService:i,dialogCodeView:r}=e,{componentId:l,gridPropertyData:s,viewModelId:c}=n,u=WO(a);e.useDataFields=u;const f=t.ref(n.rules),d=ge.cloneDeep(n.rules),p=t.ref();function g(w){const S=o==null?void 0:o.getCurrentModal();o&&S.close(w)}function m(w){const S=o==null?void 0:o.getCurrentModal();S&&S.maxDialog(w)}const h=t.computed(()=>{const w=o==null?void 0:o.getCurrentModal();return w==null?void 0:w.isMaximized});function y(w){const S=[],T=new Map;return w.forEach((x,V)=>{if(x.name){const N=x.name.trim();N&&(T.has(N)||T.set(N,[]),T.get(N).push(V))}}),T.forEach((x,V)=>{x.length>1&&S.push({index:x[0],message:"第 "+x.map(N=>N+1).join(",")+" 格式名称重复"})}),w.forEach((x,V)=>{if((!x.name||!x.name.trim())&&S.push({index:V,message:"请输入格式名称"}),!x.isDefault&&(!x.condition||!Array.isArray(x.condition)||x.condition.length===0))S.push({index:V,message:"请设置格式条件"});else if(x.isDefault)(!x.fields||!Array.isArray(x.fields)||x.fields.length===0)&&S.push({index:V,message:"请配置格式字段"});else{const{validateCondition:N}=Wc({singleValue:!0},t.ref(x.condition)),k=N();k?S.push({index:V,message:"格式条件"+k.message}):(!x.fields||!Array.isArray(x.fields)||x.fields.length===0)&&S.push({index:V,message:"请配置格式字段"})}}),{isValid:S.length===0,errors:S}}function b(w){const T=a.getFormRules().filter(V=>V.controlId!==(s==null?void 0:s.id));w.forEach(V=>{V.viewModelId=c});const x=[...T,...w];a.setFormRules(x)}function v(w){const S=y(w);if(!w.some(x=>x.isDefault===!0))return i==null||i.error("请设置默认格式!"),!1;if(!S.isValid&&S.errors.length>0){let x="<b>请检查以下问题:</b><ul>";return S.errors.forEach(V=>{if(V.index===-1)x+=`<li>${V.message}</li>`;else{const N=w[V.index].name||`第 ${V.index+1} 条`;x+=`<li>${N}: ${V.message}</li>`}}),x+="</ul>",i==null||i.error(x),!1}return Object.keys(u.fieldsOrder.value||{}).forEach(x=>{const V=u.fieldsOrder.value[x],N=w.find(k=>k.id===x);if(N){const k=V.map(P=>N.fields.find(M=>M.id===P.id)).filter(P=>P);N.fields=k}}),b(w),!0}function C(w){const S=o==null?void 0:o.open({fitContent:!1,width:970,height:600,title:"配置卡片格式",showMaxButton:!0,showButtons:!0,draggable:!0,resizeable:!0,stopMoveHandle:()=>{const T=document.activeElement;T&&typeof T.blur=="function"&&T.blur()},render:()=>t.createVNode(zO,{ref:p,isMaximized:h.value,designerHostService:e,gridPropertyData:s,viewModelId:c,rules:f.value,componentId:l,onMaximize:m,onCloseModal:g,onUpdateRules:T=>{f.value=T,t.nextTick(()=>{S==null||S.disableButtons(["clear"],!T.length)})}},null),closedCallback:(T,x)=>{r.openCodeEditor=!1,w&&w()},buttons:[{name:"clear",text:"移除所有格式",disabled:!f.value.length,class:"btn btn-link px-2",styles:"position: absolute;left:20px",handle:T=>{i.question("确定要删除所有格式吗?","",()=>{f.value=[],S==null||S.disableButtons(["clear"],!0)},()=>{})}},{name:"cancel",text:"取消",class:"btn btn-secondary",handle:T=>(r.openCodeEditor=!1,b(d),!0)},{name:"accept",text:"确定",class:"btn btn-primary",handle:T=>{v(f.value)&&(S.close(),r.openCodeEditor=!1)}}]});r.openCodeEditor=!0}return{show:C}}function bS(e,n,o){const{modalService:a,formSchemaUtils:i,eventsEditorUtils:r,dialogCodeView:l,useFormCommand:s}=e,{componentId:c,modalPropertyData:u,viewModelId:f,onSubmitHandle:d,onCancelHandle:p,defaultClass:g,forModalFooter:m}=n,h=t.ref(n.buttons),y={id:"button",type:"button",text:"按钮",appearance:{class:g||"btn btn-secondary"},visible:!0,disabled:!1,onClick:""},b=new ec(c,e,!1),v=t.ref(),C=ge.cloneDeep(n.buttons||[]);function w(){h.value=[]}const S=N=>N.map(k=>{const P={...k};return Object.keys(P).forEach(M=>{M.startsWith("__fv_")&&delete P[M]}),P});function T(){const N=S(h.value);if(d)return typeof d=="function"&&d(N);{const k=i.getExternalComponents().find(P=>P.id===u.id);return k&&(k.buttons=N),!0}}function x({selectedData:N,propertyConfig:k,propertyPanelRef:P}){if(k.value=b.getPropertyConfig(N.value,!1,!1),k.value.categories.behavior.properties.disabled.refreshPanelAfterChanged=!1,m){const{visible:M,disabled:F}=k.value.categories.behavior.properties;M.editor.propertyTypes=["Const"],F.editor.propertyTypes=["Const"]}k.value.categories.eventsEditor.setPropertyRelates=(M,F)=>{const I=M.propertyValue;if(delete N.value[f],I){const E=()=>{r.saveRelatedParameters(N.value,f,I.events,I)};I.isAddControllerMethod&&(I.controlInfo={type:N.value.type,name:N.value.text},e.dialogCodeView.closeCallback=()=>{P==null||P.reloadPropertyPanel()}),E()}},o&&o(k.value)}function V(N){const k=a==null?void 0:a.open({fitContent:!1,width:800,height:600,title:"自定义按钮",showMaxButton:!0,showButtons:!0,draggable:!0,resizeable:!0,render:()=>t.createVNode(Ww,{ref:v,modelValue:h.value,"onUpdate:modelValue":P=>h.value=P,designerHostService:e,idField:"id",textField:"text",defaultComponentSchema:y,onSelectionChange:x,useFormCommand:s,useFormSchema:i,allowCollapse:!1,enableClear:!0,onClear:w},null),closedCallback:(P,M)=>{l.openCodeEditor=!1,N&&N()},buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:P=>(l.openCodeEditor=!1,p&&p(C),!0)},{name:"accept",text:"确定",class:"btn btn-primary",handle:P=>{T()&&(k.close(),l.openCodeEditor=!1)}}]});l.openCodeEditor=!0}return{show:V}}const UO={install(e){e.component(Lc.name,Lc)},register(e,n,o,a){e["collection-property-editor"]=Lc,n["collection-property-editor"]=iB}};class GO extends Lt{constructor(n,o){super(n,o)}getModalButtons(n){const o=this.formSchemaUtils.getExternalComponents().find(a=>a.id===n);return o?o.buttons||[]:[]}setModalButtons(n,o){const a=this.formSchemaUtils.getExternalComponents().find(i=>i.id===n);a&&(a.buttons=o)}getPropertyConfig(n,o){var a;return this.getBasicPropConfig(n),this.getAppearanceProperties(n,o),(n.displayType==="Card"&&((a=n.columns)!=null&&a.length)||n.displayType!=="Card")&&(this.propertyConfig.categories.column=Dw().getColumnOptionProperties(n)),n.displayType!=="Card"&&(this.propertyConfig.categories.command=$w(this).getCommandColumnProperties(n),this.propertyConfig.categories.rowOption=Aw().getRowOptionProperties(n),this.propertyConfig.categories.summary=Bw().getSummaryProperties(n)),this.propertyConfig.categories.group=Z$().getGroupProperties(n,this.viewModelId),n.displayType!=="Card"&&(this.propertyConfig.categories.sort=tB().getSort(n),this.propertyConfig.categories.filter=nB().getFilter(n)),this.getEventPropConfig(n),this.propertyConfig}getBasicPropConfig(n){var l,s,c;const o=(c=(s=(l=this.formSchemaUtils.getFormSchema())==null?void 0:l.module)==null?void 0:s.entity[0])==null?void 0:c.entities[0],a=this.assembleSchemaEntityToTree(o,0),i=this,r=super.getBasicPropConfig(n);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...r.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:a,editable:!1},readonly:!0}},setPropertyRelates(u,f){switch(u&&u.propertyID){case"dataSource":{const d=i.formSchemaUtils.getViewModelById(i.viewModelId);if(d){const p=a.find(g=>g.label===u.propertyValue);d.bindTo=p.bindTo}i.designViewModelUtils.assembleDesignViewModel();break}}}}}assembleSchemaEntityToTree(n,o,a,i="",r=[]){const l=i?`${i}/${n.label}`:"/";return r.push({id:n.id,name:n.name,label:n.label,layer:o,parent:a&&a.id,bindTo:l.replace("//","/")}),n.type.entities&&n.type.entities.length&&n.type.entities.map(s=>this.assembleSchemaEntityToTree(s,o+1,n,l,r)),r}getAppearanceProperties(n,o){const a=this;this.propertyConfig.categories.appearance=jw().getDataGrid(n,this.viewModelId),this.getGridRuleProperties(n,o),n.displayType!=="Card"&&(this.propertyConfig.categories.selection=Rw().getSelection(n,a),this.propertyConfig.categories.rowNumber=Lw().getRowNumber(n),this.propertyConfig.categories.pagination=eB().getPagination(n,!1,a))}getEventPropConfig(n){const o=[...Ow().initEvent(n)],a=this,i=a.eventsEditorUtils.formProperties(n,a.viewModelId,o),r=a.createBaseEventProperty(i);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:r,refreshPanelAfterChanged:!0,tabId:Yt,tabName:"交互",setPropertyRelates(l,s){const c=l.propertyValue;delete n[a.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(n,a.viewModelId,c.events,c)),n.remoteSort=!!n.columnSorted,n.command&&(n.command.onClickEditCommand=n.onClickEditCommand,n.command.onClickDeleteCommand=n.onClickDeleteCommand,n.command.onHandleAction=n.onHandleAction)}}}cleanDataItem(n){Object.keys(n).forEach(o=>{o.indexOf("__fv")>-1&&delete n[o]})}cleanData(n){if(n)return n.forEach(o=>{this.cleanDataItem(o)}),n}getGridRuleProperties(n,o){var f,d;const a=this,i=()=>this.formSchemaUtils.getFormRules().filter(g=>g.type==="datagrid"&&g.controlId===n.id),r=()=>{const g=this.formSchemaUtils.getFormRules().filter(m=>m.controlId!==n.id);this.formSchemaUtils.setFormRules(g)},l=()=>n.displayType==="Card"&&(!!n.showCardHeader||n.showCardHeader===void 0),s=()=>n.displayType==="Card"&&(!!n.showCardFooter||n.showCardFooter===void 0),c=()=>{const p=a.formSchemaUtils.getViewModelById(this.viewModelId);return p&&p.bindTo?p.bindTo.trim().split("/").filter(g=>g).length===1:!1},u=ge.cloneDeep(n.cardToolbar||[]);this.propertyConfig.categories.gridRules={description:"卡片格式设置",title:"卡片格式",hide:!c(),properties:{displayType:{title:"显示模式",description:"表格按照什么模式展示,默认List模式",type:"enum",refreshPanelAfterChanged:!0,editor:{data:[{id:"List",name:"表格"},{id:"Card",name:"卡片"}]}},showCardHeader:{title:"显示头部",description:"",type:"boolean",visible:n.displayType==="Card",refreshPanelAfterChanged:!0},cardMainTitle:{title:"卡片主标题",description:"卡片主标题",type:"string",visible:l(),refreshPanelAfterChanged:!0},cardTitleTemplate:{title:"头部标题模板",description:"头部标题模板设置后,会覆盖卡片主标题",type:"string",visible:l(),editor:{type:"code-editor",language:"html",enableClear:!0},refreshPanelAfterChanged:!0},cardHeaderTemplate:{title:"头部内容模板",description:"头部内容模板",type:"string",visible:l(),editor:{type:"code-editor",language:"html",enableClear:!0},refreshPanelAfterChanged:!0},cardToolbar:{visible:l(),description:"配置卡片头部区域展示的按钮",title:"头部工具栏按钮组",type:"array",defaultValue:`共 ${((f=n.cardToolbar)==null?void 0:f.length)||0} 项`,$converter:{convertFrom:()=>{var p;return`共 ${((p=n.cardToolbar)==null?void 0:p.length)||0} 项`}},editor:{type:"button-edit",editable:!1,enableClear:((d=n.cardToolbar)==null?void 0:d.length)>0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:p}=a.designerHostService;p.question("您确定要清空所有按钮吗?","",()=>{n.cardToolbar=[],a.getFormDesignerInstance().reloadPropertyPanel()},()=>{n.cardToolbar=u,a.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{bS(a.designerHostService,{defaultClass:"btn btn-link",buttons:n.cardToolbar||[],modalPropertyData:n,componentId:a.componentId,viewModelId:a.viewModelId,onSubmitHandle:p=>(n.cardToolbar=this.cleanData(p),!0),onCancelHandle:p=>{n.cardToolbar=this.cleanData(p)}},p=>{p.categories.behavior.properties.disabled.editor.propertyTypes=["Const","Variable","StateMachine","Expression"]}).show(()=>{a.getFormDesignerInstance().reloadPropertyPanel()})}}},showCardFooter:{title:"显示底部",description:"",type:"boolean",visible:n.displayType==="Card",refreshPanelAfterChanged:!0},cardFooterTemplate:{title:"底部内容模板",description:"",type:"string",visible:s(),refreshPanelAfterChanged:!0,editor:{type:"code-editor",language:"html",enableClear:!0}},rules:{description:"配触发条件,根据条件动态渲染卡片",title:"格式配置",defaultValue:`共 ${i().length} 项`,editor:{type:"button-edit",editable:!1,enableClear:i().length>0,buttonContent:'<i class="f-icon f-icon-lookup"></i>',onClear:()=>{const{messagerService:p}=this.designerHostService;p.question("确定要删除所有格式吗?","",()=>{r(),this.getFormDesignerInstance().reloadPropertyPanel()},()=>{this.getFormDesignerInstance().reloadPropertyPanel()})},onClickButton:()=>{qO(this.designerHostService,{rules:i(),gridPropertyData:n,componentId:this.componentId,viewModelId:this.viewModelId}).show(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}},readonly:!1,visible:!!n.displayType&&n.displayType.toLowerCase()==="card"}},setPropertyRelates(p,g){switch(p&&p.propertyID){case"displayType":{p.propertyValue.toLowerCase()==="card"?(o.appearance.class=o.appearance.class.replace(/\s+$/,""),o.appearance.class=`${o.appearance.class.trim()} h-auto data-grid-container`):o.appearance.class=o.appearance.class.replace("h-auto data-grid-container","");break}}}}}}function YO(e,n){const o=e.schema,a=t.ref(!0),i=t.ref(!0);function r(g){return g&&g.sourceType==="control"?g.componentCategory==="input":!1}function l(){return!1}function s(){return!1}function c(){return!0}function u(g){var y;const m=new GO(g,n),h=(y=e==null?void 0:e.parent)==null?void 0:y.schema;return m.getPropertyConfig(o,h)}function f(){var g,m,h,y;if(e&&n){const b=(g=e==null?void 0:e.componentInstance)==null?void 0:g.value.belongedComponentId;let v="",C="";const{formSchemaUtils:w}=n;if(b){const T=w.getRootViewModelId(),x=w.getComponentByViewModelId(T),V=w.selectNode(x,N=>N.contents&&N.contents.find(k=>k.component===b));(V==null?void 0:V.type)===((m=he["tab-page"])==null?void 0:m.type)&&((h=V==null?void 0:V.contents)!=null&&h.length)&&(v=V.title||""),(V==null?void 0:V.type)===((y=he.section)==null?void 0:y.type)&&(V==null?void 0:V.showHeader)!==!1&&(v=V.mainTitle||""),v=v?`${v} > `:"",C=v?V.id:""}const S=he["data-grid"].name;n==null||n.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:S,parentPathName:`${v}${S}`,reliedComponentId:C}),o.cardToolbar&&o.cardToolbar.length&&o.cardToolbar.forEach(T=>{n==null||n.formSchemaUtils.getControlBasicInfoMap().set(T.id,{componentTitle:T.text,parentPathName:`${v}${S} > ${T.text}`,reliedComponentId:C})})}}function d(g){var m;g&&((m=g==null?void 0:g.changeObject)==null?void 0:m.propertyID)==="cardToolbar"&&f()}function p(){if(!n)return;const{formSchemaUtils:g}=n,h=g.getFormRules().filter(y=>y.type==="datagrid"&&y.controlId!==o.id);g.setFormRules(h)}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:a,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:u,setComponentBasicInfoMap:f,onRemoveComponent:p,onPropertyChanged:d}}const ci=t.defineComponent({name:"FDataGridDesign",props:X$,emits:["ClickRow","DoubleClickRow","selectionChange","enterUpInLastCell","pageIndexChanged","pageSizeChanged"],setup(e,n){var de,J;const o=t.ref(!1),a=t.ref(((de=e.rowOption)==null?void 0:de.rowHeight)||28),i=t.ref(),r=t.inject("designer-host-service"),l=t.inject("design-item-context"),s=YO(l,r),c=pt(i,l,s);c.value.styles="display:flex;flex:1;",t.onMounted(()=>{i.value.componentInstance=c}),t.provide("data-grid-context",{dataGridProps:e}),n.expose(c.value);const u=t.ref(e.columns),f=20,d=pa(e),p=0,g=t.ref(),m=t.ref(),h=t.ref(e.showStripe),y=t.ref([]),b=t.ref(!1),v=t.ref(((J=e.rowOption)==null?void 0:J.wrapContent)||!1),C=la(e,n),w=sa(e),S=ia(e,new Map,C,w,d),T=ga(e,S,d,y,n),x=t.computed(()=>S.totalItems.value<f?S.totalItems.value:f),{containerStyleObject:V}=hi(e,y),N=ql(e),{applyCommands:k}=N;k(u);const P=Iw(e),M=Yl(),{applyColumnSorter:F,columnContext:I,updateColumnRenderContext:E}=P;F(S,M);const A=hr(e,I),D=ma(e,n,T,d),$=fa(e,n,d,D,y),B=ca(e,S,a),_=da(e,$,B),O=ua(e,S,$,w,d,B,_,a),L=Ul(e,d,_,O),W=Gl(e,d,_,O),U=Ew(e,u,S,x,p,O,L,W),{getVisualData:H}=U,q=bi(e,T),{sidebarWidth:Y}=q;y.value=H(0,x.value+p-1);const G=Da(e,S,y,I,U,x,p,Y,a,o),{onWheel:j,dataGridWidth:R,viewPortHeight:z,viewPortWidth:Q}=G,K=Pw(e,I,g,Q,A),{calculateColumnsSize:Z}=K,ae=t.computed(()=>({"fv-grid":!0,"fv-grid-bordered":!0,"fv-datagrid-strip":h.value})),ee=t.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":b.value,"fv-grid-wrap-content":v.value})),{renderGridHeader:te}=_w(l,e,P,G),{renderHorizontalScrollbar:le}=mr(e,g,G);function ye(){var ne,oe;z.value=((ne=m.value)==null?void 0:ne.clientHeight)||0,R.value=((oe=g.value)==null?void 0:oe.clientWidth)||0,m.value&&(Q.value=m.value.clientWidth),Z()}t.onMounted(()=>{g.value&&(Ir.useResizeObserver(g.value,ye),Z(),t.nextTick(()=>{g.value&&(R.value=g.value.clientWidth),m.value&&(Q.value=m.value.clientWidth,z.value=m.value.clientHeight)}))});function be(ne){ne&&(u.value=ne,k(u),E(u.value),F(S,M),Z())}return t.watch(()=>e.columns,ne=>{be(ne),tn.value++}),()=>t.createVNode("div",{ref:i,class:ae.value,style:{flex:"1 1 0"},onWheel:j},[te(),t.createVNode("div",{ref:g,class:ee.value,onMouseover:()=>{b.value=!0},onMouseleave:()=>{b.value=!1}},[le()])])}}),ed=new Map([["appearance",ft],["column","columnOption"],["command","commandOption"]]),vS=new Map([]),QO="root-viewmodel";class KO{constructor(n,o){X(this,"formSchemaUtils");X(this,"controlCreatorUtils");X(this,"designViewModelUtils");X(this,"useFormCommand");X(this,"formStateMachineUtils");this.resolver=n,this.designerHostService=o,this.formSchemaUtils=this.designerHostService.formSchemaUtils,this.controlCreatorUtils=this.designerHostService.controlCreatorUtils,this.designViewModelUtils=this.designerHostService.designViewModelUtils,this.useFormCommand=this.designerHostService.useFormCommand,this.formStateMachineUtils=this.designerHostService.formStateMachineUtils}createComponent(n){const o=this.createComponentRefNode(n),a=this.createComponentNode(n),i=this.createViewModeNode(n),r=this.formSchemaUtils.getFormSchema();return r.module.viewmodels.push(i),r.module.components.push(a),this.designViewModelUtils.assembleDesignViewModel(),this.wrapContainerSectionForComponent(o,n,i)}wrapContainerSectionForComponent(n,o,a){var c,u,f,d,p,g,m,h,y,b,v;const i=(u=(c=o==null?void 0:o.parentComponentInstance)==null?void 0:c.schema)==null?void 0:u.type,r=(p=(d=(f=o==null?void 0:o.parentComponentInstance)==null?void 0:f.schema)==null?void 0:d.appearance)==null?void 0:p.class,l=(m=(g=this.formSchemaUtils.getFormSchema())==null?void 0:g.module)==null?void 0:m.templateId;if(i===he["splitter-pane"].type&&(r!=null&&r.includes("f-page-content-main"))&&["double-list-template","tree-list-template"].includes(l))return n;const s=[he["content-container"].type,he["response-layout-item"].type,he["splitter-pane"].type,he.drawer.type];if(i&&s.includes(i)){const C=this.resolver.getSchemaByType("section",{parentComponentInstance:o.parentComponentInstance,mainTitle:o.componentName},this.designerHostService);if(C&&C.contents&&C.contents.length){const w=C.contents[0];return w.contents=[n],this.appendAddDeleteBtnToParentContainer(w,o,a),C}}return this.appendAddDeleteBtnToParentContainer((h=o==null?void 0:o.parentComponentInstance)==null?void 0:h.schema,o,a),i===he["tab-page"].type&&(y=o.parentComponentInstance)!=null&&y.parent&&(b=o.parentComponentInstance)!=null&&b.parent.updateToolbarItems&&((v=o.parentComponentInstance)==null||v.parent.updateToolbarItems()),n}appendAddDeleteBtnToParentContainer(n,o,a){const i=n.type,r=a.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel","");if(o.bindTo==="/"||o.componentType!=="data-grid"&&o.componentType!=="form")return;const l=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),s=he["tab-page"].type===i?"tab-toolbar-item":"section-toolbar-item",c=this.resolver.getSchemaByType(s),u=[Object.assign({},c,{id:`button-add-${o.componentId}`,type:s,text:"新增",disabled:l.find(f=>f.id==="canAddDetail")?{type:"StateMachine",status:!1,field:"canAddDetail"}:!1,onClick:`root-viewModel.${a.id}.${r}AddItem1`}),Object.assign({},c,{id:`button-remove-${o.componentId}`,type:s,text:"删除",disabled:l.find(f=>f.id==="canRemoveDetail")?{type:"StateMachine",status:!1,field:"canRemoveDetail"}:!1,onClick:`root-viewModel.${a.id}.${r}RemoveItem1`})];n.toolbar||(n.toolbar={id:`${n.id}_toolbar`,type:he["tab-page"].type===i?"tab-toolbar":"section-toolbar",buttons:[]}),n.toolbar.id||(n.toolbar.id=`${n.id}_toolbar`),n.toolbar.type||(n.toolbar.type=he["tab-page"].type===i?"tab-toolbar":"section-toolbar"),n.toolbar.buttons||(n.toolbar.buttons=[]),n.toolbar.buttons=n.toolbar.buttons.concat(u),this.appendAddAndDeleteCommands(a),this.useFormCommand&&this.useFormCommand.checkCommands()}appendAddAndDeleteCommands(n){var f;const o=n.id.replace(/-/g,"").replace(/_/g,"").replace("component","").replace("viewmodel",""),a=Wt().guid(),i=Wt().guid(),r=this.resolveCommandController(),l={id:a,code:`${o}AddItem1`,name:"增加一条子表数据",params:[],handlerName:"AddItem",cmpId:r,shortcut:{},extensions:[]},s={id:i,code:`${o}RemoveItem1`,name:"删除一条子表数据",params:[{name:"id",shownName:"待删除子表数据的标识",value:`{DATA~${n.bindTo}/id}`}],handlerName:"RemoveItem",cmpId:r,shortcut:{},extensions:[]};(f=this.designerHostService.designerContext)!=null&&f.appendIdentifyForNewCommand&&(this.designerHostService.designerContext.appendIdentifyForNewCommand(l),this.designerHostService.designerContext.appendIdentifyForNewCommand(s)),n.commands.push(l,s),this.formSchemaUtils.getFormSchema().module.webcmds.find(d=>d.id===r).refedHandlers.push({host:a,handler:"AddItem"},{host:i,handler:"RemoveItem"})}resolveCommandController(){const n=this.formSchemaUtils.getFormSchema().module.webcmds,o=["8172a979-2c80-4637-ace7-b13074d3f393","8fe977a1-2b32-4f0f-a6b3-2657c4d03574","45be24f9-c1f7-44f7-b447-fe2ada458a61"],a=n.find(r=>o.includes(r.id));if(a)return a.id;const i="45be24f9-c1f7-44f7-b447-fe2ada458a61";return n.push({id:i,path:"/projects/packages/Inspur.GS.Gsp.Web.WebCmp/webcmd",name:"AdvancedListCardController.webcmd",refedHandlers:[]}),i}createComponentRefNode(n){const o=this.resolver.getSchemaByType("component-ref");return Object.assign(o,{id:`${n.componentId}-component-ref`,component:`${n.componentId}-component`}),o}createComponentNode(n){const o=this.resolver.getSchemaByType("component"),a=this.createDateGridComponentContents(n);return Object.assign(o,{id:`${n.componentId}-component`,viewModel:`${n.componentId}-component-viewmodel`,componentType:n.componentType,appearance:{class:this.getDataGridComponentClass(n)},contents:a}),o}createViewModeNode(n){return{id:`${n.componentId}-component-viewmodel`,code:`${n.componentId}-component-viewmodel`,name:n.componentName,bindTo:n.bindTo,parent:QO,fields:this.assembleViewModelFields(n),commands:[],states:[],enableValidation:!0}}getDataGridComponentClass(n){var r,l,s,c;const{templateId:o}=this.formSchemaUtils.getFormSchema().module,a=(r=n.parentComponentInstance)==null?void 0:r.schema,i=(l=a==null?void 0:a.appearance)==null?void 0:l.class;if(o==="double-list-in-tab-template"&&(a==null?void 0:a.type)==="tab-page"){const u=((s=n.parentComponentInstance)==null?void 0:s.parent)&&((c=n.parentComponentInstance)==null?void 0:c.parent.schema);if((u==null?void 0:u.type)==="tabs"&&(u==null?void 0:u.fill)===!0)return"f-struct-wrapper f-utils-fill-flex-column"}return["double-list-template","tree-list-template"].includes(o)&&(i!=null&&i.includes("f-page-content-main"))?"f-struct-wrapper f-utils-fill-flex-column":"f-struct-is-subgrid"}createDateGridComponentContents(n){var p,g,m,h,y;const o=(p=n.parentComponentInstance)==null?void 0:p.schema,a=(m=(g=o==null?void 0:o.schema)==null?void 0:g.appearance)==null?void 0:m.class,{templateId:i}=this.formSchemaUtils.getFormSchema().module;let r,l=!1;if(i==="double-list-in-tab-template"&&(o==null?void 0:o.type)==="tab-page"){const b=((h=n.parentComponentInstance)==null?void 0:h.parent)&&((y=n.parentComponentInstance)==null?void 0:y.parent.schema);(b==null?void 0:b.type)==="tabs"&&(b==null?void 0:b.fill)===!0&&(l=!0)}if(l){const b=this.resolver.getSchemaByType("section");Object.assign(b,{id:n.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main px-0 pt-0"},fill:!0,showHeader:!1}),r=b}else if((i==="double-list-template"||i==="tree-list-template")&&(a!=null&&a.includes("f-page-content-main"))){const b=this.resolver.getSchemaByType("section");Object.assign(b,{id:n.componentId+"-section",appearance:{class:"f-section-grid f-section-in-main"},fill:!0,showHeader:!1}),r=b}else{const b=this.resolver.getSchemaByType("content-container");Object.assign(b,{id:n.componentId+"-container",appearance:{class:"f-grid-is-sub f-utils-flex-column"}}),r=b}const s=this.resolver.getSchemaByType("data-grid"),c=[],u=this.formStateMachineUtils&&this.formStateMachineUtils.getRenderStates(),f=n.editable&&u.length>0&&u.findIndex(b=>b.id==="editable")>-1;Object.assign(s,{id:n.componentId+"-dataGrid",appearance:{class:"f-component-grid"},columns:c,fieldEditable:f,dataSource:n.dataSource||"",editable:f?{type:"StateMachine",status:!0,field:"editable"}:!1,pagination:{enable:!n.editable}}),r.contents=[s];const{selectedFields:d}=n;return d==null||d.forEach(b=>{if(b.$type===An.ComplexField)return;const v=ge.cloneDeep(b),C=this.controlCreatorUtils.setGridFieldProperty("data-grid-column",v,"",f);C&&c.push(C)}),[r]}assembleViewModelFields(n){const o=[],{selectedFields:a}=n;return a==null||a.forEach(i=>{if(i.$type===An.ComplexField)return;let r="blur";const l=i.type.name;(l===Gn.Enum||l===Gn.Boolean)&&(r="change"),o.push({type:"Form",id:i.id,fieldName:i.bindingField,groupId:null,groupName:null,updateOn:r,fieldSchema:{}})}),o}}function td(e,n,o,a){var r,l,s,c,u,f,d;const i=o.parentComponentInstance;if(i&&a){const p=Math.random().toString(36).slice(2,6),g={componentId:`data-grid-${p}`,componentName:((r=o.bindingSourceContext)==null?void 0:r.entityTitle)||((s=(l=o.bindingSourceContext)==null?void 0:l.bindingEntity)==null?void 0:s.name)||`表格-${p}`,componentType:"data-grid",parentContainerId:i.schema.id,parentComponentInstance:i,editable:!0,bindTo:((c=o.bindingSourceContext)==null?void 0:c.bindTo)||"",dataSource:(f=(u=o.bindingSourceContext)==null?void 0:u.bindingEntity)==null?void 0:f.label,selectedFields:(d=o.bindingSourceContext)==null?void 0:d.bindingEntityFields};return new KO(e,a).createComponent(g)}else return n}function CS(e,n,o){return n}const wS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/grid-field-editor.schema.json",title:"grid-field-editor",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"grid-field-editor"},viewModelId:{description:"",type:"string",default:""},gridData:{description:"",type:"object",default:null},usage:{description:"",type:"string",default:"column"}},required:["id","type"]},um={modelValue:{type:String,default:""},viewModelId:{Type:String,default:""},gridData:{Type:Object,default:null},gridType:{Type:String,default:"data-grid-column"},getLatestGridData:{Type:Function},usage:{Type:String,default:Xo.Column}};We(um,wS,ed,td);const XO=Xt(um,wS,ed,td),JO=t.defineComponent({name:"FGridFieldEditor",props:um,emits:["change"],setup(e,n){const o=t.ref(e.viewModelId),a=t.inject("designViewModelUtils"),i=t.inject("useFormSchema"),r=t.inject("schemaService"),l=t.inject("controlCreatorUtils"),s=t.inject("designerContext");let c=e.gridData.columns;const{fieldEditable:u}=e.gridData,f=t.ref(`共 ${(c||[]).length} 项`),d=t.ref([]),p=t.ref([]);let g=[];function m(){if(e.usage===Xo.Group){let A=[];if(e.gridData.group&&e.gridData.group.groupFields){const{groupFields:D}=e.gridData.group;A=D}c=g.filter(D=>A.includes(D.data.bindingPath)).map(D=>l.setGridFieldProperty(e.gridType,D.data,null,u)),f.value=`共 ${(c||[]).length} 项`}}function h(A){return e.usage===Xo.Group?A.map(D=>D.field):A}function y(A,D=!0){if(s.checkCanDeleteControl){const $=g.find(B=>{var _;return((_=B.data)==null?void 0:_.id)===A.id});return s.checkCanDeleteControl($,D)}return!0}const b={customRowStatus:A=>{const D=A.raw;D.type&&D.type.fields&&D.type.fields.length>0&&(A.disabled=!0),y(D,!1)||(A.disabled=!0)}};function v(){if(d.value=[],!c||c.length===0)return[];const A="[绑定字段不存在,待移除]";c.forEach(D=>{if(D.binding&&D.binding.field){const $=g.find(B=>B.data.id===D.binding.field);$?$.data.$type===An.ComplexField?d.value.push(Object.assign({isInValidBinding:!0},$.data,{name:$.data.name+A})):d.value.push(Object.assign({},$.data)):d.value.push({id:D.binding.field,name:D.title+A,label:D.field,bindingField:null,isInValidBinding:!0})}}),f.value=`共 ${d.value.length} 项`}function C(A,D=[]){return A&&A.forEach($=>{if(D.push($),$.children&&C($.children,D),s.appendIdentifyForNewControl){const B=c.find(_=>{var O;return((O=_.binding)==null?void 0:O.field)===$.data.id});(!B||B[s.identifyForNewControl])&&s.appendIdentifyForNewControl($)}}),D}function w(){if(i.designerMode==="PC_RTC"&&r.rtcAddedTreeNodes.value){const A=r.getTableInfoByViewModelId(o.value);if(A!=null&&A.id){const D=r.rtcAddedTreeNodes.value[A.id];D!=null&&D.length&&(p.value=p.value.concat(D))}}}function S(){p.value=a.getAllFields2TreeByVMId(o.value),w(),g=C(p.value)}function T(A,D,$){if(i.getComponents().find(_=>{let O=i.getControlsInCmpWidthBinding(_.viewModel,A);if(O=O.filter(L=>{var U;if(L.id===$)return!1;const W=D.type==="visible"?L[D.type]:(U=L.editor)==null?void 0:U[D.type];if(W&&W.type==="Expression"&&W.expressionId===D.id)return!0}),O.length)return!0}))return!0}function x(A){A.map(D=>{var B;const $=c.find(_=>{var O;return((O=_.binding)==null?void 0:O.field)===D});if($&&i.getExpressions().length){const _=i.getExpressions(),O=_.findIndex(L=>L.target===D);O>-1&&((B=_[O].rules)==null||B.map(L=>{var W;switch(L.type){case"visible":case"readonly":case"required":{const U=L.type==="visible"?$[L.type]:(W=$.editor)==null?void 0:W[L.type];U&&U.type==="Expression"&&U.expressionId===L.id&&(T(D,L,$.id)||(L.needDelete=!0));break}default:T(D,L,$.id)||(L.needDelete=!0)}}),_[O].rules=_[O].rules.filter(L=>!L.needDelete))}})}function V(){const A=a.getDgViewModel(o.value),D=[],$=[],B=d.value;if(B.forEach(_=>{const O=c==null?void 0:c.find(L=>{if(L.binding&&L.binding.field)return L.binding.field===_.id});if(O)D.push(O);else{const L=l.setGridFieldProperty(e.gridType,_.data,null,u);e.usage!==Xo.Group&&A.addField(_),D.push(L)}$.push(_.id)}),e.usage!==Xo.Group){const _=A.fields.filter(O=>!$.includes(O.id));if(_&&_.length>0){const O=_.map(L=>L.id);A.removeField(O),x(O)}}B.length!==d.value.length&&(d.value=B),f.value=`共 ${D.length} 项`,n.emit("change",h(D))}const N={fitContent:!1,width:900,height:600,title:"列编辑器",draggable:!0,acceptCallback:()=>{V()},rejectCallback:()=>{}};function k(){return e.getLatestGridData?c=e.getLatestGridData().columns:c=e.gridData.columns,S(),m(),v(),Promise.resolve(!0)}function P(A){e.usage===Xo.Group?d.value=[A.raw]:d.value=[...d.value,A.raw]}function M(A){const D=d.value.findIndex($=>$.id===A.raw.id);D>-1&&(d.value=[...d.value.slice(0,D),...d.value.slice(D+1)])}function F(A){const D=d.value.findIndex($=>$.id===A.id);D>-1&&(d.value=[...d.value.slice(0,D),...d.value.slice(D+1)])}function I(A){const D=A[0].__fv_index__,$=d.value.findIndex(_=>_.id===A[0].id),B=d.value.find(_=>_.id===A[0].id);d.value.splice($,1),d.value.splice(D,0,B)}const E=[{field:"name",title:"",dataType:"string",width:"100%",formatter:(A,D)=>A.data+` [${D.data.bindingField.data}]`},{field:"bindingField",visible:!1,title:"",dataType:"string"}];return t.onMounted(()=>{S(),m()}),()=>t.createVNode(fn,{"button-behavior":"Modal","modal-options":N,modelValue:f.value,"onUpdate:modelValue":A=>f.value=A,editable:!1,beforeOpen:k},{default:()=>[t.createVNode("div",{class:"f-utils-absolute-all"},[t.createVNode(Ma,{selections:d.value,"data-source":p.value,rowOption:b,class:"mx-2",columns:E,displayType:"Tree",onRemoveItem:F,onSelectItem:P,onUnSelectItem:M,onActiveChange:I,checkBeforeRemoveItem:y},{text:A=>t.createVNode("div",{style:"margin: 10px 0px 10px 14px;"},[A.data.name.data,t.createTextVNode(" ["),A.data.bindingField.data,t.createTextVNode("]")])})])]})}}),ZO={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"data-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string",default:""},type:{description:"The type string of data-grid-column component",type:"string",default:"data-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object",default:{}},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",default:"none",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},columnTemplate:{description:"列模板",type:"string",default:""},headerFormatter:{description:"头部模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},multiLanguage:{description:"是否启用多语",type:"boolean"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},enableGroup:{description:"",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string"},enableBatchEdit:{description:"启用批量编辑",type:"boolean",default:!1},cellStyle:{description:"单元格样式",type:"string"}},required:["id","type"],events:{onClickLinkCommand:"超链接事件",fieldValueChanging:"绑定字段值变化前事件",fieldValueChanged:"绑定字段值变化后事件",onChange:"值变化事件",beforeOpen:"下拉面板前事件",onDatePicked:"日期选择后事件",onClickHandle:"按钮点击事件"}},eR={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid-column.schema.json",title:"tree-grid-column",description:"A Farris data-grid-column Component",type:"object",properties:{id:{description:"The unique identifier for a data-grid-column",type:"string"},type:{description:"The type string of data-grid-column component",type:"string",default:"tree-grid-column"},binding:{description:"",type:"object",default:{}},allowGrouping:{description:"",type:"boolean",default:!0},colspan:{description:"",type:"number"},dataType:{type:"string"},editor:{description:"",type:"object"},field:{description:"",type:"string"},filterable:{description:"",type:"boolean",default:!1},fixed:{description:"",type:"string",default:"primary",enum:["left","right"]},align:{description:"",type:"enum",default:"left",enum:["left","center","right"]},halign:{description:"",type:"enum",default:"left",enum:["left","center","right"]},title:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!0},resizable:{description:"",type:"boolean",default:!0},rowspan:{description:"",type:"number"},showTips:{description:"",type:"boolean",default:!0},sort:{description:"",type:"string",enum:["asc","desc","none"]},sortable:{description:"",type:"boolean",default:!1},sortOrder:{description:"",type:"number"},tipMode:{description:"",type:"string",enum:["allways","auto"]},valign:{description:"",type:"enum",default:"middle",enum:["top","middle","bottom"]},visible:{description:"",type:"boolean",default:!0},width:{description:"",type:"number",default:120},formatter:{description:"列格式化",type:"object",default:{type:"none",customFormat:"",trueText:"是",falseText:"否",dateFormat:"yyyy-MM-dd"}},formatterType:{description:"启用列格式化",type:"string",default:""},columnTemplate:{description:"列模板",type:"string",default:""},summaryType:{description:"合计类型",type:"enum",default:"none"},formatterEnumData:{description:"",type:"array"},draggable:{description:"是否允许拖拽",type:"boolean",default:!1},onClickLinkCommand:{description:"超链接事件",type:"string",default:""},columnTemplateType:{description:"列模板类型",type:"string",default:"default"}},required:["id","type"]},fm={id:{type:String,default:""},type:{type:String,default:""},allowGrouping:{type:Boolean,default:!0},colspan:{type:Number,default:1},dataType:{type:String,default:""},parentId:{type:String,default:""},editor:{type:Object},field:{type:String,default:""},filterable:{type:Boolean,default:!0},fixed:{type:String,default:""},halign:{type:String,default:"left"},title:{type:String,default:""},readonly:{type:Boolean,default:!0},resizable:{type:Boolean,default:!0},rowspan:{type:Boolean,default:!0},showTips:{type:Boolean,default:!0},sort:{type:String,default:"none"},sortable:{type:Boolean,default:!0},sortOrder:{type:Number},tipMode:{type:String,default:"auto"},valign:{type:String,default:"middle"},visible:{type:Boolean,default:!0},width:{type:Number},actualWidth:{type:Number},align:{type:String,default:"left"},left:{type:Number},sorter:{type:Function,default:()=>{}},origianlColSpan:{type:Number},index:{type:Number},commands:{type:Array,default:[]},filter:{type:String,default:""},showSetting:{type:Boolean,default:!0},formatter:{type:Function,default:()=>{}},componentId:{type:String,default:""}},tR=We(fm,ZO,vS,CS),nR=We(fm,eR,vS,CS);function oR(e,n,o){const a=e.schema,i=t.ref(!0),r=t.ref(!0);function l(p){return!1}function s(){return!1}function c(){return!1}function u(){return!0}function f(p){var h,y;const g=new yS(p,n),m=(h=e==null?void 0:e.parent)==null?void 0:h.schema;return m!=null&&m.groupFields&&m!=null&&m.groupFields.includes(a.field)&&(a.enableSummary=!0),g.getPropertyConfig(a,(y=e==null?void 0:e.parent)==null?void 0:y.schema)}function d(){var y,b;if(!n||!e)return;const{formSchemaUtils:p}=n;let g=he["data-grid"].name||"表格";const m=p.getControlBasicInfoMap(),h=m.get((b=(y=e.parent)==null?void 0:y.schema)==null?void 0:b.id);h&&h.parentPathName&&(g=h.parentPathName),m.set(a.id,{showName:a.title,parentPathName:`${g} > ${a.title}`,reliedComponentId:h.reliedComponentId})}return{canAccepts:l,checkCanDeleteComponent:s,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:u,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:f,setComponentBasicInfoMap:d}}function SS(e,n,o){function a(){const l=o.componentId;if(!l)return!1;const s=e.formSchemaUtils.getViewModelIdByComponentId(l);if(!s)return!1;const{schema:c}=n,{designViewModelUtils:u}=e,f=u.getDgViewModel(s),d=f==null?void 0:f.fields.find(p=>p.id===c.binding.field);return!(!d||d.$type!==An.SimpleField)}function i(){const{schema:l}=n;return!!e.formSchemaUtils.getVariableById(l.binding.field)}function r(){var c;const{schema:l}=n;let s=!0;if(!e||!((c=l.binding)!=null&&c.field))return s;switch(l.binding.type){case nn.Form:{s=a();break}case nn.Variable:s=i()}return s}return{checkBindingFieldValidation:r}}const VS=t.defineComponent({name:"FDataGridColumnDesign",props:fm,emits:[],setup(e,n){const o=t.ref(),a=t.inject("designer-host-service"),i=t.inject("design-item-context");t.inject("data-grid-context");const r=oR(i,a),l=pt(o,i,r);t.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);function s(d){var p;(p=i==null?void 0:i.setupContext)==null||p.emit("selectionChange",l.value.schema,i.schema,e.componentId,l.value)}const{checkBindingFieldValidation:c}=SS(a,i,e),f=!t.inject("external-container-id");return()=>{var m;const d=f?c():!0,p="绑定信息已失效,请手动移除列",g=d?"":"color:red";return t.createVNode(t.Fragment,null,[d?"":t.createVNode("span",{class:"f-icon f-icon-warning mr-1",style:"color: red; min-width: 16px;",title:p},null),t.createVNode("span",{class:"fv-column-title",style:g,ref:o,onClick:h=>s()},[((m=e.editor)==null?void 0:m.required)===!0&&t.createVNode("span",{class:"text-danger"},[t.createTextVNode("*")]),e.title])])}}}),xS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/data-grid.schema.json",title:"data-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"data-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},fieldEditable:{description:"是否可编辑",type:"boolean",default:!1},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enableType:{type:"string",default:"unable"},enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},formatter:{description:"自定义操作列模板",type:"string",default:""},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["client","server"]},showSummary:{description:"",type:"boolean",default:!1},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0},customRender:{description:"自定义分组行模板",type:"string",default:""}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"enum",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},disabled:{description:"锁定分页",type:"boolean",default:!1},sizeLimits:{description:"",type:"string",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"",type:"string",default:""},customCellStyle:{description:"",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:28},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!0},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},showEllipsis:{description:"",type:"boolean",default:!0}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},multiSelectMode:{description:"多选模式",type:"string",default:"DependOnCheck"},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"enum",default:"client"},multiSort:{description:"",type:"boolean",default:!0}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"string"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"enum",default:"bottom",enum:["bottom","top","both"]},customRender:{description:"合计行模板",type:"string",default:""}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""},virtualized:{description:"是否虚拟加载",type:"boolean",default:!0},beforeUpdate:{description:"",type:"string",default:""},scrollbarMode:{description:"",type:"string",default:""},displayType:{description:"表格按照什么模式展示,默认List模式",type:"string",default:"List"},showCardHeader:{description:"",type:"boolean",default:!0},showCardFooter:{description:"",type:"boolean",default:!0},cardHeaderTemplate:{description:"头部内容模板",type:"string",default:""},cardFooterTemplate:{description:"底部内容模板",type:"string",default:""},cardTitleTemplate:{description:"头部标题模板",type:"string",default:""},cardToolbar:{description:"自定义工具栏",type:"array",default:[]},cardMainTitle:{description:"主标题",type:"string",default:""},formId:{description:"表单id",type:"string",default:""},enableColumnSettingSolution:{description:"是否启用列配置方案",type:"boolean",default:!1}},required:["id","type","columns"],events:{onClickRow:"行点击事件",onSelectionChange:"行切换事件",onDoubleClickRow:"行双击事件",onPageIndexChanged:"切换页码事件",onPageSizeChanged:"分页条数变化事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件",onFilterChanged:"过滤事件",onSortChanged:"排序事件",onSelectItem:"选中行事件",onUnSelectItem:"取消选中行事件",onSelectAll:"全选事件",onUnSelectAll:"取消全选事件",onEndEditCell:"单元格结束编辑事件"}};function aR(){function e(n,o){const a={};return a.beforeEditCell=i=>o.call("beforeEditCell",n,[i,n]),a.beforeUpdate=i=>o.call("beforeUpdate",n,[i,n]),a.fieldsCallback=(...i)=>o.call("fieldsCallback",n,[i]),a.fieldsResolver=(...i)=>o.call("fieldsResolver",n,i),a}return{resolve:e}}const iR=Xt(Ac,xS,ed,td),rR=We(Ac,xS,ed,td),lR=$u(),sR=Mh(),cR=Lu(),dR=aR();ci.install=e=>{e.component(ci.name,ci)},ci.register=(e,n,o,a,i)=>{e["data-grid"]=li,n["data-grid"]=iR(i),e["grid-field-editor"]=JO,n["grid-field-editor"]=XO(i),a["data-grid"]={bindingResolver:lR,selectionItemResolver:sR,updateColumnsResolver:cR,callbackResolver:dR,eventHandlerResolver:f$}},ci.registerDesigner=(e,n,o)=>{e["data-grid"]=ci,n["data-grid"]=rR,n["data-grid-column"]=tR,e["data-grid-column"]=VS,n["tree-grid-column"]=nR,e["tree-grid-column"]=VS};const pm=Vt(ci),ir=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var ao=(e=>(e[e.previous=1]="previous",e[e.current=2]="current",e[e.next=3]="next",e))(ao||{}),di=(e=>(e.Sunday="Sun",e.Monday="Mon",e))(di||{});const uR={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:di.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 jo=(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))(jo||{});function mm(){function e(n){const o=n.key||n.keyCode;return o==="Enter"||o===13?13:o==="Escape"||o===27?27:o===" "||o===32?32:o==="ArrowLeft"||o===37?37:o==="ArrowUp"||o===38?38:o==="ArrowRight"||o===39?39:o==="ArrowDown"||o===40?40:o==="Tab"||o===9?9:o==="Shift"||o===16?16:-1}return{getKeyCodeFromEvent:e}}function _o(){const{formatTo:e,parseToDate:n}=Fn();function o(){return{year:0,month:0,day:0}}function a(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 i(C){const w=new Date;return C.year||(C.year=w.getFullYear()),C.month||(C.month=w.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 r(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 l(C){return ir.indexOf(C)}function s(C){return a(C).getTime()}function c(C){return Math.round(s(C)/1e3)}function u(C,w,S){const T=s(w),x=s(S),V=s(C);return x-V>V-T?w:S}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 d(C,w){const S=w.match(/[^(DdMmYy)]{1,}/g),T={};if(S){let x=S[0];S[0]!==S[1]&&(x=S[0]+S[1],S[2]&&S[1]!==S[2]&&(x+=S[2]));const V=new RegExp("["+x+"]"),N=C.split(V),k=w.split(V);for(let P=0;P<k.length;P++)k[P].indexOf("yyyy")!==-1&&(T.year=Number(N[P])),k[P].indexOf("M")!==-1&&(T.month=Number(N[P]||"1")),k[P].indexOf("d")!==-1&&(T.day=Number(N[P]||"1"))}else{const x=(w+"").indexOf("yyyy"),V=(w+"").indexOf("MM"),N=(w+"").indexOf("dd");if(x>=0){const k=C.substring(x,x+4);T.year=Number(k)}V>=0&&(T.month=Number(C.substring(V,V+2)||"1")),N>=0&&(T.day=Number(C.substring(N,N+2)||"01"))}return T.year===void 0&&(T.year=f().year),T}function p(C){return{year:C.getFullYear(),month:C.getMonth()+1,day:C.getDate(),hour:C.getHours(),minute:C.getMinutes(),second:C.getSeconds()}}function g(C,w=!0){const S=new Date(1900,1,1,0,0,0),T=new Date(9999,12,31,23,59,59),x=w?S:T;let V;return C instanceof Date?V=C:typeof C=="string"?V=C.trim()?n(C,"yyyy-MM-dd HH:mm:ss"):x:V=x,Ii(V)||(V=x),{year:V.getFullYear(),month:V.getMonth()+1,day:V.getDate(),hour:V.getHours(),minute:V.getMinutes(),second:V.getSeconds()}}function m(C){return g(C,!0)}function h(C){return g(C,!1)}function y(C,w=!1){if(C&&typeof C=="string"){const S=C.replace("时",":").replace("分",":").replace("秒","").split(":");if(S.length>=2)return{hour:parseInt(S[0],10),minute:parseInt(S[1]),second:parseInt(S[2]||"0")||0}}else{const S=new Date,T=S.getHours(),x=S.getMinutes(),V=S.getSeconds();return w?{hour:0,minute:0,second:0}:{hour:T,minute:x,second:V}}return{hour:0,minute:0,second:0}}function b(C){if(C&&typeof C=="string"){const x=C.replace("时",":").replace("分",":").replace("秒","").split(":");if(x.length>=2)return{hour:x[0],minute:x[1],second:x[2]?x[2]:0}}return{hour:23,minute:59,second:59}}function v(C,w,S){const{year:T}=C,x=String(C.month).padStart(2,"0"),V=String(C.day).padStart(2,"0");if(w==="year")return`${T}`;if(w==="month")return`${T}-${x}`;let N=`${T}-${x}-${V}`;if(S&&(C.hour!==void 0||C.minute!==void 0||C.second!==void 0)){const k=String(C.hour||0).padStart(2,"0"),P=String(C.minute||0).padStart(2,"0"),M=String(C.second||0).padStart(2,"0");N+=` ${k}:${P}:${M}`}return N}return{emptyDate:o,getDate:a,getDate2:i,getDayNumber:r,getEpocTime:c,getNearDate:u,getWeekdayIndex:l,getTimeInMilliseconds:s,getToday:f,getDateObject:d,getMinDate:m,getMaxDate:h,getTimeValue:y,getEndTimeValue:b,convertDateToDateObject:p,formatDateObject:v}}function Pa(){const{getTimeInMilliseconds:e}=_o();function n(d){return d&&d.year!==0&&d.month!==0&&d.day!==0}function o(d){return d&&d.year!==0&&d.month!==0}function a(d){return d&&d.year!==0}function i(d,p){return e(d)<e(p)}function r(d,p){return e(d)<=e(p)}function l(d,p){return e(d)===e(p)}function s(d,p){const g=e(p);return e(d.from)===g||e(d.to)===g}function c(d,p){return!p||!n(p.to)||!n(p.from)?!1:r(p.from,d)&&r(d,p.to)}function u(d,p){return n(p)&&e(d)>=e(p)}function f(d,p){return n(p)&&e(d)<=e(p)}return{isDateEarlier:i,equal:l,inPeriod:c,isPoint:s,equalOrEarlier:r,isInitializedDate:n,isInitializedMonth:o,isInitializedYear:a,isMonthDisabledByDisableSince:u,isMonthDisabledByDisableUntil:f}}const gm=t.defineComponent({name:"FDatePickerCalendarView",props:uR,emits:["click","clickWeek","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.dates),a=t.ref(e.daysInWeek),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enableMarkCurrent),l=t.ref(e.enablePeriod),s=t.ref(e.selected),c=t.ref(e.selectedPeriod),u=t.ref(e.selectedWeek),f=t.ref(e.selectMode),d=t.ref(e.showWeekNumber),p=t.ref(e.weekTitle||"周");t.watch(()=>e.dates,()=>{o.value=e.dates}),t.watch(()=>e.selected,()=>{s.value=e.selected}),t.watch(()=>e.enablePeriod,(I,E)=>{I!==E&&(l.value=I)}),t.watch(()=>e.selectedPeriod,I=>{c.value=I}),t.watch(()=>e.selectedWeek,I=>{u.value=I});const{equal:g,inPeriod:m,isInitializedDate:h,equalOrEarlier:y,isPoint:b}=Pa(),{getKeyCodeFromEvent:v}=mm(),C=I=>{const E=!!u.value&&I.numberInTheYear===u.value.numberInTheYear;return{"f-datepicker-selectWeek":f.value==="week","f-datepicker-selectedWeek":f.value==="week"&&E}};function w(I){return m(I,c.value)}function S(I){if(!c.value)return!1;const E={from:{year:c.value.from.year,month:c.value.from.month,day:c.value.from.day},to:{year:c.value.to.year,month:c.value.to.month,day:c.value.to.day}};return!!c.value&&b(E,I)}function T(I){return!!s.value&&g({year:s.value.year,month:s.value.month,day:s.value.day},{year:I.year,month:I.month,day:I.day})}const x=(I,E,A)=>{const D=f.value!=="week"&&I.tag===ao.current&&(l.value&&w(I.date)&&!S(I.date)||I.range),$=I.tag===ao.previous||I.tag===ao.next,B={"f-datepicker-range":D,"f-datepicker-no-currmonth":$,"f-datepicker-disabled":I.disable,"f-datepicker-singledate":!I.disable},_=`d_${E}_${A}`;return B[_]=!0,B},V=I=>{const E=f.value!=="week"&&I.tag===ao.current&&(!l.value&&T(I.date)||l.value&&S(I.date)),A=I.isCurrent&&r.value,D=I.highlight&&(I.tag===ao.previous||I.tag===ao.next||I.disable);return{"f-datepicker-date":!0,"f-datepicker-selected":E,"f-datepicker-current":A,"f-datepicker-opacity":D,"f-datepicker-highlight":I.highlight,"f-datepicker-disabled":I.disable}};function N(I,E){E.disable||f.value==="week"||(I.stopPropagation(),n.emit("click",{event:I,dayItem:E}))}function k(I,E){f.value==="week"&&(I.stopPropagation(),n.emit("clickWeek",E))}function P(I,E){const A=v(I);A!==jo.tab&&(I.preventDefault(),A===jo.enter||A===jo.space?N(I,E):i.value&&n.emit("keyDown",E.date))}function M(I){if(c.value&&h(c.value.from)&&(!h(c.value.to)||JSON.stringify(c.value.from)===JSON.stringify(c.value.to))){const{from:E}=c.value;o.value.forEach(A=>{A.days.forEach(D=>{D.range=y(E,D.date)&&y(D.date,I.date)||y(D.date,E)&&y(I.date,D.date)})}),n.emit("mouseEnter",I.date)}}function F(){o.value.forEach(I=>{I.days.forEach(E=>{E.range=!1})}),n.emit("mouseLeave")}return()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"f-datepicker-table-wrapper"},[t.createVNode("table",{class:"f-datepicker-table",cellpadding:"0"},[t.createVNode("thead",null,[t.createVNode("tr",null,[d.value&&t.createVNode("th",{class:"f-datepicker-weeknbr-title",style:"padding-bottom: 8px;padding-top: 4px"},[p.value]),a.value&&a.value.map(I=>t.createVNode("th",{scope:"col",style:"padding-bottom: 8px;padding-top: 4px"},[I]))])]),t.createVNode("tbody",null,[o.value&&o.value.map((I,E)=>t.createVNode("tr",{class:C(I),onClick:A=>k(A,I)},[d.value&&t.createVNode("td",{class:"f-datepicker-weeknbr"},[t.createVNode("div",{class:"f-datepicker-date"},[I.numberInTheYear])]),I.days&&I.days.map((A,D)=>t.createVNode("td",{id:`d_${E}_${D}`,tabindex:"0",class:x(A,E,D),onKeydown:$=>P($,A),onMouseenter:()=>M(A),onMouseleave:()=>F()},[A.marked&&A.marked.marked&&t.createVNode("span",{class:"f-datepicker-markdate",style:{"background-color":A.marked.color}},null),t.createVNode("div",{class:V(A),onClick:$=>N($,A)},[A.date.day])]))]))])])])])}}),fR={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 hm(){const{getTimeInMilliseconds:e}=_o(),{isInitializedDate:n}=Pa();function o(i,r){return n(r)&&e(i)<e(r)}function a(i,r){return n(r)&&e(i)>e(r)}return{isMonthDisabledByDisableSince:a,isMonthDisabledByDisableUntil:o}}function ym(){const{getToday:e}=_o(),{isMonthDisabledByDisableSince:n,isMonthDisabledByDisableUntil:o}=hm();function a(f){const d={displayTextOfMonth:"",month:0,year:0,displayTextOfYear:""};if(f){const p=f.match(/[^0-9]/),g=p&&p.length?p[0]:"",m=f.split(g);d.month=m[0].length===2?Number(m[0]):Number(m[1]),d.year=m[0].length===2?Number(m[1]):Number(m[0])}return d}function i(f,d){return new Date(d,f,0).getDate()}function r(f,d,p){return new Date(f,d-1,p,0,0,0,0)}function l(f,d){const p=r(d,f,1);return p.setMonth(p.getMonth()-1),i(p.getMonth()+1,p.getFullYear())}function s(f,d,p,g){const m=e(),h=[],{year:y}=d,b=3,v={year:p.year,month:p.month,day:p.day},C={year:g.year,month:g.month,day:g.day};for(let w=1;w<=12;w+=b){const S=[];for(let T=w;T<w+b;T++){const x=n({year:y,month:T,day:1},v)||o({year:y,month:T,day:i(T,y||0)},C);S.push({month:T,displayText:f[T],isCurrent:T===m.month&&y===m.year,disable:x,date:{year:y,month:T}})}h.push(S)}return h}function c(f,d){const p={year:f===12?d+1:d},g=f===12?1:f+1;return p.month=g,p}function u(f,d){const p={year:f===1?d-1:d},g=f===1?12:f-1;return p.month=g,p}return{daysInMonth:i,daysInPreMonth:l,generateMonths:s,parseDefaultMonth:a,getNextMonth:c,getPreviousMonth:u}}const bm=t.defineComponent({name:"FDatePickerCalendarNavbar",props:fR,emits:["clickMonth","clickYear","prePage","preRecord","nextRecord","nextPage"],setup(e,n){const o=t.ref(e.ariaLabelPrevMonth),a=t.ref(e.ariaLabelNextMonth),i=t.ref(e.dateFormat),r=t.ref(e.disablePrePage),l=t.ref(e.disablePreRecord),s=t.ref(e.disableNextRecord),c=t.ref(e.disableNextPage),u=t.ref(e.activeMonth),f=t.ref(e.years),d=t.ref(e.selectingMonth),p=t.ref(e.selectingYear),g=t.ref(e.selectMode),m=t.ref(!0),h=t.ref(!0),{isMonthDisabledByDisableSince:y,isMonthDisabledByDisableUntil:b}=hm(),{daysInMonth:v}=ym();t.watch(()=>e.selectingMonth,(z,Q)=>{d.value=z}),t.watch(()=>e.selectingYear,(z,Q)=>{p.value=z});const C=(z,Q)=>({year:Q===1?z-1:z,month:Q===1?12:Q-1,day:v(Q===1?12:Q-1,Q===1?z-1:z)}),w=(z,Q)=>({year:Q===12?z+1:z,month:Q===12?1:Q+1,day:1}),S=z=>({year:z-1,month:12,day:31}),T=z=>({year:z+1,month:1,day:1});function x(z,Q,K,Z,ae="page"){ae==="page"?(r.value=K||z,c.value=Z||Q):ae==="record"&&(l.value=K||z,s.value=Z||Q)}function V(z,Q){const{minDate:K,maxDate:Z,minYear:ae,maxYear:ee}=e,te=K?b(S(z),K):!0,le=Z?y(T(Q),Z):!0;x(te,le,z<=ae,Q>=ee)}function N(z,Q){var ae,ee;const K=z||((ae=f.value[0][1])==null?void 0:ae.year),Z=Q||((ee=f.value[3][1])==null?void 0:ee.year);K!==void 0&&Z!==void 0&&V(K,Z)}function k(z,Q){const{minDate:K,maxDate:Z,minYear:ae,maxYear:ee}=e,te=C(Q,z),le=w(Q,z),ye=K?b(te,{year:K.year,month:K.month,day:K.day}):!0,be=Z?y(le,{year:Z.year,month:Z.month,day:Z.day}):!0;x(ye,be,z===1&&Q===ae,z===12&&Q===ee,"record"),N(Q,Q)}function P(z){const{minDate:Q,maxDate:K,minYear:Z,maxYear:ae}=e,ee=Q?b(S(z),Q):!0,te=K?y(T(z),K):!0;x(ee,te,z===Z,z===ae)}t.watch(()=>e.selectingMonth,(z,Q)=>{z&&P(u.value.year)}),t.watch(()=>e.selectingYear,(z,Q)=>{z&&N()}),t.watch(()=>e.years,(z,Q)=>{f.value=z,p.value&&N()}),t.watch(()=>e.activeMonth,()=>{const z=e.activeMonth;z&&(u.value={month:z.month,year:z.year,displayTextOfMonth:z.displayTextOfMonth,displayTextOfYear:z.displayTextOfYear},!e.selectingMonth&&!e.selectingYear?k(u.value.month,u.value.year):e.selectingMonth?P(u.value.year):N())},{immediate:!0});const M=t.computed(()=>({"f-datepicker-header":!0,monthYearSelBarBorder:d.value||p.value})),F=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":r.value})),I=t.computed(()=>!d.value&&!p.value),E=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":l.value})),A=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":s.value})),D=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-header-btn-disabled":c.value})),$=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-yearLabel":m.value,"f-datepicker-labelBtnNotEdit":!m.value})),B=t.computed(()=>({"f-datepicker-header-btn":!0,"f-datepicker-monthLabel":h.value,"f-datepicker-labelBtnNotEdit":!h.value})),_=t.computed(()=>{const z=i.value?i.value.indexOf("yyyy"):0,Q=i.value?i.value.indexOf("MM"):0;return z>Q?"MM-yyyy":"yyyy-MM"});function O(z){z.stopPropagation(),!r.value&&n.emit("prePage")}function L(z){z.stopPropagation(),!l.value&&n.emit("preRecord")}function W(z){z.stopPropagation(),n.emit("clickYear")}function U(z){z.stopPropagation(),n.emit("clickMonth")}function H(z){z.stopPropagation(),!s.value&&n.emit("nextRecord")}function q(z){z.stopPropagation(),!c.value&&n.emit("nextPage")}const Y=t.computed(()=>{const z={};return g.value==="year"&&(z.cursor="default"),z});function G(){return t.createVNode("button",{type:"button",style:Y.value,class:$.value,onClick:z=>{m.value&&W(z)},tabindex:m.value?"0":"-1",disabled:g.value==="year"},[p.value?f.value.length>3?f.value[0][1].year+" - "+f.value[3][1].year:"":u.value.displayTextOfYear])}function j(){return!p.value&&g.value!=="month"&&t.createVNode("button",{type:"button",class:B.value,onClick:z=>{h.value&&U(z)},tabindex:h.value?"0":"-1"},[u.value.displayTextOfMonth])}const R={opacity:.4,cursor:"default"};return()=>t.createVNode("div",{class:M.value,style:"height:40px; overflow:hidden;"},[t.createVNode("div",{class:"f-datepicker-prev-btn"},[t.createVNode("button",{type:"button",class:F.value,style:r.value?R:{},onClick:O},[t.createVNode("i",{class:"f-icon f-icon-arrow-double-60-left"},null)]),I.value&&t.createVNode("button",{style:l.value?R:{},type:"button","aria-label":o.value,class:E.value,onClick:L},[t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-left"},null)])]),t.createVNode("div",{class:"f-datepicker-monthYearText"},[_.value==="yyyy-MM"?[G(),j()]:[j(),G()]]),t.createVNode("div",{class:"f-datepicker-next-btn"},[I.value&&t.createVNode("button",{style:s.value?R:{},type:"button","aria-label":a.value,class:A.value,onClick:H},[t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right"},null)]),t.createVNode("button",{style:c.value?R:{},type:"button",class:D.value,onClick:q},[t.createVNode("i",{class:"f-icon f-icon-arrow-double-60-right"},null)])])])}}),vm={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},popupClassName:{type:String,default:""},placeholder:{type:String,default:"请选择时间"},placement:{type:String,default:"auto"},defaultOpenValue:{type:Date,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},hideDisabledElements:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0}},pR={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},defaultOpenValue:{type:Date,default:null},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},hideDisabledElements:{type:Boolean,default:!1},inDatePicker:{type:Boolean,default:!1},headerLabels:{type:Object,default:null}};function on(e){return typeof e<"u"&&e!==null}function Cm(e,n="hh:mm:ss"){if(!(!e||!n))return n.indexOf("ss")===-1&&e.split(":").length===3&&(n=n+":ss"),n.indexOf("A")>-1?(n=n.replace(/A/g,"a"),Or(e.toLowerCase(),n,new Date)):Or(e,n,new Date)}function TS(e,n="hh:mm:ss",o="AM"){return!e||isNaN(e.getTime())?"":n.indexOf("A")>-1?(n=n.replace(/A/g,"a"),Ca(e,n).toUpperCase()):Ca(e,n)}function wm(e,n){let o=e||"hh:mm:ss";return n?(o=o?o.replace(/H/g,"h"):"hh:mm:ss a",o.indexOf("a")===-1&&o.indexOf("A")===-1&&(o=o+" a")):o=o?o.replace(/h/g,"H"):"HH:mm:ss",o}class mR{constructor(){X(this,"hourStep",1);X(this,"minuteStep",1);X(this,"secondStep",1);X(this,"use12Hours",!1);X(this,"changedValue",t.ref({text:"",value:void 0}));X(this,"format","HH:mm:ss");X(this,"temporaryHours");X(this,"temporaryMinutes");X(this,"temporarySeconds");X(this,"temporaryText","");X(this,"temporaryValue");X(this,"temporarySelected12Hours");X(this,"temporaryDefaultOpenValue",new Date)}get hours(){return this.temporaryHours}set hours(n){n!==this.temporaryHours&&(this.use12Hours?this.selected12Hours==="PM"&&n!==12?this.temporaryHours=n+12:this.selected12Hours==="AM"&&n===12?this.temporaryHours=0:this.temporaryHours=n:this.temporaryHours=n,this.update())}get realHours(){return this.temporaryHours}get viewHours(){return this.use12Hours&&on(this.temporaryHours)?this.calculateViewHour(this.temporaryHours):this.temporaryHours}get minutes(){return this.temporaryMinutes}set minutes(n){n!==this.temporaryMinutes&&(this.temporaryMinutes=n,this.update())}get seconds(){return this.temporarySeconds}set seconds(n){n!==this.temporarySeconds&&(this.temporarySeconds=n,this.update())}get defaultHours(){return this.defaultOpenValue.getHours()}get defaultViewHours(){const n=this.defaultOpenValue.getHours();return this.use12Hours&&on(n)?this.calculateViewHour(n):n}get defaultRealHours(){return this.defaultOpenValue.getHours()}get defaultMinutes(){return this.defaultOpenValue.getMinutes()}get defaultSeconds(){return this.defaultOpenValue.getSeconds()}get default12Hours(){return this.defaultOpenValue.getHours()>=12?"PM":"AM"}get text(){return this.temporaryText}set text(n){n!==this.temporaryText&&(this.temporaryText=n)}get value(){return this.temporaryValue}set value(n){n!==this.temporaryValue&&(this.temporaryValue=n,on(this.temporaryValue)&&Ii(this.temporaryValue)?(this.temporaryHours=this.temporaryValue.getHours(),this.temporaryMinutes=this.temporaryValue.getMinutes(),this.temporarySeconds=this.temporaryValue.getSeconds(),this.use12Hours&&on(this.temporaryHours)&&(this.temporarySelected12Hours=this.temporaryHours>=12?"PM":"AM")):this.clearTimeValue())}get selected12Hours(){return this.temporarySelected12Hours}set selected12Hours(n){n.toUpperCase()!==this.temporarySelected12Hours&&(this.temporarySelected12Hours=n.toUpperCase(),this.update())}get defaultOpenValue(){return this.temporaryDefaultOpenValue.setHours(this.setValueByStep(this.temporaryDefaultOpenValue.getHours(),this.hourStep)),this.temporaryDefaultOpenValue.setMinutes(this.setValueByStep(this.temporaryDefaultOpenValue.getMinutes(),this.minuteStep)),this.temporaryDefaultOpenValue.setSeconds(this.setValueByStep(this.temporaryDefaultOpenValue.getSeconds(),this.secondStep)),this.temporaryDefaultOpenValue}set defaultOpenValue(n){this.temporaryDefaultOpenValue!==n&&(this.temporaryDefaultOpenValue=n,this.update())}get isEmpty(){return!(on(this.temporaryHours)||on(this.temporaryMinutes)||on(this.temporarySeconds))}setFormat(n){this.format=n}setHours(n,o){return o?this:(this.setDefaultValueIfNil(),this.hours=n,this)}setUse12Hours(n){return this.use12Hours=n,this}setMinutes(n,o){return o?this:(this.setDefaultValueIfNil(),this.minutes=n,this)}setSeconds(n,o){return o?this:(this.setDefaultValueIfNil(),this.seconds=n,this)}setValue(n,o){return on(o)&&(this.use12Hours=o),this.value=n,this}setValueByStep(n,o){let a=Math.floor(n/o);const i=n%o,r=o/2;return a=i>r?a+1:a,o*a}setDefaultOpenValue(n){return this.defaultOpenValue=n,this}setDefaultValueIfNil(){on(this.temporaryValue)||(this.temporaryValue=new Date(this.defaultOpenValue))}update(){this.isEmpty?this.temporaryValue=void 0:(on(this.temporaryHours)?this.temporaryValue.setHours(this.hours):this.temporaryHours=this.defaultHours,on(this.temporaryMinutes)?this.temporaryValue.setMinutes(this.minutes):this.temporaryMinutes=this.defaultMinutes,on(this.temporarySeconds)?this.temporaryValue.setSeconds(this.seconds):this.temporarySeconds=this.defaultSeconds,this.use12Hours&&(on(this.temporarySelected12Hours)||(this.temporarySelected12Hours=this.default12Hours),this.selected12Hours==="PM"&&this.temporaryHours<12&&(this.temporaryHours+=12,this.temporaryValue.setHours(this.temporaryHours)),this.selected12Hours==="AM"&&this.temporaryHours>=12&&(this.temporaryHours-=12,this.temporaryValue.setHours(this.temporaryHours))),this.temporaryValue=new Date(this.temporaryValue),this.text=TS(this.temporaryValue,this.format,this.selected12Hours),this.changedValue.value={text:this.text,value:this.temporaryValue})}clearTimeValue(){this.temporaryHours=void 0,this.temporaryMinutes=void 0,this.temporarySeconds=void 0,this.temporarySelected12Hours=void 0,this.temporaryValue=void 0}clear(){this.clearTimeValue(),this.update()}calculateViewHour(n){const o=this.temporarySelected12Hours||this.default12Hours;return o==="PM"&&n>12?n-12:o==="AM"&&n===0?12:n}}function gR(e,n,o,a,i,r){function l(f,d,p=0,g,m){const h=s(d,g,m),y=f.children[0].children[h]||f.children[0].children[0];c(f,y.offsetTop,p)}function s(f,d,p){if(d==="hour"){const g=e.disabledHours&&e.disabledHours();return u(g,o.value.map(m=>m.index).indexOf(f))}if(d==="minute"){const g=e.disabledMinutes&&e.disabledMinutes(p.hours);return u(g,a.value.map(m=>m.index).indexOf(f))}if(d==="second"){const g=e.disabledSeconds&&e.disabledSeconds(p.hours,p.minutes);return u(g,i.value.map(m=>m.index).indexOf(f))}return u([],r.value.map(g=>g.index).indexOf(f))}function c(f,d,p){if(p<=0){f.scrollTop=d;return}const m=(d-f.scrollTop)/p*10;gy(()=>{f.scrollTop+=m,f.scrollTop!==d&&c(f,d,p-10)})}function u(f,d){return f&&f.length&&e.hideDisabledElements?d-f.reduce((p,g)=>p+(g<d?1:0),0):d}return{scrollToSelected:l}}function hR(e,n){function o(s){return s.index===e.viewHours||!on(e.viewHours)&&s.index===e.defaultViewHours}function a(s){return s.index===e.minutes||!on(e.minutes)&&s.index===e.defaultMinutes}function i(s){return s.index===e.seconds||!on(e.seconds)&&s.index===e.defaultSeconds}function r(s){return s.value.toUpperCase()===e.selected12Hours||!on(e.selected12Hours)&&s.value.toUpperCase()===e.default12Hours}function l(s,c){let u="";const f=` ${n}-select-option-selected `,d=` ${n}-select-option-disabled `;let p=!1;return c==="hour"?p=o(s):c==="minute"?p=a(s):c==="second"?p=i(s):p=r(s),p&&(u+=f),c==="12-hour"||s.disabled&&(u+=d),u}return{getSelectedClass:l}}const Tl=t.defineComponent({name:"FTimePickerTimeView",props:pR,emits:["valueChange","formatedValueChange"],setup(e,n){const o=e.inDatePicker?"calendar-time-picker":"time-picker-panel",a=t.ref(0),i=t.ref([]),r=t.ref([]),l=t.ref([]),s=t.ref([]),c=t.ref(),u=t.ref(),f=t.ref(),d=t.ref(),p=new mR,{scrollToSelected:g}=gR(e,n,i,r,l,s),{getSelectedClass:m}=hR(p,o),h=t.ref(e.hourStep),y=t.ref(e.minuteStep),b=t.ref(e.secondStep),v=t.ref(),C=t.ref(""),w=t.ref(),S=t.ref(e.hideDisabledElements),T=t.ref(0);t.watch(()=>e.defaultOpenValue,j=>{on(j)&&(v.value=j)}),t.watch(v,j=>{on(j)&&p.setDefaultOpenValue(j)}),v.value=e.defaultOpenValue,t.watch(()=>p.changedValue.value,j=>{n.emit("valueChange",j)}),t.watch(()=>e.modelValue,j=>{x(j)}),t.watch(()=>e.format,j=>{on(j)?C.value=j:C.value="HH:mm:ss"}),t.watch(C,j=>{on(j)&&(p.setFormat(C.value),T.value=0,M.value&&T.value++,F.value&&T.value++,I.value&&T.value++,w.value&&(T.value++,_()),a.value=T.value*66)}),t.watch(()=>e.use12Hours,j=>{w.value=j}),t.watch(w,j=>{C.value=wm(C.value,j),p.setUse12Hours(j)}),t.watch(()=>e.disabledHours,()=>{D()}),t.watch(()=>e.disabledMinutes,()=>{$()}),t.watch(()=>e.disabledSeconds,()=>{B()});function x(j){if(on(j)&&j){p.text=j;const R=Cm(p.text,C.value);R?p.setValue(R,w.value):(p.setValue(new Date,w.value),p.update()),H()}else p.setUse12Hours(w.value)}function V(){let j=[];return e.disabledHours&&(j=e.disabledHours(),w.value&&(p.selected12Hours==="PM"?j=j.filter(R=>R>=12).map(R=>R>12?R-12:R):j=j.filter(R=>R<12||R===24).map(R=>R===24||R===0?12:R))),j}function N(j="hour"){return C.value?C.value.indexOf(j[0].toUpperCase())>-1||C.value.indexOf(j[0].toLowerCase())>-1:!1}const k=t.computed(()=>({"time-picker-panel":!0,"time-picker-panel-column-3":!0,"time-picker-panel-placement-bottomLeft":!0,"f-area-show":!0})),P=t.computed(()=>{const j={width:`${a.value}px`};return e.inDatePicker?{}:j}),M=t.computed(()=>N("hour")),F=t.computed(()=>N("minute")),I=t.computed(()=>N("second"));function E(j,R=1,z=0){return R=Math.ceil(R),new Array(Math.ceil(j/R)).fill(0).map((Q,K)=>(K+z)*R)}function A(){if(M.value&&c.value&&g(c.value,on(p.viewHours)?p.viewHours:p.defaultViewHours,0,"hour",p),F.value&&u.value&&g(u.value,on(p.minutes)?p.minutes:p.defaultMinutes,0,"minute",p),I.value&&f.value&&g(f.value,on(p.seconds)?p.seconds:p.defaultSeconds,0,"second",p),w.value&&d.value){const R=(on(p.selected12Hours)?p.selected12Hours:p.default12Hours)==="AM"?0:1;g(d.value,R,0,"12-hour",p)}}function D(){let j=24,R=0;w.value&&(j=12,R=1);const z=V();if(i.value=E(j,h.value,R).map(Q=>({index:Q,disabled:z.length>0&&z.indexOf(Q)!==-1})),w.value){const Q=i.value.filter(K=>K.index<=12);i.value=Q}i.value=i.value.filter(Q=>!(S.value&&Q.disabled))}function $(){r.value=E(60,y.value).map(j=>({index:j,disabled:!!e.disabledMinutes&&e.disabledMinutes(p.hours).indexOf(j)!==-1})),r.value=r.value.filter(j=>!(S.value&&j.disabled))}function B(){l.value=E(60,b.value).map(j=>({index:j,disabled:!!e.disabledSeconds&&e.disabledSeconds(p.hours,p.minutes).indexOf(j)!==-1})),l.value=l.value.filter(j=>!(S.value&&j.disabled))}function _(){const j=C.value.includes("A");s.value=[{index:0,value:j?"AM":"am"},{index:1,value:j?"PM":"pm"}],s.value=s.value.filter(()=>!S.value)}function O(j,R){if(j.stopPropagation(),p.setHours(R.index,R.disabled),!R.disabled){if(g(c.value,R.index,120,"hour",p),e.disabledMinutes!==null){$();const z=r.value.filter(Q=>!Q.disabled);if(!z.find(Q=>Q.index===p.minutes)){const{index:Q,disabled:K}=z[0];p.setMinutes(Q,K)}}(e.disabledSeconds!==null||e.disabledMinutes!==null)&&B()}}function L(j,R){j.stopPropagation(),p.selected12Hours=R.value,D(),$(),B(),g(d.value,R.index,120,"12-hour",p)}function W(j,R){if(j.stopPropagation(),p.setMinutes(R.index,R.disabled),!R.disabled&&(g(u.value,R.index,120,"minute",p),e.disabledSeconds!==null)){B();const z=l.value.filter(Q=>!Q.disabled);if(!z.find(Q=>Q.index===p.seconds)){const{index:Q,disabled:K}=z[0];p.setSeconds(Q,K)}}}function U(j,R){j.stopPropagation(),p.setSeconds(R.index,R.disabled),!R.disabled&&g(f.value,R.index,120,"second",p)}function H(){D(),$(),B(),_()}t.onMounted(()=>{C.value=wm(e.format,e.use12Hours),w.value=e.use12Hours,x(e.modelValue),H(),setTimeout(()=>{A()},10)}),n.expose({refresh:H});function q(){return e.showHeader?t.createVNode("div",{class:o+"-combobox time-picker-panel-header",style:P.value},[M.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"+F.value?"time-header-split":""},[e.headerLabels.hour])])]),F.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"+I.value?"time-header-split":""},[e.headerLabels.minute])])]),I.value&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"},[e.headerLabels.seconds])])]),e.use12Hours&&t.createVNode("div",{class:o+"-select",style:"height: 32px"},[t.createVNode("ul",{class:"p-0",style:"overflow:hidden"},[t.createVNode("li",{class:"time-header"},null)])])]):null}const Y=o+"-select "+(e.inDatePicker?"h-100":""),G=Ot()?{"overflow-y":"auto"}:{};return()=>t.createVNode("div",{class:k.value,style:"position: relative"},[t.createVNode("div",{class:{"farris-timer-picker":!0,"calendar-time-picker-panel h-100":e.inDatePicker}},[t.createVNode("div",{class:o+"-inner "+(e.inDatePicker?"h-100":"")},[q(),t.createVNode("div",{class:o+"-combobox d-flex h-100",style:P.value},[M.value&&t.createVNode("div",{class:Y,ref:c,style:G},[t.createVNode("ul",null,[i.value.map(j=>t.createVNode("li",{class:m(j,"hour"),onClick:R=>O(R,j)},[`${j.index}`.padStart(2,"0")]))])]),F.value&&t.createVNode("div",{class:Y,ref:u,style:G},[t.createVNode("ul",null,[r.value.map(j=>t.createVNode("li",{class:m(j,"minute"),onClick:R=>W(R,j)},[`${j.index}`.padStart(2,"0")]))])]),I.value&&t.createVNode("div",{class:Y,ref:f,style:G},[t.createVNode("ul",null,[l.value.map(j=>t.createVNode("li",{class:m(j,"second"),onClick:R=>U(R,j)},[`${j.index}`.padStart(2,"0")]))])]),w.value&&t.createVNode("div",{class:Y,ref:d},[t.createVNode("ul",null,[s.value.map(j=>t.createVNode("li",{class:m(j,"12-hour"),onClick:R=>L(R,j)},[`${j.value}`]))])])])])])])}}),yR={title:{type:String,default:""},modelValue:{type:String,default:""},format:{type:String,default:"HH:mm:ss"},maxTime:{type:String,default:void 0},minTime:{type:String,default:void 0},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},use12Hours:{type:Boolean,default:!1}};var oa=(e=>(e.Hour="hour",e.Minute="minute",e.Second="second",e.Period="period",e))(oa||{});const bR=(e,n)=>{const o="text",a="value",{beginTime:i,endTime:r,selectedValue:l,use12Hours:s,resetSelectedValue:c}=n,u=(b,v,C,w)=>{const S=[];let T=b;for(;T<=v;){let x=String(T).padStart(2,"0");x=w?w(T):x,x=e.optionFormatter?e.optionFormatter(C,x):x,S.push({[o]:x,[a]:T}),T++}return S},f=()=>{l.value||c();const[b,v,C,w]=l.value;return{hour:b,minute:v,second:C,period:w}},d=()=>{const b=i.value,v=r.value,C={begin:0,end:1};return C.begin=b.period,C.end=v.period,u(C.begin,C.end,"period",w=>w===0?"AM":"PM")},p=b=>{const v=i.value,C=r.value,w={begin:0,end:23};let S;return s.value?(w.end=11,S=T=>T===0?"12":String(T).padStart(2,"0"),b<=v.period&&(w.begin=v.hour),b>=C.period&&(w.end=C.hour)):(w.begin=v.hour,w.end=C.hour),u(w.begin,w.end,"hour",S)},g=(b,v)=>{const C=i.value,w=r.value,S={begin:0,end:59};return s.value?(b<=C.period&&v<=C.hour&&(S.begin=C.minute),b>=w.period&&v>=w.hour&&(S.end=w.minute)):(v<=C.hour&&(S.begin=C.minute),v>=w.hour&&(S.end=w.minute)),u(S.begin,S.end,"minute")},m=(b,v,C)=>{const w=i.value,S=r.value,T={begin:0,end:59};return s.value?(b<=w.period&&v<=w.hour&&C<=w.minute&&(T.begin=w.second),b>=S.period&&v>=S.hour&&C>=S.minute&&(T.end=S.second)):(v<=w.hour&&C<=w.minute&&(T.begin=w.second),v>=S.hour&&C>=S.minute&&(T.end=S.second)),u(T.begin,T.end,"second")},h=t.computed(()=>{const b=[];return(e.format.includes("HH")||e.format.includes("hh"))&&b.push(oa.Hour),e.format.includes("mm")&&b.push(oa.Minute),e.format.includes("ss")&&b.push(oa.Second),s.value&&b.push(oa.Period),b}),y=t.computed(()=>{const b=f(),v=d(),C=p(b.period),w=g(b.period,b.hour),S=m(b.period,b.hour,b.minute);return h.value.map(T=>{switch(T){case oa.Hour:return C;case oa.Minute:return w;case oa.Second:return S;case oa.Period:return v;default:return S}})});return{textField:o,valueField:a,timeColumns:y}},vR=e=>{const n="text",o="value",a=t.computed(()=>e.format.includes("a")),i=t.ref([]),r=t.ref({hour:0,minute:0,second:0,period:0}),l=()=>{if(!e.minTime)return;const{hour:p,minute:g,second:m}=Vs(e.minTime);if(a.value){const h=p>=12?1:0;r.value={hour:p%12,minute:g,second:m,period:h}}else r.value={hour:p,minute:g,second:m,period:0}};t.watch(()=>e.minTime,l);const s=t.ref({hour:23,minute:59,second:59,period:0}),c=()=>{if(!e.maxTime){a.value&&(s.value={hour:11,minute:59,second:59,period:1});return}const{hour:p,minute:g,second:m}=Vs(e.maxTime);if(a.value){const h=p>=12?1:0;s.value={hour:p%12,minute:g,second:m,period:h}}else s.value={hour:p,minute:g,second:m,period:0}};t.watch(()=>e.maxTime,c);const u=p=>{const{hour:g,minute:m,second:h}=p?Vs(p,e.format):Eo(new Date);if(a.value){const y=g>=12?1:0;i.value=[g%12||0,m,h,y]}else i.value=[g,m,h]},f=p=>{if(p&&i.value){const{index:g,value:m}=p;i.value[g]=m[o]}},d=()=>{if(!i.value)return"";const[p=0,g=0,m=0,h=0]=i.value;return uy({hour:p,minute:g,second:m,period:h},e.format)};return t.watch(()=>e.modelValue,p=>{l(),c(),u(p)},{immediate:!0}),{textField:n,valueField:o,beginTime:r,endTime:s,selectedValue:i,use12Hours:a,getSelectedValue:d,resetSelectedValue:u,updateSelectedValue:f}},NS=t.defineComponent({inheritAttrs:!1,props:yR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,a=vR(e),{textField:i,valueField:r,selectedValue:l,getSelectedValue:s,resetSelectedValue:c,updateSelectedValue:u}=a,{timeColumns:f}=bR(e,a),d=h=>{u(h),o("change",s())},p=()=>{o("confirm",s())},g=()=>{c(e.modelValue),o("cancel")},{bem:m}=bn("FTouchTimePickerContainer");return()=>t.createVNode(cp,{class:m(),modelValue:l.value,"onUpdate:modelValue":h=>l.value=h,title:e.title,columns:f.value,valueField:r,textField:i,showToolbar:e.showToolbar,visiableOptionCount:e.visiableOptionCount,onChange:d,onConfirm:p,onCancel:g},null)}});function CR(e){const{getLocaleValue:n}=Ce;function o(r,l,s){return l===s?n(r):l||""}const a=o("timePicker.placeholder",e.placeholder,"请选择时间"),i={hour:o("timePicker.time.hour"),minute:o("timePicker.time.minute"),seconds:o("timePicker.time.seconds")};return{placeholder:a,headerLabels:i}}const ui=t.defineComponent({name:"FTimePicker",props:vm,emits:["update:modelValue","valueChange","clear","expandClick"],setup(e,n){const o='<span class="f-icon f-icon-timepicker"></span>',a=t.ref(e.modelValue),i=t.ref(null),r=t.ref(),l=CR(e),s=t.computed(()=>wm(e.format,e.use12Hours));function c(){a.value="",n.emit("clear")}function u(){if(a.value){const m=Cm(a.value,s.value);a.value=TS(m,s.value)}}function f(){Ot()||u()}function d(m){a.value=m.text}function p(){i.value&&i.value.hidePopup()}u(),t.watch(()=>e.modelValue,m=>{a.value=m}),t.watch(a,m=>{n.emit("valueChange",m),n.emit("update:modelValue",m)});const g=()=>{n.emit("expandClick")};return()=>t.createVNode(go,{ref:i,modelValue:a.value,"onUpdate:modelValue":m=>a.value=m,disable:e.disabled,readonly:e.readonly,editable:e.editable,buttonContent:o,placeholder:l.placeholder,enableClear:e.enableClear,popupOnClick:!0,keepWidthWithReference:!1,placement:Ot()?"bottom":e.placement,onClear:c,onBlur:f,popupMinWidth:132,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:g},{default:()=>[Ot()?t.createVNode(NS,{modelValue:a.value,format:s.value,onConfirm:m=>{d({text:m}),p()},onCancel:p},null):t.createVNode(Tl,t.mergeProps({ref:r},e,{headerLabels:l.headerLabels,onValueChange:d}),null)]})}});ui.install=e=>{e.component(ui.name,ui).component(Tl.name,Tl)};const kS={1:"一月",2:"二月",3:"三月",4:"四月",5:"五月",6:"六月",7:"七月",8:"八月",9:"九月",10:"十月",11:"十一月",12:"十二月"},FS={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:di.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:kS},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}},wR={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"}},Sm=t.defineComponent({name:"FDatePickerMonthView",props:wR,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.months),a=t.ref(e.enableMarkCurrent),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enablePeriod),l=t.ref(e.selected),s=t.ref(e.selectedPeriod),{inPeriod:c,isInitializedDate:u,equalOrEarlier:f}=Pa(),{getKeyCodeFromEvent:d}=mm();t.watch(()=>e.months,()=>{o.value=e.months}),t.watch(()=>e.selected,()=>{l.value=e.selected}),t.watch(()=>e.selectedPeriod,S=>{s.value=S});function p(S,T){S.stopPropagation(),!T.disable&&n.emit("click",T.date)}function g(S,T){const x=d(S);x!==jo.tab&&(S.preventDefault(),x===jo.enter||x===jo.space?p(S,T):i.value&&n.emit("keyDown",T))}function m(S){s.value&&u(s.value.from)&&!u(s.value.to)&&(o.value.forEach(T=>{T.forEach(x=>{x.range=!!s.value&&(f(s.value.from,x.date)&&f(x.date,S.date)||f(x.date,s.value.from)&&f(S.date,x.date))})}),n.emit("mouseEnter",S))}function h(){o.value.forEach(S=>{S.forEach(T=>{T.range=!1})}),n.emit("mouseLeave")}const y=(S,T)=>S.year===T.year&&S.month===T.month;function b(S){return!!l.value&&y(l.value,S)}function v(S){return!!s.value&&(y(s.value.from,S)||y(s.value.to,S))}function C(S){return c(S,s.value)}const w=S=>({"f-datepicker-month-cell":!0,"f-datepicker-current":S.isCurrent&&a.value,"f-datepicker-selected":(!r.value||e.selectMode==="week")&&b(S.date)||r.value&&v(S.date),"f-datepicker-disabled":S.disable,"f-datepicker-range":C({...S.date,day:1})||S.range});return()=>t.createVNode("div",{class:"f-datepicker-table-wrapper"},[t.createVNode("table",{class:"f-datepicker-table"},[t.createVNode("tbody",null,[o.value&&o.value.map((S,T)=>t.createVNode("tr",null,[S.map((x,V)=>t.createVNode("td",{id:`m_${T}_${V}`,class:`m_${T}_${V}`,onKeydown:N=>g(N,x),onMouseenter:()=>m(x),onMouseleave:()=>h(),tabindex:"0",style:"width: 33.3%"},[t.createVNode("div",{class:"f-datepicker-month",onClick:N=>p(N,x)},[t.createVNode("span",{class:w(x)},[x.displayText])])]))]))])])])}}),SR={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"}},Vm=t.defineComponent({name:"FDatePickerYearView",props:SR,emits:["click","keyDown","mouseEnter","mouseLeave"],setup(e,n){const o=t.ref(e.years),a=t.ref(e.enableMarkCurrent),i=t.ref(e.enableKeyboadNavigate),r=t.ref(e.enablePeriod),l=t.ref(e.selected),s=t.ref(e.selectedPeriod),{equal:c,isInitializedDate:u,equalOrEarlier:f}=Pa(),{getKeyCodeFromEvent:d}=mm();t.watch(()=>e.years,()=>{o.value=e.years}),t.watch(()=>e.selected,()=>{l.value=e.selected});const p=(S,T)=>{const x=`y_${S}_${T}`,V={"f-datepicker-no-currmonth":S===0&&T===0||S===3&&T===2};return V[x]=!0,V};function g(S){if(!s.value)return!1;const{from:T,to:x}=s.value;return!u(x)||!u(T)?!1:S!=null&&S.year&&(T!=null&&T.year)&&(x!=null&&x.year)?S.year>=T.year&&S.year<=x.year:!1}function m(S){return!!l.value&&c({year:l.value.year},S)}function h(S){return!!s.value&&(c({year:s.value.from.year},S)||c({year:s.value.to.year},S))}const y=S=>({"f-datepicker-year-cell":!0,"f-datepicker-current":S.isCurrent&&a.value,"f-datepicker-selected":(!r.value||e.selectMode==="week")&&m(S.date)||r.value&&h(S.date),"f-datepicker-disabled":S.disable,"f-datepicker-range":g(S.date)||S.range});function b(S,T){S.stopPropagation(),!T.disable&&n.emit("click",T)}function v(S,T){const x=d(S);x!==jo.tab&&(S.preventDefault(),x===jo.enter||x===jo.space?b(S,T):i.value&&n.emit("keyDown",T))}function C(S){s.value&&u(s.value.from)&&!u(s.value.to)&&(o.value.forEach(T=>{T.forEach(x=>{x.range=!!s.value&&(f(s.value.from,x.date)&&f(x.date,S.date)||f(x.date,s.value.from)&&f(S.date,x.date))})}),n.emit("mouseEnter",S))}function w(){o.value.forEach(S=>{S.forEach(T=>{T.range=!1})}),n.emit("mouseLeave")}return()=>t.createVNode("table",{class:"f-datepicker-table-wrapper"},[t.createVNode("tbody",{class:"f-datepicker-table"},[o.value&&o.value.map((S,T)=>t.createVNode("tr",null,[S.map((x,V)=>t.createVNode("td",{id:"y_{yi}_{i}",class:p(T,V),onKeydown:N=>v(N,x),onMouseenter:()=>C(x),onMouseleave:()=>w(),tabindex:"0"},[t.createVNode("div",{class:"f-datepicker-year",onClick:N=>b(N,x)},[t.createVNode("span",{class:y(x)},[x.year])])]))]))])])}});function Nl(){function e(i){return new Date(i.year||0,(i.month||1)-1,i.day,i.hour?i.hour:0,i.minute?i.minute:0,i.second?i.second:0,0).getDay()}function n(i){if(!i)return 1;if(!/^\d+$/.test(i.value))return-1;let r=Number(i.value);return(i.format.length===1&&i.value.length!==1&&r<10||i.format.length===1&&i.value.length!==2&&r>=10||i.format.length===2&&i.value.length>2)&&(r=-1),r}function o(i,r){if(i.value){for(let l=1;l<=12;l++)if(i.value.toLowerCase()===r[l].toLowerCase())return l}return-1}function a(i){const r=new Date(i.year||0,(i.month||1)-1,i.day,0,0,0,0);return r.setDate(r.getDate()+(r.getDay()===0?-3:4-r.getDay())),Math.round((r.getTime()-new Date(r.getFullYear(),0,4).getTime())/864e5/7)+1}return{getNumberByValue:n,getDayNumber:e,getMonthNumberByMonthName:o,getWeekNumber:a}}function MS(e,n,o,a,i,r,l,s){const{getTimeInMilliseconds:c,getWeekdayIndex:u}=_o(),{isInitializedDate:f}=Pa(),{getDayNumber:d}=Nl();function p(g){if(g.year&&g.year<e||g.year&&g.year>n)return!0;const m=c(g),h=g.hour!==void 0;if(f(a)&&(h?m:m+24*60*60*1e3-1)<c(a)||f(o)&&m>c(o))return!0;if(l){const b=d(g);if(b===0||b===6)return!0}const y=d(g);return!!(s.length>0&&s.find(v=>u(v)===y)||i.length>0&&i.find(v=>(v.year===0||v.year===g.year)&&(v.month===0||v.month===g.month)&&v.day===g.day)||r.length>0&&r.find(v=>f(v.from)&&f(v.to)&&m>=c(v.from)&&m<=c(v.to)))}return{isDisabledDate:p}}function VR(){const{getDayNumber:e}=Nl();function n(a,i,r){let l=[];l=i.reduce((c,u)=>{const f=u.dates.map(d=>({date:d,color:u.color}));return[...c,...f]},l);const s=l.find(c=>(c.date.year===0||c.date.year===a.year)&&(c.date.month===0||c.date.month===a.month)&&c.date.day===a.day);if(s)return{marked:!0,color:s.color};if(r&&r.marked){const c=e(a);if(c===0||c===6)return{marked:!0,color:r.color}}return{marked:!1,color:""}}function o(a,i,r,l){const s=e(a);return i&&s===0||r&&s===6?!0:!!l.find(u=>(u.year===0||u.year===a.year)&&(u.month===0||u.month===a.month)&&u.day===a.day)}return{isHighlightedDate:o,isMarkedDate:n}}function xR({isDisabledDate:e}){const{getToday:n}=_o(),{daysInMonth:o,daysInPreMonth:a}=ym(),{isHighlightedDate:i,isMarkedDate:r}=VR(),{getWeekNumber:l}=Nl();function s(d){const p=ir.indexOf(d);return p>0?7-p:0}function c(d,p,g){const m=new Date;m.setDate(1),m.setMonth(p-1),m.setFullYear(d);const h=m.getDay()+g;return h>=7?h-7:h}function u(d,p,g,m,h){return d===h.day&&p===h.month&&g===h.year&&m===ao.current}function f(d,p,g,m,h,y,b,v,C){const w=[],S=n(),T=c(p,d,s(g)),x=o(d,p),V=a(d,p);let N=1,k=ao.previous;for(let P=1;P<7;P++){const M=[];if(P===1){const E=V-T+1;for(let D=E;D<=V;D++){const $={year:d===1?p-1:p,month:d===1?12:d-1,day:D},B=u(D,d,p,k,S),_=e($),O=r($,m,h),L=i($,v,b,y);M.push({date:$,tag:k,isCurrent:B,disable:_,marked:O,highlight:L})}k=ao.current;const A=7-M.length;for(let D=0;D<A;D++){const $={year:p,month:d,day:N},B=u(N,d,p,k,S),_=e($),O=r($,m,h),L=i($,v,b,y);M.push({date:$,tag:k,isCurrent:B,disable:_,marked:O,highlight:L}),N++}}else for(let E=1;E<=7;E++){N>x&&(N=1,k=ao.next);const A={year:k===ao.next&&d===12?p+1:p,month:k===ao.current?d:k===ao.next&&d<12?d+1:1,day:N},D=u(N,d,p,k,S),$=e(A),B=r(A,m,h),_=i(A,v,b,y);M.push({date:A,tag:k,isCurrent:D,disable:$,marked:B,highlight:_}),N++}const F=g===di.Monday?0:6,I=l(M[F].date);w.push({days:M,numberInTheYear:I,year:p})}return w}return{generateCalendar:f}}function TR(){const{getToday:e}=_o();function n(o,a,i,r,l,s){const c=[],u=o-o%10,{year:f,month:d}=a,p=e(),g=3,m=u+10;for(let h=u-1;h<m;h+=g){const y=[];for(let b=h;b<h+g;b++){const v=b<i||b>r;y.push({year:b,isCurrent:b===p.year,selected:b===f,disable:v,date:{year:b}})}c.push(y)}return c}return{generateYears:n}}function NR(){function e(i,r,l){const s=[];if(l){let c=l[0];l[0]!==l[1]&&(c=l[0]+l[1],l[2]&&l[1]!==l[2]&&(c+=l[2]));const u=new RegExp("["+c+"]"),f=i.split(u),d=r.split(u);for(let p=0;p<d.length;p++)d[p].indexOf("yyyy")!==-1&&(s[0]={value:f[p],format:d[p]}),d[p].indexOf("M")!==-1&&(s[1]=f[p]===void 0?{value:"1",format:d[p]}:{value:f[p],format:d[p]}),d[p].indexOf("d")!==-1&&(s[2]=f[p]===void 0?{value:"1",format:d[p]}:{value:f[p],format:d[p]})}else{const c=(r+"").indexOf("yyyy"),u=(r+"").indexOf("MM"),f=(r+"").indexOf("dd");c>=0&&(s[0]={value:i.substring(c,c+4),format:r.substring(c,c+4)}),u>=0&&(s[1]={value:i.substring(u,u+2),format:r.substring(u,u+2)}),f>=0&&(s[2]={value:i.substring(f,f+2),format:r.substring(f,f+2)})}return s}function n(i){return i<10?"0"+Number(i):String(i)}function o(i,r){const l=i.match(/[^(DdMmYy)]{1,}/g),s=i.indexOf(r);return s<0?i:s===0?l?i.substring(3):i.substring(2):s+2===i.length?l?i.substring(0,i.length-3):i.substring(0,i.length-2):l?i.substring(0,s)+i.substring(s+3):i.substring(0,s)+i.substring(s+2)}function a(i,r,l){!i.month&&r.indexOf("MM")===-1&&(r=o(r,"MM")),!i.day&&r.indexOf("dd")===-1&&(r=o(r,"dd"));let s=r.replace("yyyy",String(i.year));return r.indexOf("M")===-1?s=s.replace("MM","01"):(r.indexOf("MMM")!==-1&&(s=s.replace("MMM",l[i.month||1])),r.indexOf("MM")!==-1?s=s.replace("MM",n(i.month||1)):s=s.replace("M",String(i.month||1))),r.indexOf("dd")===-1?s=s.replace("dd","01"):r.indexOf("dd")!==-1?s=s.replace("dd",n(i.day||1)):s=s.replace("d",String(i.day||1)),s=s.replace("MM","mm").replace("HH",n(i.hour||0)).replace("mm",n(i.minute||0)).replace("ss",n(i.second||0)),s&&s.length>2?s:""}return{getDateValue:e,formatDate:a,preZero:n,remove:o}}function xm(e){const{displayFormat:n,minYear:o,maxYear:a,selectMode:i,valueFormat:r,showTime:l,periodDelimiter:s}=e,{emptyDate:c,getToday:u}=_o(),{getDateValue:f,preZero:d}=NR(),{getNumberByValue:p,getMonthNumberByMonthName:g,getWeekNumber:m}=Nl(),{isInitializedDate:h,isDateEarlier:y}=Pa(),{isDisabledDate:b}=MS(e.minYear,e.maxYear,e.disableSince,e.disableUntil,e.disableDates,e.disablePeriod,e.disableWeekends,e.disableWeekdays),v=t.ref(e.nameOfMonths),C=[31,28,31,30,31,30,31,31,30,31,30,31];function w(){const P=u(),M=P.year,F=P.month;switch(i){case"month":return{startMonth:{month:0,year:M},endMonth:{month:0,year:M+1}};case"year":return{startMonth:{month:0,year:M},endMonth:{month:0,year:M+10}};default:{const I={month:F,year:M};let E={month:F+1,year:M};return F>=12&&(E={month:1,year:M+1}),{startMonth:I,endMonth:E}}}}function S(P,M=!1){let F=l,I=n,E=P;return M&&(I=r.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),E=E.replace(/[年,月]/g,"-").replace(/[日]/,"").replace(/[时,分]/g,":").replace(/[秒]/g,""),(E[E.length-1]==="-"||E[E.length-1]===":")&&(E=E.substring(0,E.length-1)),!l&&r.toLocaleLowerCase().indexOf("hh:mm")>-1&&(F=!0)),{actualFormat:I,shouldDisplayTime:F,targetDateString:E}}function T(P,M=!1){const F={year:0,month:0,day:0};if(!P)return F;const{actualFormat:I,shouldDisplayTime:E,targetDateString:A}=S(P,M),D=I.indexOf("MMM")!==-1;let $=A,B=0,_=0,O=0,L=I.match(/[^(DdMmYy)]{1,}/g);if(E&&A){$=A.split(" ")[0],Object.assign(F,{hour:0,minute:0,second:0});const Y=A.split(" ")[1];if(Y){const G=Y.replace("时",":").replace("分",":").replace("秒","").split(":");G[0]&&(B=Number(G[0].substr(0,2)),B=isNaN(B)?0:B),G[1]&&(_=Number(G[1].substr(0,2)),_=isNaN(_)?0:_),G[2]&&(O=Number(G[2].substr(0,2)),O=isNaN(O)?0:O)}else if(L=null,/^\d{1,}$/.test(A)){const j=I;$=A.substr(0,8);let R=A.substr(8);R&&(j.includes("HH")&&R&&(B=+R.slice(0,2),R=R.slice(2)),j.includes("mm")&&R&&(_=+R.slice(0,2),R=R.slice(2)),j.includes("ss")&&R&&(O=+R.slice(0,2)))}}else $=A?A.split(" ")[0]:"";const W=f($,I,L),U=p(W[0]),H=D?g(W[1],v.value):p(W[1]),q=p(W[2]);if(i==="year")return{year:U,month:1,day:1};if(H!==-1&&q!==-1&&U!==-1){if(U<o||U>a||H<1||H>12)return F;const Y=l?{year:U,month:H,day:q,hour:B,minute:_,second:O}:{year:U,month:H,day:q};return b(Y)||((U%400===0||U%100!==0&&U%4===0)&&(C[1]=29),q<1||q>C[H-1])?F:i==="month"?{year:Y.year,month:Y.month}:i==="year"?{year:Y.year}:Y}return F}function x(P){let M={from:{year:0,month:0,day:0},to:{year:0,month:0,day:0}};if(P&&P.length){const F=P.split(s||"~");if(F&&F.length===2){const[I,E]=F;let A=I?T(I,!0):null,D=E?T(E,!0):null;if(!A&&D&&(A={...D}),!D&&A&&(D={...A}),!A&&!D)return M;M={from:A,to:D}}}return M}function V(P,M){const{from:F,to:I}=P,E=h(F),A=h(I)&&JSON.stringify(F)!==JSON.stringify(I);if(E&&A)P.from=M,P.to=c();else if(!E)P.from=M,!A&&e.showTime&&(P.to=M);else{if(y(M,F)){const $=F;P.to=$,P.from=M}else P.to=M;return{from:P.from,to:P.to,emit:!0}}return{from:P.from,to:P.to}}function N(P){const M=d(P.getHours()),F=d(P.getMinutes()),I=d(P.getSeconds());return`${M}:${F}:${I}`}function k(P){const M=x(P),F=M.from,I=M.to;if(h(F)&&h(I)){const E=d(F.hour||0),A=d(F.minute||0),D=d(F.second||0),$=`${E}:${A}:${D}`,B=d(I.hour||0),_=d(I.minute||0),O=d(I.second||0),L=`${B}:${_}:${O}`,W={year:F.year||1,month:F.month||1,displayTextOfMonth:v.value[F.month||"1"],displayTextOfYear:`${F.year}`},U={year:I.year||1,month:I.month||1,displayTextOfMonth:v.value[I.month||"1"],displayTextOfYear:`${I.year}`};if(F.month===I.month&&F.year===I.year)if(!P)U.month>=12?(U.month=1,U.year=U.year+1):(U.month=U.month+1,i==="month"&&(U.year=U.year+1),U.displayTextOfMonth=v.value[U.month]);else{const G=P.split("~"),j=G[0],R=G[1];!j&&R?(W.month===1?(W.year=W.year-1,W.month=12):W.month=W.month-1,W.displayTextOfMonth=v.value[W.month]):(U.month===12?(U.year=U.year+1,U.month=1):U.month=U.month+1,U.displayTextOfMonth=v.value[U.month])}else i==="month"&&F.year===I.year&&(U.year=U.year+1);U.displayTextOfYear=`${U.year}`;const H=e.firstDayOfTheWeek===di.Sunday?I:F,Y={numberInTheYear:m(H),year:H.year};return{beginDateActiveMonth:W,endDateActiveMonth:U,dateRange:M,beginTime:$,endTime:L,selectedWeekInfo:Y}}return{dateRange:M}}return{normalizeDate:T,normalizeDateRange:x,setNewDateRange:V,getActiveMonth:k,getTimeStr:N,getMonthAndYear:w}}function kR(){function e(n,o){if(o===di.Monday){n.setDate(n.getDate()-(n.getDay()+6)%7);const a={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};n.setDate(n.getDate()+6);const i={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};return{from:a,to:i}}else{n.getDay()!==0&&n.setDate(n.getDate()-n.getDay());const a={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};n.setDate(n.getDate()+6-n.getDay());const i={year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate()};return{from:a,to:i}}}return{getNowWeekTime:e}}function nd(e,n=0){return ba(Vo(e,{weekStartsOn:n}),n?0:1)}function FR(e,n){const{locales:o}=e,{quickSelectors:a}=o,i=e.showTime?AF(Date.now()):QF(),r=e.firstDayOfTheWeek==="Mon"?1:0,l=[{label:"今天",value:i,description:"选择今天日期",code:"today"},{label:"昨天",value:Rr(i,1),description:"选择昨天日期",code:"yesterday"},{label:"明天",value:ba(i,1),description:"选择明天日期",code:"tomorrow"},{label:"本周一",value:nd(i,r),description:"本周一",code:"thisMonday"},{label:"下周一",value:ba(nd(i,r),7),description:"下周一",code:"nextMonday"},{label:"本月初",value:Zu(i),description:"本月第一天",code:"firstDayOfMonth"},{label:"本月末",value:Xu(i),description:"本月最后一天",code:"lastDayOfMonth"},{label:"年初",value:Dr(i),description:"今年第一天",code:"firstDayOfYear"},{label:"年末",value:Cs(i),description:"今年最后一天",code:"lastDayOfYear"},{label:"本季度初",value:Ju(i),description:"本季度第一天",code:"firstDayOfQuarter"},{label:"本季度末",value:ef(i),description:"本季度最后一天",code:"lastDayOfQuarter"}],s=[{label:"今天",value:[i,i],description:"选择今天日期",code:"today"},{label:"昨天",value:[Rr(i,1),Rr(i,1)],description:"选择昨天日期",code:"yesterday"},{label:"本周",value:[Vo(i,{weekStartsOn:r}),Uh(i,{weekStartsOn:r})],description:"本周一至周日",code:"thisWeek"},{label:"上周",value:[Vo(ba(nd(i,r),-7),{weekStartsOn:r}),Uh(ba(nd(i,r),-7),{weekStartsOn:r})],description:"上周一至周日",code:"lastWeek"},{label:"过去7天",value:[Rr(i,6),i],description:"7天前至今天",code:"past7Days"},{label:"过去30天",value:[Rr(i,29),i],description:"30天前至今天",code:"past30Days"},{label:"本月",value:[Zu(i),Xu(i)],description:"本月1号至月末",code:"thisMonth"},{label:"上月",value:[Zu(cf(i,1)),Xu(cf(i,1))],description:"上月1号至月末",code:"lastMonth"},{label:"最近三个月",value:[cf(i,2),i],description:"3个月前至今天",code:"recent3Months"},{label:"本季度",value:[Ju(i),ef(i)],description:"本季度第1天至本季度最后1天",code:"thisQuarter"},{label:"上季度",value:[Ju(cy(i)),ef(cy(i))],description:"上季度第1天至最后1天",code:"lastQuarter"},{label:"去年",value:[Dr(dy(i)),Cs(dy(i))],description:"去年1月1日至12月31日",code:"lastYear"},{label:"今年",value:[Dr(i),Cs(i)],description:"本年1月1日至12月31日",code:"thisYear"},{label:"明年",value:[Dr(Ku(i,1)),Cs(Ku(i,1))],description:"明年1月1日至12月31日",code:"nextYear"}],c=f=>f.map(d=>(d.label=a[d.code]||d.label,d));return{quickSelectorList:{single:c(l),range:c(s)}}}function MR(){const{equal:e,isDateEarlier:n}=Pa();function o(r,l,s){const c=r.hour||0,u=l.hour||0,f=[],d={year:s.year,month:s.month,day:s.day},p={year:r.year,month:r.month,day:r.day},g={year:l.year,month:l.month,day:l.day};if(n(d,p))return Array.from({length:24},(m,h)=>h);if(n(g,d))return Array.from({length:24},(m,h)=>h);if(e(d,p))for(let m=0;m<c;m++)f.push(m);if(e(d,g))for(let m=u+1;m<24;m++)f.push(m);return f}function a(r,l,s,c){const u=l.hour||0,f=l.minute||0,d=r.hour||0,p=r.minute||0,g=[],m={year:c.year,month:c.month,day:c.day},h={year:r.year,month:r.month,day:r.day},y={year:l.year,month:l.month,day:l.day};if(n(m,h)||n(y,m))return Array.from({length:60},(b,v)=>v);if(e(m,h)){if(s<d)return Array.from({length:60},(b,v)=>v);if(s===d)for(let b=0;b<p;b++)g.push(b)}if(e(m,y)){if(s>u)return Array.from({length:60},(b,v)=>v);if(s===u)for(let b=f+1;b<60;b++)g.push(b)}return g}function i(r,l,s,c,u){const f=l.hour||0,d=l.minute||0,p=l.second||0,g=r.hour||0,m=r.minute||0,h=r.second||0,y=[],b={year:u.year,month:u.month,day:u.day},v={year:r.year,month:r.month,day:r.day},C={year:l.year,month:l.month,day:l.day};if(n(b,v)||n(C,b))return Array.from({length:60},(w,S)=>S);if(e(b,v)){if(s<g)return Array.from({length:60},(w,S)=>S);if(s===g){if(c<m)return Array.from({length:60},(w,S)=>S);if(c===m)for(let w=0;w<h;w++)y.push(w)}}if(e(b,C)){if(s>f)return Array.from({length:60},(w,S)=>S);if(s===f){if(c>d)return Array.from({length:60},(w,S)=>S);if(c===d)for(let w=p+1;w<60;w++)y.push(w)}}return y}return{getDisabledHours:o,getDisabledMinutes:a,getDisabledSeconds:i}}const rr=t.defineComponent({name:"FDateView",props:FS,emits:["datePicked","confirm"],setup(e,n){var ZT,eN,tN;const o=t.ref(),a=t.ref(""),i=t.ref(e.defaultTime||""),r=t.ref(""),l=t.ref(e.mode),s=t.ref(e.top),c=t.ref(e.left),u=t.ref(e.position),f=t.ref(e.enablePeriod),d=t.ref(e.selectMode),p=t.ref(e.dateFormat),g=t.ref(e.nameOfMonths),m=t.ref(e.valueFormat),h=t.ref(!1),y=t.ref(!1),b=t.ref(!1),v=t.ref(!1),C=t.ref(!1),w=t.ref(!1),S=t.ref(!1),T=t.ref(!1),x=t.ref(!1),V=t.ref(!1),N=t.ref(!1),k=t.ref(!1),P=t.ref(!1),M=t.ref([]),F=t.ref(e.enableKeyboadNavigate),I=t.ref(e.enableMarkCurrent),E=t.ref(e.firstDayOfTheWeek),A=t.ref(e.showWeekNumber),D=t.ref(e.selectedDate),$=t.ref(e.selectedSecondDate),B=t.ref(e.value),_=t.ref(e.selectedWeek),O=t.ref(e.weekTitle),L=t.ref(e.selectedMonth),W=t.ref(e.minYear),U=t.ref(e.maxYear),H=t.ref(e.disableSince),q=t.ref(e.disableUntil),Y=t.ref(e.disableDates),G=t.ref(e.disablePeriod),j=t.ref(e.disableWeekdays),R=t.ref(e.disableWeekends),{quickSelectorList:z}=FR(e),{getToday:Q,getDateObject:K,getTimeValue:Z,getEndTimeValue:ae,emptyDate:ee,convertDateToDateObject:te,getNearDate:le}=_o(),{setNewDateRange:ye,getActiveMonth:be,getTimeStr:de,getMonthAndYear:J}=xm(e),ne=t.ref({from:{...ee()},to:{...ee()}});function oe(){const{weekDayLabels:ve}=e.locales,je=[],Oe=ir.indexOf(E.value);if(Oe!==-1){let et=Oe;for(let $t=0;$t<ir.length;$t++)je.push(ve[ir[et]]),et=ir[et]==="Sat"?0:et+1}return je}M.value=oe(),(ZT=e.locales)!=null&&ZT.weekTitle&&(O.value=e.locales.weekTitle);const ce=MS(W.value,U.value,H.value,q.value,Y.value,G.value,R.value,j.value),{formatTo:se,parseToDate:we}=Fn(),{isMonthDisabledByDisableSince:Ke,isMonthDisabledByDisableUntil:mt}=hm(),{generateCalendar:Se}=xR(ce),{generateMonths:Me,getNextMonth:fe,getPreviousMonth:Ve,daysInMonth:Ie}=ym(),{getNowWeekTime:xe}=kR(),{getWeekNumber:me}=Nl(),{generateYears:Be}=TR(),{equalOrEarlier:ue,isInitializedDate:_e,isDateEarlier:pe}=Pa();let Fe=Q();Fe=ce.isDisabledDate(Fe)?le(Fe,q.value,H.value):Fe;const Qe=t.computed(()=>{const ve=ge.cloneDeep(Fe),je=B.value&&!f.value?we(B.value,m.value):null;return je?K(se(je,"yyyy-MM-dd"),"yyyy-MM-dd"):ve});if(B.value&&!f.value){const ve=we(B.value,m.value);ve&&(D.value=K(se(ve,"yyyy-MM-dd"),"yyyy-MM-dd"))}const tt=t.ref({year:Qe.value.year||1,month:Qe.value.month||1,displayTextOfMonth:g.value[Qe.value.month||"1"],displayTextOfYear:`${Qe.value.year}`}),Tt=t.ref(ge.cloneDeep(tt.value));L.value={year:(eN=D.value)==null?void 0:eN.year,month:(tN=D.value)==null?void 0:tN.month};const{endMonth:xt}=J(),Ye=xt.year,Te=xt.month,re=t.ref({year:Ye,month:Te,displayTextOfMonth:g.value[Te],displayTextOfYear:`${Ye}`}),Ae=t.ref(ge.cloneDeep(re.value)),qe=t.computed(()=>Se(tt.value.month,tt.value.year,E.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,A.value));t.watch(()=>e.defaultTime,ve=>{i.value=ve||""});const rt=t.ref(qe.value);t.watch(()=>qe.value,(ve,je)=>{rt.value=ve}),t.watch(()=>e.disableUntil,ve=>{q.value=ve}),t.watch(()=>e.disableSince,ve=>{H.value=ve});const Ct=t.computed(()=>Se(re.value.month,re.value.year,E.value,[],{marked:!0,color:""},e.highlightDates,e.highlightSaturday,e.highlightSunday,A.value)),ke=t.ref(Ct.value);t.watch(()=>Ct.value,(ve,je)=>{ke.value=ve});const ze=t.computed(()=>Me(g.value,{year:tt.value.year,month:tt.value.month},H.value,q.value)),nt=t.ref(ze.value);t.watch(()=>ze.value,(ve,je)=>{nt.value=ve});const ut=t.computed(()=>Be(tt.value.year,{year:tt.value.year,month:tt.value.month},W.value,U.value,H.value,q.value)),Ne=t.ref(ut.value);t.watch(()=>ut.value,(ve,je)=>{Ne.value=ve});const Ee=t.computed(()=>Be(re.value.year,{year:re.value.year,month:re.value.month},W.value,U.value,H.value,q.value)),Ue=t.ref(Ee.value);t.watch(()=>Ee.value,(ve,je)=>{Ue.value=ve});const Je=t.computed(()=>Me(g.value,{year:re.value.year,month:re.value.month},H.value,q.value)),dt=t.ref(Je.value);t.watch(()=>Je.value,(ve,je)=>{dt.value=ve}),t.watch(()=>e.enablePeriod,(ve,je)=>{ve!==je&&(f.value=ve)});const kt=t.computed(()=>ve=>ve?d.value!=="week"&&!y.value&&!v.value&&!C.value:!h.value&&!b.value&&!C.value);function It(){return f.value&&d.value!=="week"?575:e.showTime&&d.value!=="week"&&e.inlineDateTime?487:287}const gt=t.computed(()=>({top:`${s.value}px`,left:`${c.value}px`,width:`${It()+(e.enableQuickSelect?90:0)}px`,position:"relative","z-index":l.value==="Embedded"?0:9999,"margin-top":"0px"}));function Ft(ve){}function an(ve){ve.stopPropagation()}function kn(ve,je){if(je){const Oe=re.value.year-(v.value?10:1),et={year:Oe,month:re.value.month,displayTextOfMonth:g.value[re.value.month||"1"],displayTextOfYear:`${Oe}`};re.value=et}else{const Oe=tt.value.year-(b.value?10:1),et={year:Oe,month:tt.value.month,displayTextOfMonth:g.value[tt.value.month||"1"],displayTextOfYear:`${Oe}`};tt.value=et,(h.value||kt.value(!1))&&(L.value={...L.value,year:et.year,month:et.month})}}function ha(ve,je){if(je){const Oe=Ve(re.value.month,re.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};re.value=et}else{const Oe=Ve(tt.value.month,tt.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};tt.value=et,L.value={...L.value,year:et.year,month:et.month}}}function Ci(ve,je){if(je){const Oe=fe(re.value.month,re.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};re.value=et}else{const Oe=fe(tt.value.month,tt.value.year),et={year:Oe.year||1,month:Oe.month||1,displayTextOfMonth:g.value[Oe.month||"1"],displayTextOfYear:`${Oe.year}`};tt.value=et,L.value={...L.value,year:et.year,month:et.month}}}function Xl(ve,je){if(je){let Oe=re.value.year+1;v.value&&(Oe=Ee.value[3][0].year+2);const et={year:Oe,month:re.value.month,displayTextOfMonth:g.value[re.value.month||"1"],displayTextOfYear:`${Oe}`};re.value=et}else{let Oe=tt.value.year+1;b.value&&(Oe=ut.value[3][0].year+2);const et={year:Oe,month:tt.value.month,displayTextOfMonth:g.value[tt.value.month||"1"],displayTextOfYear:`${Oe}`};tt.value=et,(h.value||kt.value(!1))&&(L.value={...L.value,year:et.year,month:et.month})}}function wi(ve){C.value=!1,ve?(y.value=!y.value,v.value=!1):(h.value=!h.value,b.value=!1)}function Ba(ve){C.value=!1,ve?(v.value=d.value==="year"?!0:!v.value,d.value==="month"?y.value=!y.value:y.value=!1,v.value?Ae.value=ge.cloneDeep(re.value):re.value=ge.cloneDeep(Ae.value)):(b.value=d.value==="year"?!0:!b.value,d.value==="month"?h.value=!h.value:h.value=!1,b.value?Tt.value=ge.cloneDeep(tt.value):tt.value=ge.cloneDeep(Tt.value))}function Jl(){if(ne.value){const{from:ve,to:je}=ne.value,Oe=_e(ve),et=_e(je),$t=new Date;(!Oe||!et)&&(Oe||(ne.value.from={year:$t.getFullYear(),month:$t.getMonth()+1,day:$t.getDate()}),ne.value.to={...ne.value.from},a.value=de($t),r.value=de($t))}C.value=!C.value,h.value=!1,b.value=!1,v.value=!1,y.value=!1}const Zl=t.computed(()=>({"active-month":tt.value,"date-format":p.value,"disable-pre-page":w.value,"disable-pre-record":S.value,"disable-next-record":T.value,"disable-next-page":x.value,years:Ne.value,"selecting-month":h.value,"selecting-year":b.value,"select-mode":d.value,minDate:q.value,maxDate:H.value})),es=t.computed(()=>({"active-month":re.value,"date-format":p.value,"disable-pre-page":V.value,"disable-pre-record":N.value,"disable-next-record":k.value,"disable-next-page":P.value,years:Ue.value,"selecting-month":y.value,"selecting-year":v.value,"select-mode":d.value,minDate:q.value,maxDate:H.value}));function Sr(ve,je){return t.createVNode(bm,t.mergeProps(ve,{onPrePage:Oe=>kn(Oe,je),onPreRecord:Oe=>ha(Oe,je),onNextRecord:Oe=>Ci(Oe,je),onNextPage:Oe=>Xl(Oe,je),onClickMonth:Oe=>wi(je),onClickYear:Oe=>Ba(je)}),null)}const Oa=t.computed(()=>h.value&&!b.value),Ra=t.computed(()=>b.value&&!h.value),ts=t.computed(()=>({dates:rt.value,daysInWeek:M.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,firstDayOfTheWeek:E.value,selected:D.value||null,selectedPeriod:ne.value,selectedWeek:_.value,selectMode:d.value,showWeekNumber:A.value,weekTitle:O.value})),Vr=t.computed(()=>({dates:ke.value,daysInWeek:M.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,firstDayOfTheWeek:E.value,selected:$.value,selectedPeriod:ne.value,selectMode:d.value,showWeekNumber:A.value,weekTitle:O.value}));function ns(ve,je){var Yo;const{event:Oe,dayItem:et}=ve,$t=et.date;if(et.tag===1?ha(Oe,je):et.tag===3&&Ci(Oe,je),f.value){const{from:Mr,to:Pr,emit:ps}=ye(ne.value,$t);ne.value={from:ge.cloneDeep(Mr),to:ge.cloneDeep(Pr)},!e.showTime&&ps&&n.emit("datePicked",{startDate:Mr,endDate:Pr})}else if(!e.showTime)n.emit("datePicked",$t);else{const{year:Mr,month:Pr,day:ps}=$t;D.value=Object.assign(D.value||{},{year:Mr,month:Pr,day:ps}),(Yo=o.value)==null||Yo.refresh()}const{year:En,month:Un}=$t;L.value={year:En,month:Un}}function os(ve){const je=m.value.toLowerCase().indexOf("hh:mm")>-1;_.value={numberInTheYear:ve.numberInTheYear,year:ve.year},je&&(ve.days[0].date.hour=0,ve.days[0].date.minute=0,ve.days[0].date.second=0,ve.days[6].date.hour=23,ve.days[6].date.minute=59,ve.days[6].date.second=59),ye(ne.value,ve.days[0].date);const{from:Oe,to:et,emit:$t}=ye(ne.value,ve.days[6].date);ne.value={from:Oe,to:et},$t&&n.emit("datePicked",{startDate:Oe,endDate:et})}function Pu(ve){}function xr(ve,je){if(je){for(const Oe of qe.value)for(const et of Oe.days)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve)||ue(et.date,ne.value.from)&&ue(ve,et.date);rt.value=ge.cloneDeep(qe.value)}else{for(const Oe of Ct.value)for(const et of Oe.days)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve)||ue(et.date,ne.value.from)&&ue(ve,et.date);ke.value=ge.cloneDeep(Ct.value)}}function as(ve,je){if(je){for(const Oe of qe.value)for(const et of Oe.days)et.range=!1;rt.value=ge.cloneDeep(qe.value)}else{for(const Oe of Ct.value)for(const et of Oe.days)et.range=!1;ke.value=ge.cloneDeep(Ct.value)}}function Tr(ve,je){return t.createVNode(gm,t.mergeProps(ve,{onClick:Oe=>ns(Oe,je),onClickWeek:Oe=>os(Oe),onKeyDown:Oe=>void 0,onMouseEnter:Oe=>xr(Oe,je),onMouseLeave:Oe=>as(Oe,je)}),null)}const is=t.computed(()=>({months:nt.value,enableMarkCurrent:I.value,enableKeyboadNavigate:F.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value,selectMode:d.value})),rs=t.computed(()=>({months:dt.value,enableMarkCurrent:I.value,enableKeyboadNavigate:F.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value})),So=ve=>{const{from:je,to:Oe}=ne.value,et=_e(je),$t=_e(Oe);if(et&&$t)ne.value.from={year:ve.year,month:ve.month},!h.value&&!b.value&&(ne.value.from.day=0),ne.value.to=ee();else if(!et)ne.value.from={year:ve.year,month:ve.month},!h.value&&!b.value&&(ne.value.from.day=0);else{if(pe({year:ve.year,month:ve.month},je)){const Un=ne.value.from;ne.value.to={...Un},ne.value.from={year:ve.year,month:ve.month}}else ne.value.to={year:ve.year,month:ve.month};n.emit("datePicked",{startDate:ne.value.from,endDate:ne.value.to})}},La=t.computed(()=>{const{from:ve,to:je}=ne.value;return f.value&&_e(ve)&&!(_e(je)&&JSON.stringify(ve)!==JSON.stringify(je))});function ja(ve,je){je?(re.value={month:ve.month||1,displayTextOfMonth:g.value[ve.month||"1"],year:ve.year||1,displayTextOfYear:`${ve.year}`},d.value==="month"?So(ve):(y.value=!1,v.value=!1,La.value||So({...ve}))):(tt.value={month:ve.month||1,displayTextOfMonth:g.value[ve.month||"1"],year:ve.year||1,displayTextOfYear:`${ve.year}`},Tt.value=ge.cloneDeep(tt.value),d.value==="month"?f.value?So(ve):n.emit("datePicked",ve):(h.value=!1,b.value=!1,L.value=ve,La.value||So({...ve})))}function ls(ve){}function ss(ve,je){if(je){for(const Oe of ze.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);nt.value=ge.cloneDeep(ze.value)}else{for(const Oe of Je.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);dt.value=ge.cloneDeep(Je.value)}}function Nr(ve,je){}function Uo(ve,je){return t.createVNode(Sm,t.mergeProps(ve,{onClick:Oe=>ja(Oe,je),onKeyDownMonthView:Oe=>void 0,onMouseEnter:Oe=>ss(Oe,je),onMouseLeave:Oe=>void 0}),null)}const kr=t.computed(()=>({years:ut.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,selected:L.value,selectedPeriod:ne.value,selectMode:d.value})),cs=t.computed(()=>({years:Ue.value,enableKeyboadNavigate:F.value,enableMarkCurrent:I.value,enablePeriod:f.value,selected:D.value,selectedPeriod:ne.value}));function Go(ve,je){je?(re.value={month:re.value.month||1,displayTextOfMonth:re.value.displayTextOfMonth,year:ve.year||1,displayTextOfYear:`${ve.year}`},d.value==="year"?So(ve):(y.value=!0,v.value=!1,La.value||So({year:tt.value.year,month:0}))):(tt.value={month:tt.value.month,displayTextOfMonth:tt.value.displayTextOfMonth,year:ve.year||1,displayTextOfYear:`${ve.year}`},Tt.value=ge.cloneDeep(tt.value),d.value==="year"?f.value?So(ve):n.emit("datePicked",ve):(h.value=!0,b.value=!1,L.value=Object.assign(L.value||{},{year:tt.value.year}),La.value||So({year:tt.value.year,month:0})))}function ds(ve){}function us(ve,je){if(je){for(const Oe of ut.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);Ne.value=ge.cloneDeep(ut.value)}else{for(const Oe of Ee.value)for(const et of Oe)et.range=ue(ne.value.from,et.date)&&ue(et.date,ve.date)||ue(et.date,ne.value.from)&&ue(ve.date,et.date);Ue.value=ge.cloneDeep(Ee.value)}}function Iu(ve,je){}const Fr=()=>{const{from:ve,to:je}=ne.value,Oe=!_e(ve),et=!_e(je);let $t={...ve},En={...je};if(Oe||et){const Un=new Date;Oe&&($t={year:Un.getFullYear(),month:Un.getMonth()+1,day:Un.getDate()}),En={...$t}}if(e.showTime){const{hour:Un,minute:Yo,second:Mr}=Z(a.value,!0);$t={...$t,hour:Un,minute:Yo,second:Mr};const{hour:Pr,minute:ps,second:a4}=ae(r.value);En={...En,hour:Pr,minute:ps,second:a4}}return{begin:$t,end:En}};function Si(){if(f.value&&ne.value){const{begin:ve,end:je}=Fr();ne.value={from:ve,to:je},n.emit("datePicked",{startDate:ve,endDate:je})}else{if(e.showTime){const{hour:ve,minute:je,second:Oe}=Z(a.value,!0);_e(D.value)||(D.value={...Fe}),D.value={...D.value,hour:ve,minute:je,second:Oe}}n.emit("confirm",D.value)}}function fs(ve){tt.value={year:Fe.year||1,month:Fe.month||1,displayTextOfMonth:g.value[Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value=ge.cloneDeep(Fe),n.emit("datePicked",Fe)}function Vi(ve){tt.value={year:Fe.year||1,month:Fe.month||1,displayTextOfMonth:g.value[Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value={year:Fe.year,month:Fe.month},L.value={year:Fe.year,month:Fe.month},ja(D.value,!1),d.value==="month"&&n.emit("datePicked",L.value)}function _a(ve){var je,Oe;tt.value={year:Fe.year||1,month:((je=D.value)==null?void 0:je.month)||Fe.month||1,displayTextOfMonth:g.value[((Oe=D.value)==null?void 0:Oe.month)||Fe.month||"1"],displayTextOfYear:`${Fe.year}`},D.value={...D.value,year:Fe.year,month:tt.value.month},L.value={year:Fe.year,month:tt.value.month},Go(D.value,!1),d.value==="year"&&n.emit("datePicked",D.value)}const xi=t.computed(()=>f.value&&d.value!=="week"),He=t.computed(()=>{const ve={"flex-row":!0,"f-datepicker-container":!0,"f-daterange-select-timerange":xi.value&&C.value},je=`container-position-${u.value}`;return ve[je]=!0,ve}),vt=t.computed(()=>e.showTime&&d.value!=="week");function Dt(ve,je){return t.createVNode(Vm,t.mergeProps(ve,{onClick:Oe=>Go(Oe,je),onKeyDownYearView:Oe=>void 0,onClickPreRecord:Oe=>ha(Oe,je),onClickNextRecord:Oe=>Ci(Oe,je),onMouseEnter:Oe=>us(Oe,je),onMouseLeave:Oe=>void 0}),null)}function $e(){const ve="HH:mm:ss";if(B.value){const je=we(B.value,m.value);a.value=se(je||"",ve)||"00:00:00",D.value&&(D.value.hour=(je==null?void 0:je.getHours())||0,D.value.minute=(je==null?void 0:je.getMinutes())||0,D.value.second=(je==null?void 0:je.getSeconds())||0)}else{if(!a.value){const{hour:je,minute:Oe,second:et}=D.value||Fe;a.value=`${je||"0"}:${Oe||0}:${et||0}`}a.value=df(a.value)}}t.onMounted(()=>{if(f.value){const{dateRange:ve,beginDateActiveMonth:je,endDateActiveMonth:Oe,beginTime:et,endTime:$t,selectedWeekInfo:En}=be(B.value);ne.value=ve,je&&(tt.value=je),Oe&&(re.value=Oe),et&&(a.value=et),$t&&(r.value=$t),En&&(_.value=En)}else if(e.showTime){const je=m.value.split(" ")[1]||"HH:mm:ss";a.value=se(B.value,je),!a.value&&i.value&&typeof i.value=="string"&&(a.value=i.value),$e()}if(d.value==="month")wi(!1),f.value&&wi(!0);else if(d.value==="year"&&(Ba(!1),f.value)){const ve=re.value.year;Ne.value.length&&ve<Ne.value[3][2].year&&ve>Ne.value[0][0].year&&(re.value.year=ve+10),Ba(!0)}d.value==="month"?(h.value=!0,b.value=!1):d.value==="year"&&(b.value=!0,h.value=!1)});const Ze=(ve,je=!1)=>{const et=m.value.split(" ")[1]||"HH:mm:ss",$t=Cm(ve.text,et),En=($t==null?void 0:$t.getHours())||0,Un=($t==null?void 0:$t.getMinutes())||0,Yo=($t==null?void 0:$t.getSeconds())||0;je?(r.value=ve.text,f.value&&ne.value&&(ne.value.to.hour=En,ne.value.to.minute=Un,ne.value.to.second=Yo)):(a.value=ve.text,f.value&&ne.value?(ne.value.from.hour=En,ne.value.from.minute=Un,ne.value.from.second=Yo):D.value&&(D.value.hour=En,D.value.minute=Un,D.value.second=Yo))};function lt(ve){return t.createVNode(Tl,{class:"calendar-time-picker",style:"width: 287px;height: 254px;display: block; position: relative;padding:8px 0px;",modelValue:ve?r.value:a.value,inDatePicker:!0,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep,onValueChange:je=>Ze(je,ve)},null)}const Nt=t.computed(()=>(ve,je=!1)=>{const Oe=(ve==null?void 0:ve.day)==null||ce.isDisabledDate(e.showTime?ve:{year:ve.year,month:ve.month,day:ve.day}),et={"pointer-events":Oe?"none":"auto",opacity:Oe?.3:1};return je?{...et}:{...et,"font-size":"15px"}}),Mt=t.computed(()=>{const{year:ve,month:je}=Q(),Oe={year:H.value.year,month:H.value.month,day:H.value.day},et={year:q.value.year,month:q.value.month,day:q.value.day},$t=Ke({year:ve,month:je,day:1},Oe)||mt({year:ve,month:je,day:Ie(je||0,ve||0)},et);return{"pointer-events":$t?"none":"auto",opacity:$t?.3:1,"font-size":"15px"}}),ht=t.computed(()=>{const ve=Q(),je=ve.year?ve.year>=W.value&&ve.year<=U.value:!1;return{"pointer-events":je?"auto":"none",opacity:je?1:.3,"font-size":"15px"}}),At=()=>{const{from:ve,to:je}=xe(new Date,E.value);e.showTime&&(ve.hour=0,ve.minute=0,ve.second=0,je.hour=23,je.minute=59,je.second=59);const Oe=ce.isDisabledDate(ve)||ce.isDisabledDate(je);return{"pointer-events":Oe?"none":"auto",opacity:Oe?.3:1,"font-size":"15px"}},Bn=t.computed(()=>{if(f.value){if(e.showTime){let ve=!0;const{begin:je,end:Oe}=Fr();return ce.isDisabledDate(je)||ce.isDisabledDate(Oe)?ve=!1:ve=ue(je,Oe),{"pointer-events":ve?"auto":"none",opacity:ve?1:.3}}}else{const{hour:ve,minute:je,second:Oe}=Z(a.value,!0),et={...D.value,hour:ve,minute:je,second:Oe};return Nt.value(et,!0)}});function so(){const{from:ve,to:je}=xe(new Date,E.value),Oe=new Date().getFullYear(),et=me(ve),$t=m.value.toLowerCase().indexOf("hh:mm")>-1;_.value={numberInTheYear:et,year:Oe},$t&&(ve.hour=0,ve.minute=0,ve.second=0,je.hour=23,je.minute=59,je.second=59),ye(ne.value,ve);const{from:En,to:Un,emit:Yo}=ye(ne.value,je);ne.value={from:En,to:Un},Yo&&n.emit("datePicked",{startDate:En,endDate:Un})}const yn=e.locales.buttons.current,Ti=t.computed(()=>C.value?e.locales.buttons.selectDate:e.locales.buttons.selectTime);function Q6(ve,je){const{value:Oe}=ve;f.value?(ne.value={from:te(Oe[0]),to:te(Oe[1])},e.showTime&&(a.value="00:00:00",r.value="23:59:59")):(D.value={...te(Oe)},e.showTime&&(a.value=`${Oe.getHours()}:${Oe.getMinutes()}:${Oe.getSeconds()}`)),Si()}const K6=()=>{const ve=f.value?z.range:z.single.filter(je=>{let Oe=te(je.value);return e.showTime||(Oe={year:Oe.year,month:Oe.month,day:Oe.day}),!ce.isDisabledDate(Oe)});return t.createVNode("ul",{class:"p-1"},[ve.map((je,Oe)=>t.createVNode("li",{class:"text-truncate",title:je.label,key:Oe,onClick:et=>Q6(je)},[je.label]))])},X6=t.computed(()=>({"max-height":vt.value||!f.value?"339px":"294px"})),{getDisabledHours:J6,getDisabledMinutes:Z6,getDisabledSeconds:e4}=MR(),t4=()=>{const ve=q.value,je=H.value,Oe=D.value||Qe.value;return J6(ve,je,Oe)},n4=ve=>{const je=q.value,Oe=H.value,et=D.value||Qe.value;return Z6(je,Oe,ve,et)},o4=(ve,je)=>{const Oe=q.value,et=H.value,$t=D.value||Qe.value;return e4(Oe,et,ve,je,$t)};return()=>t.createVNode("div",{class:He.value,style:gt.value,tabindex:"0",onKeyup:ve=>void 0,onClick:ve=>an(ve)},[e.enableQuickSelect&&d.value==="day"&&t.createVNode("div",{class:"f-datepicker-content f-datepicker-quick-selector ",style:X6.value},[K6()]),t.createVNode("div",{class:"w-100 d-flex f-utils-fill",style:"flex-wrap: wrap;"},[t.createVNode("div",{class:"f-datepicker-content",style:"width:287px"},[Sr(Zl.value,!1),kt.value(!1)&&Tr(ts.value,!1),h.value&&Uo(is.value,!1),b.value&&Dt(kr.value,!1),C.value&&f.value&&lt(!1)]),e.showTime&&!f.value&&e.inlineDateTime&&t.createVNode("div",{class:"f-datepicker-content position-relative datepicker-content-has-timer",style:"width:200px"},[t.createVNode("div",{style:"height: 40px; border-bottom: 1px solid #E4E7EF; text-align: center; line-height: 40px; font-size: 16px; font-weight: 500;"},[a.value]),t.createVNode(Tl,{style:"top:41px; padding: 8px 0px; position: absolute",ref:o,inDatePicker:!1,modelValue:a.value,onValueChange:Ze,disabledHours:t4,disabledMinutes:n4,disabledSeconds:o4,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep},null)]),e.showTime&&!f.value&&!e.inlineDateTime&&C.value&&lt(!1),xi.value&&d.value!=="week"&&t.createVNode("div",{class:"f-datepicker-content f-datepicker-secondary",style:"width:287px"},[Sr(es.value,!0),kt.value(!0)&&Tr(Vr.value,!0),y.value&&Uo(rs.value,!0),v.value&&Dt(cs.value,!0),C.value&&lt(!0)]),vt.value&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: end;"},[!f.value&&kt.value(!1)&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:Nt.value(Q()),onClick:fs},[yn.today]),!f.value&&Oa.value&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:Mt.value,onClick:Vi},[yn.month]),!f.value&&Ra.value&&t.createVNode("button",{class:"btn btn-link f-datepicker-select-btn",style:ht.value,onClick:_a},[yn.year]),(f.value||!e.inlineDateTime)&&d.value==="day"&&t.createVNode("div",{class:"d-flex f-utils-fill",style:"justify-content:center"},[t.createVNode("button",{class:"btn btn-link",style:"font-size: 15px",onClick:Jl},[Ti.value])]),t.createVNode(fo,{onClick:Si,style:Bn.value},{default:()=>[e.locales.buttons.commit]})]),!f.value&&!vt.value&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: center;"},[kt.value(!1)&&t.createVNode("button",{class:"btn btn-link",style:Nt.value(Q()),onClick:fs},[yn.today]),Oa.value&&t.createVNode("button",{class:"btn btn-link",style:Mt.value,onClick:Vi},[yn.month]),Ra.value&&t.createVNode("button",{class:"btn btn-link",style:ht.value,onClick:_a},[yn.year])]),f.value&&d.value==="week"&&t.createVNode("div",{class:"f-datepicker-commitBtn-wrapper",style:"justify-content: center;"},[Oa.value&&t.createVNode("button",{class:"btn btn-link",style:Mt.value,onClick:Vi},[yn.month]),Ra.value&&t.createVNode("button",{class:"btn btn-link",style:ht.value,onClick:_a},[yn.year]),!Oa.value&&!Ra.value&&t.createVNode("button",{class:"btn btn-link",style:At(),onClick:so},[yn.week])])])])}}),PR={year:9999,month:12,day:31,hour:23,minute:59,second:59},IR={year:1900,month:1,day:1,hour:0,minute:0,second:0},kl={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:kS},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:di.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:""}},ER={...kl,locales:{type:Object,default:{}},minYear:{type:Number,default:1900},maxYear:{type:Number,default:9999}},AR=t.defineComponent({name:"FDateRange",props:ER,emits:["update:modelValue","confirm","clear"],setup(e,n){const o=t.ref(e.maxYear),a=t.ref(e.minYear),i=t.ref(e.highlightSaturday),r=t.ref(e.highlightSunday),l=t.ref(e.nameOfMonths),s=t.ref(e.highlightDates),c=t.ref(e.showWeekNumber),u=t.ref(e.selectMode),f=t.ref(e.disableWeekends),d=t.ref(e.disableWeekdays),p=t.ref(e.disableSince),g=t.ref(e.disableUntil),m=t.ref(!1),h=t.ref(),y=t.ref(),b=t.ref(!1),{formatTo:v,parseToDate:C}=Fn(),w=t.ref(e.beginValue),S=t.ref(e.endValue),T=oe=>{const ce=oe.split("~");w.value=(ce==null?void 0:ce[0])||"",S.value=(ce==null?void 0:ce[1])||""},{formatDateObject:x,getDateObject:V}=_o(),N=t.ref(),k=t.ref();function P(){return e.modelValue?(T(e.modelValue),e.modelValue):e.beginValue||e.endValue?e.beginValue+"~"+e.endValue:""}const M=t.ref(P());function F(oe){if(oe){const ce=C(oe,e.valueFormat);return ce?v(ce,e.displayFormat):""}return""}const I=t.computed(()=>F(w.value)),E=t.computed(()=>F(S.value)),A=t.computed(()=>I.value+"~"+E.value);t.watch(()=>e.beginValue,oe=>{w.value=oe}),t.watch(()=>e.endValue,oe=>{S.value=oe}),t.watch(()=>e.modelValue,oe=>{M.value=e.modelValue}),t.watch(M,oe=>{T(oe)}),t.watch(()=>e.disableUntil,oe=>{g.value=oe}),t.watch(()=>e.disableSince,oe=>{p.value=oe});function D(){a.value=g.value.year??a.value,o.value=p.value.year??o.value,a.value>o.value&&(o.value=a.value)}const $=t.computed(()=>({"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!0,"f-cmp-datepicker":!0})),B=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":e.disabled,"f-state-editable":!0,"align-items-center":!0,"f-state-readonly":e.readonly})),_=t.computed(()=>{const oe={width:"22px",height:"22px"};return b.value||(oe.visibility="hidden"),oe}),O=()=>{var oe;(oe=h.value)==null||oe.show(y.value)},L=()=>{e.readonly||e.disabled||(m.value=!m.value,setTimeout(()=>{m.value&&(D(),O())}))},W=()=>{m.value=!1};function U(){document.body.click()}const H=oe=>{const{startDate:ce,endDate:se}=oe;let we=`${ce.year}-${ce.month}-${ce.day}`,Ke=`${se.year}-${se.month}-${se.day}`;if(e.showTime){const{hour:fe,minute:Ve,second:Ie}=ce;we=`${we} ${fe||0}:${Ve||0}:${Ie||0}`;const{hour:xe,minute:me,second:Be}=se;Ke=`${Ke} ${xe||0}:${me||0}:${Be||0}`}u.value==="month"&&(we=`${ce.year}-${ce.month}`,Ke=`${se.year}-${se.month}`),u.value==="year"&&(we=`${ce.year}`,Ke=`${se.year}`);const mt=v(we,e.valueFormat),Se=v(Ke,e.valueFormat),Me=mt+"~"+Se;M.value=Me,n.emit("update:modelValue",Me),n.emit("confirm",Me),U()},q=oe=>{H(oe)},Y=()=>{M.value="",U(),n.emit("update:modelValue",""),n.emit("clear")};t.onMounted(()=>{l.value=e.locales.monthLabels,D()});function G(){b.value=!!I.value||!!E.value}function j(){b.value=!1}function R(oe,ce){const se=v(oe,e.valueFormat),we=v(ce,e.valueFormat);let Ke="";(se||we)&&(Ke=se+"~"+we),M.value=Ke,n.emit("update:modelValue",Ke),Ke?n.emit("confirm",Ke):n.emit("clear")}function z(oe){R(oe,S.value)}function Q(oe){R(w.value,oe)}function K(){R("",S.value)}function Z(){R(w.value,"")}const ae=oe=>{W()},ee=oe=>{W()},te=t.computed(()=>!e.editable||!(e.readonly&&e.disabled)),le=(oe,ce)=>{const se={...e,disableSince:ce||p.value,disableUntil:oe||g.value,maxYear:(ce==null?void 0:ce.year)||p.value.year,minYear:(oe==null?void 0:oe.year)||g.value.year};return xm(se)},ye=oe=>{var ce;(!((ce=oe.relatedTarget)!=null&&ce.closest(".f-cmp-datepicker"))||oe.relatedTarget.closest(".f-cmp-datepicker")!==oe.target.closest(".f-cmp-datepicker"))&&W()};function be(oe,ce){var we,Ke;if(m.value&&h.value.popoverRef.contains(oe.relatedTarget))return;const se=oe.target.value;if(se&&te.value){let mt=null,Se=null;ce?(Se=S.value?V(S.value,e.valueFormat):null,w.value):(mt=w.value?V(w.value,e.valueFormat):null,S.value);const fe=le(mt,Se).normalizeDate(se,!0);if(fe&&fe.year!==0){const Ve=x(fe,u.value,e.showTime);ce?R(Ve,S.value):R(w.value,Ve)}else R(w.value,S.value),ce?(we=N.value)==null||we.setText(I.value):(Ke=k.value)==null||Ke.setText(E.value);ye(oe)}}function de(oe){be(oe,!0)}function J(oe){be(oe,!1)}function ne(){return t.createVNode("div",{class:"f-button-edit f-cmp-inputgroup f-button-edit-nowrap f-cmp-datepicker",id:e.id},[t.createVNode("div",{class:B.value,style:"border: 0px;"},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Xn,{class:"f-utils-fill",showTime:e.showTime,popupClass:e.popupClass,disabled:e.disabled,readonly:e.readonly,placeholder:e.locales.placeholder.begin,editable:e.editable,minYear:a.value,maxYear:o.value,maxDate:S.value,enableQuickSelect:e.enableQuickSelect,onDatePicked:oe=>z(oe),modelValue:w.value,"onUpdate:modelValue":oe=>w.value=oe,displayFormat:e.displayFormat,valueFormat:e.valueFormat,onClear:K},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Xn,{class:"f-utils-fill",showTime:e.showTime,popupClass:e.popupClass,disabled:e.disabled,readonly:e.readonly,placeholder:e.locales.placeholder.end,editable:e.editable,minYear:a.value,maxYear:o.value,minDate:w.value,enableQuickSelect:e.enableQuickSelect,onDatePicked:oe=>Q(oe),modelValue:S.value,"onUpdate:modelValue":oe=>S.value=oe,displayFormat:e.displayFormat,valueFormat:e.valueFormat,onClear:Z},null)])])])}return()=>t.createVNode(t.Fragment,null,[e.splitSelection&&ne(),!e.splitSelection&&t.createVNode(t.Fragment,null,[t.createVNode("div",{ref:y,class:$.value,id:e.id},[t.createVNode("div",{class:B.value,onMouseenter:G,onMouseleave:j,title:A.value},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Na,{ref:N,modelValue:I.value,"onUpdate:modelValue":oe=>I.value=oe,showBorder:!1,editable:e.editable,enableClear:!1,onClick:L,readonly:e.readonly,disabled:e.disabled,onBlur:de,onInput:ae,placeholder:e.locales.placeholder.begin},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Na,{ref:k,modelValue:E.value,"onUpdate:modelValue":oe=>E.value=oe,showBorder:!1,editable:e.editable,enableClear:!1,onClick:L,readonly:e.readonly,disabled:e.disabled,onInput:ee,onBlur:J,placeholder:e.locales.placeholder.end},null)]),!e.disabled&&!e.readonly&&t.createVNode("div",{class:"input-group-append"},[e.enableClear&&t.createVNode("span",{class:"input-group-text input-group-clear",style:_.value,onClick:Y},[t.createVNode("span",{class:"f-icon modal_close",style:"position: absolute;top: 7px;"},null)]),t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:'<span class="f-icon f-icon-date"></span>',onClick:L},null)])])]),m.value&&t.createVNode(to,{ref:h,id:`${e.id}-popover`,placement:"auto",host:e.popupHost,keepWidthWithReference:!1,fitContent:!0,onHidden:W},{default:()=>[t.createVNode(rr,{mode:"Popup",locales:e.locales,value:M.value,valueFormat:e.valueFormat,minYear:a.value,maxYear:o.value,enablePeriod:!0,highlightSunday:r.value,highlightSaturday:i.value,nameOfMonths:l.value,highlightDates:s.value,showWeekNumber:c.value,firstDayOfTheWeek:e.firstDayOfTheWeek,selectMode:u.value,enableQuickSelect:e.enableQuickSelect,showTime:e.showTime,disableWeekends:f.value,disableWeekdays:d.value,disableSince:p.value,disableUntil:g.value,onDatePicked:oe=>q(oe),onConfirm:oe=>H(oe)},null)]})])])}});function DR(e){function n(c,u,f){return u===f?Ce.getLocaleValue(c):u||""}const o=n("datepicker.weekText",e.weekTitle,"周"),a={Sun:n("datepicker.dayLabels.Sun"),Mon:n("datepicker.dayLabels.Mon"),Tue:n("datepicker.dayLabels.Tue"),Wed:n("datepicker.dayLabels.Wed"),Thu:n("datepicker.dayLabels.Thu"),Fri:n("datepicker.dayLabels.Fri"),Sat:n("datepicker.dayLabels.Sat")},i={1:n("datepicker.monthLabels.1"),2:n("datepicker.monthLabels.2"),3:n("datepicker.monthLabels.3"),4:n("datepicker.monthLabels.4"),5:n("datepicker.monthLabels.5"),6:n("datepicker.monthLabels.6"),7:n("datepicker.monthLabels.7"),8:n("datepicker.monthLabels.8"),9:n("datepicker.monthLabels.9"),10:n("datepicker.monthLabels.10"),11:n("datepicker.monthLabels.11"),12:n("datepicker.monthLabels.12")},r={default:n("datepicker.placeholder",e.placeholder,"请选择日期"),begin:n("datepicker.range.begin",e.beginPlaceholder,"开始日期"),end:n("datepicker.range.end",e.endPlaceholder,"结束日期")},l={selectDate:n("datepicker.dateBtnText"),selectTime:n("datepicker.timeBtnText"),commit:n("datepicker.commitBtnText"),current:{week:n("datepicker.current.week")||"本周",year:n("datepicker.current.year")||"今年",month:n("datepicker.current.month")||"本月",today:n("datepicker.current.today")||"今天"}},s={today:n("datepicker.quickSelectors.today"),yesterday:n("datepicker.quickSelectors.yesterday"),tomorrow:n("datepicker.quickSelectors.tomorrow"),thisMonday:n("datepicker.quickSelectors.thisMonday"),nextMonday:n("datepicker.quickSelectors.nextMonday"),firstDayOfMonth:n("datepicker.quickSelectors.firstDayOfMonth"),lastDayOfMonth:n("datepicker.quickSelectors.lastDayOfMonth"),firstDayOfLastMonth:n("datepicker.quickSelectors.firstDayOfLastMonth"),lastDayOfLastMonth:n("datepicker.quickSelectors.lastDayOfLastMonth"),firstDayOfYear:n("datepicker.quickSelectors.firstDayOfYear"),lastDayOfYear:n("datepicker.quickSelectors.lastDayOfYear"),firstDayOfQuarter:n("datepicker.quickSelectors.firstDayOfQuarter"),lastDayOfQuarter:n("datepicker.quickSelectors.lastDayOfQuarter"),thisWeek:n("datepicker.quickSelectors.thisWeek"),lastWeek:n("datepicker.quickSelectors.lastWeek"),nextWeek:n("datepicker.quickSelectors.nextWeek"),past7Days:n("datepicker.quickSelectors.past7Days"),past30Days:n("datepicker.quickSelectors.past30Days"),thisMonth:n("datepicker.quickSelectors.thisMonth"),lastMonth:n("datepicker.quickSelectors.lastMonth"),thisQuarter:n("datepicker.quickSelectors.thisQuarter"),lastQuarter:n("datepicker.quickSelectors.lastQuarter"),thisYear:n("datepicker.quickSelectors.thisYear"),lastYear:n("datepicker.quickSelectors.lastYear"),recent3Months:n("datepicker.quickSelectors.recent3Months"),nextYear:n("datepicker.quickSelectors.nextYear")};return{weekTitle:o,weekDayLabels:a,monthLabels:i,placeholder:r,buttons:l,quickSelectors:s}}const $R={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd"},displayFormat:{Type:String,default:"yyyy-MM-dd"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},showTime:{type:Boolean,default:!1}};var Tn=(e=>(e.Year="year",e.Month="month",e.Date="day",e))(Tn||{});const BR=(e,n)=>{const{textField:o,valueField:a,beginDate:i,endDate:r,selectedValue:l}=n,s=(m,h,y)=>{const b=[];let v=m;for(;v<=h;){let C=String(v).padStart(2,"0");C=e.optionFormatter?e.optionFormatter(y,C):C,b.push({[o]:C,[a]:v}),v++}return b},c=()=>{const m=i.value.year,h=r.value.year;return s(m,h,Tn.Year)},u=m=>{const h=i.value,y=r.value,b={begin:1,end:12};return m<=h.year&&(b.begin=h.month),m>=y.year&&(b.end=y.month),s(b.begin,b.end,Tn.Month)},f=(m,h)=>{const y=i.value,b=r.value,v=uf(m)&&h===2?29:28,C=[1,3,5,7,8,10,12],w=[4,6,9,11],T={begin:1,end:C.includes(h)?31:w.includes(h)?30:v};return m<=y.year&&h<=y.month&&(T.begin=y.day),m>=b.year&&h>=b.month&&(T.end=b.day),s(T.begin,T.end,Tn.Date)},d=t.computed(()=>{switch(e.selectMode){case Tn.Date:return[Tn.Year,Tn.Month,Tn.Date];case Tn.Month:return[Tn.Year,Tn.Month];case Tn.Year:return[Tn.Year];default:return[Tn.Year,Tn.Month,Tn.Date]}}),p=()=>{if(!l.value){const{year:b,month:v,day:C}=Eo(new Date);l.value=[b,v,C]}const[m,h,y]=l.value;return{year:m,month:h,day:y}},g=t.computed(()=>{const m=p(),h=c(),y=u(m.year),b=f(m.year,m.month);return d.value.map(v=>{switch(v){case Tn.Year:return h;case Tn.Month:return y;case Tn.Date:return b;default:return[]}})});return{columnsMap:d,dateColumns:g}},OR=e=>{const{parseToDate:n,formatTo:o}=Fn(),a="text",i="value",r=t.ref([]),l=t.ref([]),s=t.ref({year:0,month:0,day:0}),c=()=>{const b=n(e.minDate,e.valueFormat);if(e.minDate&&b){s.value=Eo(b);return}const{year:v,month:C,day:w}=Eo(new Date);s.value={year:v-10,month:C,day:w}};t.watch(()=>e.minDate,c,{immediate:!0});const u=t.ref({year:0,month:0,day:0}),f=()=>{const b=n(e.maxDate,e.valueFormat);if(e.maxDate&&b){u.value=Eo(b);return}const{year:v,month:C,day:w}=Eo(new Date);u.value={year:v+10,month:C,day:w}};t.watch(()=>e.maxDate,f,{immediate:!0});const d=b=>{const v=n(b||"",e.valueFormat);if(!b||!v){r.value=b;return}const{year:C,month:w,day:S}=Eo(v);r.value=[C,w,S]},p=b=>{let v=new Date;const C=n(b||"",e.valueFormat);b&&C&&(v=C);const w=n(e.minDate,e.valueFormat);e.minDate&&w&&jr(v,w)<0&&(v=w);const S=n(e.maxDate,e.valueFormat);e.maxDate&&S&&jr(v,S)>0&&(v=S);const{year:T,month:x,day:V}=Eo(v);l.value=[T,x,V]};t.watch(()=>e.modelValue,b=>{d(b),p(b)},{immediate:!0});const g=b=>{if(b&&l.value){const{index:v,value:C}=b;l.value[v]=C[i]}if(l.value){const v=fy(l.value[0],l.value[1]);l.value[2]>v&&(l.value[2]=v)}},m=(b,v)=>{if(!b)return b;const C=[...b];if(v){const{index:V,value:N}=v;C[V]=N[i]}const[w,S=1,T=1]=C,x=new Date(w,S-1,T);return o(x,e.valueFormat)};return{textField:a,valueField:i,beginDate:s,endDate:u,realValue:r,selectedValue:l,getSelectedValue:b=>m(l.value,b),getRealValue:()=>m(r.value),resetSelectedValue:p,resetRealValue:d,updateSelectedValue:g}},RR={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd"},displayFormat:{Type:String,default:"yyyy-MM-dd"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0}},PS=t.defineComponent({inheritAttrs:!1,props:RR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o,expose:a}=n,i=OR(e),{selectedValue:r,realValue:l,textField:s,valueField:c,getSelectedValue:u,getRealValue:f,resetSelectedValue:d,resetRealValue:p,updateSelectedValue:g}=i,{dateColumns:m}=BR(e,i),h=C=>{g(C);const w=u(C);o("change",w)},y=()=>{const C=u();o("confirm",C)},b=()=>{o("cancel")};a({resetRealValue:p,resetSelectedValue:d,getRealValue:f,getSelectedValue:u,selectedValue:r,realValue:l});const{bem:v}=bn("TouchDatePicker");return()=>t.createVNode(cp,{class:v(),modelValue:r.value,"onUpdate:modelValue":C=>r.value=C,columns:m.value,valueField:c,textField:s,title:e.title,showToolbar:e.showToolbar,visiableOptionCount:e.visiableOptionCount,onChange:h,onConfirm:y,onCancel:b},null)}}),LR={title:{type:String,default:""},modelValue:{type:String,default:""},selectMode:{Type:String,default:"day"},valueFormat:{Type:String,default:"yyyy-MM-dd HH:mm:ss"},displayFormat:{Type:String,default:"yyyy-MM-dd HH:mm:ss"},maxDate:{type:String,default:""},minDate:{type:String,default:""},optionFormatter:{type:Function,default:void 0},visiableOptionCount:{type:Number,default:5},showToolbar:{type:Boolean,default:!0},cancelText:{type:String,default:"取消"},confirmText:{type:String,default:"确定"}},jR=e=>{const{parseToDate:n,formatTo:o}=Fn(),a=t.ref(""),i=t.ref(""),r=g=>{const m=n(g,e.valueFormat)||new Date,h=o(m,e.valueFormat);h&&(a.value=h.split(" ")[0],i.value=h.split(" ")[1])};t.watch(()=>e.modelValue,r,{immediate:!0});const l=t.computed(()=>`${a.value} ${i.value}`),s=t.computed(()=>e.valueFormat.split(" ")[0]),c=t.computed(()=>e.valueFormat.split(" ")[1]),u=t.computed(()=>{var g;return(g=e.minDate)==null?void 0:g.split(" ")[0]}),f=t.computed(()=>{var g;return(g=e.maxDate)==null?void 0:g.split(" ")[0]}),d=t.computed(()=>{const g=n(a.value,s.value),m=n(f.value,s.value);return e.maxDate&&g&&m&&jr(m,g)<=0&&e.maxDate.split(" ")[1]||""}),p=t.computed(()=>{const g=n(a.value,s.value),m=n(u.value,s.value);return e.minDate&&g&&m&&jr(m,g)>=0&&e.minDate.split(" ")[1]||""});return{dateValue:a,timeValue:i,dateTimeValue:l,dateFormat:s,timeFormat:c,minDate:u,maxDate:f,minTime:p,maxTime:d}},_R=t.defineComponent({inheritAttrs:!1,props:LR,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,{dateValue:a,timeValue:i,dateTimeValue:r,dateFormat:l,timeFormat:s,minDate:c,maxDate:u,minTime:f,maxTime:d}=jR(e),p=S=>{o("change",S)},g=S=>{a.value=S,p(r.value)},m=S=>{i.value=S,p(r.value)},h=()=>{o("confirm",r.value)},y=()=>{o("cancel")},{bem:b}=bn("FComboTouchListGroup"),v=()=>t.createVNode("div",{class:b("toolbar")},[t.createVNode("div",{class:b("toolbar-left"),onClick:y},[t.createVNode("span",null,[e.cancelText])]),t.createVNode("div",{class:b("toolbar-title")},[t.createVNode("span",null,[e.title])]),t.createVNode("div",{class:b("toolbar-right"),onClick:h},[t.createVNode("span",null,[e.confirmText])])]),C=[{name:"日期",value:"date",minWidth:140},{name:"时间",value:"time",minWidth:140}],w=t.ref("date");return()=>t.createVNode("div",{class:b()},[t.createVNode("div",{class:b("header")},[v(),t.createVNode("div",{class:b("tab-bar")},[t.createVNode(ei,{modelValue:w.value,"onUpdate:modelValue":S=>w.value=S,items:C},null)])]),t.createVNode("div",{class:b("content")},[w.value==="date"?t.createVNode(PS,{modelValue:a.value,format:l.value,showToolbar:!1,minDate:c.value,maxDate:u.value,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:g},null):t.createVNode(NS,{modelValue:i.value,format:s.value,showToolbar:!1,minTime:f.value,maxTime:d.value,visiableOptionCount:e.visiableOptionCount,onChange:m},null)])])}}),HR=t.defineComponent({inheritAttrs:!1,props:$R,emits:["change","confirm","cancel"],setup(e,n){const{emit:o}=n,a=l=>{o("change",l)},i=l=>{o("confirm",l)},r=()=>{o("cancel")};return()=>e.showTime?t.createVNode(_R,{modelValue:e.modelValue,title:e.title,showToolbar:e.showToolbar,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:a,onConfirm:i,onCancel:r},null):t.createVNode(PS,{modelValue:e.modelValue,title:e.title,showToolbar:e.showToolbar,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,visiableOptionCount:e.visiableOptionCount,onChange:a,onConfirm:i,onCancel:r},null)}}),Xn=t.defineComponent({name:"FDatePicker",props:kl,emits:["update:modelValue","datePicked","clear","expandClick"],setup(e,n){const o='<span class="f-icon f-icon-date"></span>',a=t.ref(null),{getMinDate:i,getMaxDate:r,formatDateObject:l}=_o(),s=DR(e),c=t.computed(()=>e.maxDate?r(e.maxDate):PR),u=t.computed(()=>e.minDate?i(e.minDate):IR),f=t.ref(9999),d=t.ref(1900),p=t.ref(e.enablePeriod),g=t.ref(e.highlightSaturday),m=t.ref(e.highlightSunday),h=t.ref(e.nameOfMonths),y=t.ref(e.highlightDates),b=t.ref(e.showWeekNumber),v=t.ref(e.selectMode),C=t.ref(e.disableWeekends),w=t.ref(e.disableWeekdays);h.value=s.monthLabels;const S=t.ref(e.disabled),T=t.ref(e.readonly),x=t.ref(e.enableClear),V=t.ref(e.editable),{formatTo:N,parseToDate:k}=Fn(),P=t.computed(()=>Ot()?!1:e.inlineDateTime),M=t.computed(()=>Ot()?!0:e.splitSelection),F=()=>{const j={...e,disableSince:c.value,disableUntil:u.value,minYear:u.value.year,maxYear:c.value.year};return xm(j)};function I(){return e.modelValue?e.modelValue:e.enablePeriod&&(e.beginValue||e.endValue)?e.beginValue+"~"+e.endValue:""}const E=t.ref(I()),A=t.ref(E.value);function D(){}const $=t.computed(()=>{const j=k(A.value,e.valueFormat);return N(j,e.displayFormat)});function B(j,R=!0){if(p.value){E.value!==j&&(E.value=j,A.value=j,R&&(n.emit("update:modelValue",j),n.emit("datePicked",j)));return}const z=N(j,e.valueFormat);E.value!==z&&(E.value=z,A.value=z,R&&(n.emit("update:modelValue",z),n.emit("datePicked",z)))}function _(){a.value&&a.value.hidePopup()}function O(j){if(!p.value&&typeof j=="object"){let R=`${j.year}-${j.month}-${j.day}`;R=l(j,v.value,e.showTime),B(R)}else typeof j=="string"&&B(j);_()}function L(){E.value="",A.value="",n.emit("update:modelValue",""),n.emit("clear")}function W(){var j;L(),_(),(j=a.value)==null||j.clear()}function U(){d.value=u.value.year??d.value,f.value=c.value.year??f.value,d.value>f.value&&(f.value=d.value)}function H(j){var ee;if(!e.editable||T.value||S.value||((ee=a.value.popoverRef)==null?void 0:ee.isShow)&&a.value.popoverRef.popoverRef.contains(j.relatedTarget))return;const z=j.target.value;if(!z){W();return}const Q=k(z,e.displayFormat)||k(z,e.valueFormat);if(!Q){a.value.setText($.value);return}const K=N(Q,e.valueFormat),{normalizeDate:Z}=F(),ae=Z(K,!0);ae&&ae.year!==0?O(ae):a.value.setText($.value)}t.watch(()=>e.modelValue,(j,R)=>{j!==R&&B(j,!1)}),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.readonly],([j,R,z,Q])=>{S.value=j,V.value=R,x.value=z,T.value=Q}),t.watch(()=>e.beginValue,j=>{if(!E.value)E.value=j;else{const R=E.value.split("~");R.length===1?E.value=`${j}`:R.length===2&&(E.value=`${j}~${R[1]}`)}}),t.watch(()=>e.endValue,j=>{if(!E.value)E.value="~"+j;else{const R=E.value.split("~");R.length===1?E.value=`${R[0]}~${j}`:R.length===2&&(E.value=`${R[0]}~${j}`)}}),t.watch([()=>e.maxDate,()=>e.minDate],([j,R])=>{U()}),t.watch(()=>e.selectMode,(j,R)=>{j!==R&&(v.value=j)}),t.watch(()=>e.enablePeriod,(j,R)=>{j!==R&&(p.value=j)}),t.onMounted(()=>{U()});const q=j=>{O(j)},Y=()=>{n.emit("expandClick")},G=j=>{_()};return()=>p.value?t.createVNode(AR,t.mergeProps(e,{disableSince:c.value,disableUntil:u.value,locales:s,splitSelection:M.value&&v.value!=="week",onConfirm:q,onClear:W}),null):t.createVNode(go,{id:e.id,ref:a,customClass:"f-cmp-datepicker",modelValue:$.value,buttonContent:o,placeholder:s.placeholder.default,disable:S.value,readonly:T.value,editable:V.value,enableClear:x.value,popupOnClick:!0,onClear:W,onClickButton:D,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,keepWidthWithReference:!1,placement:Ot()?"bottom":"auto",enableTitle:!0,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled,onExpandClick:Y,onBlur:H,"onUpdate:modelValue":G},{default:()=>Ot()?t.createVNode(HR,{modelValue:A.value,valueFormat:e.valueFormat,minDate:e.minDate,maxDate:e.maxDate,selectMode:e.selectMode,showTime:e.showTime,onConfirm:q,onCancel:_},null):t.createVNode(rr,{mode:"Popup",defaultTime:e.defaultTime,class:e.popupClass,locales:s,value:A.value,valueFormat:e.valueFormat,minYear:d.value,maxYear:f.value,firstDayOfTheWeek:e.firstDayOfTheWeek,enablePeriod:p.value,highlightSunday:m.value,highlightSaturday:g.value,nameOfMonths:h.value,highlightDates:y.value,showWeekNumber:b.value,weekTitle:s.weekTitle,selectMode:v.value,enableQuickSelect:e.enableQuickSelect,disableWeekends:C.value,disableWeekdays:w.value,disableSince:c.value,inlineDateTime:P.value,disableUntil:u.value,showTime:e.showTime,onDatePicked:j=>O(j),onConfirm:q,hourStep:e.hourStep,minuteStep:e.minuteStep,secondStep:e.secondStep},null)})}});Xn.install=e=>{e.component(gm.name,gm).component(bm.name,bm).component(rr.name,rr).component(Sm.name,Sm).component(Vm.name,Vm).component(Xn.name,Xn)};function IS(e,n,o){return n}const ES=new Map([["appearance",ft]]),zR={$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:"日期选择后事件"}},WR={$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"]},qR={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"}}}}},UR=Object.assign({},kl,{readonly:{}}),AS=We(kl,zR,ES,IS),DS=We(FS,WR,ES,IS,qR);function GR(e,n){const o=e.schema;function a(i,r){return new qc(i,n).getPropertyConfig(o,r)}return{getPropsConfig:a}}const Fl=t.defineComponent({name:"FInputGroupDesign",props:fc,emits:["updateExtendInfo","clear","valueChange","clickHandle","blurHandle","focusHandle","enterHandle","iconMouseEnter","iconMouseLeave","keyupHandle","keydownHandle","inputClick"],setup(e,n){const o=t.ref(e.modelValue),a=t.ref(e.modelValue),i=zh(e,n,o,a),{inputGroupClass:r,inputType:l,inputGroupStyle:s}=i,c=t.ref(),u=t.inject("designer-host-service"),f=t.inject("design-item-context"),d=GR(f,u),p=pt(c,f,d),g=t.computed(()=>e.showType==="password"?"password":"");t.onMounted(()=>{c.value.componentInstance=p}),n.expose(p.value);const m=t.computed(()=>({"input-group-append input-append-wrapper":!0,"input-append-button":e.expandMode==="button","input-append-text":e.expandMode==="text"})),h=t.computed(()=>({"form-control":!0,"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right"}));return()=>t.createVNode("div",{id:"inputGroup",ref:c,class:r.value,style:[s.value,"pointer-events: none"].join(";")},[t.createVNode("input",{class:h.value,type:e.showType,placeholder:e.placeholder,value:g.value,readonly:!0},null),e.showType==="password"&&e.enableViewPassword&&t.createVNode("span",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-eye"},null)])]),e.showType==="text"&&e.groupText&&t.createVNode("span",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text",innerHTML:e.groupText},null)]),e.expandContent&&e.expandable&&t.createVNode("div",{class:m.value},[t.createVNode("div",{class:"input-group-text",innerHTML:e.expandContent},null)])])}}),$S=new Map([["appearance",ft]]);function BS(e,n,o){return n}const OS={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/input-group.schema.json",title:"input-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"input-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},formatValidation:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},labelWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabIndex:{description:"",type:"number",default:-1},maxLength:{description:"",type:"number",default:""},textAlign:{description:"",type:"enum",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},addonDisabled:{description:"",type:"boolean",default:!1},addonContent:{description:"",type:"string",default:""},autoHeight:{description:"",type:"boolean",default:!1},enableAddon:{description:"",type:"boolean",default:!1},addonType:{description:"",type:"string",enum:["button","static"],default:"button"},enableClear:{description:"",type:"boolean",default:!0},enableViewPassword:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["input","password","text"],default:"input"},showType:{description:"",type:"string",enum:["password","text"],default:"text"},maxHeight:{description:"",type:"number",default:500},popUp:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},groupText:{description:"",type:"string",default:""},onClickHandle:{description:"",type:"string",default:""},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},onClear:{description:"",type:"string",default:""},updateOn:{description:"",type:"string",default:"blur"},onChange:{description:"值变化事件",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""},onFocus:{description:"获取焦点事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onKeydown:{description:"按键按下事件",type:"string",default:""},onKeyup:{description:"按键松开事件",type:"string",default:""},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClickHandle:"按钮点击事件",onClear:"清空事件"}};We(fc,OS,$S,BS);const RS=Xt(fc,OS,$S,BS);Fl.register=(e,n,o,a,i)=>{e["input-group"]=ka,n["input-group"]=RS(i)},Fl.registerDesigner=(e,n,o,a)=>{e["input-group"]=Fl,n["input-group"]=RS(a)};const Ml=Vt(Fl);function YR(e,n){const o=e.schema;function a(i,r){return new Gc(i,n).getPropertyConfig(o,r)}return{getPropsConfig:a}}const od=t.defineComponent({name:"FDatePickerDesign",props:UR,emits:["update:modelValue","datePicked"],setup(e,n){const o='<span class="f-icon f-icon-date"></span>';t.ref(e.modelValue);const a=t.ref(),i=t.inject("designer-host-service"),r=t.inject("design-item-context"),l=YR(r,i),s=pt(a,r,l);t.onMounted(()=>{a.value.componentInstance=s}),n.expose(s.value);const c=t.computed(()=>({"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!0,"f-cmp-datepicker":!0})),u=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-editable":!0,"align-items-center":!0}));function f(){return t.createVNode("div",{class:c.value,ref:a},[t.createVNode("div",{class:u.value},[t.createVNode("div",{class:"f-utils-fill d-flex align-items-center date-range-wrapper"},[t.createVNode(Ml,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.beginPlaceholder},null),t.createVNode("span",{class:"f-icon f-icon-orientation-arrow sub-input-spliter"},null),t.createVNode(Ml,{showBorder:!1,editable:!1,enableClear:!1,placeholder:e.endPlaceholder},null)]),t.createVNode("div",{class:"input-group-append"},[t.createVNode("span",{class:"input-group-text input-group-append-button"},[t.createVNode("i",{class:"f-icon f-icon-date"},null)])])])])}return()=>e.enablePeriod?f():t.createVNode(tl,{ref:a,buttonContent:o,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,expandable:e.expandable,expandMode:e.expandMode,expandContent:e.expandContent,expandDisabled:e.expandDisabled},null)}}),QR=t.defineComponent({name:"FDateViewDesign",props:kl,emits:[],setup(e,n){const o=t.ref(),a=t.inject("design-item-context"),i=pt(o,a);return t.onMounted(()=>{o.value.componentInstance=i}),n.expose(i.value),()=>t.createVNode(rr,{ref:o},null)}});od.register=(e,n,o,a)=>{e["date-picker"]=Xn,e["date-view"]=rr,n["date-picker"]=AS,n["date-view"]=DS},od.registerDesigner=(e,n,o)=>{e["date-picker"]=od,e["date-view"]=QR,n["date-picker"]=AS,n["date-view"]=DS};const Tm=Vt(od);function KR(e,n,o){return n}const XR=new Map([["appearance",ft]]),JR={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dropdown.schema.json",title:"dropdown",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for dropdown",type:"string"},type:{description:"The type string of dropdown",type:"string",default:"dropdown"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},ZR={title:"dropdown",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:{readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"}}}}},Nm={show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{type:String,default:"下拉示例"},size:{type:String,default:""},type:{type:String,default:"primary"},iconClass:{type:String,default:""},active:{type:Boolean,default:!1},splitButton:{type:Boolean,default:!1},position:{type:String,default:"bottom"},model:{type:Array,default:[{label:"项目一",value:"XM1"},{label:"项目二",value:"XM2"},{label:"项目三",value:"XM3"}]},onSelect:{type:Function,default:()=>{}}},LS=We(Nm,JR,XR,KR,ZR);function jS(e,n){const o=t.ref(e.show),a=t.ref(),i=t.ref(),r=t.ref(),l=()=>i.value,s=10,c=(v=1)=>{const C=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],w=Array.from(document.body.querySelectorAll(C.join(","))).filter(T=>T).map(T=>{const{display:x,zIndex:V}=window.getComputedStyle(T);return x==="none"?0:parseInt(V,10)}).filter(T=>T);let S=Math.max(...w);return S<1040&&(S=1040),S+v},u=(v,C)=>{const{height:w,left:S,top:T,width:x}=v.getBoundingClientRect(),{width:V,height:N,top:k}=C.getBoundingClientRect();if(v.className.indexOf("dropdown-submenu")>-1||v.closest(".dropdown-submenu")||v.classList.contains("dropright")){const M=window.innerWidth-S-v.offsetWidth,F=window.innerHeight-T,{position:I}=getComputedStyle(C);if(I==="fixed"){let E=S+v.offsetWidth;C.offsetWidth>M&&S>M&&(E=S-V),C.style.left=E+"px",C.style.right="auto",window.innerHeight-2*s<C.offsetHeight?(C.style.top=s+"px",C.style.bottom=s+"px",C.style.maxHeight=window.innerHeight-2*s+"px",C.style.overflowY="auto",C.className+=" dropdown-menu-maxheight"):F<C.offsetHeight?(C.style.top="auto",C.style.bottom=s+"px"):(C.style.top=T+"px",C.style.bottom="auto")}else{if(C.offsetWidth>M){const E=-V;C.style.left=E+"px"}window.innerHeight-2*s<C.offsetHeight?(C.style.top=-1*(T-s)+"px",C.style.bottom="auto",C.style.maxHeight=window.innerHeight-2*s+"px",C.style.overflowY="auto",C.className+=" dropdown-menu-maxheight"):F<C.offsetHeight&&(C.style.top=F-C.offsetHeight-s+"px",C.style.bottom="auto")}}else{const{marginTop:M,marginBottom:F}=getComputedStyle(C);let I=0;const E=Math.ceil(parseFloat(M))+Math.ceil(parseFloat(F));let A=T+w,D=S;window.innerHeight-A-E<N&&(A=T-N,A<0&&(window.innerHeight-T-w>T?(A=T+w,I=window.innerHeight-A-E-s):(A=s,I=T-A-E))),window.innerWidth-S<V&&window.innerWidth-S<S+x&&(D=S-V+x),document.body.append(C),C.style.cssText=`position:fixed;bottom:unset;left:${D}px
664
664
  !important;top:${A}px !important;right: unset;${I?"max-height:"+I+"px;overflow-y:auto;":""}`,I&&(C.className+=" dropdown-menu-maxheight"),C.style.zIndex=c().toString()}},f=()=>{u(a.value,i.value)},d=()=>{var v,C;e.hover||(o.value=!1,i.value.style=null,document.removeEventListener("click",d),(v=l())==null||v.removeEventListener("click",d),document.removeEventListener("scroll",d),(C=l())==null||C.removeEventListener("scroll",d))},p=(v=null,C=!1)=>{var w,S;e.hover||e.disabled||(v==null||v.stopPropagation(),C?(setTimeout(()=>{f()}),o.value=!0):(o.value||setTimeout(()=>{f()}),o.value=!o.value),document.addEventListener("click",d),document.addEventListener("scroll",d),e.hideOnClick||((w=l())==null||w.addEventListener("click",T=>{T.stopPropagation()}),(S=l())==null||S.addEventListener("scroll",T=>{T.stopPropagation()})))};return{show:o,dropdownRef:a,dropdownMenuRef:i,clickEventRef:r,showDropMenu:v=>{p(v,!1)},showDropMenuByForce:p,hoverDropdown:v=>{e.hover&&(o.value||setTimeout(()=>{}),o.value=!o.value)},leftButtonClick:()=>{},closeDropMenu:d,selectItem:v=>{n.emit("select",v)},resolveSize:v=>{const C=/px|em|rem|pt|%/;return C.test(v)?`${parseInt(v,10)}${v.match(C)[0]}`:`${v}px`}}}const eL={label:{type:String,default:"XM1"},value:{type:String||Number,default:"项目一"},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},divide:{type:Boolean,default:!1},onSelect:{type:Function,default:()=>{}}},_S=t.defineComponent({name:"FDropdownItem",props:eL,emits:["select"],setup(e,n){const o=t.ref(e.value),a=t.ref(e.label),i=t.ref(e.disabled),r=t.ref(e.active),l=t.ref(e.divide),s=()=>{i.value||n.emit("select",e)};return()=>t.createVNode("div",null,[t.withDirectives(t.createVNode("div",{class:"dropdown-divider"},null),[[t.vShow,l.value]]),t.createVNode("li",{class:`dropdown-item${r.value?" active":""} ${i.value?" disabled":""}`,onClick:s,title:o.value.toString()},[a.value])])}}),km=t.defineComponent({name:"FDropdown",props:Nm,emits:["select"],setup(e,n){const o=t.ref(e.model),{show:a,dropdownMenuRef:i,dropdownRef:r,clickEventRef:l,showDropMenu:s,hoverDropdown:c,leftButtonClick:u,showDropMenuByForce:f,closeDropMenu:d}=jS(e,n),p=el();function g(h){d(),n.emit("select",h)}function m(){return[{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}]}return t.onMounted(()=>{a.value&&f(null,!0)}),()=>t.createVNode("div",{ref:r},[t.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}]},[e.splitButton&&t.createVNode("span",{class:["btn",...m()],style:"width:100%",onClick:u},[e.title]),t.createVNode("span",{ref:l,class:["dropdown-toggle",{btn:!e.nest},{"dropdown-toggle-split":e.splitButton},...m()],style:"width:100%",onClick:s,onMouseenter:c,onMouseleave:c},[e.splitButton?"":e.title,e.iconClass&&t.createVNode("span",{class:`f-icon ${e.iconClass}`},null)]),p.value&&t.createVNode(t.Teleport,{to:"body"},{default:()=>[t.createVNode("div",{ref:i,class:`dropdown-menu${a.value?" show":""}`},[t.createVNode(t.Fragment,null,[o.value.map(({label:h,value:y,disabled:b,active:v,divide:C})=>t.createVNode(_S,{value:y.toString(),label:h,disabled:b,active:v,divide:C,onSelect:w=>g(w)},null))])])]})])])}}),tL=t.defineComponent({name:"FDropdownDesign",props:Nm,emits:["select"],setup(e,n){const o=t.ref(e.model),{show:a,showDropMenu:i,hoverDropdown:r,leftButtonClick:l}=jS(e,n);function s(d){n.emit("select",d)}const c=t.ref(),u=t.inject("design-item-context"),f=pt(c,u);return t.onMounted(()=>{c.value.componentInstance=f}),n.expose(f.value),()=>t.createVNode("div",{ref:c},[t.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}],style:{width:e.width}},[e.splitButton&&t.createVNode("span",{class:["btn",{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"}],style:"width:100%",onClick:l},[e.title]),t.createVNode("span",{class:["dropdown-toggle",{btn:!e.nest},{"dropdown-item":e.nest},{"dropdown-toggle-split":e.splitButton},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}],style:"width:100%",onClick:i,onMouseenter:r,onMouseleave:r},[t.withDirectives(t.createVNode("span",{class:"sr-only"},null),[[t.vShow,e.splitButton]]),e.splitButton?"":e.title,t.withDirectives(t.createVNode("span",{class:`f-icon ${e.iconClass.toString()}`},null),[[t.vShow,e.iconClass]])]),t.createVNode("div",{class:`dropdown-menu${a.value?" show":""}`},[t.createVNode(t.Fragment,null,[o.value.map(({label:d,value:p,disabled:g,active:m,divide:h})=>t.createVNode(_S,{value:p.toString(),label:d,disabled:g,active:m,divide:h,onSelect:y=>s(y)},null))])])])])}}),ad={install(e){e.component(km.name,km)},register(e,n,o,a){e.dropdown=km,n.dropdown=LS},registerDesigner(e,n,o){e.dropdown=tL,n.dropdown=LS}},nL=new Map([["appearance",ft]]);function oL(e,n,o,a){const i=o.parentComponentInstance;return i&&a&&(i.schema.type===he["list-nav"].type?n.appearance={class:"position-relative h-100"}:n.appearance={class:"position-relative",style:"height:300px;flex-shrink: 0;"}),n}const aL={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/external-container.schema.json",title:"external-container",description:"A Farris Visual Component",type:"object",properties:{id:{description:"The unique identifier for a external-container",type:"string"},type:{description:"The type string of external-container",type:"string",default:"external-container"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string",default:""}},default:{}},visible:{description:"",type:"boolean",default:!0},url:{description:"The url that load the schema from",type:"string"},externalComponent:{description:"The unique identifier for component",type:"object",default:{}}},required:["id","type","externalComponent"],events:{onCommunication:"通讯事件"}},Fm={customClass:{type:String,default:""},customStyle:{type:String,default:""},componentType:{type:String,default:""},url:{type:String,default:""},schema:{type:Object},useIsolateJs:{type:Boolean,default:!1},externalComponent:{type:Object,default:{}}},HS=We(Fm,aL,nL,oL),Mm=t.defineComponent({name:"FExternalContainer",props:Fm,emits:[],setup(e,n){return()=>t.createVNode("div",{class:e.customClass,style:e.customStyle},[n.slots.default&&n.slots.default()])}}),iL={showMessage:{type:Boolean,default:!0},message:{type:String,default:"正在加载,请稍候..."},isActive:{type:Boolean,default:!1},width:{type:Number,default:30},type:{type:Number,default:0},target:{type:Object,default:null},targetPosition:{type:String,default:""},delay:{type:Number,default:300}},{isSmall:rL}=Ql(),lL={showMessage:!0,message:rL()?"正在加载...":"正在加载,请稍候...",isActive:!1,width:30,type:0,targetPosition:"",delay:300},sL=['<div class="f-loading-round"></div>',`<div class="f-loading-dot-wrapper">
665
665
  <div class="f-loading-dot">
666
666
  <div class="dot dot1"></div>