@farris/ui-vue 1.4.0 → 1.4.1

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.
Files changed (103) hide show
  1. package/components/avatar/index.esm.js +2 -1
  2. package/components/avatar/index.umd.cjs +1 -1
  3. package/components/checkbox/index.esm.js +2 -1
  4. package/components/checkbox/index.umd.cjs +1 -1
  5. package/components/combo-list/index.esm.js +2 -1
  6. package/components/combo-list/index.umd.cjs +1 -1
  7. package/components/condition/index.css +1 -1
  8. package/components/condition/index.esm.js +715 -704
  9. package/components/condition/index.umd.cjs +1 -1
  10. package/components/content-container/index.css +1 -1
  11. package/components/content-container/index.esm.js +1180 -1169
  12. package/components/content-container/index.umd.cjs +1 -1
  13. package/components/data-grid/index.css +1 -1
  14. package/components/data-grid/index.esm.js +2949 -2901
  15. package/components/data-grid/index.umd.cjs +1 -1
  16. package/components/data-view/index.css +1 -1
  17. package/components/data-view/index.esm.js +609 -598
  18. package/components/data-view/index.umd.cjs +1 -1
  19. package/components/date-picker/index.esm.js +3 -2
  20. package/components/date-picker/index.umd.cjs +1 -1
  21. package/components/designer-canvas/index.css +1 -1
  22. package/components/designer-canvas/index.esm.js +2081 -2062
  23. package/components/designer-canvas/index.umd.cjs +1 -1
  24. package/components/designer-outline/index.css +1 -1
  25. package/components/drawer/index.esm.js +23 -21
  26. package/components/drawer/index.umd.cjs +1 -1
  27. package/components/dynamic-form/index.css +1 -1
  28. package/components/dynamic-form/index.esm.js +2745 -2691
  29. package/components/dynamic-form/index.umd.cjs +1 -1
  30. package/components/external-container/index.css +1 -1
  31. package/components/external-container/index.esm.js +1322 -1311
  32. package/components/external-container/index.umd.cjs +1 -1
  33. package/components/field-selector/index.css +1 -1
  34. package/components/field-selector/index.esm.js +85 -74
  35. package/components/field-selector/index.umd.cjs +1 -1
  36. package/components/filter-bar/index.esm.js +4618 -4320
  37. package/components/filter-bar/index.umd.cjs +3 -3
  38. package/components/flow-canvas/index.css +1 -1
  39. package/components/flow-canvas/index.esm.js +1982 -1963
  40. package/components/flow-canvas/index.umd.cjs +1 -1
  41. package/components/input-group/index.esm.js +2 -1
  42. package/components/input-group/index.umd.cjs +1 -1
  43. package/components/list-view/index.css +1 -1
  44. package/components/list-view/index.esm.js +822 -811
  45. package/components/list-view/index.umd.cjs +1 -1
  46. package/components/lookup/index.css +1 -1
  47. package/components/lookup/index.esm.js +3268 -3219
  48. package/components/lookup/index.umd.cjs +1 -1
  49. package/components/mapping-editor/index.css +1 -1
  50. package/components/mapping-editor/index.esm.js +1985 -1937
  51. package/components/mapping-editor/index.umd.cjs +1 -1
  52. package/components/number-range/index.esm.js +136 -135
  53. package/components/number-range/index.umd.cjs +1 -1
  54. package/components/number-spinner/index.esm.js +2 -1
  55. package/components/number-spinner/index.umd.cjs +1 -1
  56. package/components/order/index.esm.js +2 -1
  57. package/components/order/index.umd.cjs +1 -1
  58. package/components/property-editor/index.esm.js +2 -1
  59. package/components/property-editor/index.umd.cjs +1 -1
  60. package/components/property-panel/index.esm.js +295 -283
  61. package/components/property-panel/index.umd.cjs +2 -2
  62. package/components/query-solution/index.css +1 -1
  63. package/components/query-solution/index.esm.js +5430 -5374
  64. package/components/query-solution/index.umd.cjs +7 -7
  65. package/components/radio-group/index.esm.js +2 -1
  66. package/components/radio-group/index.umd.cjs +1 -1
  67. package/components/schema-selector/index.css +1 -1
  68. package/components/schema-selector/index.esm.js +1259 -1248
  69. package/components/schema-selector/index.umd.cjs +2 -2
  70. package/components/section/index.css +1 -1
  71. package/components/section/index.esm.js +1272 -1261
  72. package/components/section/index.umd.cjs +1 -1
  73. package/components/switch/index.esm.js +2 -1
  74. package/components/switch/index.umd.cjs +1 -1
  75. package/components/textarea/index.esm.js +14 -13
  76. package/components/textarea/index.umd.cjs +1 -1
  77. package/components/time-picker/index.esm.js +2 -1
  78. package/components/time-picker/index.umd.cjs +1 -1
  79. package/components/tree-grid/index.css +1 -1
  80. package/components/tree-grid/index.esm.js +715 -704
  81. package/components/tree-grid/index.umd.cjs +1 -1
  82. package/components/tree-view/index.css +1 -1
  83. package/components/tree-view/index.esm.js +107 -96
  84. package/components/tree-view/index.umd.cjs +1 -1
  85. package/farris.all.esm.js +14687 -14334
  86. package/farris.all.umd.cjs +11 -11
  87. package/index.css +1 -1
  88. package/package.json +1 -1
  89. package/types/condition/src/composition/condition-value/input-group-value.d.ts +1 -1
  90. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.component.d.ts +6 -0
  91. package/types/dynamic-form/src/component/dynamic-form-label/dynamic-form-label.props.d.ts +8 -0
  92. package/types/dynamic-form/src/composition/form-binding-resolver-design.d.ts +6 -0
  93. package/types/filter-bar/src/components/drawer.component.d.ts +4 -0
  94. package/types/filter-bar/src/components/filter-item/filter-item.component.d.ts +10 -0
  95. package/types/filter-bar/src/components/filter-item/filter-item.props.d.ts +3 -0
  96. package/types/filter-bar/src/components/filter-item-condition/filter-item-condition.component.d.ts +11 -0
  97. package/types/filter-bar/src/components/filter-item-condition/filter-item-condition.props.d.ts +3 -0
  98. package/types/filter-bar/src/composition/types.d.ts +2 -0
  99. package/types/filter-bar/src/composition/use-condition.d.ts +19 -0
  100. package/types/filter-bar/src/filter-bar.component.d.ts +2 -1
  101. package/types/filter-bar/src/types.d.ts +4 -6
  102. package/types/filter-bar/src/components/filter-item.component.d.ts +0 -5
  103. /package/types/filter-bar/src/components/{toolbar-component.d.ts → toolbar.component.d.ts} +0 -0
@@ -1 +1 @@
1
- (function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../data-view/index.umd.js","../checkbox/index.umd.js","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.order={},R.Vue,R.LodashES,R.dataView,R.checkbox,R.FListView$1,R.FButtonEdit,R.dynamicResolver,R.designerCanvas,R.common))})(this,function(R,e,U,W,le,Ne,xe,Te,Q,pe){"use strict";var rn=Object.defineProperty;var sn=(R,e,U)=>e in R?rn(R,e,{enumerable:!0,configurable:!0,writable:!0,value:U}):R[e]=U;var $=(R,e,U)=>sn(R,typeof e!="symbol"?e+"":e,U);const me={},he={};function ie(t){const{properties:n,title:o,ignore:a}=t,l=a&&Array.isArray(a),i=Object.keys(n).reduce((s,c)=>((!l||!a.find(f=>f===c))&&(s[c]=n[c].type==="object"&&n[c].properties?ie(n[c]):U.cloneDeep(n[c].default)),s),{});if(o&&(!l||!a.find(s=>s==="id"))){const s=o.toLowerCase().replace(/-/g,"_");i.id=`${s}_${Math.random().toString().slice(2,6)}`}return i}function Oe(t){const{properties:n,title:o,required:a}=t;if(a&&Array.isArray(a)){const l=a.reduce((i,s)=>(i[s]=n[s].type==="object"&&n[s].properties?ie(n[s]):U.cloneDeep(n[s].default),i),{});if(o&&a.find(i=>i==="id")){const i=o.toLowerCase().replace(/-/g,"_");l.id=`${i}_${Math.random().toString().slice(2,6)}`}return l}return{type:o}}function ye(t,n={},o){const a=me[t];if(a){let l=Oe(a);const i=he[t];return l=i?i({getSchemaByType:ye},l,n,o):l,l}return null}function Ee(t,n){const o=ie(n);return Object.keys(o).reduce((a,l)=>(Object.prototype.hasOwnProperty.call(t,l)&&(a[l]&&U.isPlainObject(a[l])&&U.isPlainObject(t[l]||!t[l])?Object.assign(a[l],t[l]||{}):a[l]=t[l]),a),o),o}function $e(t,n){return Object.keys(t).filter(a=>t[a]!=null).reduce((a,l)=>{if(n.has(l)){const i=n.get(l);if(typeof i=="string")a[i]=t[l];else{const s=i(l,t[l],t);Object.assign(a,s)}}else a[l]=t[l];return a},{})}function Pe(t,n,o=new Map){const a=Ee(t,n);return $e(a,o)}function Le(t={}){function n(d,p,r,u){if(typeof r=="number")return u[d].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],y=r[m];if(m==="not")return Number(u[d].length)!==Number(y);if(m==="moreThan")return Number(u[d].length)>=Number(y);if(m==="lessThan")return Number(u[d].length)<=Number(y)}return!1}function o(d,p,r,u){return u[d]&&u[d].propertyValue&&String(u[d].propertyValue.value)===String(r)}const a=new Map([["length",n],["getProperty",o]]);Object.keys(t).reduce((d,p)=>(d.set(p,t[p]),d),a);function l(d,p){const r=d;return typeof p=="number"?[{target:r,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:r,operator:"getProperty",param:d,value:!!p}]:typeof p=="object"?Object.keys(p).map(u=>{if(u==="length")return{target:r,operator:"length",param:null,value:p[u]};const m=u,y=p[u];return{target:r,operator:"getProperty",param:m,value:y}}):[]}function i(d){return Object.keys(d).reduce((r,u)=>{const m=l(u,d[u]);return r.push(...m),r},[])}function s(d,p){if(a.has(d.operator)){const r=a.get(d.operator);return r&&r(d.target,d.param,d.value,p)||!1}return!1}function c(d,p){return i(d).reduce((m,y)=>m&&s(y,p),!0)}function f(d,p){const r=Object.keys(d),u=r.includes("allOf"),m=r.includes("anyOf"),y=u||m,b=(y?d[y?u?"allOf":"anyOf":"allOf"]:[d]).map(S=>c(S,p));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const B={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},je={},De={};Le();function Z(t,n,o=new Map,a=(s,c,f,d)=>c,l={},i=s=>s){return me[n.title]=n,he[n.title]=a,je[n.title]=l,De[n.title]=i,(s={})=>{const c=Pe(s,n,o),f=Object.keys(t).reduce((d,p)=>(d[p]=t[p].default,d),{});return Object.assign(f,c)}}function re(t,n){return{customClass:n.class,customStyle:n.style}}const Re=new Map([["appearance",re]]),Ae={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/order.schema.json",title:"order",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a order",type:"string"},type:{description:"The type string of order component",type:"string",default:"order"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function He(t,n,o){return n}const ze={title:"order",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:{editable:{description:"",title:"允许编辑",type:"boolean"},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"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},K={dataSource:{type:Array,default:[{id:"1",name:"发票类型"},{id:"2",name:"发票代码"},{id:"3",name:"开票日期"},{id:"4",name:"票价(燃油附加费)"},{id:"5",name:"税收分类编号"}]},items:{type:Array,default:[{id:"1",name:"发票类型",order:"asc"},{id:"2",name:"发票代码",order:"desc"},{id:"3",name:"开票日期",order:"asc"}]}},se=Z(K,Ae,Re,He,ze),qe=new Map([["appearance",re]]);function We(t,n,o){return n}const Ue={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},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"]},Ge={title:"list-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:[]}}}}}},ge={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0}};Z(ge,Ue,qe,We,Ge);function _e(t,n){function o(i){const s=[];let c=i.nextNode();for(;c;)s.push(c),c=i.nextNode();return s}function a(i,s){const c=document.createTreeWalker(i,NodeFilter.SHOW_TEXT);return o(c).map(r=>({textNode:r,text:(r.textContent||"").toLocaleLowerCase()})).map(({textNode:r,text:u})=>{const m=[];let y=0;for(;y<u.length;){const h=u.indexOf(s,y);if(h===-1)break;m.push(h),y=h+s.length}return m.map(h=>{const g=new Range;return g.setStart(r,h),g.setEnd(r,h+s.length),g})}).flat()}function l(i){if(!CSS.highlights||(CSS.highlights.clear(),!i||!n))return;const s=a(n.value,i.toLocaleLowerCase()),c=new Highlight(...s);CSS.highlights.set("search-result",c)}return{search:l}}function ve(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.size),r=e.ref(t.textField),u=e.ref(t.titleField),m=e.ref(t.disableField),y=e.computed(()=>{var C,x;return((C=t.selection)==null?void 0:C.multiSelect)&&((x=t.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:h,onMouseoverItem:g,onMouseoutItem:b}=i,{getKey:w,listViewItemClass:S,onCheckItem:k,onClickItem:V}=s,N=e.computed(()=>t.itemClass?{}:{margin:p.value==="small"?"0.25rem 0":"8px 0"});function v(C,x,O){return C.checked=c.findIndexInSelectedItems(C)>-1,e.createVNode("li",{class:S(C,x),id:w(C,x),key:w(C,x),onClick:T=>V(T,C,x),onMouseenter:T=>h(T,C,x),onMouseover:T=>g(T,C,x),onMouseout:T=>b(T,C,x)},[y.value&&e.createVNode("div",{class:"f-list-select",onClick:T=>T.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+w(C,x),customClass:"listview-checkbox",disabled:C[m.value],checked:C.checked,"onUpdate:checked":T=>C.checked=T,onChange:T=>{k(C,x,!T.checked)}},null)]),e.createVNode("div",{class:"f-list-content"},[e.createVNode("div",{style:N.value,title:C.raw[u.value]||C.raw[r.value]},[C.raw[r.value]])])])}return{renderItem:v}}function Xe(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.multiSelect),r=e.ref(t.disableField),{onMouseenterItem:u,onMouseoverItem:m,onMouseoutItem:y}=i,{getKey:h,listViewItemClass:g,onCheckItem:b,onClickItem:w}=s;function S(V,N,v){return n.slots.content?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.content({item:V.raw,index:N,selectedItem:v})]):e.createVNode("div",{style:"margin: 10px 0;"},[V.raw.name])}function k(V,N,v){return e.createVNode("li",{class:g(V,N),id:h(V,N),key:h(V,N),onClick:C=>w(C,V,N),onMouseenter:C=>u(C,V,N),onMouseover:C=>m(C,V,N),onMouseout:C=>y(C,V,N)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:C=>C.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+h(V,N),customClass:"listview-checkbox",disabled:V[r.value]||!V.checked,checked:V.checked,"onUpdate:checked":C=>V.checked=C,onChange:C=>b(V,N,!C.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[S(V,N,v)])])}return{renderItem:k}}function Ye(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.multiSelect),r=e.ref(t.disableField),{onMouseenterItem:u,onMouseoverItem:m,onMouseoutItem:y}=i,{getKey:h,listViewItemClass:g,onCheckItem:b,onClickItem:w}=s,{dragstart:S,dragenter:k,dragover:V,dragend:N}=a,{removeItem:v}=f,C=e.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function x(P){return e.createVNode("div",{style:C.value},[P.raw.name])}function O(){return n.slots.itemContent?n.slots.itemContent:x}const T=O();function H(P,A,G){return e.createVNode("li",{class:g(P,A),id:h(P,A),key:h(P,A),onClick:L=>w(L,P,A),onMouseenter:L=>u(L,P,A),onMouseover:L=>m(L,P,A),onMouseout:L=>y(L,P,A),draggable:"true",onDragstart:L=>S(L,P,A),onDragenter:L=>k(L,A),onDragend:L=>N(L,P),onDragover:L=>V(L,A)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:L=>L.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+h(P,A),customClass:"listview-checkbox",disabled:P[r.value]||!P.checked,checked:P.checked,"onUpdate:checked":L=>P.checked=L,onChange:L=>b(P,A,!L.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[T(P)]),e.createVNode("div",{class:"f-list-remove",onClick:L=>v(A)},[e.createVNode("div",{class:"f-list-remove-icon"},[e.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),e.createVNode("div",{class:"f-list-handle"},[e.createVNode("div",null,[e.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:H}}function Je(t,n,o,a,l,i,s,c,f,d){var h;const p=e.ref(((h=t.group)==null?void 0:h.groupFields)||[]),{collpaseGroupIconClass:r}=l,{toggleGroupRow:u}=d;function m(g,b){b.collapse=!b.collapse,o.value=u(b.collapse?"collapse":"expand",b,o.value)}function y(g,b,w){return g.layer>-1&&e.createVNode("div",{class:"f-navlookup-recentHeader",onClick:S=>m(S,g)},[e.createVNode("div",{class:"fv-grid-group-row-icon"},[e.createVNode("span",{class:r(g)},null)]),e.createVNode("div",{class:"f-navlookup-recommandLabel"},[g.raw[p.value[g.layer]]])])}return{renderItem:y}}function Qe(t,n,o,a){const l=e.ref(t.idField),{dataView:i}=o,s=e.ref(-1),c=e.ref(!1),{activeIndex:f,focusedItemId:d,hoverIndex:p,resumeHover:r,suspendHover:u}=a;function m(b,w,S){b.stopPropagation(),u(),w&&setTimeout(()=>{s.value=S,c.value=!0,w.moving=!0})}function y(b,w){if(b.preventDefault(),s.value!==w){const S=i.value[s.value],k=i.value;k.splice(s.value,1),k.splice(w,0,S),s.value=w}}function h(b,w){b.preventDefault(),b.dataTransfer&&(b.dataTransfer.dropEffect="move")}function g(b,w){w&&(w.moving=!1),i.value.forEach((S,k)=>{S.__fv_index__=k}),c.value=!1,r(),p.value=w.raw.__fv_index__,f.value=w.raw.__fv_index__,d.value=w.raw[l.value],n.emit("change",i.value),n.emit("activeChange",w)}return{dragstart:m,dragenter:y,dragover:h,dragend:g,isDragging:c}}function Ze(t,n,o){const{dataView:a}=o;function l(i){if(i>-1&&i<a.value.length){const s=a.value.splice(i,1);n.emit("removeItem",s[0])}}return{removeItem:l}}function Ke(t,n,o,a,l,i){const s=e.ref(t.idField),c=e.ref(t.disableField),f=e.ref(t.draggable),d=e.ref(t.itemClass),p=e.ref(t.selection.multiSelect??!1),r=e.ref(t.selection.multiSelectMode),{isDragging:u}=a,{activeIndex:m,focusedItemId:y,hoverIndex:h}=l,{clearSelection:g,getSelectedItems:b,toggleSelectItem:w}=i,S=e.ref(b());function k(T,H){const P={"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!T.checked,"f-un-select":!!T.raw[c.value],"f-listview-active":T.raw.__fv_index__===m.value,"f-listview-hover":!u.value&&H===h.value,moving:!!T.moving};return d.value.split(" ").reduce((G,L)=>(G[L]=!0,G),P),P}function V(T,H){return T.raw[s.value]||""}const N=e.computed(()=>!p.value);function v(T,H,P){T.checked=P,!T.raw[c.value]&&(N.value&&(y.value=T.raw[s.value]),w(T))}const C=e.computed(()=>p.value&&r.value==="OnCheckClearByClick"),x=e.computed(()=>!p.value||p.value&&(r.value==="OnCheckAndClick"||r.value==="OnClick"));function O(T,H,P){if(H.raw[c.value]){T.preventDefault(),T.stopPropagation();return}y.value=H.raw[s.value],m.value=P,C.value&&g(),x.value&&(w(H),S.value=b()),n.emit("clickItem",{data:S.value,index:P}),n.emit("activeChange",S.value)}return{getKey:V,listViewItemClass:k,onCheckItem:v,onClickItem:O}}function et(t,n,o,a,l,i,s,c){const f=e.ref(t.view),d=e.ref(t.view==="CardView"),p=e.ref({}),r=e.ref("暂无数据"),u=Qe(t,n,a,i),m=Ze(t,n,a),y=Ke(t,n,o,u,i,s),h=e.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),g=e.computed(()=>!!o.value&&o.value.length>0),b=e.computed(()=>o.value.length===0);e.computed(()=>b.value&&!n.slots.empty);function w(){return f.value==="SingleView"?ve:f.value==="DraggableView"?Ye:(f.value==="ContentView"||f.value==="CardView")&&n.slots.content?Xe:ve}const S=w(),{renderItem:k}=S(t,n,o,u,l,i,y,s,m,c),{renderItem:V}=Je(t,n,o,u,l,i,y,s,m,c),N=[k,V];function v(){return o.value.filter(O=>O.visible!==!1).map((O,T)=>N[O.type](O,T,p))}function C(){return e.createVNode("div",{class:"f-list-view-emptydata"},[e.createVNode("p",{class:"f-empty-title"},[n.slots.empty?n.slots.empty():r.value])])}function x(){return e.createVNode("ul",{class:h.value,style:"list-style: none;"},[g.value&&v(),b.value&&C()])}return{renderListArea:x}}function tt(t,n,o){function a(){return n.slots.header&&e.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:a}}function be(t,n,o){const a=e.ref(t.headerClass),l=e.ref(t.placeholder),i=e.ref(""),s=e.computed(()=>!i.value),c=e.computed(()=>!!i.value);function f(u){i.value=""}e.watch(i,u=>{t.enableHighlightSearch&&o.search(u),n.emit("afterSearch",u)});const d=e.computed(()=>{const u={"form-group":!0,"farris-form-group":!0};return a.value&&a.value.split(" ").reduce((y,h)=>(y[h]=!0,y),u),u});function p(u){}function r(){return e.createVNode("div",{class:"f-list-view-header",onClick:e.withModifiers(()=>p,["prevent","stop"])},[e.createVNode("div",{class:d.value},[e.createVNode("div",{class:"farris-input-wrap"},[e.createVNode("div",{class:"f-cmp-inputgroup"},[e.createVNode("div",{class:"input-group f-state-editable"},[e.withDirectives(e.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":u=>i.value=u,name:"input-group-value",type:"text",placeholder:l.value,autocomplete:"off"},null),[[e.vModelText,i.value]]),e.createVNode("div",{class:"input-group-append"},[c.value&&e.createVNode("span",{class:"input-group-text input-group-clear",onClick:u=>f()},[e.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),s.value&&e.createVNode("span",{class:"input-group-text"},[e.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:r}}function nt(){const t=e.ref(""),n=e.ref(-1),o=e.ref(""),a=e.ref(-1),l=e.ref(!1);function i(r,u,m){a.value=m}function s(r,u,m){l.value||(a.value=m)}function c(r,u,m){a.value=-1}function f(){l.value=!0}function d(){l.value=!1}function p(){n.value=-1,t.value=""}return{activeIndex:n,focusedItemId:o,hoverIndex:a,clearActiveItem:p,onMouseenterItem:i,onMouseoverItem:s,onMouseoutItem:c,resumeHover:d,suspendHover:f}}const Ce=e.defineComponent({name:"FListView",props:ge,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(t,n){const o=e.ref(),a=e.ref(!0),l=e.ref(!1),i=e.ref([]),s=0,c=e.ref(t.columns),f=W.useFilter(),d=W.useIdentify(t),p=W.useHierarchy(t),r=W.useGroupData(t,d),u=W.useDataView(t,new Map,f,p,d),m=W.useSelection(t,u,d,i,n),y=_e(t,o),h=e.computed(()=>u.dataView.value.length),g=W.useRow(t,n,m,d),b=W.useEdit(t,n,d,g),w=W.useVisualDataBound(t),S=W.useVisualDataCell(t,{},w),k=W.useVisualDataRow(t,b,p,d,w,S),V=W.useVisualGroupRow(t,d,S,k),N=W.useVisualSummaryRow(t,d,S,k),v=W.useVisualData(t,c,u,h,s,k,V,N),{getVisualData:C}=v;i.value=C(0,h.value+s-1);const x=e.computed(()=>{const E={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(E[`${t.size}-item`]=!0),E}),O=e.computed(()=>!!n.slots.footer||a.value);function T(){return t.header==="SearchBar"?be:t.header==="ContentHeader"?tt:be}const H=T(),{renderHeader:P}=H(t,n,y),A=nt(),{renderListArea:G}=et(t,n,i,u,r,A,m,v);function L(E){y.search(E)}function M(E){E&&(u.load(E),i.value=C(0,h.value+s-1))}function I(){m.clearSelection(),A.clearActiveItem()}n.expose({search:L,updateDataSource:M,clearSelection:I});function j(E){t.multiSelect&&(E.preventDefault(),E.stopPropagation())}return()=>e.createVNode("div",{class:x.value,onClick:j},[P(),e.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{l.value=!0},onMouseleave:()=>{l.value=!1}},[G()]),O.value&&e.createVNode("div",{class:"f-list-view-footer"},[n.slots.footer&&n.slots.footer()])])}}),ot={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function at(t,n){function o(a){a.stopPropagation(),t.disabled||n.emit("click",a)}return{onClickButton:o}}function lt(t){const n=e.computed(()=>{const a={"f-icon":!0};if(t.icon){const l=t.icon.trim().split(" ");l&&l.length&&l.reduce((i,s)=>(i[s]=!0,i),a)}return a}),o=e.computed(()=>!!(t.icon&&t.icon.trim()));return{iconClass:n,shouldShowIcon:o}}const we=e.defineComponent({name:"FButton",props:ot,emits:["click"],setup(t,n){const{onClickButton:o}=at(t,n),{iconClass:a,shouldShowIcon:l}=lt(t),i=e.computed(()=>{const s={btn:!0,"btn-lg":t.size==="large","btn-md":t.size!=="large"&&t.size!=="small","btn-sm":t.size==="small","btn-icontext":l.value};return s[`btn-${t.type}`]=!0,t.customClass&&Object.keys(t.customClass).reduce((c,f)=>(c[f]=t.customClass[f],c),s),s});return()=>e.createVNode("button",{class:i.value,disabled:t.disabled,onClick:s=>o(s)},[l.value&&e.createVNode("i",{class:a.value},null),n.slots.default&&n.slots.default()])}}),it=new Map([["appearance",re]]),rt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},maxHeight:{description:"",type:"number",default:350}},required:["type"],ignore:["id","appearance","binding","visible"]};function st(t,n,o){return n}const ce={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},ct=Object.assign({},ce,{readonly:{}}),Se=Z(ce,rt,it,st),dt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},ut=e.defineComponent({name:"FComboListContainer",props:dt,emits:["selectionChange"],setup(t,n){const o=e.ref(),a=e.ref(t.dataSource),l=e.ref([]),i=e.ref(t.separator),s=e.ref(t.width),c=e.ref(t.maxHeight),f=e.ref(String(t.selectedValues).split(i.value)),d=e.computed(()=>t.multiSelect),p=e.computed(()=>({enableSelectRow:!0,multiSelect:t.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));e.watch(t.dataSource,()=>{a.value=t.dataSource});const r=e.computed(()=>t.enableSearch?"SearchBar":"ContentHeader"),u=e.computed(()=>{const h={};return s.value!==void 0&&(h.width=`${s.value}px`),c.value!==void 0&&c.value>0&&(h.maxHeight=`${c.value}px`),h});function m(h){l.value=h.map(g=>Object.assign({},g)),f.value=h.map(g=>g[t.idField]),n.emit("selectionChange",l.value)}function y(h){if(t.enableHighlightSearch)return;let g=[];const{searchOption:b}=t;typeof b=="function"?g=a.value.filter(w=>b(h,w)):g=a.value.filter(w=>w[t.valueField].indexOf(h)>-1||w[t.textField].indexOf(h)>-1),o.value.updateDataSource(g)}return e.watch([()=>t.selectedValues],([h])=>{f.value=h.split(i.value)}),()=>e.createVNode("div",{class:"f-combo-list-container",style:u.value},[e.createVNode(Ne,{ref:o,size:"small",itemClass:"f-combo-list-item",header:r.value,headerClass:"f-combo-list-search-box",data:a.value,idField:t.idField,textField:t.textField,titleField:t.titleField,multiSelect:t.multiSelect,selection:p.value,enableHighlightSearch:t.enableHighlightSearch,selectionValues:f.value,onSelectionChange:m,onAfterSearch:y},null)])}});function ft(t){const n=e.ref(""),o=e.ref(t.modelValue),a=e.ref(t.data||[]),l=e.ref(t.editable);function i(r){const u=t.multiSelect?String(r).split(t.separator):[String(r)],m=u.map(g=>[g,!0]),y=new Map(m);return a.value.filter(g=>y.has(String(g[t.valueField]))).sort((g,b)=>{const w=u.indexOf(g[t.valueField]),S=u.indexOf(b[t.valueField]);return w-S})}function s(r){const u=i(r).map(m=>m[t.textField]).join(t.separator);n.value=l.value?u||r:u}function c(r){const u=r.split(t.separator).map(y=>[y,!0]),m=new Map(u);return a.value.filter(y=>m.has(y[t.textField]))}function f(r){const u={};return u[t.idField]=r,u[t.textField]=r,[u]}function d(r){let u=c(r);const m=u&&u.length>0;return l.value&&!m&&(u=f(r)),u}function p(){const{url:r,method:u="GET",headers:m={},body:y=null}=t.remote,h=u.toLowerCase()==="get"?{method:u,headers:m}:{method:u,headers:m,body:y};let g=!1;fetch(r,h).then(b=>{var S,k;if(b.status===200)return g=!!((k=(S=b.headers)==null?void 0:S.get("content-type"))!=null&&k.includes("application/json")),g?b.text():b.json();throw new Error(b.statusText)}).then(b=>{a.value=g?JSON.parse(b):b}).catch(b=>{console.error(b)})}return t.remote&&p(),e.watch(()=>t.data,()=>{a.value=t.data}),e.watch([a],([r])=>{if(t.modelValue!=null){const u=r.find(m=>m[t.valueField]===t.modelValue);u&&(n.value=u[t.textField])}}),e.watch(()=>t.modelValue,r=>{o.value=r,s(r)}),s(t.modelValue),{dataSource:a,displayText:n,editable:l,modelValue:o,getItemsByDisplayText:c,getItemsByValue:i,getSelectedItemsByDisplayText:d}}const ee=e.defineComponent({name:"FComboList",props:ce,emits:["clear","update:modelValue","change","input"],setup(t,n){const o=e.ref(),a=e.ref(t.disabled),l=e.ref(t.enableClear),i=e.ref(t.enableSearch),s=e.ref(t.readonly),{dataSource:c,displayText:f,editable:d,modelValue:p,getSelectedItemsByDisplayText:r}=ft(t),u=e.computed(()=>t.multiSelect),m=e.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function y(){!u.value&&o.value&&o.value.hidePopup()}function h(N){f.value=N.map(C=>C[t.textField]).join(t.separator);let v="";N.length===1?v=N[0][t.valueField]:v=N.map(C=>C[t.valueField]).join(t.separator),p.value!==v&&(p.value=v,n.emit("update:modelValue",p.value),n.emit("change",N,p.value)),y()}function g(){s.value||o.value.togglePopup()}function b(N){p.value="",n.emit("update:modelValue",""),n.emit("clear")}function w(N){const v=r(N);h(v)}function S(){return f.value}function k(N){n.emit("input",N)}function V(){o.value.hidePopup()}return n.expose({getDisplayText:S,hidePopup:V}),e.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([N,v,C,x,O])=>{a.value=N,d.value=v,l.value=C,i.value=x,s.value=O}),()=>e.createVNode(xe,{ref:o,id:t.id,disable:a.value,readonly:s.value,forcePlaceholder:t.forcePlaceholder,editable:d.value,buttonContent:t.dropDownIcon,placeholder:t.placeholder,enableClear:l.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:b,onClick:g,onChange:w,onInput:k,beforeOpen:t.beforeOpen,placement:"auto"},{default:()=>[e.createVNode(ut,{idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:c.value,selectedValues:p.value,multiSelect:t.multiSelect,enableSearch:i.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?m.value:void 0,onSelectionChange:h},null)]})}}),pt=new Map([["appearance",Te.resolveAppearance]]);function mt(t,n,o){return n}const ht={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",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:"button-edit"},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},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},forcePlaceholder:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},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}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},yt={title:"buttonEdit",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:{editable:{description:"",title:"允许编辑",type:"boolean"},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"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},Fe={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"}};Z(Fe,ht,pt,mt,yt);const gt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},vt=e.defineComponent({name:"FOverlay",props:gt,emits:["click"],setup(t,n){const o=e.ref(t.popupContentPosition),a=e.ref(t.host),l=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function i(c){n.emit("click"),c.preventDefault(),c.stopPropagation()}e.computed(()=>{const c=a.value;if(c){const f=c.getBoundingClientRect(),{left:d,top:p,height:r}=f;return{left:d,top:p+r}}return o.value});const s=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var c,f;return[e.createVNode("div",{class:"overlay-container",onClick:d=>i(d),style:l.value},[e.createVNode("div",{style:s.value},[(f=(c=n.slots).default)==null?void 0:f.call(c)])])]}})}});function bt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ct(t){const n=document.createElement("div");n.style.display="contents";let o;const a=t.onClickCallback||(()=>{}),l=()=>{a(),o&&o.unmount()};return o=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const i=bt(t);return()=>e.createVNode(vt,{"popup-content-position":t.popupPosition,host:t.host,onClick:l,backgroundColor:t.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),o.mount(n),o}class wt{static show(n){return Ct(n)}}const St={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""}};class z{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const l=parseInt(a[4],10),i=parseInt(a[5],10);return{x:l,y:i}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new z(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new z(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new z(n.changedTouches[a].clientX,n.changedTouches[a].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const o=new z(0,0);if(window){const a=window.getComputedStyle(n);if(a){const l=parseInt(a.getPropertyValue("left"),10),i=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(l)?0:l,o.y=isNaN(i)?0:i}return o}return null}static copy(n){return new z(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class _{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new _(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new _(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Ft(t,n){const o=e.ref(),a=e.ref(),l=e.ref(),i=e.ref(),s=e.ref(),c=e.ref(),f=e.ref(),d=e.ref(),p=e.ref(),r=e.ref(),u=e.ref(),m=e.ref(),y=e.ref(t.draggable),h=e.ref(!1);function g(){const M=a.value||document.body,I=window.getComputedStyle(M);if(!I||!o.value)return;const j=z.getTransformInfo(o.value),E={};f.value&&(E.deltaL=o.value.offsetLeft-f.value.x,E.deltaT=o.value.offsetTop-f.value.y);const q=I.getPropertyValue("position");E.width=M.clientWidth,E.height=M.clientHeight,E.pr=parseInt(I.getPropertyValue("padding-right"),10),E.pb=parseInt(I.getPropertyValue("padding-bottom"),10),E.position=I.getPropertyValue("position"),q==="static"&&(M.style.position="relative"),E.translateX=j.x,E.translateY=j.y,r.value=E}function b(M){if(o.value){i.value=_.getCurrent(o.value),s.value=z.getCurrent(o.value),c.value=i.value?_.copy(i.value):null,f.value=s.value?z.copy(s.value):null,g();const I=M.target.getAttribute("type")||"";d.value={n:!!I.match(/n/),s:!!I.match(/s/),w:!!I.match(/w/),e:!!I.match(/e/)}}}function w(){var M,I,j,E;if(o.value){const q=o.value;d.value&&((d.value.n||d.value.s)&&((M=c.value)!=null&&M.height)&&(q.style.height=c.value.height+"px"),(d.value.w||d.value.e)&&((I=c.value)!=null&&I.width)&&(q.style.width=c.value.width+"px"),f.value&&((j=f.value)!=null&&j.x&&(q.style.left=f.value.x+"px"),(E=f.value)!=null&&E.y&&(q.style.top=f.value.y+"px")))}}function S(){const M=t.minHeight?t.minHeight:1,I=t.minWidth?t.minWidth:1;c.value&&f.value&&d.value&&i.value&&(c.value.height<M&&(c.value.height=M,d.value.n&&s.value&&(f.value.y=s.value.y+(i.value.height-M))),c.value.width<I&&(c.value.width=I,d.value.w&&s.value&&(f.value.x=s.value.x+(i.value.width-I))),t.maxHeight&&c.value.height>t.maxHeight&&(c.value.height=t.maxHeight,s.value&&d.value.n&&(f.value.y=s.value.y+(i.value.height-t.maxHeight))),t.maxWidth&&c.value.width>t.maxWidth&&(c.value.width=t.maxWidth,d.value.w&&s.value&&(f.value.x=s.value.x+(i.value.width-t.maxWidth))))}function k(){if(a.value){const M=r.value;if(f.value&&c.value&&d.value&&i.value){const I=M.width-M.pr-M.deltaL-M.translateX-f.value.x,j=M.height-M.pb-M.deltaT-M.translateY-f.value.y;d.value.n&&f.value.y+M.translateY<0&&s.value&&(f.value.y=-M.translateY,c.value.height=i.value.height+s.value.y+M.translateY),d.value.w&&f.value.x+M.translateX<0&&s.value&&(f.value.x=-M.translateX,c.value.width=i.value.width+s.value.x+M.translateX),c.value.width>I&&(c.value.width=I),c.value.height>j&&(c.value.height=j)}}}function V(M){if(!l.value||!i.value||!s.value||!d.value)return;M.subtract(l.value);const I=M.x,j=M.y;d.value.n?(f.value.y=s.value.y+j,c.value.height=i.value.height-j):d.value.s&&(c.value.height=i.value.height+j),d.value.e?c.value.width=i.value.width+I:d.value.w&&(c.value.width=i.value.width-I,f.value.x=s.value.x+I),k(),S(),w()}function N(M){if(!p.value)return;const I=z.fromEvent(M);I&&V(I)}function v(){if(o.value){const{width:M,height:I,x:j,y:E}=o.value.getBoundingClientRect(),q=z.getTransformInfo(o.value);return{size:{width:M,height:I},position:{x:j-q.x,y:E-q.y}}}return null}function C(M){if(o.value){const I=v();u.value=I}l.value=void 0,i.value=null,s.value=null,c.value=null,f.value=null,d.value=null,p.value=null,document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",C)}function x(){document.addEventListener("mousemove",N),document.addEventListener("mouseup",C)}function O(M){M instanceof MouseEvent&&M.button===2||y.value&&(document.body.click(),M.stopPropagation(),M.preventDefault(),l.value=z.fromEvent(M),p.value=M.target,b(M),x())}function T(M){return o.value=M,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:I=>O(I)},null)])}function H(M=!0){document.body.click();const I=a.value||document.body,j=_.getCurrent(I),E=o.value;M&&E&&(m.value=v(),m.value.transform=E.style.transform),j&&E&&(c.value=j,E.style.height=c.value.height-14+"px",E.style.width=c.value.width-14+"px",E.style.left="7px",E.style.top="7px",E.style.transform="",u.value={size:c.value,position:{x:0,y:0}},y.value=!1,h.value=!0)}function P(){var M,I;if(document.body.click(),m.value){const j={width:m.value.size.width||0,height:m.value.size.height||0},E={x:(window.innerWidth-j.width)/2,y:(window.innerHeight-j.height)/2};(M=c.value)==null||M.set(j),(I=f.value)==null||I.set(E);const q=o.value;q.style.height=j.height+"px",q.style.width=j.width+"px",q.style.left=`${E.x}px`,q.style.top=`${E.y}px`,q.style.transform="",u.value={size:j,position:E},y.value=t.draggable,h.value=!1}}function A(){if(o.value){const M=_.getCurrent(o.value);if(M){const{width:I,height:j}=M;o.value.style.left=`${(window.innerWidth-I)/2}px`,o.value.style.top=`${(window.innerHeight-j)/2}px`,o.value.style.transform=""}}}function G(){const M=()=>{h.value?H(!1):A(),document.body.click()};return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}}const L=G();return{renderResizeBar:T,boundingElement:a,resizedEventParam:u,maximize:H,restore:P,allowDrag:y,isMaximized:h,unWindowResizeHandle:L}}function kt(t,n,o){const a=e.ref(),l=e.ref(t.draggable),i=e.ref(t.lockAxis),s=e.ref(),c=e.ref(),f=e.ref(!1),d=e.ref(new z(0,0)),p=e.ref(new z(0,0)),r=e.ref(new z(0,0)),u=e.ref(new z(0,0));e.watch(()=>o.value,v=>{s.value.style.cursor=v?"move":"default"});function m(v,C){if(C.tagName==="BUTTON")return!1;if(C===v)return!0;for(const x in C.children)if(Object.prototype.hasOwnProperty.call(C.children,x)&&m(v,C.children[x]))return!0;return!1}function y(){var O,T;let v=r.value.x+p.value.x,C=r.value.y+p.value.y;i.value==="x"?(v=((O=d.value)==null?void 0:O.x)||0,r.value.x=0):i.value==="y"&&(C=((T=d.value)==null?void 0:T.y)||0,r.value.y=0);const x=`translate3d(${Math.round(v)}px, ${Math.round(C)}px, 0px)`;a.value&&(a.value.style.transform=x),u.value.x=v,u.value.y=C}function h(){if(!c.value||!a.value)return null;const v=c.value.getBoundingClientRect(),C=a.value.getBoundingClientRect(),x={top:v.top<C.top,right:v.right>C.right,bottom:v.bottom>C.bottom,left:v.left<C.left};return x.top||(r.value.y-=C.top-v.top),x.bottom||(r.value.y-=C.bottom-v.bottom),x.right||(r.value.x-=C.right-v.right),x.left||(r.value.x-=C.left-v.left),y(),x}function g(v){v&&(d.value&&v.subtract(d.value),r.value.set(v),y(),h())}function b(v){f.value&&l.value&&(v.stopPropagation(),v.preventDefault(),g(z.fromEvent(v,s.value)))}function w(){var v;f.value&&(f.value=!1,p.value.add(r.value),r.value.reset(),(v=a.value)==null||v.classList.remove("ng-dragging"),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",w))}function S(){!f.value&&s.value&&(f.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",b),document.addEventListener("mouseup",w))}function k(){if(a.value){const v=z.getTransformInfo(a.value);p.value.set(v);return}p.value.reset()}function V(v){if(!o.value||v instanceof MouseEvent&&v.button===2)return;const C=v.target||v.srcElement;s.value!==void 0&&C&&!m(C,s.value)||l.value!==!1&&(document.body.click(),v.stopPropagation(),v.preventDefault(),d.value=z.fromEvent(v,a.value),k(),S())}function N(v,C,x){if(l.value&&C){if(v)s.value=v;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)s.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const O=C.querySelector(t.dragHandle);O&&(s.value=O)}}a.value=C,c.value=x,s.value?(s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",V)):l.value=!1}}return{registerDraggle:N,resetTranslate:k}}function ke(t,n){if(t){const o=a=>{a.key.toLowerCase()===t.toLowerCase()&&n({event:a,key:t})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function Vt(t,n){const o=e.ref(t.enableEsc);let a=null;return o.value?(a=ke("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:a}):null}function Mt(t,n){const o=e.ref(t.enableEnter);let a=null;return o.value?(a=ke("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:a}):null}const Y=e.defineComponent({name:"FModal",props:St,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(t,n){const o=e.ref(t.width||300),a=e.ref(t.height||200),l=e.ref(t.modelValue),i=e.ref(""),s=e.ref(t.class),c=e.ref(t.fitContent),f=e.ref(t.showHeader),d=e.ref(""),p=e.ref(t.showCloseButton),r=e.ref(t.showMaxButton),u=e.ref(!1),m=e.ref(t.dialogType),y=e.ref(t.src),h=e.ref(""),g=e.ref(t.showButtons),b=e.ref(t.title),w=e.ref(t.resizeable),S=e.ref(t.containment||null),k=e.ref();function V(F,D){l.value=!1,n.emit("update:modelValue",!1),D!=null&&n.emit(D?"accept":"cancel"),n.emit("closed",F)}const N=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:F=>{V(F,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:F=>{V(F,!0)}}],v=e.ref(t.buttons&&t.buttons.length?t.buttons:N),C=e.computed(()=>!!d.value),x=e.computed(()=>!!g.value&&!!v.value),O=e.ref(),T=e.ref(),H=e.ref(!1),{renderResizeBar:P,maximize:A,restore:G,boundingElement:L,resizedEventParam:M,allowDrag:I,unWindowResizeHandle:j}=Ft(t),{registerDraggle:E}=kt(t,n,I);function q(){const F=document.querySelectorAll(".farris-modal").length;(!F||F-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}e.watch(()=>t.title,(F,D)=>{F!==D&&(b.value=F)}),e.watch(()=>t.modelValue,(F,D)=>{F!==D&&(l.value=F,F||q())}),e.watch(()=>t.showHeader,(F,D)=>{F!==D&&(f.value=F)}),e.watch(()=>t.showButtons,(F,D)=>{F!==D&&(g.value=F)}),e.watch(()=>M.value,(F,D)=>{const J=F||{},ae=D||{};JSON.stringify(J)!==JSON.stringify(ae)&&n.emit("resize",{newSize:F,oldSize:D})});const de=e.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),Wt=e.computed(()=>{const F={modal:!0,"farris-modal":!0,fade:!0};return F["f-modal-fitContent"]=!!c.value,F.show=!!de.value,F}),Ut=e.computed(()=>{var J;const F={"modal-dialog":!0},D=(J=s.value)==null?void 0:J.split(" ");return D==null||D.reduce((ae,ln)=>(ae[ln]=!0,ae),F),F}),Gt=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-a.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:c.value?"auto":`${a.value}px`})),_t=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value})),Xt=e.computed(()=>{const F={display:f.value?"":"none"};return F["pointer-events"]=I.value?"auto":"none",F}),Yt=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:H.value})),Jt=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":m.value==="iframe"}));function Qt(){return{}}const Zt=e.computed(()=>{const F={textAlgin:h.value},D=Qt();return Object.assign(F,D)});function Be(F){if(F.stopPropagation(),H.value){H.value=!1,G();return}A(),H.value=!0}async function Kt(F,D){F.handle&&await F.handle(D,F)&&n.emit("closed",D)}function en(F){F.width&&(o.value=F.width),F.height&&(a.value=F.height),F.buttons&&(v.value=F.buttons),F.title&&(b.value=F.title)}let ue=null,fe=null;e.onMounted(()=>{T.value&&!S.value&&(S.value=T.value.parentElement,L.value=S.value,E(O.value,T.value,L.value)),de.value&&document.body.classList.add("modal-open"),ue=Vt(t,n),fe=Mt(t,n)}),e.onUnmounted(()=>{j&&j(),ue&&ue.remove(),fe&&fe.remove()}),n.expose({modalElementRef:T,updateModalOptions:en,close:V,maxDialog:Be});function tn(){return e.createVNode("ul",null,[u.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),r.value&&e.createVNode("li",{onClick:Be,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Yt.value},null)]),p.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:F=>V(F,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function nn(){return e.createVNode("div",{class:"modal-footer",style:Zt.value},[v.value&&v.value.map(F=>e.createVNode("button",{name:F.name,type:"button",class:F.class+(F.iconClass?" btn-icontext":""),onClick:D=>{Kt(F,D)}},[!!F.iconClass&&e.createVNode("i",{class:F.iconClass},null),F.text]))])}function on(){return e.createVNode("div",{ref:O,class:"modal-header",style:Xt.value},[e.createVNode("div",{class:"modal-title"},[C.value&&e.createVNode("span",{class:d.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[b.value])]),e.createVNode("div",{class:"actions"},[tn()])])}function an(F){F.stopPropagation()}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[de.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>{var F,D;return[e.createVNode("div",{class:Wt.value,style:"display: block",ref:k,onClick:an},[e.createVNode("div",{id:i.value,class:Ut.value,style:Gt.value,ref:T},[e.createVNode("div",{class:_t.value},[f.value&&on(),e.createVNode("div",{class:Jt.value},[(D=(F=n.slots).default)==null?void 0:D.call(F),m.value==="iframe"&&e.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:y.value},null)]),x.value&&nn()]),!c.value&&w.value&&T.value&&!H.value&&P(T.value)])])]}})]})}});function Ve(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function It(t){const n=document.createElement("div");n.style.display="contents";const o=e.createApp({setup(a,l){e.onUnmounted(()=>{document.body.removeChild(n)});const i=e.ref(),s=e.ref(t.class||""),c=e.ref(!!t.showButtons),f=e.ref(!!t.showHeader),d=e.ref(t.showCloseButton==null?!0:t.showCloseButton),p=e.ref(!0),r=e.ref(t.title||""),u=t.acceptCallback||(()=>{}),m=t.rejectCallback||(()=>{}),y=t.closedCallback||(w=>{}),h=t.resizeHandle||(w=>{}),g=Ve(t),b=w=>{p.value=!1,o.unmount(),y(w)};return e.onMounted(()=>{}),l.expose({modalRef:i}),()=>e.createVNode(Y,{ref:i,class:s.value,modelValue:p.value,"onUpdate:modelValue":w=>p.value=w,title:r.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":c.value,"show-close-button":d.value,"show-max-button":!1,onAccept:u,onCancel:m,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:b,onResize:h},{default:()=>[g&&g(o)]})}});return document.body.appendChild(n),o.mount(n),o}class Bt{constructor(n){$(this,"appContext",null);$(this,"modalRef",e.ref());$(this,"activeModalIndex",e.ref(0));$(this,"modalRefs",{});$(this,"isUseEscCloseModal",e.ref(!1));$(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,o){const{width:a,height:l}={width:window.innerWidth,height:window.innerHeight};return a<n&&(n=a),l<o&&(o=l),{width:n,height:o}}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return It(o)}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=e.ref(!0),i=a.value.acceptCallback||(()=>{}),s=a.value.rejectCallback||(()=>{}),c=a.value.closedCallback||((k,V)=>{}),f=a.value.resizeHandle||(k=>{});let d;const p=Ve(a.value),r=k=>{var N;l.value=!1;const V=(N=k==null?void 0:k.target)==null?void 0:N.classList.contains("modal_close");c(k,this.isUseEscCloseModal.value?"esc":V?"icon":"button")},u=k=>{r(k),d&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),d=null,this.modalRef.value=null,this.modalRefs){const V=Object.keys(this.modalRefs).map(N=>Number(N));V.length>0?this.activeModalIndex.value=Math.max(...V):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},m=k=>{var V;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((V=this.activeModalInstance.value)==null||V.close(k==null?void 0:k.event))},{width:y,height:h}=a.value,g=this.adaptToWindow(y||500,h||320);Object.assign(a.value,g);const b=()=>e.createVNode(Y,e.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":k=>l.value=k},a.value,{onAccept:i,onCancel:s,onClosed:u,onResize:f,onEsc:m}),{default:()=>[p&&p(this.app)]});return d=(k=>{const V=e.h(b,k);return V.appContext=this.appContext,e.render(V,o),V})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:k=>{a.value={...a.value,...k},d&&e.render(e.cloneVNode(d,{...a}),o)},destroy:u,modalRef:this.activeModalInstance}}}const Me=Symbol("FModalService");Y.install=t=>{t.component(Y.name,Y);const n=new Bt(t);t.provide(Me,n),t.provide("FModalService",n)};function Ie(t,n){function o(){const a=t.beforeOpen||t.beforeClickButton||null;let l=Promise.resolve(!0);if(a){const i=a(n.value);if(typeof i>"u")return l;typeof i=="boolean"?l=Promise.resolve(i):l=i}return l}return{judgeCanOpen:o}}function Nt(t,n,o,a,l){const i=e.ref(t.buttonBehavior),s=e.ref(t.popupOnInput),c=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=Ie(t,l),d=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),p=e.inject(Me,null),r=e.ref();async function u(h){if(await f()&&d.value){const g=!!n.slots.default;if(i.value==="Modal"){const b=t.modalOptions,w=p==null?void 0:p.open({...b,render:()=>n.slots.default&&n.slots.default()});r.value=w==null?void 0:w.modalRef}i.value==="Overlay"&&wt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),g&&i.value==="Popup"&&a.togglePopup(!0),g&&s.value&&a.hidePopup(),n.emit("clickButton",{origin:h,value:t.modelValue})}}function m(h){n.emit("mouseEnterIcon",h)}function y(h){n.emit("mouseLeaveIcon",h)}return{buttonGroupClass:c,onClickButton:u,onMouseEnterButton:m,onMouseLeaveButton:y,modalRef:r}}function xt(t,n,o,a){const l=e.ref(),i=e.ref(!1),{judgeCanOpen:s}=Ie(t,a);function c(){const r=l.value;r&&r.show(o.value)}async function f(r=!1){if(!!n.slots.default){if(!r&&!i.value&&!await s())return;i.value=!i.value,await e.nextTick(),c()}}async function d(r=!1){if(!!n.slots.default){if(!r&&!await s())return;i.value=!0,await e.nextTick(),c()}}function p(){i.value=!1}return{hidePopup:p,popup:d,shouldPopupContent:i,togglePopup:f,popoverRef:l}}function Tt(t,n,o){const{buttonGroupClass:a}=o,l=e.ref();return{renderButtonGroup:()=>e.createVNode("div",{id:`${t.id}-button-group`,class:a.value},[n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:l},null):null]),buttonHandleElement:l}}const Ot=e.defineComponent({name:"FButtonEdit",props:Fe,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(t,n){const o=e.ref(),a=e.inject("design-item-context"),l=Q.useDesignerComponent(o,a),i=e.ref(t.customClass),s=e.ref(t.modelValue),c=xt(t,n,o,s),f=Nt(t,n,o,c,s),d=e.ref(),p=e.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":!0,"f-state-editable":!1,"f-state-readonly":!0}));e.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);const r=e.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((y,h)=>(y[h]=!0,y),m),m}),{renderButtonGroup:u}=Tt(t,n,f);return()=>e.createVNode("div",e.mergeProps(n.attrs,{ref:o,class:r.value,id:t.id}),[e.createVNode("div",{class:p.value},[e.createVNode("input",{ref:d,class:"form-control",readonly:!0,placeholder:t.placeholder},null),u()])])}});class Et{constructor(n,o){$(this,"componentId");$(this,"viewModelId");$(this,"eventsEditorUtils");$(this,"formSchemaUtils");$(this,"formMetadataConverter");$(this,"designViewModelUtils");$(this,"designViewModelField");$(this,"controlCreatorUtils");$(this,"designerHostService");$(this,"schemaService",null);$(this,"metadataService",null);$(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=n,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var a;const o=n.binding&&n.binding.type==="Form"&&n.binding.field;if(o){if(!this.designViewModelField){const l=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=l.fields.find(i=>i.id===o)}n.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:n.type,name:B[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,o){const a=o&&o.parent&&o.parent.schema;if(!a)return;const l=a.contents.findIndex(s=>s.id===n),i=U.cloneDeep(a.contents[l]);a.contents.splice(l,1),a.contents.splice(l,0,i)}}const X=class X{static getEditorTypesByMDataType(n){const o=X.fieldControlTypeMapping[n];return o||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(const o in X.fieldControlTypeMapping)X.fieldControlTypeMapping[o].forEach(a=>{n.find(l=>l.key===a.key&&l.value===a.value)||n.push({key:a.key,value:a.value})});return n}static mappingDomPropAndSchemaProp(n){var l;const o=(l=n.editor)==null?void 0:l.type;if(!o)return[];const a=[];switch(a.push({domField:"editor.required",schemaField:"require"}),a.push({domField:"editor.readonly",schemaField:"readonly"}),o){case B["data-grid-column"].type:case B["tree-grid-column"].type:{a.push({domField:"title",schemaField:"name"});break}default:a.push({domField:"label",schemaField:"name"})}return(o===B["input-group"].type||o===B.textarea.type||o===B["number-spinner"].type)&&a.push({domField:"editor.maxLength",schemaField:"type.length"}),o===B["number-spinner"].type&&a.push({domField:"editor.precision",schemaField:"type.precision"}),(o===B["combo-list"].type||o===B["radio-group"].type)&&a.push({domField:"editor.data",schemaField:"type.enumValues"}),o===B["date-picker"].type&&(a.push({domField:"editor.displayFormat",schemaField:"editor.format"}),a.push({domField:"editor.fieldType",schemaField:"type.name"})),o===B["number-spinner"].type&&(a.push({domField:"editor.max",schemaField:"editor.maxValue"}),a.push({domField:"editor.min",schemaField:"editor.minValue"})),o===B.lookup.type&&(a.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),a.push({domField:"editor.valueField",schemaField:"editor.valueField"}),a.push({domField:"editor.textField",schemaField:"editor.textField"}),a.push({domField:"editor.displayType",schemaField:"editor.displayType"}),a.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),a.push({domField:"editor.helpId",schemaField:"editor.helpId"})),a.push({domField:"path",schemaField:"bindingPath"}),a.push({domField:"binding.path",schemaField:"bindingField"}),a.push({domField:"binding.fullPath",schemaField:"path"}),(o===B["data-grid-column"].type||o===B["tree-grid-column"].type)&&a.push({domField:"field",schemaField:"bindingPath"}),a}};$(X,"fieldControlTypeMapping",{String:[{key:B["input-group"].type,value:B["input-group"].name},{key:B.lookup.type,value:B.lookup.name},{key:B["date-picker"].type,value:B["date-picker"].name},{key:B["check-group"].type,value:B["check-group"].name},{key:B["radio-group"].type,value:B["radio-group"].name},{key:B["combo-list"].type,value:B["combo-list"].name},{key:B.textarea.type,value:B.textarea.name}],Text:[{key:B.textarea.type,value:B.textarea.name},{key:B.lookup.type,value:B.lookup.name}],Decimal:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Integer:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Number:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],BigNumber:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Date:[{key:B["date-picker"].type,value:B["date-picker"].name}],DateTime:[{key:B["date-picker"].type,value:B["date-picker"].name}],Boolean:[{key:B.switch.type,value:B.switch.name},{key:B["check-box"].type,value:B["check-box"].name}],Enum:[{key:B["combo-list"].type,value:B["combo-list"].name},{key:B["radio-group"].type,value:B["radio-group"].name}],Object:[{key:B.lookup.type,value:B.lookup.name},{key:B["combo-list"].type,value:B["combo-list"].name},{key:B["radio-group"].type,value:B["radio-group"].name}]});let te=X;const $t=e.ref(0);class Pt{constructor(){$(this,"label","");$(this,"id","");$(this,"columnInSM",12);$(this,"columnInMD",6);$(this,"columnInLG",3);$(this,"columnInEL",2);$(this,"displayWidthInSM",1);$(this,"displayWidthInMD",1);$(this,"displayWidthInLG",1);$(this,"displayWidthInEL",1);$(this,"displayColumnCountAtBreakPoint","md");$(this,"tagRow",0);$(this,"showTopBorder",0);$(this,"group",1);$(this,"isSupportedClass",!0);$(this,"fieldSetId","")}}function Lt(t){let n,o;const a=new Map;let l=[];function i(p,r){const m=p.split(" ").filter(w=>w.startsWith("col-"));if(m.length===0){r.isSupportedClass=!1;return}let y=m.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),h=m.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),g=m.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),b=m.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));y=y||"col-12",r.columnInSM=parseInt(y.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),h=h||"col-md-"+r.columnInSM,r.columnInMD=parseInt(h.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),g=g||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(g.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),b=b||"col-el-"+r.columnInLG,r.columnInEL=parseInt(b.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function s(p,r,u,m=!1){let y=!1;p.contents.forEach(h=>{if(h.type==="fieldset"){u+=1,s(h,r,u,!0),y=!0;return}y&&(u+=1,y=!1);const g=h.appearance&&h.appearance.class,b=new Pt;g?i(g,b):b.isSupportedClass=!1,b.label=h.label||h.id,b.id=h.id,b.group=u,m&&(b.fieldSetId=p.id),o===h.id&&(n=u),a.set(h.id,h),r.push(b)})}function c(p){const r=t.getComponentById(p);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const u=t.selectNode(r,m=>m.type===Q.DgControl["response-form"].type);return!u||!u.contents||u.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:u}}function f(p,r){r=r||p.id;const{result:u,message:m,formNode:y}=c(r);if(!u)return{result:u,message:m};o=p.id,l=[],a.clear();const h=y.contents[0].type===Q.DgControl.fieldset.type?0:1;s(y,l,h);const g=l.find(w=>!w.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:g?"customize":"standard"},importData:l}}function d(p,r){r=r;const{result:u,formNode:m}=c(r);if(!u)return"";const y=[];return p.forEach(h=>{var w;const g=a.get(h.id),b=g.appearance&&g.appearance.class;if(b){const k=b.split(" ").filter(O=>!O.startsWith("col-")),V="col-"+h.columnInSM,N="col-md-"+h.columnInMD,v="col-xl-"+h.columnInLG,C="col-el-"+h.columnInEL,x=[V,N,v,C].concat(k);g.appearance.class=x.join(" ")}if(h.fieldSetId){const S=m.contents.find(V=>V.id===h.fieldSetId),k=y.find(V=>V.id===h.fieldSetId);k?(w=k.contents)==null||w.push(g):(y.push(S),S.contents=[g])}else y.push(g)}),m.contents=y,m.id}return{checkCanFindFormNode:c,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:d,getResonseFormLayoutConfig:s}}class jt extends Et{constructor(o,a){super(o,a);$(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=Lt(this.formSchemaUtils)}getPropertyConfig(o,a){return this.propertyConfig.categories.basic=this.getBasicProperties(o,a),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,a),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,a){var i;const l=this;return this.setDesignViewModelField(o),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:l.designViewModelField?te.getEditorTypesByMDataType((i=l.designViewModelField.type)==null?void 0:i.name):te.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:o,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(s,c){if(s)switch(s&&s.propertyID){case"type":{l.changeControlType(o,s,a);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,a){const l=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:l.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,l.componentId)}}},setPropertyRelates(i,s){if(i)switch(i&&i.propertyID){case"responseLayout":l.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(i.propertyValue,l.componentId||o.id),l.updateUnifiedLayoutAfterResponseLayoutChanged(l.componentId),l.updateElementByParentContainer(o.id,a),delete o.responseLayout;break;case"class":l.updateUnifiedLayoutAfterControlChanged(i.propertyValue,o.id,this.componentId),l.updateElementByParentContainer(o.id,a);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,a,l){var p,r,u,m;const i=a.propertyValue,s=l&&l.parent&&l.parent.schema;if(!s)return;const c=s.contents.findIndex(y=>y.id===o.id),f=s.contents[c];let d;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),d=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,i)),d||(d=this.controlCreatorUtils.createFormGroupWithoutField(i)),Object.assign(d,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(d.editor,{isTextArea:d.isTextArea&&f.isTextArea,placeholder:(p=f.editor)==null?void 0:p.placeholder,holdPlace:(r=f.editor)==null?void 0:r.holdPlace,readonly:(u=f.editor)==null?void 0:u.readonly,required:(m=f.editor)==null?void 0:m.required}),s.contents.splice(c,1),s.contents.splice(c,0,d),l.schema=Object.assign(f,d),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(y=>y.classList.remove("dgComponentFocused")),$t.value++}getComponentConfig(o,a={},l={},i){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},a),c=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},l);return{...s,properties:{...c},setPropertyRelates:i}}updateUnifiedLayoutAfterControlChanged(o,a,l){const i=o.split(" ");let s=i.find(r=>/^col-([1-9]|10|11|12)$/.test(r)),c=i.find(r=>/^col-md-([1-9]|10|11|12)$/.test(r)),f=i.find(r=>/^col-xl-([1-9]|10|11|12)$/.test(r)),d=i.find(r=>/^col-el-([1-9]|10|11|12)$/.test(r));s=s||"col-12",c=c||"col-md-"+s.replace("col-",""),f=f||"col-xl-"+c.replace("col-md-",""),d=d||"col-el-"+f.replace("col-xl-","");const p={id:a,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(c.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(d.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(l,p)}updateUnifiedLayoutAfterResponseLayoutChanged(o,a){const{formNode:l}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!l||!l.unifiedLayout)return;const i=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(l,i,1),a){const y=i.find(h=>h.id===a.id);Object.assign(y||{},a)}const s=i.map(y=>y.columnInSM),c=i.map(y=>y.columnInMD),f=i.map(y=>y.columnInLG),d=i.map(y=>y.columnInEL),p=this.checkIsUniqueColumn(s)?s[0]:null,r=this.checkIsUniqueColumn(c)?c[0]:null,u=this.checkIsUniqueColumn(f)?f[0]:null,m=this.checkIsUniqueColumn(d)?d[0]:null;Object.assign(l.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:r,uniqueColClassInLG:u,uniqueColClassInEL:m})}checkIsUniqueColumn(o){const a=new Set(o);return Array.from(a).length===1}getItemCollectionEditor(o,a,l){return a=a||"value",l=l||"name",{editor:{columns:[{field:a,title:"值",dataType:"string"},{field:l,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:a,nameField:l,requiredFields:[a,l],uniqueFields:[a,l],readonly:this.checkEnumDataReadonly(o)}}}checkEnumDataReadonly(o){return!o.binding||o.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===pe.FormSchemaEntityFieldType$Type.EnumType)}}class Dt extends jt{constructor(n,o){super(n,o)}getEditorProperties(n){const o=this,a=o.getComponentConfig(n,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},enableClear:{description:"",title:"启用清空",type:"boolean"},textField:{visible:!1,description:"",title:"数据源显示字段",type:"string"},valueField:{visible:!1,description:"",title:"数据源值字段",type:"string"},idField:{visible:!1,description:"",title:"数据源标识字段",type:"string"},data:{description:"",title:"数据",type:"array",$converter:"/converter/enum-data.converter",...o.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0}});return a.setPropertyRelates=function(l){if(l)switch(l.propertyID){case"data":{l.propertyValue.parameters&&(n.editor.valueField=l.propertyValue.parameters.valueField,n.editor.textField=l.propertyValue.parameters.nameField),!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...l.propertyValue.value]);break}}},a}}function Rt(t,n){const o=t.schema;function a(l,i){return new Dt(l,n).getPropertyConfig(o,i)}return{getPropsConfig:a}}const At=e.defineComponent({name:"FComboListDesign",props:ct,emits:["clear","update:modelValue","change"],setup(t,n){const o=e.ref(),a=e.inject("designer-host-service"),l=e.inject("design-item-context"),i=Rt(l,a),s=Q.useDesignerComponent(o,l,i);return e.onMounted(()=>{o.value.componentInstance=s}),n.expose(s.value),()=>e.createVNode(Ot,{ref:o,buttonContent:t.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:t.placeholder,enableClear:!0},null)}});ee.register=(t,n,o,a)=>{t["combo-list"]=ee,n["combo-list"]=Se},ee.registerDesigner=(t,n,o)=>{t["combo-list"]=At,n["combo-list"]=Se};const ne=pe.withInstall(ee),oe=e.defineComponent({name:"FOrder",props:K,emits:["change"],setup(t,n){const o=e.ref(t.items),a=e.ref("排序列"),l=e.ref("排序方式"),i=e.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],c=e.ref(new Map);function f(){const g=o.value.map(b=>[b.id,!0]);c.value=new Map(g)}f();const d=e.computed(()=>t.dataSource.map(g=>(g.disabled=c.value.has(g.id),g))),p=e.computed(()=>({"f-order":!0}));function r(g){o.value=o.value.filter(b=>b.id!==g.id),f(),n.emit("change",o.value)}function u(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],f(),n.emit("change",o.value)}function m(g){if(g&&g.length===1){const b=g[0],w=o.value.find(S=>S.id===b.id);w&&(w.name=b.name)}f(),n.emit("change",o.value)}function y(g){if(g&&g.length){const b=new Map;g.reduce((w,S)=>(w.set(S.id,S),w),b),o.value=g.map(w=>b.get(w.id)),n.emit("change",o.value)}}function h(){return e.createVNode(Ce,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:r,onChange:y},{header:()=>e.createVNode("div",{class:"f-order-header"},[e.createVNode("span",{class:"f-order-header-order-field"},[a.value]),e.createVNode("span",{class:"f-order-header-order-type"},[l.value])]),itemContent:g=>e.createVNode("div",{class:"f-order-item-content"},[e.createVNode(ne,{class:"f-order-item-content-order-field",data:d.value,valueField:"id",textField:"name",idField:"id",modelValue:g.id,"onUpdate:modelValue":b=>g.id=b,onChange:m,onClear:m},null),e.createVNode(ne,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:g.order,"onUpdate:modelValue":b=>g.order=b,onChange:m},null)]),footer:()=>e.createVNode("div",{class:"f-order-footer"},[e.createVNode(we,{type:"link",class:"f-order-add-button",onClick:u},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"f-order-add-icon"},[e.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>e.createVNode("div",{class:p.value},[h()])}});function Ht(t,n,o){var N;const a="",l="",i=e.ref();function s(){return(n==null?void 0:n.schema.componentType)!=="frame"}function c(){return!1}function f(){return(n==null?void 0:n.schema.componentType)!=="frame"}function d(){return(n==null?void 0:n.schema.componentType)==="frame"}function p(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const C=e.ref(v==null?void 0:v.value.parent),x=p(C);return x||null}function r(v=n){var T;const{componentInstance:C,designerItemElementRef:x}=v;if(!C||!C.value)return null;const{getCustomButtons:O}=C.value;return C.value.canMove||O&&((T=O())!=null&&T.length)?x:r(v.parent)}function u(v){return!!o}function m(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function y(){}function h(v,C){}function g(v,C){const{componentType:x}=v;let O=ye(x,v,C);const T=x.toLowerCase().replace(/-/g,"_");return O&&!O.id&&O.type===x&&(O.id=`${T}_${Math.random().toString().slice(2,6)}`),O}function b(v){}function w(...v){}function S(){n!=null&&n.schema.contents&&n.schema.contents.map(v=>{let C=v.id;v.type==="component-ref"&&(C=v.component);const x=t.value.querySelectorAll(`#${C}-design-item`);x!=null&&x.length&&Array.from(x).map(O=>{var T;(T=O==null?void 0:O.componentInstance)!=null&&T.value.onRemoveComponent&&O.componentInstance.value.onRemoveComponent()})})}function k(){}function V(v){}return i.value={canMove:s(),canSelectParent:c(),canDelete:f(),canNested:!d(),contents:n==null?void 0:n.schema.contents,elementRef:t,parent:(N=n==null?void 0:n.parent)==null?void 0:N.componentInstance,schema:n==null?void 0:n.schema,styles:a,designerClass:l,canAccepts:u,getBelongedComponentInstance:p,getDraggableDesignItemElement:r,getDraggingDisplayText:m,getPropConfig:w,getDragScopeElement:y,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:g,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1),onRemoveComponent:S,getCustomButtons:k,onPropertyChanged:V},i}const zt=e.defineComponent({name:"FOrderDesign",props:K,emits:["change"],setup(t,n){const o=e.ref(t.items),a=e.ref("排序列"),l=e.ref("排序方式"),i=e.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],c=e.ref(new Map),f=e.ref(),d=e.inject("design-item-context"),p=Ht(f,d);e.onMounted(()=>{f.value.componentInstance=p}),n.expose(p.value);function r(){const S=o.value.map(k=>[k.id,!0]);c.value=new Map(S)}r();const u=e.computed(()=>t.dataSource.map(S=>(S.disabled=c.value.has(S.id),S))),m=e.computed(()=>({"f-order":!0}));function y(S){o.value=o.value.filter(k=>k.id!==S.id),r(),n.emit("change",o.value)}function h(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],r(),n.emit("change",o.value)}function g(S){r(),n.emit("change",o.value)}function b(S){if(S&&S.length){const k=new Map;S.reduce((V,N)=>(V.set(N.id,N),V),k),o.value=S.map(V=>k.get(V.id)),n.emit("change",o.value)}}function w(){return e.createVNode(Ce,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:y,onChange:b},{header:()=>e.createVNode("div",{class:"f-order-header"},[e.createVNode("span",{class:"f-order-header-order-field"},[a.value]),e.createVNode("span",{class:"f-order-header-order-type"},[l.value])]),itemContent:S=>e.createVNode("div",{class:"f-order-item-content"},[e.createVNode(ne,{class:"f-order-item-content-order-field",data:u.value,valueField:"id",textField:"name",idField:"id",modelValue:S.id,"onUpdate:modelValue":k=>S.id=k,onChange:g,onClear:g},null),e.createVNode(ne,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:S.order,"onUpdate:modelValue":k=>S.order=k,onChange:g},null)]),footer:()=>e.createVNode("div",{class:"f-order-footer"},[e.createVNode(we,{type:"link",class:"f-order-add-button",onClick:h},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"f-order-add-icon"},[e.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>e.createVNode("div",{ref:f,class:m.value},[w()])}}),qt={install(t){t.component(oe.name,oe)},register(t,n,o,a){t.order=oe,n.order=se},registerDesigner(t,n,o){t.order=zt,n.order=se}};R.FOrder=oe,R.default=qt,R.orderProps=K,R.propsResolver=se,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../data-view/index.umd.js","../checkbox/index.umd.js","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R.order={},R.Vue,R.LodashES,R.dataView,R.checkbox,R.FListView$1,R.FButtonEdit,R.dynamicResolver,R.designerCanvas,R.common))})(this,function(R,e,U,W,le,Ne,xe,Te,Q,pe){"use strict";var rn=Object.defineProperty;var sn=(R,e,U)=>e in R?rn(R,e,{enumerable:!0,configurable:!0,writable:!0,value:U}):R[e]=U;var $=(R,e,U)=>sn(R,typeof e!="symbol"?e+"":e,U);const me={},he={};function ie(t){const{properties:n,title:o,ignore:a}=t,l=a&&Array.isArray(a),i=Object.keys(n).reduce((s,c)=>((!l||!a.find(f=>f===c))&&(s[c]=n[c].type==="object"&&n[c].properties?ie(n[c]):U.cloneDeep(n[c].default)),s),{});if(o&&(!l||!a.find(s=>s==="id"))){const s=o.toLowerCase().replace(/-/g,"_");i.id=`${s}_${Math.random().toString().slice(2,6)}`}return i}function Oe(t){const{properties:n,title:o,required:a}=t;if(a&&Array.isArray(a)){const l=a.reduce((i,s)=>(i[s]=n[s].type==="object"&&n[s].properties?ie(n[s]):U.cloneDeep(n[s].default),i),{});if(o&&a.find(i=>i==="id")){const i=o.toLowerCase().replace(/-/g,"_");l.id=`${i}_${Math.random().toString().slice(2,6)}`}return l}return{type:o}}function ye(t,n={},o){const a=me[t];if(a){let l=Oe(a);const i=he[t];return l=i?i({getSchemaByType:ye},l,n,o):l,l}return null}function Ee(t,n){const o=ie(n);return Object.keys(o).reduce((a,l)=>(Object.prototype.hasOwnProperty.call(t,l)&&(a[l]&&U.isPlainObject(a[l])&&U.isPlainObject(t[l]||!t[l])?Object.assign(a[l],t[l]||{}):a[l]=t[l]),a),o),o}function $e(t,n){return Object.keys(t).filter(a=>t[a]!=null).reduce((a,l)=>{if(n.has(l)){const i=n.get(l);if(typeof i=="string")a[i]=t[l];else{const s=i(l,t[l],t);Object.assign(a,s)}}else a[l]=t[l];return a},{})}function Pe(t,n,o=new Map){const a=Ee(t,n);return $e(a,o)}function Le(t={}){function n(d,p,r,u){if(typeof r=="number")return u[d].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],y=r[m];if(m==="not")return Number(u[d].length)!==Number(y);if(m==="moreThan")return Number(u[d].length)>=Number(y);if(m==="lessThan")return Number(u[d].length)<=Number(y)}return!1}function o(d,p,r,u){return u[d]&&u[d].propertyValue&&String(u[d].propertyValue.value)===String(r)}const a=new Map([["length",n],["getProperty",o]]);Object.keys(t).reduce((d,p)=>(d.set(p,t[p]),d),a);function l(d,p){const r=d;return typeof p=="number"?[{target:r,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:r,operator:"getProperty",param:d,value:!!p}]:typeof p=="object"?Object.keys(p).map(u=>{if(u==="length")return{target:r,operator:"length",param:null,value:p[u]};const m=u,y=p[u];return{target:r,operator:"getProperty",param:m,value:y}}):[]}function i(d){return Object.keys(d).reduce((r,u)=>{const m=l(u,d[u]);return r.push(...m),r},[])}function s(d,p){if(a.has(d.operator)){const r=a.get(d.operator);return r&&r(d.target,d.param,d.value,p)||!1}return!1}function c(d,p){return i(d).reduce((m,y)=>m&&s(y,p),!0)}function f(d,p){const r=Object.keys(d),u=r.includes("allOf"),m=r.includes("anyOf"),y=u||m,b=(y?d[y?u?"allOf":"anyOf":"allOf"]:[d]).map(S=>c(S,p));return u?!b.includes(!1):b.includes(!0)}return{parseValueSchema:f}}const B={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},je={},De={};Le();function Z(t,n,o=new Map,a=(s,c,f,d)=>c,l={},i=s=>s){return me[n.title]=n,he[n.title]=a,je[n.title]=l,De[n.title]=i,(s={})=>{const c=Pe(s,n,o),f=Object.keys(t).reduce((d,p)=>(d[p]=t[p].default,d),{});return Object.assign(f,c)}}function re(t,n){return{customClass:n.class,customStyle:n.style}}const Re=new Map([["appearance",re]]),Ae={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/order.schema.json",title:"order",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a order",type:"string"},type:{description:"The type string of order component",type:"string",default:"order"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function He(t,n,o){return n}const ze={title:"order",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:{editable:{description:"",title:"允许编辑",type:"boolean"},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"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},K={dataSource:{type:Array,default:[{id:"1",name:"发票类型"},{id:"2",name:"发票代码"},{id:"3",name:"开票日期"},{id:"4",name:"票价(燃油附加费)"},{id:"5",name:"税收分类编号"}]},items:{type:Array,default:[{id:"1",name:"发票类型",order:"asc"},{id:"2",name:"发票代码",order:"desc"},{id:"3",name:"开票日期",order:"asc"}]}},se=Z(K,Ae,Re,He,ze),qe=new Map([["appearance",re]]);function We(t,n,o){return n}const Ue={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},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"]},Ge={title:"list-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:[]}}}}}},ge={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0},virtualized:{type:Boolean,default:!0}};Z(ge,Ue,qe,We,Ge);function _e(t,n){function o(i){const s=[];let c=i.nextNode();for(;c;)s.push(c),c=i.nextNode();return s}function a(i,s){const c=document.createTreeWalker(i,NodeFilter.SHOW_TEXT);return o(c).map(r=>({textNode:r,text:(r.textContent||"").toLocaleLowerCase()})).map(({textNode:r,text:u})=>{const m=[];let y=0;for(;y<u.length;){const h=u.indexOf(s,y);if(h===-1)break;m.push(h),y=h+s.length}return m.map(h=>{const g=new Range;return g.setStart(r,h),g.setEnd(r,h+s.length),g})}).flat()}function l(i){if(!CSS.highlights||(CSS.highlights.clear(),!i||!n))return;const s=a(n.value,i.toLocaleLowerCase()),c=new Highlight(...s);CSS.highlights.set("search-result",c)}return{search:l}}function ve(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.size),r=e.ref(t.textField),u=e.ref(t.titleField),m=e.ref(t.disableField),y=e.computed(()=>{var C,x;return((C=t.selection)==null?void 0:C.multiSelect)&&((x=t.selection)==null?void 0:x.showCheckbox)}),{onMouseenterItem:h,onMouseoverItem:g,onMouseoutItem:b}=i,{getKey:w,listViewItemClass:S,onCheckItem:k,onClickItem:V}=s,N=e.computed(()=>t.itemClass?{}:{margin:p.value==="small"?"0.25rem 0":"8px 0"});function v(C,x,O){return C.checked=c.findIndexInSelectedItems(C)>-1,e.createVNode("li",{class:S(C,x),id:w(C,x),key:w(C,x),onClick:T=>V(T,C,x),onMouseenter:T=>h(T,C,x),onMouseover:T=>g(T,C,x),onMouseout:T=>b(T,C,x)},[y.value&&e.createVNode("div",{class:"f-list-select",onClick:T=>T.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+w(C,x),customClass:"listview-checkbox",disabled:C[m.value],checked:C.checked,"onUpdate:checked":T=>C.checked=T,onChange:T=>{k(C,x,!T.checked)}},null)]),e.createVNode("div",{class:"f-list-content"},[e.createVNode("div",{style:N.value,title:C.raw[u.value]||C.raw[r.value]},[C.raw[r.value]])])])}return{renderItem:v}}function Xe(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.multiSelect),r=e.ref(t.disableField),{onMouseenterItem:u,onMouseoverItem:m,onMouseoutItem:y}=i,{getKey:h,listViewItemClass:g,onCheckItem:b,onClickItem:w}=s;function S(V,N,v){return n.slots.content?e.createVNode(e.Fragment,null,[n.slots.content&&n.slots.content({item:V.raw,index:N,selectedItem:v})]):e.createVNode("div",{style:"margin: 10px 0;"},[V.raw.name])}function k(V,N,v){return e.createVNode("li",{class:g(V,N),id:h(V,N),key:h(V,N),onClick:C=>w(C,V,N),onMouseenter:C=>u(C,V,N),onMouseover:C=>m(C,V,N),onMouseout:C=>y(C,V,N)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:C=>C.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+h(V,N),customClass:"listview-checkbox",disabled:V[r.value]||!V.checked,checked:V.checked,"onUpdate:checked":C=>V.checked=C,onChange:C=>b(V,N,!C.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[S(V,N,v)])])}return{renderItem:k}}function Ye(t,n,o,a,l,i,s,c,f,d){const p=e.ref(t.multiSelect),r=e.ref(t.disableField),{onMouseenterItem:u,onMouseoverItem:m,onMouseoutItem:y}=i,{getKey:h,listViewItemClass:g,onCheckItem:b,onClickItem:w}=s,{dragstart:S,dragenter:k,dragover:V,dragend:N}=a,{removeItem:v}=f,C=e.computed(()=>({margin:p.value?"10px 0":"10px 0px 10px 14px"}));function x(P){return e.createVNode("div",{style:C.value},[P.raw.name])}function O(){return n.slots.itemContent?n.slots.itemContent:x}const T=O();function H(P,A,G){return e.createVNode("li",{class:g(P,A),id:h(P,A),key:h(P,A),onClick:L=>w(L,P,A),onMouseenter:L=>u(L,P,A),onMouseover:L=>m(L,P,A),onMouseout:L=>y(L,P,A),draggable:"true",onDragstart:L=>S(L,P,A),onDragenter:L=>k(L,A),onDragend:L=>N(L,P),onDragover:L=>V(L,A)},[p.value&&e.createVNode("div",{class:"f-list-select",onClick:L=>L.stopPropagation()},[e.createVNode(le.FCheckbox,{id:"list-"+h(P,A),customClass:"listview-checkbox",disabled:P[r.value]||!P.checked,checked:P.checked,"onUpdate:checked":L=>P.checked=L,onChange:L=>b(P,A,!L.checked)},null)]),e.createVNode("div",{class:"f-list-content"},[T(P)]),e.createVNode("div",{class:"f-list-remove",onClick:L=>v(A)},[e.createVNode("div",{class:"f-list-remove-icon"},[e.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),e.createVNode("div",{class:"f-list-handle"},[e.createVNode("div",null,[e.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:H}}function Je(t,n,o,a,l,i,s,c,f,d){var h;const p=e.ref(((h=t.group)==null?void 0:h.groupFields)||[]),{collpaseGroupIconClass:r}=l,{toggleGroupRow:u}=d;function m(g,b){b.collapse=!b.collapse,o.value=u(b.collapse?"collapse":"expand",b,o.value)}function y(g,b,w){return g.layer>-1&&e.createVNode("div",{class:"f-navlookup-recentHeader",onClick:S=>m(S,g)},[e.createVNode("div",{class:"fv-grid-group-row-icon"},[e.createVNode("span",{class:r(g)},null)]),e.createVNode("div",{class:"f-navlookup-recommandLabel"},[g.raw[p.value[g.layer]]])])}return{renderItem:y}}function Qe(t,n,o,a){const l=e.ref(t.idField),{dataView:i}=o,s=e.ref(-1),c=e.ref(!1),{activeIndex:f,focusedItemId:d,hoverIndex:p,resumeHover:r,suspendHover:u}=a;function m(b,w,S){b.stopPropagation(),u(),w&&setTimeout(()=>{s.value=S,c.value=!0,w.moving=!0})}function y(b,w){if(b.preventDefault(),s.value!==w){const S=i.value[s.value],k=i.value;k.splice(s.value,1),k.splice(w,0,S),s.value=w}}function h(b,w){b.preventDefault(),b.dataTransfer&&(b.dataTransfer.dropEffect="move")}function g(b,w){w&&(w.moving=!1),i.value.forEach((S,k)=>{S.__fv_index__=k}),c.value=!1,r(),p.value=w.raw.__fv_index__,f.value=w.raw.__fv_index__,d.value=w.raw[l.value],n.emit("change",i.value),n.emit("activeChange",w)}return{dragstart:m,dragenter:y,dragover:h,dragend:g,isDragging:c}}function Ze(t,n,o){const{dataView:a}=o;function l(i){if(i>-1&&i<a.value.length){const s=a.value.splice(i,1);n.emit("removeItem",s[0])}}return{removeItem:l}}function Ke(t,n,o,a,l,i){const s=e.ref(t.idField),c=e.ref(t.disableField),f=e.ref(t.draggable),d=e.ref(t.itemClass),p=e.ref(t.selection.multiSelect??!1),r=e.ref(t.selection.multiSelectMode),{isDragging:u}=a,{activeIndex:m,focusedItemId:y,hoverIndex:h}=l,{clearSelection:g,getSelectedItems:b,toggleSelectItem:w}=i,S=e.ref(b());function k(T,H){const P={"f-list-view-group-item":!0,"f-list-view-draggable-item":f.value,"f-un-click":!T.checked,"f-un-select":!!T.raw[c.value],"f-listview-active":T.raw.__fv_index__===m.value,"f-listview-hover":!u.value&&H===h.value,moving:!!T.moving};return d.value.split(" ").reduce((G,L)=>(G[L]=!0,G),P),P}function V(T,H){return T.raw[s.value]||""}const N=e.computed(()=>!p.value);function v(T,H,P){T.checked=P,!T.raw[c.value]&&(N.value&&(y.value=T.raw[s.value]),w(T))}const C=e.computed(()=>p.value&&r.value==="OnCheckClearByClick"),x=e.computed(()=>!p.value||p.value&&(r.value==="OnCheckAndClick"||r.value==="OnClick"));function O(T,H,P){if(H.raw[c.value]){T.preventDefault(),T.stopPropagation();return}y.value=H.raw[s.value],m.value=P,C.value&&g(),x.value&&(w(H),S.value=b()),n.emit("clickItem",{data:S.value,index:P}),n.emit("activeChange",S.value)}return{getKey:V,listViewItemClass:k,onCheckItem:v,onClickItem:O}}function et(t,n,o,a,l,i,s,c){const f=e.ref(t.view),d=e.ref(t.view==="CardView"),p=e.ref({}),r=e.ref("暂无数据"),u=Qe(t,n,a,i),m=Ze(t,n,a),y=Ke(t,n,o,u,i,s),h=e.computed(()=>({"f-list-view-group":!0,"f-list-view-group-multiselect":t.multiSelect,"d-flex":d.value,"flex-wrap":d.value})),g=e.computed(()=>!!o.value&&o.value.length>0),b=e.computed(()=>o.value.length===0);e.computed(()=>b.value&&!n.slots.empty);function w(){return f.value==="SingleView"?ve:f.value==="DraggableView"?Ye:(f.value==="ContentView"||f.value==="CardView")&&n.slots.content?Xe:ve}const S=w(),{renderItem:k}=S(t,n,o,u,l,i,y,s,m,c),{renderItem:V}=Je(t,n,o,u,l,i,y,s,m,c),N=[k,V];function v(){return o.value.filter(O=>O.visible!==!1).map((O,T)=>N[O.type](O,T,p))}function C(){return e.createVNode("div",{class:"f-list-view-emptydata"},[e.createVNode("p",{class:"f-empty-title"},[n.slots.empty?n.slots.empty():r.value])])}function x(){return e.createVNode("ul",{class:h.value,style:"list-style: none;"},[g.value&&v(),b.value&&C()])}return{renderListArea:x}}function tt(t,n,o){function a(){return n.slots.header&&e.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:a}}function be(t,n,o){const a=e.ref(t.headerClass),l=e.ref(t.placeholder),i=e.ref(""),s=e.computed(()=>!i.value),c=e.computed(()=>!!i.value);function f(u){i.value=""}e.watch(i,u=>{t.enableHighlightSearch&&o.search(u),n.emit("afterSearch",u)});const d=e.computed(()=>{const u={"form-group":!0,"farris-form-group":!0};return a.value&&a.value.split(" ").reduce((y,h)=>(y[h]=!0,y),u),u});function p(u){}function r(){return e.createVNode("div",{class:"f-list-view-header",onClick:e.withModifiers(()=>p,["prevent","stop"])},[e.createVNode("div",{class:d.value},[e.createVNode("div",{class:"farris-input-wrap"},[e.createVNode("div",{class:"f-cmp-inputgroup"},[e.createVNode("div",{class:"input-group f-state-editable"},[e.withDirectives(e.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":u=>i.value=u,name:"input-group-value",type:"text",placeholder:l.value,autocomplete:"off"},null),[[e.vModelText,i.value]]),e.createVNode("div",{class:"input-group-append"},[c.value&&e.createVNode("span",{class:"input-group-text input-group-clear",onClick:u=>f()},[e.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),s.value&&e.createVNode("span",{class:"input-group-text"},[e.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:r}}function nt(){const t=e.ref(""),n=e.ref(-1),o=e.ref(""),a=e.ref(-1),l=e.ref(!1);function i(r,u,m){a.value=m}function s(r,u,m){l.value||(a.value=m)}function c(r,u,m){a.value=-1}function f(){l.value=!0}function d(){l.value=!1}function p(){n.value=-1,t.value=""}return{activeIndex:n,focusedItemId:o,hoverIndex:a,clearActiveItem:p,onMouseenterItem:i,onMouseoverItem:s,onMouseoutItem:c,resumeHover:d,suspendHover:f}}const Ce=e.defineComponent({name:"FListView",props:ge,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(t,n){const o=e.ref(),a=e.ref(!0),l=e.ref(!1),i=e.ref([]),s=0,c=e.ref(t.columns),f=W.useFilter(),d=W.useIdentify(t),p=W.useHierarchy(t),r=W.useGroupData(t,d),u=W.useDataView(t,new Map,f,p,d),m=W.useSelection(t,u,d,i,n),y=_e(t,o),h=e.computed(()=>u.dataView.value.length),g=W.useRow(t,n,m,d),b=W.useEdit(t,n,d,g),w=W.useVisualDataBound(t),S=W.useVisualDataCell(t,{},w),k=W.useVisualDataRow(t,b,p,d,w,S),V=W.useVisualGroupRow(t,d,S,k),N=W.useVisualSummaryRow(t,d,S,k),v=W.useVisualData(t,c,u,h,s,k,V,N),{getVisualData:C}=v;i.value=C(0,h.value+s-1);const x=e.computed(()=>{const E={"f-list-view":!0,"f-list-view-multiple":t.multiSelect};return t.size!=="default"&&(E[`${t.size}-item`]=!0),E}),O=e.computed(()=>!!n.slots.footer||a.value);function T(){return t.header==="SearchBar"?be:t.header==="ContentHeader"?tt:be}const H=T(),{renderHeader:P}=H(t,n,y),A=nt(),{renderListArea:G}=et(t,n,i,u,r,A,m,v);function L(E){y.search(E)}function M(E){E&&(u.load(E),i.value=C(0,h.value+s-1))}function I(){m.clearSelection(),A.clearActiveItem()}n.expose({search:L,updateDataSource:M,clearSelection:I});function j(E){t.multiSelect&&(E.preventDefault(),E.stopPropagation())}return()=>e.createVNode("div",{class:x.value,onClick:j},[P(),e.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{l.value=!0},onMouseleave:()=>{l.value=!1}},[G()]),O.value&&e.createVNode("div",{class:"f-list-view-footer"},[n.slots.footer&&n.slots.footer()])])}}),ot={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function at(t,n){function o(a){a.stopPropagation(),t.disabled||n.emit("click",a)}return{onClickButton:o}}function lt(t){const n=e.computed(()=>{const a={"f-icon":!0};if(t.icon){const l=t.icon.trim().split(" ");l&&l.length&&l.reduce((i,s)=>(i[s]=!0,i),a)}return a}),o=e.computed(()=>!!(t.icon&&t.icon.trim()));return{iconClass:n,shouldShowIcon:o}}const we=e.defineComponent({name:"FButton",props:ot,emits:["click"],setup(t,n){const{onClickButton:o}=at(t,n),{iconClass:a,shouldShowIcon:l}=lt(t),i=e.computed(()=>{const s={btn:!0,"btn-lg":t.size==="large","btn-md":t.size!=="large"&&t.size!=="small","btn-sm":t.size==="small","btn-icontext":l.value};return s[`btn-${t.type}`]=!0,t.customClass&&Object.keys(t.customClass).reduce((c,f)=>(c[f]=t.customClass[f],c),s),s});return()=>e.createVNode("button",{class:i.value,disabled:t.disabled,onClick:s=>o(s)},[l.value&&e.createVNode("i",{class:a.value},null),n.slots.default&&n.slots.default()])}}),it=new Map([["appearance",re]]),rt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},maxHeight:{description:"",type:"number",default:350}},required:["type"],ignore:["id","appearance","binding","visible"]};function st(t,n,o){return n}const ce={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},ct=Object.assign({},ce,{readonly:{}}),Se=Z(ce,rt,it,st),dt={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},ut=e.defineComponent({name:"FComboListContainer",props:dt,emits:["selectionChange"],setup(t,n){const o=e.ref(),a=e.ref(t.dataSource),l=e.ref([]),i=e.ref(t.separator),s=e.ref(t.width),c=e.ref(t.maxHeight),f=e.ref(String(t.selectedValues).split(i.value)),d=e.computed(()=>t.multiSelect),p=e.computed(()=>({enableSelectRow:!0,multiSelect:t.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));e.watch(t.dataSource,()=>{a.value=t.dataSource});const r=e.computed(()=>t.enableSearch?"SearchBar":"ContentHeader"),u=e.computed(()=>{const h={};return s.value!==void 0&&(h.width=`${s.value}px`),c.value!==void 0&&c.value>0&&(h.maxHeight=`${c.value}px`),h});function m(h){l.value=h.map(g=>Object.assign({},g)),f.value=h.map(g=>g[t.idField]),n.emit("selectionChange",l.value)}function y(h){if(t.enableHighlightSearch)return;let g=[];const{searchOption:b}=t;typeof b=="function"?g=a.value.filter(w=>b(h,w)):g=a.value.filter(w=>w[t.valueField].indexOf(h)>-1||w[t.textField].indexOf(h)>-1),o.value.updateDataSource(g)}return e.watch([()=>t.selectedValues],([h])=>{f.value=h.split(i.value)}),()=>e.createVNode("div",{class:"f-combo-list-container",style:u.value},[e.createVNode(Ne,{ref:o,size:"small",itemClass:"f-combo-list-item",header:r.value,headerClass:"f-combo-list-search-box",data:a.value,idField:t.idField,textField:t.textField,titleField:t.titleField,multiSelect:t.multiSelect,selection:p.value,enableHighlightSearch:t.enableHighlightSearch,selectionValues:f.value,onSelectionChange:m,onAfterSearch:y},null)])}});function ft(t){const n=e.ref(""),o=e.ref(t.modelValue),a=e.ref(t.data||[]),l=e.ref(t.editable);function i(r){const u=t.multiSelect?String(r).split(t.separator):[String(r)],m=u.map(g=>[g,!0]),y=new Map(m);return a.value.filter(g=>y.has(String(g[t.valueField]))).sort((g,b)=>{const w=u.indexOf(g[t.valueField]),S=u.indexOf(b[t.valueField]);return w-S})}function s(r){const u=i(r).map(m=>m[t.textField]).join(t.separator);n.value=l.value?u||r:u}function c(r){const u=r.split(t.separator).map(y=>[y,!0]),m=new Map(u);return a.value.filter(y=>m.has(y[t.textField]))}function f(r){const u={};return u[t.idField]=r,u[t.textField]=r,[u]}function d(r){let u=c(r);const m=u&&u.length>0;return l.value&&!m&&(u=f(r)),u}function p(){const{url:r,method:u="GET",headers:m={},body:y=null}=t.remote,h=u.toLowerCase()==="get"?{method:u,headers:m}:{method:u,headers:m,body:y};let g=!1;fetch(r,h).then(b=>{var S,k;if(b.status===200)return g=!!((k=(S=b.headers)==null?void 0:S.get("content-type"))!=null&&k.includes("application/json")),g?b.text():b.json();throw new Error(b.statusText)}).then(b=>{a.value=g?JSON.parse(b):b}).catch(b=>{console.error(b)})}return t.remote&&p(),e.watch(()=>t.data,()=>{a.value=t.data}),e.watch([a],([r])=>{if(t.modelValue!=null){const u=r.find(m=>m[t.valueField]===t.modelValue);u&&(n.value=u[t.textField])}}),e.watch(()=>t.modelValue,r=>{o.value=r,s(r)}),s(t.modelValue),{dataSource:a,displayText:n,editable:l,modelValue:o,getItemsByDisplayText:c,getItemsByValue:i,getSelectedItemsByDisplayText:d}}const ee=e.defineComponent({name:"FComboList",props:ce,emits:["clear","update:modelValue","change","input"],setup(t,n){const o=e.ref(),a=e.ref(t.disabled),l=e.ref(t.enableClear),i=e.ref(t.enableSearch),s=e.ref(t.readonly),{dataSource:c,displayText:f,editable:d,modelValue:p,getSelectedItemsByDisplayText:r}=ft(t),u=e.computed(()=>t.multiSelect),m=e.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function y(){!u.value&&o.value&&o.value.hidePopup()}function h(N){f.value=N.map(C=>C[t.textField]).join(t.separator);let v="";N.length===1?v=N[0][t.valueField]:v=N.map(C=>C[t.valueField]).join(t.separator),p.value!==v&&(p.value=v,n.emit("update:modelValue",p.value),n.emit("change",N,p.value)),y()}function g(){s.value||o.value.togglePopup()}function b(N){p.value="",n.emit("update:modelValue",""),n.emit("clear")}function w(N){const v=r(N);h(v)}function S(){return f.value}function k(N){n.emit("input",N)}function V(){o.value.hidePopup()}return n.expose({getDisplayText:S,hidePopup:V}),e.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([N,v,C,x,O])=>{a.value=N,d.value=v,l.value=C,i.value=x,s.value=O}),()=>e.createVNode(xe,{ref:o,id:t.id,disable:a.value,readonly:s.value,forcePlaceholder:t.forcePlaceholder,editable:d.value,buttonContent:t.dropDownIcon,placeholder:t.placeholder,enableClear:l.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:f.value,"onUpdate:modelValue":N=>f.value=N,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:b,onClick:g,onChange:w,onInput:k,beforeOpen:t.beforeOpen,placement:"auto"},{default:()=>[e.createVNode(ut,{idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:c.value,selectedValues:p.value,multiSelect:t.multiSelect,enableSearch:i.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?m.value:void 0,onSelectionChange:h},null)]})}}),pt=new Map([["appearance",Te.resolveAppearance]]);function mt(t,n,o){return n}const ht={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",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:"button-edit"},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},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},forcePlaceholder:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},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}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},yt={title:"buttonEdit",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:{editable:{description:"",title:"允许编辑",type:"boolean"},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"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},Fe={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"}};Z(Fe,ht,pt,mt,yt);const gt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},vt=e.defineComponent({name:"FOverlay",props:gt,emits:["click"],setup(t,n){const o=e.ref(t.popupContentPosition),a=e.ref(t.host),l=e.computed(()=>({backgroundColor:t.backgroundColor||"",pointerEvents:"auto"}));function i(c){n.emit("click"),c.preventDefault(),c.stopPropagation()}e.computed(()=>{const c=a.value;if(c){const f=c.getBoundingClientRect(),{left:d,top:p,height:r}=f;return{left:d,top:p+r}}return o.value});const s=e.computed(()=>({}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>{var c,f;return[e.createVNode("div",{class:"overlay-container",onClick:d=>i(d),style:l.value},[e.createVNode("div",{style:s.value},[(f=(c=n.slots).default)==null?void 0:f.call(c)])])]}})}});function bt(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function Ct(t){const n=document.createElement("div");n.style.display="contents";let o;const a=t.onClickCallback||(()=>{}),l=()=>{a(),o&&o.unmount()};return o=e.createApp({setup(){e.onUnmounted(()=>{document.body.removeChild(n)});const i=bt(t);return()=>e.createVNode(vt,{"popup-content-position":t.popupPosition,host:t.host,onClick:l,backgroundColor:t.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),o.mount(n),o}class wt{static show(n){return Ct(n)}}const St={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""}};class z{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const l=parseInt(a[4],10),i=parseInt(a[5],10);return{x:l,y:i}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new z(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new z(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new z(n.changedTouches[a].clientX,n.changedTouches[a].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const o=new z(0,0);if(window){const a=window.getComputedStyle(n);if(a){const l=parseInt(a.getPropertyValue("left"),10),i=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(l)?0:l,o.y=isNaN(i)?0:i}return o}return null}static copy(n){return new z(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class _{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new _(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new _(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Ft(t,n){const o=e.ref(),a=e.ref(),l=e.ref(),i=e.ref(),s=e.ref(),c=e.ref(),f=e.ref(),d=e.ref(),p=e.ref(),r=e.ref(),u=e.ref(),m=e.ref(),y=e.ref(t.draggable),h=e.ref(!1);function g(){const M=a.value||document.body,I=window.getComputedStyle(M);if(!I||!o.value)return;const j=z.getTransformInfo(o.value),E={};f.value&&(E.deltaL=o.value.offsetLeft-f.value.x,E.deltaT=o.value.offsetTop-f.value.y);const q=I.getPropertyValue("position");E.width=M.clientWidth,E.height=M.clientHeight,E.pr=parseInt(I.getPropertyValue("padding-right"),10),E.pb=parseInt(I.getPropertyValue("padding-bottom"),10),E.position=I.getPropertyValue("position"),q==="static"&&(M.style.position="relative"),E.translateX=j.x,E.translateY=j.y,r.value=E}function b(M){if(o.value){i.value=_.getCurrent(o.value),s.value=z.getCurrent(o.value),c.value=i.value?_.copy(i.value):null,f.value=s.value?z.copy(s.value):null,g();const I=M.target.getAttribute("type")||"";d.value={n:!!I.match(/n/),s:!!I.match(/s/),w:!!I.match(/w/),e:!!I.match(/e/)}}}function w(){var M,I,j,E;if(o.value){const q=o.value;d.value&&((d.value.n||d.value.s)&&((M=c.value)!=null&&M.height)&&(q.style.height=c.value.height+"px"),(d.value.w||d.value.e)&&((I=c.value)!=null&&I.width)&&(q.style.width=c.value.width+"px"),f.value&&((j=f.value)!=null&&j.x&&(q.style.left=f.value.x+"px"),(E=f.value)!=null&&E.y&&(q.style.top=f.value.y+"px")))}}function S(){const M=t.minHeight?t.minHeight:1,I=t.minWidth?t.minWidth:1;c.value&&f.value&&d.value&&i.value&&(c.value.height<M&&(c.value.height=M,d.value.n&&s.value&&(f.value.y=s.value.y+(i.value.height-M))),c.value.width<I&&(c.value.width=I,d.value.w&&s.value&&(f.value.x=s.value.x+(i.value.width-I))),t.maxHeight&&c.value.height>t.maxHeight&&(c.value.height=t.maxHeight,s.value&&d.value.n&&(f.value.y=s.value.y+(i.value.height-t.maxHeight))),t.maxWidth&&c.value.width>t.maxWidth&&(c.value.width=t.maxWidth,d.value.w&&s.value&&(f.value.x=s.value.x+(i.value.width-t.maxWidth))))}function k(){if(a.value){const M=r.value;if(f.value&&c.value&&d.value&&i.value){const I=M.width-M.pr-M.deltaL-M.translateX-f.value.x,j=M.height-M.pb-M.deltaT-M.translateY-f.value.y;d.value.n&&f.value.y+M.translateY<0&&s.value&&(f.value.y=-M.translateY,c.value.height=i.value.height+s.value.y+M.translateY),d.value.w&&f.value.x+M.translateX<0&&s.value&&(f.value.x=-M.translateX,c.value.width=i.value.width+s.value.x+M.translateX),c.value.width>I&&(c.value.width=I),c.value.height>j&&(c.value.height=j)}}}function V(M){if(!l.value||!i.value||!s.value||!d.value)return;M.subtract(l.value);const I=M.x,j=M.y;d.value.n?(f.value.y=s.value.y+j,c.value.height=i.value.height-j):d.value.s&&(c.value.height=i.value.height+j),d.value.e?c.value.width=i.value.width+I:d.value.w&&(c.value.width=i.value.width-I,f.value.x=s.value.x+I),k(),S(),w()}function N(M){if(!p.value)return;const I=z.fromEvent(M);I&&V(I)}function v(){if(o.value){const{width:M,height:I,x:j,y:E}=o.value.getBoundingClientRect(),q=z.getTransformInfo(o.value);return{size:{width:M,height:I},position:{x:j-q.x,y:E-q.y}}}return null}function C(M){if(o.value){const I=v();u.value=I}l.value=void 0,i.value=null,s.value=null,c.value=null,f.value=null,d.value=null,p.value=null,document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",C)}function x(){document.addEventListener("mousemove",N),document.addEventListener("mouseup",C)}function O(M){M instanceof MouseEvent&&M.button===2||y.value&&(document.body.click(),M.stopPropagation(),M.preventDefault(),l.value=z.fromEvent(M),p.value=M.target,b(M),x())}function T(M){return o.value=M,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:I=>O(I)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:I=>O(I)},null)])}function H(M=!0){document.body.click();const I=a.value||document.body,j=_.getCurrent(I),E=o.value;M&&E&&(m.value=v(),m.value.transform=E.style.transform),j&&E&&(c.value=j,E.style.height=c.value.height-14+"px",E.style.width=c.value.width-14+"px",E.style.left="7px",E.style.top="7px",E.style.transform="",u.value={size:c.value,position:{x:0,y:0}},y.value=!1,h.value=!0)}function P(){var M,I;if(document.body.click(),m.value){const j={width:m.value.size.width||0,height:m.value.size.height||0},E={x:(window.innerWidth-j.width)/2,y:(window.innerHeight-j.height)/2};(M=c.value)==null||M.set(j),(I=f.value)==null||I.set(E);const q=o.value;q.style.height=j.height+"px",q.style.width=j.width+"px",q.style.left=`${E.x}px`,q.style.top=`${E.y}px`,q.style.transform="",u.value={size:j,position:E},y.value=t.draggable,h.value=!1}}function A(){if(o.value){const M=_.getCurrent(o.value);if(M){const{width:I,height:j}=M;o.value.style.left=`${(window.innerWidth-I)/2}px`,o.value.style.top=`${(window.innerHeight-j)/2}px`,o.value.style.transform=""}}}function G(){const M=()=>{h.value?H(!1):A(),document.body.click()};return window.addEventListener("resize",M),()=>{window.removeEventListener("resize",M)}}const L=G();return{renderResizeBar:T,boundingElement:a,resizedEventParam:u,maximize:H,restore:P,allowDrag:y,isMaximized:h,unWindowResizeHandle:L}}function kt(t,n,o){const a=e.ref(),l=e.ref(t.draggable),i=e.ref(t.lockAxis),s=e.ref(),c=e.ref(),f=e.ref(!1),d=e.ref(new z(0,0)),p=e.ref(new z(0,0)),r=e.ref(new z(0,0)),u=e.ref(new z(0,0));e.watch(()=>o.value,v=>{s.value.style.cursor=v?"move":"default"});function m(v,C){if(C.tagName==="BUTTON")return!1;if(C===v)return!0;for(const x in C.children)if(Object.prototype.hasOwnProperty.call(C.children,x)&&m(v,C.children[x]))return!0;return!1}function y(){var O,T;let v=r.value.x+p.value.x,C=r.value.y+p.value.y;i.value==="x"?(v=((O=d.value)==null?void 0:O.x)||0,r.value.x=0):i.value==="y"&&(C=((T=d.value)==null?void 0:T.y)||0,r.value.y=0);const x=`translate3d(${Math.round(v)}px, ${Math.round(C)}px, 0px)`;a.value&&(a.value.style.transform=x),u.value.x=v,u.value.y=C}function h(){if(!c.value||!a.value)return null;const v=c.value.getBoundingClientRect(),C=a.value.getBoundingClientRect(),x={top:v.top<C.top,right:v.right>C.right,bottom:v.bottom>C.bottom,left:v.left<C.left};return x.top||(r.value.y-=C.top-v.top),x.bottom||(r.value.y-=C.bottom-v.bottom),x.right||(r.value.x-=C.right-v.right),x.left||(r.value.x-=C.left-v.left),y(),x}function g(v){v&&(d.value&&v.subtract(d.value),r.value.set(v),y(),h())}function b(v){f.value&&l.value&&(v.stopPropagation(),v.preventDefault(),g(z.fromEvent(v,s.value)))}function w(){var v;f.value&&(f.value=!1,p.value.add(r.value),r.value.reset(),(v=a.value)==null||v.classList.remove("ng-dragging"),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",w))}function S(){!f.value&&s.value&&(f.value=!0,s.value.classList.add("ng-dragging"),document.addEventListener("mousemove",b),document.addEventListener("mouseup",w))}function k(){if(a.value){const v=z.getTransformInfo(a.value);p.value.set(v);return}p.value.reset()}function V(v){if(!o.value||v instanceof MouseEvent&&v.button===2)return;const C=v.target||v.srcElement;s.value!==void 0&&C&&!m(C,s.value)||l.value!==!1&&(document.body.click(),v.stopPropagation(),v.preventDefault(),d.value=z.fromEvent(v,a.value),k(),S())}function N(v,C,x){if(l.value&&C){if(v)s.value=v;else if(t.dragHandle){if(t.dragHandle instanceof HTMLElement)s.value=t.dragHandle;else if(typeof t.dragHandle=="string"){const O=C.querySelector(t.dragHandle);O&&(s.value=O)}}a.value=C,c.value=x,s.value?(s.value.classList.add("ng-draggable"),s.value.addEventListener("mousedown",V)):l.value=!1}}return{registerDraggle:N,resetTranslate:k}}function ke(t,n){if(t){const o=a=>{a.key.toLowerCase()===t.toLowerCase()&&n({event:a,key:t})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function Vt(t,n){const o=e.ref(t.enableEsc);let a=null;return o.value?(a=ke("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:a}):null}function Mt(t,n){const o=e.ref(t.enableEnter);let a=null;return o.value?(a=ke("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:a}):null}const Y=e.defineComponent({name:"FModal",props:St,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(t,n){const o=e.ref(t.width||300),a=e.ref(t.height||200),l=e.ref(t.modelValue),i=e.ref(""),s=e.ref(t.class),c=e.ref(t.fitContent),f=e.ref(t.showHeader),d=e.ref(""),p=e.ref(t.showCloseButton),r=e.ref(t.showMaxButton),u=e.ref(!1),m=e.ref(t.dialogType),y=e.ref(t.src),h=e.ref(""),g=e.ref(t.showButtons),b=e.ref(t.title),w=e.ref(t.resizeable),S=e.ref(t.containment||null),k=e.ref();function V(F,D){l.value=!1,n.emit("update:modelValue",!1),D!=null&&n.emit(D?"accept":"cancel"),n.emit("closed",F)}const N=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:F=>{V(F,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:F=>{V(F,!0)}}],v=e.ref(t.buttons&&t.buttons.length?t.buttons:N),C=e.computed(()=>!!d.value),x=e.computed(()=>!!g.value&&!!v.value),O=e.ref(),T=e.ref(),H=e.ref(!1),{renderResizeBar:P,maximize:A,restore:G,boundingElement:L,resizedEventParam:M,allowDrag:I,unWindowResizeHandle:j}=Ft(t),{registerDraggle:E}=kt(t,n,I);function q(){const F=document.querySelectorAll(".farris-modal").length;(!F||F-1<=0)&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}e.watch(()=>t.title,(F,D)=>{F!==D&&(b.value=F)}),e.watch(()=>t.modelValue,(F,D)=>{F!==D&&(l.value=F,F||q())}),e.watch(()=>t.showHeader,(F,D)=>{F!==D&&(f.value=F)}),e.watch(()=>t.showButtons,(F,D)=>{F!==D&&(g.value=F)}),e.watch(()=>M.value,(F,D)=>{const J=F||{},ae=D||{};JSON.stringify(J)!==JSON.stringify(ae)&&n.emit("resize",{newSize:F,oldSize:D})});const de=e.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),Wt=e.computed(()=>{const F={modal:!0,"farris-modal":!0,fade:!0};return F["f-modal-fitContent"]=!!c.value,F.show=!!de.value,F}),Ut=e.computed(()=>{var J;const F={"modal-dialog":!0},D=(J=s.value)==null?void 0:J.split(" ");return D==null||D.reduce((ae,ln)=>(ae[ln]=!0,ae),F),F}),Gt=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-a.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:c.value?"auto":`${a.value}px`})),_t=e.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value})),Xt=e.computed(()=>{const F={display:f.value?"":"none"};return F["pointer-events"]=I.value?"auto":"none",F}),Yt=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:H.value})),Jt=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":m.value==="iframe"}));function Qt(){return{}}const Zt=e.computed(()=>{const F={textAlgin:h.value},D=Qt();return Object.assign(F,D)});function Be(F){if(F.stopPropagation(),H.value){H.value=!1,G();return}A(),H.value=!0}async function Kt(F,D){F.handle&&await F.handle(D,F)&&n.emit("closed",D)}function en(F){F.width&&(o.value=F.width),F.height&&(a.value=F.height),F.buttons&&(v.value=F.buttons),F.title&&(b.value=F.title)}let ue=null,fe=null;e.onMounted(()=>{T.value&&!S.value&&(S.value=T.value.parentElement,L.value=S.value,E(O.value,T.value,L.value)),de.value&&document.body.classList.add("modal-open"),ue=Vt(t,n),fe=Mt(t,n)}),e.onUnmounted(()=>{j&&j(),ue&&ue.remove(),fe&&fe.remove()}),n.expose({modalElementRef:T,updateModalOptions:en,close:V,maxDialog:Be});function tn(){return e.createVNode("ul",null,[u.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),r.value&&e.createVNode("li",{onClick:Be,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:Yt.value},null)]),p.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:F=>V(F,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function nn(){return e.createVNode("div",{class:"modal-footer",style:Zt.value},[v.value&&v.value.map(F=>e.createVNode("button",{name:F.name,type:"button",class:F.class+(F.iconClass?" btn-icontext":""),onClick:D=>{Kt(F,D)}},[!!F.iconClass&&e.createVNode("i",{class:F.iconClass},null),F.text]))])}function on(){return e.createVNode("div",{ref:O,class:"modal-header",style:Xt.value},[e.createVNode("div",{class:"modal-title"},[C.value&&e.createVNode("span",{class:d.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[b.value])]),e.createVNode("div",{class:"actions"},[tn()])])}function an(F){F.stopPropagation()}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[de.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>{var F,D;return[e.createVNode("div",{class:Wt.value,style:"display: block",ref:k,onClick:an},[e.createVNode("div",{id:i.value,class:Ut.value,style:Gt.value,ref:T},[e.createVNode("div",{class:_t.value},[f.value&&on(),e.createVNode("div",{class:Jt.value},[(D=(F=n.slots).default)==null?void 0:D.call(F),m.value==="iframe"&&e.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:y.value},null)]),x.value&&nn()]),!c.value&&w.value&&T.value&&!H.value&&P(T.value)])])]}})]})}});function Ve(t){if(t.content&&t.content.render)return t.content.render;if(t.render&&typeof t.render=="function")return t.render}function It(t){const n=document.createElement("div");n.style.display="contents";const o=e.createApp({setup(a,l){e.onUnmounted(()=>{document.body.removeChild(n)});const i=e.ref(),s=e.ref(t.class||""),c=e.ref(!!t.showButtons),f=e.ref(!!t.showHeader),d=e.ref(t.showCloseButton==null?!0:t.showCloseButton),p=e.ref(!0),r=e.ref(t.title||""),u=t.acceptCallback||(()=>{}),m=t.rejectCallback||(()=>{}),y=t.closedCallback||(w=>{}),h=t.resizeHandle||(w=>{}),g=Ve(t),b=w=>{p.value=!1,o.unmount(),y(w)};return e.onMounted(()=>{}),l.expose({modalRef:i}),()=>e.createVNode(Y,{ref:i,class:s.value,modelValue:p.value,"onUpdate:modelValue":w=>p.value=w,title:r.value,width:t.width,height:t.height,buttons:t.buttons,"show-header":f.value,"show-buttons":c.value,"show-close-button":d.value,"show-max-button":!1,onAccept:u,onCancel:m,fitContent:t.fitContent==null?!0:t.fitContent,onClosed:b,onResize:h},{default:()=>[g&&g(o)]})}});return document.body.appendChild(n),o.mount(n),o}class Bt{constructor(n){$(this,"appContext",null);$(this,"modalRef",e.ref());$(this,"activeModalIndex",e.ref(0));$(this,"modalRefs",{});$(this,"isUseEscCloseModal",e.ref(!1));$(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(n,o){const{width:a,height:l}={width:window.innerWidth,height:window.innerHeight};return a<n&&(n=a),l<o&&(o=l),{width:n,height:o}}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return It(o)}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},n)),l=e.ref(!0),i=a.value.acceptCallback||(()=>{}),s=a.value.rejectCallback||(()=>{}),c=a.value.closedCallback||((k,V)=>{}),f=a.value.resizeHandle||(k=>{});let d;const p=Ve(a.value),r=k=>{var N;l.value=!1;const V=(N=k==null?void 0:k.target)==null?void 0:N.classList.contains("modal_close");c(k,this.isUseEscCloseModal.value?"esc":V?"icon":"button")},u=k=>{r(k),d&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),d=null,this.modalRef.value=null,this.modalRefs){const V=Object.keys(this.modalRefs).map(N=>Number(N));V.length>0?this.activeModalIndex.value=Math.max(...V):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},m=k=>{var V;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((V=this.activeModalInstance.value)==null||V.close(k==null?void 0:k.event))},{width:y,height:h}=a.value,g=this.adaptToWindow(y||500,h||320);Object.assign(a.value,g);const b=()=>e.createVNode(Y,e.mergeProps({ref:this.modalRef,modelValue:l.value,"onUpdate:modelValue":k=>l.value=k},a.value,{onAccept:i,onCancel:s,onClosed:u,onResize:f,onEsc:m}),{default:()=>[p&&p(this.app)]});return d=(k=>{const V=e.h(b,k);return V.appContext=this.appContext,e.render(V,o),V})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:k=>{a.value={...a.value,...k},d&&e.render(e.cloneVNode(d,{...a}),o)},destroy:u,modalRef:this.activeModalInstance}}}const Me=Symbol("FModalService");Y.install=t=>{t.component(Y.name,Y);const n=new Bt(t);t.provide(Me,n),t.provide("FModalService",n)};function Ie(t,n){function o(){const a=t.beforeOpen||t.beforeClickButton||null;let l=Promise.resolve(!0);if(a){const i=a(n.value);if(typeof i>"u")return l;typeof i=="boolean"?l=Promise.resolve(i):l=i}return l}return{judgeCanOpen:o}}function Nt(t,n,o,a,l){const i=e.ref(t.buttonBehavior),s=e.ref(t.popupOnInput),c=e.computed(()=>({"input-group-append":!0,"append-force-show":t.showButtonWhenDisabled&&(t.readonly||t.disable)})),{judgeCanOpen:f}=Ie(t,l),d=e.computed(()=>t.showButtonWhenDisabled||(!t.editable||!t.readonly)&&!t.disable),p=e.inject(Me,null),r=e.ref();async function u(h){if(await f()&&d.value){const g=!!n.slots.default;if(i.value==="Modal"){const b=t.modalOptions,w=p==null?void 0:p.open({...b,render:()=>n.slots.default&&n.slots.default()});r.value=w==null?void 0:w.modalRef}i.value==="Overlay"&&wt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),g&&i.value==="Popup"&&a.togglePopup(!0),g&&s.value&&a.hidePopup(),n.emit("clickButton",{origin:h,value:t.modelValue})}}function m(h){n.emit("mouseEnterIcon",h)}function y(h){n.emit("mouseLeaveIcon",h)}return{buttonGroupClass:c,onClickButton:u,onMouseEnterButton:m,onMouseLeaveButton:y,modalRef:r}}function xt(t,n,o,a){const l=e.ref(),i=e.ref(!1),{judgeCanOpen:s}=Ie(t,a);function c(){const r=l.value;r&&r.show(o.value)}async function f(r=!1){if(!!n.slots.default){if(!r&&!i.value&&!await s())return;i.value=!i.value,await e.nextTick(),c()}}async function d(r=!1){if(!!n.slots.default){if(!r&&!await s())return;i.value=!0,await e.nextTick(),c()}}function p(){i.value=!1}return{hidePopup:p,popup:d,shouldPopupContent:i,togglePopup:f,popoverRef:l}}function Tt(t,n,o){const{buttonGroupClass:a}=o,l=e.ref();return{renderButtonGroup:()=>e.createVNode("div",{id:`${t.id}-button-group`,class:a.value},[n.slots.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):t.buttonContent?e.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:t.buttonContent,ref:l},null):null]),buttonHandleElement:l}}const Ot=e.defineComponent({name:"FButtonEdit",props:Fe,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(t,n){const o=e.ref(),a=e.inject("design-item-context"),l=Q.useDesignerComponent(o,a),i=e.ref(t.customClass),s=e.ref(t.modelValue),c=xt(t,n,o,s),f=Nt(t,n,o,c,s),d=e.ref(),p=e.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disabled":!0,"f-state-editable":!1,"f-state-readonly":!0}));e.onMounted(()=>{o.value.componentInstance=l}),n.expose(l.value);const r=e.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!t.wrapText};return i.value&&i.value.split(" ").reduce((y,h)=>(y[h]=!0,y),m),m}),{renderButtonGroup:u}=Tt(t,n,f);return()=>e.createVNode("div",e.mergeProps(n.attrs,{ref:o,class:r.value,id:t.id}),[e.createVNode("div",{class:p.value},[e.createVNode("input",{ref:d,class:"form-control",readonly:!0,placeholder:t.placeholder},null),u()])])}});class Et{constructor(n,o){$(this,"componentId");$(this,"viewModelId");$(this,"eventsEditorUtils");$(this,"formSchemaUtils");$(this,"formMetadataConverter");$(this,"designViewModelUtils");$(this,"designViewModelField");$(this,"controlCreatorUtils");$(this,"designerHostService");$(this,"schemaService",null);$(this,"metadataService",null);$(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=n,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var a;const o=n.binding&&n.binding.type==="Form"&&n.binding.field;if(o){if(!this.designViewModelField){const l=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=l.fields.find(i=>i.id===o)}n.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",editable:!1,data:[{value:n.type,name:B[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,o){const a=o&&o.parent&&o.parent.schema;if(!a)return;const l=a.contents.findIndex(s=>s.id===n),i=U.cloneDeep(a.contents[l]);a.contents.splice(l,1),a.contents.splice(l,0,i)}}const X=class X{static getEditorTypesByMDataType(n){const o=X.fieldControlTypeMapping[n];return o||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(const o in X.fieldControlTypeMapping)X.fieldControlTypeMapping[o].forEach(a=>{n.find(l=>l.key===a.key&&l.value===a.value)||n.push({key:a.key,value:a.value})});return n}static mappingDomPropAndSchemaProp(n){var l;const o=(l=n.editor)==null?void 0:l.type;if(!o)return[];const a=[];switch(a.push({domField:"editor.required",schemaField:"require"}),a.push({domField:"editor.readonly",schemaField:"readonly"}),o){case B["data-grid-column"].type:case B["tree-grid-column"].type:{a.push({domField:"title",schemaField:"name"});break}default:a.push({domField:"label",schemaField:"name"})}return(o===B["input-group"].type||o===B.textarea.type||o===B["number-spinner"].type)&&a.push({domField:"editor.maxLength",schemaField:"type.length"}),o===B["number-spinner"].type&&a.push({domField:"editor.precision",schemaField:"type.precision"}),(o===B["combo-list"].type||o===B["radio-group"].type)&&a.push({domField:"editor.data",schemaField:"type.enumValues"}),o===B["date-picker"].type&&(a.push({domField:"editor.displayFormat",schemaField:"editor.format"}),a.push({domField:"editor.fieldType",schemaField:"type.name"})),o===B["number-spinner"].type&&(a.push({domField:"editor.max",schemaField:"editor.maxValue"}),a.push({domField:"editor.min",schemaField:"editor.minValue"})),o===B.lookup.type&&(a.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),a.push({domField:"editor.valueField",schemaField:"editor.valueField"}),a.push({domField:"editor.textField",schemaField:"editor.textField"}),a.push({domField:"editor.displayType",schemaField:"editor.displayType"}),a.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),a.push({domField:"editor.helpId",schemaField:"editor.helpId"})),a.push({domField:"path",schemaField:"bindingPath"}),a.push({domField:"binding.path",schemaField:"bindingField"}),a.push({domField:"binding.fullPath",schemaField:"path"}),(o===B["data-grid-column"].type||o===B["tree-grid-column"].type)&&a.push({domField:"field",schemaField:"bindingPath"}),a}};$(X,"fieldControlTypeMapping",{String:[{key:B["input-group"].type,value:B["input-group"].name},{key:B.lookup.type,value:B.lookup.name},{key:B["date-picker"].type,value:B["date-picker"].name},{key:B["check-group"].type,value:B["check-group"].name},{key:B["radio-group"].type,value:B["radio-group"].name},{key:B["combo-list"].type,value:B["combo-list"].name},{key:B.textarea.type,value:B.textarea.name}],Text:[{key:B.textarea.type,value:B.textarea.name},{key:B.lookup.type,value:B.lookup.name}],Decimal:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Integer:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Number:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],BigNumber:[{key:B["number-spinner"].type,value:B["number-spinner"].name}],Date:[{key:B["date-picker"].type,value:B["date-picker"].name}],DateTime:[{key:B["date-picker"].type,value:B["date-picker"].name}],Boolean:[{key:B.switch.type,value:B.switch.name},{key:B["check-box"].type,value:B["check-box"].name}],Enum:[{key:B["combo-list"].type,value:B["combo-list"].name},{key:B["radio-group"].type,value:B["radio-group"].name}],Object:[{key:B.lookup.type,value:B.lookup.name},{key:B["combo-list"].type,value:B["combo-list"].name},{key:B["radio-group"].type,value:B["radio-group"].name}]});let te=X;const $t=e.ref(0);class Pt{constructor(){$(this,"label","");$(this,"id","");$(this,"columnInSM",12);$(this,"columnInMD",6);$(this,"columnInLG",3);$(this,"columnInEL",2);$(this,"displayWidthInSM",1);$(this,"displayWidthInMD",1);$(this,"displayWidthInLG",1);$(this,"displayWidthInEL",1);$(this,"displayColumnCountAtBreakPoint","md");$(this,"tagRow",0);$(this,"showTopBorder",0);$(this,"group",1);$(this,"isSupportedClass",!0);$(this,"fieldSetId","")}}function Lt(t){let n,o;const a=new Map;let l=[];function i(p,r){const m=p.split(" ").filter(w=>w.startsWith("col-"));if(m.length===0){r.isSupportedClass=!1;return}let y=m.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),h=m.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),g=m.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),b=m.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));y=y||"col-12",r.columnInSM=parseInt(y.replace("col-",""),10),r.displayWidthInSM=r.columnInSM/12,r.displayWidthInSM!==1&&(r.isSupportedClass=!1),h=h||"col-md-"+r.columnInSM,r.columnInMD=parseInt(h.replace("col-md-",""),10),r.displayWidthInMD=r.columnInMD/6,[1,2].includes(r.displayWidthInMD)||(r.isSupportedClass=!1),g=g||"col-xl-"+r.columnInMD,r.columnInLG=parseInt(g.replace("col-xl-",""),10),r.displayWidthInLG=r.columnInLG/3,[1,2,3,4].includes(r.displayWidthInLG)||(r.isSupportedClass=!1),b=b||"col-el-"+r.columnInLG,r.columnInEL=parseInt(b.replace("col-el-",""),10),r.displayWidthInEL=r.columnInEL/2,[1,2,3,4,5,6].includes(r.displayWidthInEL)||(r.isSupportedClass=!1)}function s(p,r,u,m=!1){let y=!1;p.contents.forEach(h=>{if(h.type==="fieldset"){u+=1,s(h,r,u,!0),y=!0;return}y&&(u+=1,y=!1);const g=h.appearance&&h.appearance.class,b=new Pt;g?i(g,b):b.isSupportedClass=!1,b.label=h.label||h.id,b.id=h.id,b.group=u,m&&(b.fieldSetId=p.id),o===h.id&&(n=u),a.set(h.id,h),r.push(b)})}function c(p){const r=t.getComponentById(p);if(!r||!r.componentType||!r.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const u=t.selectNode(r,m=>m.type===Q.DgControl["response-form"].type);return!u||!u.contents||u.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:u}}function f(p,r){r=r||p.id;const{result:u,message:m,formNode:y}=c(r);if(!u)return{result:u,message:m};o=p.id,l=[],a.clear();const h=y.contents[0].type===Q.DgControl.fieldset.type?0:1;s(y,l,h);const g=l.find(w=>!w.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:g?"customize":"standard"},importData:l}}function d(p,r){r=r;const{result:u,formNode:m}=c(r);if(!u)return"";const y=[];return p.forEach(h=>{var w;const g=a.get(h.id),b=g.appearance&&g.appearance.class;if(b){const k=b.split(" ").filter(O=>!O.startsWith("col-")),V="col-"+h.columnInSM,N="col-md-"+h.columnInMD,v="col-xl-"+h.columnInLG,C="col-el-"+h.columnInEL,x=[V,N,v,C].concat(k);g.appearance.class=x.join(" ")}if(h.fieldSetId){const S=m.contents.find(V=>V.id===h.fieldSetId),k=y.find(V=>V.id===h.fieldSetId);k?(w=k.contents)==null||w.push(g):(y.push(S),S.contents=[g])}else y.push(g)}),m.contents=y,m.id}return{checkCanFindFormNode:c,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:d,getResonseFormLayoutConfig:s}}class jt extends Et{constructor(o,a){super(o,a);$(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=Lt(this.formSchemaUtils)}getPropertyConfig(o,a){return this.propertyConfig.categories.basic=this.getBasicProperties(o,a),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,a),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,a){var i;const l=this;return this.setDesignViewModelField(o),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:l.designViewModelField?te.getEditorTypesByMDataType((i=l.designViewModelField.type)==null?void 0:i.name):te.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:o,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0}},setPropertyRelates(s,c){if(s)switch(s&&s.propertyID){case"type":{l.changeControlType(o,s,a);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,a){const l=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:l.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,l.componentId)}}},setPropertyRelates(i,s){if(i)switch(i&&i.propertyID){case"responseLayout":l.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(i.propertyValue,l.componentId||o.id),l.updateUnifiedLayoutAfterResponseLayoutChanged(l.componentId),l.updateElementByParentContainer(o.id,a),delete o.responseLayout;break;case"class":l.updateUnifiedLayoutAfterControlChanged(i.propertyValue,o.id,this.componentId),l.updateElementByParentContainer(o.id,a);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,a,l){var p,r,u,m;const i=a.propertyValue,s=l&&l.parent&&l.parent.schema;if(!s)return;const c=s.contents.findIndex(y=>y.id===o.id),f=s.contents[c];let d;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),d=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,i)),d||(d=this.controlCreatorUtils.createFormGroupWithoutField(i)),Object.assign(d,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(d.editor,{isTextArea:d.isTextArea&&f.isTextArea,placeholder:(p=f.editor)==null?void 0:p.placeholder,holdPlace:(r=f.editor)==null?void 0:r.holdPlace,readonly:(u=f.editor)==null?void 0:u.readonly,required:(m=f.editor)==null?void 0:m.required}),s.contents.splice(c,1),s.contents.splice(c,0,d),l.schema=Object.assign(f,d),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(y=>y.classList.remove("dgComponentFocused")),$t.value++}getComponentConfig(o,a={},l={},i){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},a),c=Object.assign({readonly:{description:"",title:"只读",type:"boolean",editor:{enableClear:!0,editable:!0}},disabled:{description:"",title:"禁用",type:"boolean",visible:!1},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}},l);return{...s,properties:{...c},setPropertyRelates:i}}updateUnifiedLayoutAfterControlChanged(o,a,l){const i=o.split(" ");let s=i.find(r=>/^col-([1-9]|10|11|12)$/.test(r)),c=i.find(r=>/^col-md-([1-9]|10|11|12)$/.test(r)),f=i.find(r=>/^col-xl-([1-9]|10|11|12)$/.test(r)),d=i.find(r=>/^col-el-([1-9]|10|11|12)$/.test(r));s=s||"col-12",c=c||"col-md-"+s.replace("col-",""),f=f||"col-xl-"+c.replace("col-md-",""),d=d||"col-el-"+f.replace("col-xl-","");const p={id:a,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(c.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(d.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(l,p)}updateUnifiedLayoutAfterResponseLayoutChanged(o,a){const{formNode:l}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!l||!l.unifiedLayout)return;const i=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(l,i,1),a){const y=i.find(h=>h.id===a.id);Object.assign(y||{},a)}const s=i.map(y=>y.columnInSM),c=i.map(y=>y.columnInMD),f=i.map(y=>y.columnInLG),d=i.map(y=>y.columnInEL),p=this.checkIsUniqueColumn(s)?s[0]:null,r=this.checkIsUniqueColumn(c)?c[0]:null,u=this.checkIsUniqueColumn(f)?f[0]:null,m=this.checkIsUniqueColumn(d)?d[0]:null;Object.assign(l.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:r,uniqueColClassInLG:u,uniqueColClassInEL:m})}checkIsUniqueColumn(o){const a=new Set(o);return Array.from(a).length===1}getItemCollectionEditor(o,a,l){return a=a||"value",l=l||"name",{editor:{columns:[{field:a,title:"值",dataType:"string"},{field:l,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:a,nameField:l,requiredFields:[a,l],uniqueFields:[a,l],readonly:this.checkEnumDataReadonly(o)}}}checkEnumDataReadonly(o){return!o.binding||o.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===pe.FormSchemaEntityFieldType$Type.EnumType)}}class Dt extends jt{constructor(n,o){super(n,o)}getEditorProperties(n){const o=this,a=o.getComponentConfig(n,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},enableClear:{description:"",title:"启用清空",type:"boolean"},textField:{visible:!1,description:"",title:"数据源显示字段",type:"string"},valueField:{visible:!1,description:"",title:"数据源值字段",type:"string"},idField:{visible:!1,description:"",title:"数据源标识字段",type:"string"},data:{description:"",title:"数据",type:"array",$converter:"/converter/enum-data.converter",...o.getItemCollectionEditor(n,n.editor.valueField,n.editor.textField),refreshPanelAfterChanged:!0}});return a.setPropertyRelates=function(l){if(l)switch(l.propertyID){case"data":{l.propertyValue.parameters&&(n.editor.valueField=l.propertyValue.parameters.valueField,n.editor.textField=l.propertyValue.parameters.nameField),!o.checkEnumDataReadonly(n)&&n.formatter&&(n.formatter.data=[...l.propertyValue.value]);break}}},a}}function Rt(t,n){const o=t.schema;function a(l,i){return new Dt(l,n).getPropertyConfig(o,i)}return{getPropsConfig:a}}const At=e.defineComponent({name:"FComboListDesign",props:ct,emits:["clear","update:modelValue","change"],setup(t,n){const o=e.ref(),a=e.inject("designer-host-service"),l=e.inject("design-item-context"),i=Rt(l,a),s=Q.useDesignerComponent(o,l,i);return e.onMounted(()=>{o.value.componentInstance=s}),n.expose(s.value),()=>e.createVNode(Ot,{ref:o,buttonContent:t.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:t.placeholder,enableClear:!0},null)}});ee.register=(t,n,o,a)=>{t["combo-list"]=ee,n["combo-list"]=Se},ee.registerDesigner=(t,n,o)=>{t["combo-list"]=At,n["combo-list"]=Se};const ne=pe.withInstall(ee),oe=e.defineComponent({name:"FOrder",props:K,emits:["change"],setup(t,n){const o=e.ref(t.items),a=e.ref("排序列"),l=e.ref("排序方式"),i=e.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],c=e.ref(new Map);function f(){const g=o.value.map(b=>[b.id,!0]);c.value=new Map(g)}f();const d=e.computed(()=>t.dataSource.map(g=>(g.disabled=c.value.has(g.id),g))),p=e.computed(()=>({"f-order":!0}));function r(g){o.value=o.value.filter(b=>b.id!==g.id),f(),n.emit("change",o.value)}function u(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],f(),n.emit("change",o.value)}function m(g){if(g&&g.length===1){const b=g[0],w=o.value.find(S=>S.id===b.id);w&&(w.name=b.name)}f(),n.emit("change",o.value)}function y(g){if(g&&g.length){const b=new Map;g.reduce((w,S)=>(w.set(S.id,S),w),b),o.value=g.map(w=>b.get(w.id)),n.emit("change",o.value)}}function h(){return e.createVNode(Ce,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:r,onChange:y},{header:()=>e.createVNode("div",{class:"f-order-header"},[e.createVNode("span",{class:"f-order-header-order-field"},[a.value]),e.createVNode("span",{class:"f-order-header-order-type"},[l.value])]),itemContent:g=>e.createVNode("div",{class:"f-order-item-content"},[e.createVNode(ne,{class:"f-order-item-content-order-field",data:d.value,valueField:"id",textField:"name",idField:"id",modelValue:g.id,"onUpdate:modelValue":b=>g.id=b,onChange:m,onClear:m},null),e.createVNode(ne,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:g.order,"onUpdate:modelValue":b=>g.order=b,onChange:m},null)]),footer:()=>e.createVNode("div",{class:"f-order-footer"},[e.createVNode(we,{type:"link",class:"f-order-add-button",onClick:u},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"f-order-add-icon"},[e.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>e.createVNode("div",{class:p.value},[h()])}});function Ht(t,n,o){var N;const a="",l="",i=e.ref();function s(){return(n==null?void 0:n.schema.componentType)!=="frame"}function c(){return!1}function f(){return(n==null?void 0:n.schema.componentType)!=="frame"}function d(){return(n==null?void 0:n.schema.componentType)==="frame"}function p(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const C=e.ref(v==null?void 0:v.value.parent),x=p(C);return x||null}function r(v=n){var T;const{componentInstance:C,designerItemElementRef:x}=v;if(!C||!C.value)return null;const{getCustomButtons:O}=C.value;return C.value.canMove||O&&((T=O())!=null&&T.length)?x:r(v.parent)}function u(v){return!!o}function m(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function y(){}function h(v,C){}function g(v,C){const{componentType:x}=v;let O=ye(x,v,C);const T=x.toLowerCase().replace(/-/g,"_");return O&&!O.id&&O.type===x&&(O.id=`${T}_${Math.random().toString().slice(2,6)}`),O}function b(v){}function w(...v){}function S(){n!=null&&n.schema.contents&&n.schema.contents.map(v=>{let C=v.id;v.type==="component-ref"&&(C=v.component);const x=t.value.querySelectorAll(`#${C}-design-item`);x!=null&&x.length&&Array.from(x).map(O=>{var T;(T=O==null?void 0:O.componentInstance)!=null&&T.value.onRemoveComponent&&O.componentInstance.value.onRemoveComponent()})})}function k(){}function V(v){}return i.value={canMove:s(),canSelectParent:c(),canDelete:f(),canNested:!d(),contents:n==null?void 0:n.schema.contents,elementRef:t,parent:(N=n==null?void 0:n.parent)==null?void 0:N.componentInstance,schema:n==null?void 0:n.schema,styles:a,designerClass:l,canAccepts:u,getBelongedComponentInstance:p,getDraggableDesignItemElement:r,getDraggingDisplayText:m,getPropConfig:w,getDragScopeElement:y,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:g,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1),onRemoveComponent:S,getCustomButtons:k,onPropertyChanged:V},i}const zt=e.defineComponent({name:"FOrderDesign",props:K,emits:["change"],setup(t,n){const o=e.ref(t.items),a=e.ref("排序列"),l=e.ref("排序方式"),i=e.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],c=e.ref(new Map),f=e.ref(),d=e.inject("design-item-context"),p=Ht(f,d);e.onMounted(()=>{f.value.componentInstance=p}),n.expose(p.value);function r(){const S=o.value.map(k=>[k.id,!0]);c.value=new Map(S)}r();const u=e.computed(()=>t.dataSource.map(S=>(S.disabled=c.value.has(S.id),S))),m=e.computed(()=>({"f-order":!0}));function y(S){o.value=o.value.filter(k=>k.id!==S.id),r(),n.emit("change",o.value)}function h(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],r(),n.emit("change",o.value)}function g(S){r(),n.emit("change",o.value)}function b(S){if(S&&S.length){const k=new Map;S.reduce((V,N)=>(V.set(N.id,N),V),k),o.value=S.map(V=>k.get(V.id)),n.emit("change",o.value)}}function w(){return e.createVNode(Ce,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:y,onChange:b},{header:()=>e.createVNode("div",{class:"f-order-header"},[e.createVNode("span",{class:"f-order-header-order-field"},[a.value]),e.createVNode("span",{class:"f-order-header-order-type"},[l.value])]),itemContent:S=>e.createVNode("div",{class:"f-order-item-content"},[e.createVNode(ne,{class:"f-order-item-content-order-field",data:u.value,valueField:"id",textField:"name",idField:"id",modelValue:S.id,"onUpdate:modelValue":k=>S.id=k,onChange:g,onClear:g},null),e.createVNode(ne,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:S.order,"onUpdate:modelValue":k=>S.order=k,onChange:g},null)]),footer:()=>e.createVNode("div",{class:"f-order-footer"},[e.createVNode(we,{type:"link",class:"f-order-add-button",onClick:h},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"f-order-add-icon"},[e.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>e.createVNode("div",{ref:f,class:m.value},[w()])}}),qt={install(t){t.component(oe.name,oe)},register(t,n,o,a){t.order=oe,n.order=se},registerDesigner(t,n,o){t.order=zt,n.order=se}};R.FOrder=oe,R.default=qt,R.orderProps=K,R.propsResolver=se,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -2779,7 +2779,8 @@ class ze extends ta {
2779
2779
  disableOccupiedFields: !0
2780
2780
  },
2781
2781
  textField: "bindingField"
2782
- }
2782
+ },
2783
+ refreshPanelAfterChanged: !0
2783
2784
  }
2784
2785
  },
2785
2786
  setPropertyRelates(r, s) {