UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 78.4 kB
(function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../list-view/index.umd.js","../button-edit/index.umd.js"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P["response-layout-editor"]={},P.Vue,P.LodashES,P.FListView,P.FButtonEdit))})(this,function(P,e,W,Ve,xe){"use strict";var da=Object.defineProperty;var fa=(P,e,W)=>e in P?da(P,e,{enumerable:!0,configurable:!0,writable:!0,value:W}):P[e]=W;var L=(P,e,W)=>fa(P,typeof e!="symbol"?e+"":e,W);const ue={initialState:{type:Object,default:{}}},Ne={defaultStates:{type:Object,default:{mode:""}},onSwitchInStandardModeChanged:{type:Function,default:()=>{}},onCurrentScreenResolutionChanged:{type:Function,default:()=>{}},onScreenNameChanged:{type:Function,default:()=>{}}},Me={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/capsule.schema.json",title:"capsule",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a capsule",type:"string"},type:{description:"The type string of capsule component",type:"string",default:"capsule"},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"]},de={},fe={};function ne(t){const{properties:a,title:n,ignore:o}=t,l=o&&Array.isArray(o),i=Object.keys(a).reduce((c,d)=>((!l||!o.find(h=>h===d))&&(c[d]=a[d].type==="object"&&a[d].properties?ne(a[d]):W.cloneDeep(a[d].default)),c),{});if(n&&(!l||!o.find(c=>c==="id"))){const c=n.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}function $e(t){const{properties:a,title:n,required:o}=t;if(o&&Array.isArray(o)){const l=o.reduce((i,c)=>(i[c]=a[c].type==="object"&&a[c].properties?ne(a[c]):W.cloneDeep(a[c].default),i),{});if(n&&o.find(i=>i==="id")){const i=n.toLowerCase().replace(/-/g,"_");l.id=`${i}_${Math.random().toString().slice(2,6)}`}return l}return{type:n}}function pe(t,a={},n){const o=de[t];if(o){let l=$e(o);const i=fe[t];return l=i?i({getSchemaByType:pe},l,a,n):l,l}return null}function Te(t,a){const n=ne(a);return Object.keys(n).reduce((o,l)=>(Object.prototype.hasOwnProperty.call(t,l)&&(o[l]&&W.isPlainObject(o[l])&&W.isPlainObject(t[l]||!t[l])?Object.assign(o[l],t[l]||{}):o[l]=t[l]),o),n),n}function me(t,a){return Object.keys(t).filter(o=>t[o]!=null).reduce((o,l)=>{if(a.has(l)){const i=a.get(l);if(typeof i=="string")o[i]=t[l];else{const c=i(l,t[l],t);Object.assign(o,c)}}else o[l]=t[l];return o},{})}function Be(t,a,n=new Map){const o=Te(t,a);return me(o,n)}function Fe(t={}){function a(s,m,r,u){if(typeof r=="number")return u[s].length===r;if(typeof r=="object"){const y=Object.keys(r)[0],b=r[y];if(y==="not")return Number(u[s].length)!==Number(b);if(y==="moreThan")return Number(u[s].length)>=Number(b);if(y==="lessThan")return Number(u[s].length)<=Number(b)}return!1}function n(s,m,r,u){return u[s]&&u[s].propertyValue&&String(u[s].propertyValue.value)===String(r)}const o=new Map([["length",a],["getProperty",n]]);Object.keys(t).reduce((s,m)=>(s.set(m,t[m]),s),o);function l(s,m){const r=s;return typeof m=="number"?[{target:r,operator:"length",param:null,value:Number(m)}]:typeof m=="boolean"?[{target:r,operator:"getProperty",param:s,value:!!m}]:typeof m=="object"?Object.keys(m).map(u=>{if(u==="length")return{target:r,operator:"length",param:null,value:m[u]};const y=u,b=m[u];return{target:r,operator:"getProperty",param:y,value:b}}):[]}function i(s){return Object.keys(s).reduce((r,u)=>{const y=l(u,s[u]);return r.push(...y),r},[])}function c(s,m){if(o.has(s.operator)){const r=o.get(s.operator);return r&&r(s.target,s.param,s.value,m)||!1}return!1}function d(s,m){return i(s).reduce((y,b)=>y&&c(b,m),!0)}function h(s,m){const r=Object.keys(s),u=r.includes("allOf"),y=r.includes("anyOf"),b=u||y,V=(b?s[b?u?"allOf":"anyOf":"allOf"]:[s]).map($=>d($,m));return u?!V.includes(!1):V.includes(!0)}return{parseValueSchema:h}}const Re={},ke={};Fe();function X(t,a,n=new Map,o=(c,d,h,s)=>d,l={},i=c=>c){return de[a.title]=a,fe[a.title]=o,Re[a.title]=l,ke[a.title]=i,(c={},d=!0)=>{if(!d)return me(c,n);const h=Be(c,a,n),s=Object.keys(t).reduce((m,r)=>(m[r]=t[r].default,m),{});return Object.assign(s,h)}}function Y(t,a){return{customClass:a.class,customStyle:a.style}}const De=new Map([["appearance",Y]]);function Ee(t,a,n){return a}const Oe={title:"capsule",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:[]}}}}}},he={items:{Type:Array,default:[{name:"升序",value:"asc",icon:"f-icon f-icon-col-ascendingorder"},{name:"降序",value:"desc",icon:"f-icon f-icon-col-descendingorder"}]},modelValue:{type:String,default:""},type:{type:String,default:"primary"}},Ae={name:{type:String,default:""},value:{type:String,default:""},isActive:{type:Boolean,default:!1},icon:{type:String,default:""},index:{type:Number,default:0},show:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}};X(he,Me,De,Ee,Oe);const je=e.defineComponent({name:"FCapsuleItem",props:Ae,emits:["mounted","active"],setup(t,a){const n=e.ref(),o=e.ref(t.isActive);e.watch(()=>t.isActive,c=>{o.value=c});const l=e.computed(()=>({"f-capsule-item":!0,"f-capsule-active-item":o.value,"f-capsule-disabled":t.disabled}));e.onMounted(()=>{a.emit("mounted",n,t.value)});function i(c){t.disabled||a.emit("active",c,{name:t.name,value:t.value})}return()=>e.createVNode("div",{ref:n,class:l.value,onClick:c=>i(c)},[t.icon&&e.createVNode("i",{class:t.icon},null),t.name])}}),Ie=e.defineComponent({name:"FCapsule",props:he,emits:["change","update:modelValue"],setup(t,a){const n=e.ref(t.items),o=e.ref(),l=2,i=e.ref(t.modelValue),c=e.ref("none"),d=e.ref(t.type),h=e.computed(()=>{const g={"f-capsule-container":!0};return d.value&&(g[d.value]=!0),g}),s=e.computed(()=>({})),m=e.computed(()=>({"f-capsule":!0})),r=e.ref(l),u=e.ref(0),y=e.ref(0),b=e.computed(()=>({left:`${r.value}px`,width:`${u.value}px`,transition:c.value})),T=e.computed(()=>({width:`${y.value}px`})),v=new Map;function V(g){var p;if(v.has(g.value)){const C=(p=v.get(g.value))==null?void 0:p.value;if(C){const D=C.getBoundingClientRect(),I=o.value.getBoundingClientRect();r.value=D.left-I.left+l+o.value.scrollLeft,u.value=D.width-2*l}}}function R(g,p){const C=g.value;i.value=C,a.emit("update:modelValue",C),V(g),p&&a.emit("change",C)}function $(g){const p=n.value.findIndex(C=>C.value===g);p>-1&&R(n.value[p],!1)}e.watch(()=>t.modelValue,g=>{i.value=g,$(i.value)}),e.onMounted(async()=>{$(i.value),await e.nextTick(),c.value="0.1s ease-out all",y.value=Array.from(v.values()).reduce((g,p)=>(g+=p.value.clientWidth,g),0)});function B(g,p){R(p,!0)}function E(g,p){v.set(p,g)}function O(g){Array.from(v.keys()).forEach(p=>{g.find(D=>D.value===p)||v.delete(p)})}function f(g,p){return e.createVNode(je,{name:g.name,value:g.value,isActive:g.value===i.value,index:p,disabled:g.disabled,key:g.value,onMounted:E,onActive:B},null)}return e.watch(()=>t.items,async g=>{const p=g.filter(C=>C.show);O(p),n.value=p,await e.nextTick(),$(i.value),y.value=Array.from(v.values()).reduce((C,D)=>(C+=D.value.clientWidth,C),0)}),()=>e.createVNode("span",{ref:o,class:h.value,style:s.value},[e.createVNode("span",{class:"f-capsule-pane"},[n.value.map((g,p)=>f(g,p))]),e.createVNode("small",{class:m.value,style:b.value},null),e.createVNode("div",{class:"f-capsule-board",style:T.value},null)])}}),Le=new Map([["appearance",Y]]),ze={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"switch",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a switch",type:"string"},type:{description:"The type string of switch component",type:"string",default:"switch"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},onBackground:{description:"",type:"string",default:""},offBackground:{description:"",type:"string",default:""},onColor:{description:"",type:"string",default:""},offColor:{description:"",type:"string",default:""},onLabel:{description:"",type:"string",default:""},offLabel:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},size:{description:"",type:"enum",default:"medium"},required:{description:"",type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding"]};function Pe(t,a,n){return a}const ge={modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},onBackground:{type:String},offBackground:{type:String},onColor:{type:String},offColor:{type:String},onLabel:{type:String},offLabel:{type:String},size:{type:String,default:"medium"},onModelValueChanged:{type:Function,default:()=>{}}};X(ge,ze,Le,Pe);const He=e.defineComponent({name:"FSwitch",props:ge,emits:["update:modelValue","modelValueChanged"],setup(t,a){const{disabled:n,size:o,onLabel:l,offLabel:i,onBackground:c,offBackground:d,onColor:h,offColor:s,readonly:m}=e.toRefs(t),r=e.ref(t.modelValue),u=e.computed(()=>({switch:!0,"f-cmp-switch":!0,checked:r.value,disabled:m.value||n.value,"switch-large":o.value==="large","switch-medium":o.value==="medium","switch-small":o.value==="small"})),y=e.computed(()=>r.value?{outline:"none",background:c.value}:{outline:"none",backgroundColor:d.value}),b=e.computed(()=>r.value?{background:h.value}:{backgroundColor:s.value}),T=e.computed(()=>(l==null?void 0:l.value)||(i==null?void 0:i.value));function v(){m.value||n.value||(r.value=!r.value,a.emit("update:modelValue",r.value))}return e.watch(r,(V,R)=>{V!==R&&a.emit("modelValueChanged",V)}),e.watch(()=>t.modelValue,(V,R)=>{V!==R&&(r.value=V)}),()=>e.createVNode("span",{tabindex:"0",role:"button",class:u.value,style:y.value,onClick:v},[T.value&&e.createVNode("span",{class:"switch-pane"},[e.createVNode("span",{class:"switch-label-checked"},[l==null?void 0:l.value]),e.createVNode("span",{class:"switch-label-unchecked"},[i==null?void 0:i.value])]),e.createVNode("small",{style:b.value},[a.slots.default&&a.slots.default()])])}}),We=e.defineComponent({name:"FScreenResolutionSelector",props:Ne,emits:["screenNameChanged","currentScreenResolutionChanged","switchInStandardModeChanged"],setup(t,a){const n=e.ref([{name:"小屏幕",code:"SM",value:"SM",active:!1},{name:"中等屏幕",code:"MD",value:"MD",active:!0},{name:"大屏幕",code:"LG",value:"LG",active:!1},{name:"极大屏幕",code:"EL",value:"EL",active:!1}]),o=e.ref(t.defaultStates),l=e.ref("MD"),i=e.ref("中等屏幕"),c=e.ref(!0);function d(m){n.value.forEach(r=>{r.active=r.code===m,r.active&&(l.value=r.code,i.value=r.name,a.emit("screenNameChanged",i.value),a.emit("currentScreenResolutionChanged",l.value))})}function h(){a.emit("switchInStandardModeChanged",c.value)}e.watch(c,()=>{}),e.onBeforeMount(()=>{o.value.model==="standard"?c.value=!0:(c.value=!1,h())});function s(){return e.createVNode(Ie,{class:"f-layout-editor-screen-resolution-selector-frame",items:n.value,modelValue:l.value,"onUpdate:modelValue":m=>l.value=m,onChange:d},null)}return()=>e.createVNode("div",{class:"f-layout-editor-screen-resolution-selector"},[e.createVNode("div",{class:"f-layout-editor-screen-resolution-selector-header"},[e.createVNode("div",{class:"f-layout-editor-screen-resolution-selector-form"},[e.createTextVNode("表单布局配置")])]),s(),e.createVNode("div",{class:"f-layout-editor-screen-resolution-selector-switch"},[e.createVNode(He,{class:"f-layout-editor-show-switch",modelValue:c.value,"onUpdate:modelValue":m=>c.value=m,onModelValueChanged:h},null),c.value?e.createVNode("div",{class:"f-layout-editor-show-switch-label"},[e.createTextVNode("标准模式")]):e.createVNode("div",{class:"f-layout-editor-show-switch-label"},[e.createTextVNode("自定义模式")])])])}}),qe={currentScreenResolution:{type:String,default:""},switchInStandardMode:{type:Boolean,default:!1},currentArea:{type:Object,default:[]},twoDimensionalArray:{type:Array,default:[]}},Ue={item:{type:Object,default:{}},currentScreenResolution:{type:String,default:""},switchInStandardMode:{type:Boolean,default:!1}},Ge=e.defineComponent({name:"FColumnWidthView",props:Ue,emits:[],setup(t,a){const n=e.ref(t.item),o=e.ref(t.currentScreenResolution),l=e.computed(()=>`col-${n.value[`columnIn${o.value}`]}`);return e.watch([()=>t.item,()=>t.currentScreenResolution],([i,c],[d,h])=>{i!==d&&(n.value=i),c!==h&&(o.value=c)}),()=>e.createVNode("div",{class:l.value},[e.createVNode("div",{class:"f-layout-editor-column-width-view",title:n.value.label},[e.createVNode("div",{class:"f-layout-editor-column-width-view-label"},[n.value.label])])])}}),Xe=e.defineComponent({name:"FPreview",props:qe,emits:["update:twoDimensionalArray"],setup(t,a){const n=e.ref(t.currentScreenResolution),o=e.ref(t.switchInStandardMode),l=e.ref(t.currentArea),i=e.ref(t.twoDimensionalArray),c=e.ref([]);e.watch([()=>t.currentArea,()=>t.switchInStandardMode,()=>t.currentScreenResolution],([r,u,y],[b,T,v])=>{r!==b&&(l.value=r),u!==T&&(o.value=u),y!==v&&(n.value=y)});function d(r,u){const y=[];let b=[];return r.forEach(T=>{u!==T.componentRow&&(u+=1,y.push(b),b=[]),b.push(T)}),y.push(b),y}function h(){const r=[];let u=1;return c.value.forEach(y=>{const b=d(y,u);u+=b.length,r.push(b)}),r}function s(){c.value=W.cloneDeep(i.value),c.value=h()}e.watch(()=>t.twoDimensionalArray,()=>{i.value=t.twoDimensionalArray,s()}),e.onMounted(()=>{s()});function m(){if(o.value)return"";const r=Array.from({length:12},()=>e.createVNode("div",{class:"col-1"},[e.createVNode("div",{class:"f-layout-editor-preview-customize-single-background"},[e.createTextVNode(" ")])]));return e.createVNode("div",{class:"f-layout-editor-preview-customize-whole-background"},[r])}return()=>e.createVNode("div",{class:"f-layout-editor-preview f-utils-fill-flex-column"},[e.createVNode("div",{class:"f-layout-editor-preview-header"},[e.createTextVNode("预览区")]),m(),e.createVNode("div",{class:"f-layout-editor-preview-view f-utils-overflow-xhya"},[e.createVNode("div",{class:"f-layout-editor-preview-row-group"},[c.value.map(r=>{var u,y;return((u=r[0][0])==null?void 0:u.group.toString())===((y=l.value[0])==null?void 0:y.id)&&r.map(b=>e.createVNode("div",{class:"f-layout-editor-row"},[b.map(T=>e.createVNode(Ge,{item:T,"onUpdate:item":v=>T=v,currentScreenResolution:n.value,switchInStandardMode:o.value},null))]))})])])])}}),Ye={currentScreenResolution:{type:String,default:""},switchInStandardMode:{type:Boolean,default:!1},originalData:{type:Array,default:[]},originalDataCopy:{type:Array,default:[]},defaultStates:{type:Object,default:{}},onTwoDimensionalArrayChanged:{type:Function,default:()=>{}},onOriginalDataChanged:{type:Function,default:()=>{}}};function _e(t,a){const n=e.ref(-1),o=e.ref(!1);function l(r){if(r.target.offsetParent){const u=r.target.offsetParent,y=u.offsetWidth-r.target.offsetWidth/2-4,b=u.offsetHeight/2;r.dataTransfer&&r.dataTransfer.setDragImage(u,y,b)}}function i(r){if(r){const u=t.value.findIndex(y=>y.label===r.label);setTimeout(()=>{n.value=u,o.value=!0,r.moving=!0})}}function c(r,u){r.stopPropagation(),l(r),i(u)}function d(r){const u=t.value.findIndex(y=>y.label===r.label);if(n.value!==u){const y=t.value[n.value],b=t.value;b.splice(n.value,1),b.splice(u,0,y),n.value=u,a&&a()}}function h(r,u){r.preventDefault(),d(u)}function s(r){r.preventDefault(),r.dataTransfer&&(r.dataTransfer.dropEffect="move")}function m(r,u){u&&(u.moving=!1),o.value=!1}return{dragstart:c,dragenter:h,dragover:s,dragend:m,isDragging:o}}const Je=new Map([["appearance",Y]]),Qe={$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"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},remote:{description:"",type:"string"},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"},multiSelect:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0}},required:["type"],ignore:["id","appearance","binding","visible"]};function Ze(t,a,n){return a}const oe={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:!0},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},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}};Object.assign({},oe,{readonly:{}}),X(oe,Qe,Je,Ze);const Ke={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}},et=e.defineComponent({name:"FComboListContainer",props:Ke,emits:["selectionChange"],setup(t,a){const n=e.ref(),o=e.ref(t.dataSource),l=e.ref([]),i=e.ref(t.separator),c=e.ref(t.width),d=e.ref(t.maxHeight),h=e.ref(String(t.selectedValues).split(i.value)),s=e.computed(()=>t.multiSelect),m=e.computed(()=>({enableSelectRow:!0,multiSelect:t.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:s.value,showSelectAll:!1,showSelection:!0}));e.watch(t.dataSource,()=>{o.value=t.dataSource}),e.computed(()=>t.enableSearch?"SearchBar":"ContentHeader");const r=e.computed(()=>{const v={};return c.value!==void 0&&(v.width=`${c.value}px`),d.value!==void 0&&d.value>0&&(v.maxHeight=`${d.value}px`),v});function u(v){n.value.search(v)}function y(v){l.value=v.map(V=>Object.assign({},V)),h.value=v.map(V=>V[t.idField]),a.emit("selectionChange",l.value)}function b(v){if(t.enableHighlightSearch)return;let V=[];const{searchOption:R}=t;typeof R=="function"?V=o.value.filter($=>R(v,$)):V=o.value.filter($=>$[t.valueField].indexOf(v)>-1||$[t.textField].indexOf(v)>-1),n.value.updateDataSource(V)}e.watch([()=>t.selectedValues],([v])=>{h.value=v.split(i.value)});function T(v){n.value.activeRowById(v)}return e.onMounted(()=>{t.multiSelect||T(h.value[0])}),a.expose({search:u,activeRowById:T}),()=>e.createVNode("div",{class:"f-combo-list-container",style:r.value},[e.createVNode(Ve,{ref:n,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:o.value,idField:t.idField,textField:t.textField,titleField:t.titleField,multiSelect:t.multiSelect,selection:m.value,enableHighlightSearch:t.enableHighlightSearch,selectionValues:h.value,onSelectionChange:y,onAfterSearch:b},null)])}});function tt(t){const a=e.ref(""),n=e.ref(t.modelValue),o=e.ref(t.data||[]),l=e.ref(t.editable);function i(r){const u=t.multiSelect?String(r).split(t.separator):[String(r)],y=u.map(v=>[v,!0]),b=new Map(y);return o.value.filter(v=>b.has(String(v[t.valueField]))).sort((v,V)=>{const R=u.indexOf(v[t.valueField]),$=u.indexOf(V[t.valueField]);return R-$})}function c(r){const u=i(r).map(y=>y[t.textField]).join(t.separator);a.value=l.value?u||r:u}function d(r){const u=r.split(t.separator).map(b=>[b,!0]),y=new Map(u);return o.value.filter(b=>y.has(b[t.textField]))}function h(r){const u={};return u[t.idField]=r,u[t.textField]=r,[u]}function s(r){let u=d(r);const y=u&&u.length>0;return l.value&&!y&&(u=h(r)),u}function m(){const{url:r,method:u="GET",headers:y={},body:b=null}=t.remote,T=u.toLowerCase()==="get"?{method:u,headers:y}:{method:u,headers:y,body:b};let v=!1;fetch(r,T).then(V=>{var $,B;if(V.status===200)return v=!!((B=($=V.headers)==null?void 0:$.get("content-type"))!=null&&B.includes("application/json")),v?V.text():V.json();throw new Error(V.statusText)}).then(V=>{o.value=v?JSON.parse(V):V}).catch(V=>{console.error(V)})}return t.remote&&m(),e.watch(()=>t.data,()=>{o.value=t.data}),e.watch([o],([r])=>{if(t.modelValue!=null){const u=r.find(y=>y[t.valueField]===t.modelValue);u&&(a.value=u[t.textField])}}),e.watch(()=>t.modelValue,r=>{n.value=r,c(r)}),c(t.modelValue),{dataSource:o,displayText:a,editable:l,modelValue:n,getItemsByDisplayText:d,getItemsByValue:i,getSelectedItemsByDisplayText:s}}const at=e.defineComponent({name:"FComboList",props:oe,emits:["clear","update:modelValue","change","input"],setup(t,a){const n=e.ref(),o=e.ref(),l=e.ref(t.disabled),i=e.ref(t.enableClear),c=e.ref(t.enableSearch),d=e.ref(t.readonly);let h="";const{dataSource:s,displayText:m,editable:r,modelValue:u,getSelectedItemsByDisplayText:y}=tt(t),b=e.computed(()=>t.multiSelect),T=e.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function v(){!b.value&&o.value&&o.value.hidePopup()}function V(p){m.value=p.map(D=>D[t.textField]).join(t.separator);let C="";p.length===1?C=p[0][t.valueField]:C=p.map(D=>D[t.valueField]).join(t.separator),u.value!==C&&(u.value=C,a.emit("update:modelValue",u.value),a.emit("change",p,u.value))}function R(){const p=y(h);V(p)}function $(){d.value||(h=m.value)}function B(p){u.value="",n.value.activeRowById(""),a.emit("update:modelValue",""),a.emit("clear")}function E(p){t.enableSearch?(n.value.search(p),n.value.activeRowById(p)):(u.value=p,m.value=p,a.emit("update:modelValue",u.value),a.emit("change",[p],p))}function O(){return m.value}function f(p){E(p),a.emit("input",p)}function g(){o.value.hidePopup()}return a.expose({getDisplayText:O,hidePopup:g}),e.watch([()=>t.disabled,()=>t.editable,()=>t.enableClear,()=>t.enableSearch,()=>t.readonly],([p,C,D,I,q])=>{l.value=p,r.value=C,i.value=D,c.value=I,d.value=q}),()=>e.createVNode(xe,{ref:o,id:t.id,disable:l.value,readonly:d.value,forcePlaceholder:t.forcePlaceholder,editable:r.value,buttonContent:t.dropDownIcon,placeholder:t.placeholder,enableClear:i.value,maxLength:t.maxLength,tabIndex:t.tabIndex,enableTitle:t.enableTitle,multiSelect:t.multiSelect,inputType:t.multiSelect?t.viewType:"text",modelValue:m.value,"onUpdate:modelValue":p=>m.value=p,focusOnCreated:t.focusOnCreated,selectOnCreated:t.selectOnCreated,onClear:B,onClick:$,onBlur:R,onInput:f,beforeOpen:t.beforeOpen,placement:t.placement,popupMinWidth:t.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:t.popupOnClick},{default:()=>[e.createVNode(et,{ref:n,idField:t.idField,valueField:t.valueField,textField:t.textField,titleField:t.titleField,dataSource:s.value,selectedValues:u.value,multiSelect:t.multiSelect,enableSearch:c.value,maxHeight:t.maxHeight,enableHighlightSearch:t.enableHighlightSearch,width:t.fitEditor?T.value:void 0,onSelectionChange:p=>{V(p),v()}},null)]})}}),nt={currentScreenResolution:{type:String,default:""},field:{type:Object,default:{}},switchInStandardMode:{type:Boolean,default:!1},fieldChanged:{type:Function,default:()=>{}}},ot=new Map([["appearance",Y]]);function lt(t,a,n){return a}const rt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-button.schema.json",title:"radio-button",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for radio-button",type:"string"},type:{description:"The type string of radio-button",type:"string",default:"radio-button"},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"]},it={title:"radio-button",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:[]}}}}}},ye={enumData:{type:Array,default:[{text:"1",active:!0}]},suffixValue:{type:String,default:""},onSelectedValueChanged:{type:Function,default:()=>{}}};X(ye,rt,ot,lt,it);const st=e.defineComponent({name:"FRadioButton",props:ye,emits:["selectedValueChanged"],setup(t,a){const n=e.ref(t.enumData);function o(i,c){if(i.currentTarget.classList.value="btn btn-secondary active",i.currentTarget.tagName.toLowerCase()==="label"){const{currentTarget:d}=i,h=d.parentElement;Array.from(h.querySelectorAll("label")).filter(m=>m!==d).forEach(m=>m.classList.remove("active"))}a.emit("selectedValueChanged",c)}function l(i){return`${i.text}${t.suffixValue}`}return e.watch(()=>t.enumData,(i,c)=>{i!==c&&(n.value=t.enumData)}),()=>e.createVNode("div",{class:"f-radio-button"},[e.createVNode("div",{class:["farris-input-wrap"]},[n.value.map((i,c)=>e.createVNode(e.Fragment,null,[e.createVNode("label",{class:i.active?"btn btn-secondary active":"btn btn-secondary",onClick:d=>o(d,i)},[e.createVNode("span",{class:"f-radio-button-text"},[l(i)])])]))])])}}),ct=new Map([["appearance",Y]]);function ut(t,a,n){return a}const dt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/rate.schema.json",title:"rate",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for rate",type:"string"},type:{description:"The type string of rate",type:"string",default:"rate"},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"],ignore:["id","appearance","binding"]},ft={title:"rate",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:[]}}}}}},ve={size:{type:String,default:"large"},enableHalf:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},pointSystem:{type:Number,default:5},lightColor:{type:String,default:""},darkColor:{type:String,default:""},iconClass:{type:String,default:"f-icon-star"},numOfStar:{type:Number,default:5},toolTipDisabled:{type:Boolean,default:!0},toolTipContents:{type:Array,default:["很不满意","不满意","一般","满意","非常满意"]},enableScore:{type:Boolean,default:!0},enableSatisfaction:{type:Boolean,default:!1},value:{type:Number,default:0},modelValue:{type:Number,default:0}};X(ve,dt,ct,ut,ft);const pt=e.defineComponent({name:"FRate",props:ve,emits:["selectedValue","update:modelValue"],setup(t,a){const n=e.ref(t.size),o=e.ref(t.enableHalf),l=e.ref(t.enableClear),i=e.ref(t.disabled),c=e.ref(t.pointSystem),d=e.ref(t.lightColor),h=e.ref(t.darkColor),s=e.ref(t.iconClass),m=e.ref(t.numOfStar),r=e.ref(t.toolTipDisabled),u=e.ref(t.toolTipContents),y=e.ref(t.enableScore),b=e.ref(t.enableSatisfaction);let T;const v=e.ref(0),V=e.ref(0),R=e.ref(0),$=e.ref(t.modelValue);let B=1,E,O,f;const g=4;e.onMounted(()=>{});function p(){const N=m.value;f=[];for(let k=1;k<=N;k++)f.push({id:k})}function C(){let N;o.value?N=Math.ceil($.value/B):N=$.value,V.value=(T*$.value+Math.floor($.value)*g)/B,E=u.value[N-1]}function D(){switch(n.value){case"small":T=14;break;case"middle":T=16;break;case"large":T=18;break;case"extraLarge":T=24;break}p(),m.value&&(B=c.value/m.value),$.value&&C()}D();function I(N){return N.className.indexOf("f-icon")!==-1}function q(){return v.value===V.value&&l.value&&V.value!==0?(V.value=0,$.value=0,O=null,v.value=0,R.value=0,a.emit("selectedValue",$.value),a.emit("update:modelValue",$.value),!0):!1}function M(N,k,z){if(N.movementX||N.movementY){if(i.value)return;b.value&&(E=u.value[k-1]),N.offsetX<T/2&&o.value===!0?(v.value=T*k-T/2+g*(k-1),R.value=B*k-B/2):(v.value=T*k+g*(k-1),R.value=B*k)}if(z===!0){if(q())return;$.value=R.value,V.value=v.value,O=E,a.emit("update:modelValue",$.value),a.emit("selectedValue",$.value)}}function F(N,k){var z;if(I(N.target)&&N.target){const te=parseInt((z=N.target)==null?void 0:z.id);M(N,te,k)}}const j=e.computed(()=>R.value?R.value+"分":$.value+"分"),S=e.computed(()=>({width:(v.value||V.value)+"px"}));function x(){v.value=0}return e.watch(()=>t.modelValue,N=>{$.value=N,C()}),()=>e.createVNode("div",{class:"farris-star-rating",onMouseover:e.withModifiers(N=>F(N,!1),["prevent"]),onMousemove:e.withModifiers(N=>F(N,!1),["prevent"]),onMouseleave:e.withModifiers(N=>x(),["prevent"]),onClick:e.withModifiers(N=>F(N,!0),["prevent"])},[e.createVNode("div",{class:"star-light-area",style:S.value},[f.map(N=>e.createVNode("span",{class:["f-icon default-light-color ",s.value,{"f-star-sm":n.value==="small"},{"f-star-md":n.value==="middle"},{"f-star-lg":n.value==="large"},{"f-star-exlarge":n.value==="extraLarge"},{disabled:r.value}],id:N.id,style:{color:d.value}},null))]),e.createVNode("div",{class:["star-dark-area",{small:n.value==="small"},{middle:n.value==="middle"},{large:n.value==="large"}]},[f.map(N=>e.createVNode("span",{class:["f-icon default-dark-color",s.value,{"f-star-sm":n.value==="small"},{"f-star-md":n.value==="middle"},{"f-star-lg":n.value==="large"},{"f-star-exlarge":n.value==="extraLarge"}],id:N.id,style:{color:h.value}},null))]),e.createVNode("div",{class:["f-utils-fill",{"font-small":n.value==="small"},{"font-middle":n.value==="middle"},{"font-large":n.value==="large"},{"font-exlarge":n.value==="extraLarge"}]},[y.value&&e.createVNode("span",null,[e.createTextVNode(" "),j.value,e.createTextVNode(" ")]),b.value&&(O||E)&&e.createVNode("span",null,[e.createTextVNode(" "),E||O])])])}}),mt=e.defineComponent({name:"FColumnWidthEditor",props:nt,emits:["fieldChanged"],setup(t,a){const n={SM:["1"],MD:["1","2"],LG:["1","2","3","4"],EL:["1","2","3","4","5","6"]},o=e.ref(t.currentScreenResolution),l=e.ref(t.field),i=e.ref(t.switchInStandardMode),c=e.ref(),d=e.ref(""),h=e.ref(),s=e.ref("customize"),m=e.ref(),r=e.inject("ResponseLayoutEditorDraggableComposition"),{dragstart:u,dragenter:y,dragover:b,dragend:T}=r;function v(){c.value=n==null?void 0:n[o.value],i.value?(d.value=`displayWidthIn${o.value}`,s.value=`${l.value[d.value]}`):(d.value=`columnIn${o.value}`,m.value=l.value[d.value])}function V(p){if(i.value===!0){const C=Number(p==null?void 0:p.text);h.value=C;const D=l.value[`columnIn${o.value}`]/l.value[`displayWidthIn${o.value}`];l.value[`columnIn${o.value}`]=C*D,l.value[`displayWidthIn${o.value}`]=Number(C),a.emit("fieldChanged",l.value)}}function R(p){m.value=p;const C=l.value[`columnIn${o.value}`]/l.value[`displayWidthIn${o.value}`];l.value[`columnIn${o.value}`]=m.value,l.value[`displayWidthIn${o.value}`]=m.value/C,a.emit("fieldChanged",l.value)}function $(){return e.createVNode(pt,{enableHalf:!0,size:"extraLarge",pointSystem:12,numOfStar:6,lightColor:"#5D89FE",darkColor:"#e7e9f3",iconClass:"f-icon-column-rectangle",modelValue:m.value,"onUpdate:modelValue":p=>m.value=p,enableScore:!1,onSelectedValue:()=>R(m.value)},null)}function B(){const p=[];c.value=n==null?void 0:n[o.value];const C=l.value[`displayWidthIn${o.value}`];return c.value.forEach(D=>{const I={text:D,active:C.toString()===D};p.push(I)}),p}function E(){const p=B();return e.createVNode(st,{enumData:p,suffixValue:"列",onSelectedValueChanged:V},{default:()=>[e.createTextVNode(" ")]})}function O(){var p;if(((p=l==null?void 0:l.value)==null?void 0:p.showTopBorder)===1)return e.createVNode("div",{class:"f-layout-editor-column-width-editor-row"},[e.createVNode("span",{class:"f-layout-editor-column-width-editor-row-left"},null),e.createVNode("span",{class:"f-layout-editor-column-width-editor-row-middle"},[e.createTextVNode("第"),l.value.componentRow,e.createTextVNode("行")]),e.createVNode("span",{class:"f-layout-editor-column-width-editor-row-right"},null)])}function f(){return i.value?e.createVNode("div",{class:"f-column-width-editor-switch-standard"},[e.createVNode("div",{class:"f-layout-editor-column-width-editor-click-button"},[E()])]):e.createVNode("div",{class:"f-column-width-editor-switch-customize",onDragenter:p=>y(p,l.value),onDragend:p=>T(p,l.value),onDragover:p=>b(p)},[e.createVNode("div",{class:"f-layout-editor-column-width-editor-rectangle"},[$(),e.createVNode("div",{class:"f-layout-editor-rate-show-column"},[m.value,e.createTextVNode("列")]),e.createVNode("span",{class:"f-layout-editor-drag-handler f-icon f-icon-drag-vertical",draggable:"true",onDragstart:p=>u(p,l.value)},null)])])}function g(){var p,C;return e.createVNode("div",{class:"f-layout-editor-column-width-editor-component"},[e.createVNode("div",{class:"f-layout-editor-column-width-editor-label",title:(p=l==null?void 0:l.value)==null?void 0:p.label},[(C=l==null?void 0:l.value)==null?void 0:C.label]),f()])}return e.watch(()=>[t.field,t.switchInStandardMode,t.currentScreenResolution],([p,C,D],[I,q,M])=>{D!==M&&(o.value=D,c.value=n[o.value],v()),C!==q&&(i.value=C),i.value===!1&&v(),p!==I&&(l.value=p)}),e.onMounted(()=>{v()}),()=>e.createVNode("div",{class:"f-layout-editor-column-width-editor"},[O(),g()])}}),ht=e.defineComponent({name:"FFieldList",props:Ye,emits:["update:currentArea","twoDimensionalArrayChanged","originalDataChanged"],setup(t,a){const n=e.ref(t.currentScreenResolution),o=e.ref(t.switchInStandardMode),l=e.ref(t.originalData),i=e.ref(t.originalDataCopy),c=e.ref(t.defaultStates),d=e.ref(""),h=e.ref([]),s=e.ref(t.currentArea),m=e.ref(0),r=e.ref(),u=e.ref(0),y=e.ref("1"),b=e.ref([]);function T(){const M=[];return l.value.forEach(F=>{M.indexOf(F.group)===-1&&M.push(F.group)}),M}function v(){y.value=c.value.defaultGroupNumber.toString(),d.value=`区域${y.value}`,s.value=[h.value[Number(y.value)-1]],a.emit("update:currentArea",s.value)}function V(){var F;const M=T();for(let j=0;j<M.length;j++){const S={id:(F=M[j])==null?void 0:F.toString(),label:"区域"+M[j]};h.value.push(S)}v()}function R(){let M=[];r.value=[];let F=1;l.value.forEach(j=>{j.group===F||(F+=1,r.value.push(M),M=[]),M.push(j)}),r.value.push(M)}function $(M,F){let S=12;return m.value=1+F,M.forEach(x=>{x.showTopBorder=0;const N=x[`columnIn${n.value}`];S>=N?(x.componentRow=m.value,S-=N):(m.value+=1,x.componentRow=m.value,S=12-N,x.showTopBorder=1)}),M[0].showTopBorder=1,M}function B(M){let F=[];for(const j of M)F=F.concat(j);l.value=W.cloneDeep(F),u.value=0}function E(){r.value[s.value[0].id-1]=W.cloneDeep(b.value);const M=[];u.value=0,r.value.forEach(F=>{const j=$(F,u.value);M.push(j),u.value=j[j.length-1].componentRow}),B(M)}function O(){R();const M=[];return u.value=0,r.value.forEach(F=>{const j=$(F,u.value);M.push(j),u.value=j[j.length-1].componentRow}),a.emit("twoDimensionalArrayChanged",r.value),B(M),l.value}function f(){b.value=[],l.value.forEach(M=>{M.group===Number(s.value[0].id)&&b.value.push(M)})}function g(){l.value=W.cloneDeep(O()),a.emit("originalDataChanged",l.value)}function p(M){b.value.forEach(F=>{F.id===M.id&&Object.assign(F,M)}),E(),g(),f()}function C(M){for(let F=0;F<M.length;F++)s.value=[{id:M[F].id,label:M[F].label}];a.emit("update:currentArea",s.value),f(),E()}function D(){return e.createVNode("div",{class:"f-layout-editor-field-list-top"},[e.createVNode("div",{class:"f-layout-editor-field-list-header"},[e.createTextVNode("组件列表")]),e.createVNode("div",{class:"f-layout-editor-choose-group"},[e.createVNode(at,{modelValue:y.value,"onUpdate:modelValue":M=>y.value=M,placeholder:"当前可编辑组",enableClear:!1,"id-field":"id","text-field":"label",data:h.value,editable:!1,onChange:C},null)])])}function I(){return e.createVNode("div",{class:"f-layout-editor-field-list-content f-utils-overflow-xhya"},[b.value.map(M=>e.createVNode(mt,{key:M.label,currentScreenResolution:n.value,field:M,"onUpdate:field":F=>M=F,switchInStandardMode:o.value,"onUpdate:switchInStandardMode":F=>o.value=F,onFieldChanged:p},null))])}const q=_e(b,()=>{E(),g(),f()});return e.provide("ResponseLayoutEditorDraggableComposition",q),e.watch(()=>t.currentArea,(M,F)=>{M!==F&&(s.value=t.currentArea,f())}),e.watch(s,(M,F)=>{M!==F&&f()}),e.watch(()=>t.currentGroup,(M,F)=>{M!==F&&(d.value=t.currentGroup)}),e.watch(()=>t.currentScreenResolution,(M,F)=>{M!==F&&(n.value=t.currentScreenResolution,g(),R(),s.value[0]&&(b.value=W.cloneDeep(r.value[Number(s.value[0].id)-1])))}),e.watch(()=>t.switchInStandardMode,(M,F)=>{M!==F&&(o.value=t.switchInStandardMode,l.value=W.cloneDeep(i.value))}),e.watch(c,(M,F)=>{M!==F&&g()}),e.onBeforeMount(()=>{V(),O(),f()}),()=>e.createVNode("div",{class:"f-layout-editor-field-list f-utils-fill-flex-column"},[o.value?e.createVNode("div",{class:"f-layout-editor-field-list-standard f-utils-fill-flex-column"},[D(),I()]):e.createVNode("div",{class:"f-layout-editor-field-list-customize f-utils-fill-flex-column"},[D(),I()])])}}),_=e.defineComponent({name:"FResponseLayoutEditor",props:ue,emits:["close","submit"],setup(t,a){const n=e.ref(t.initialState),o=e.ref(),l=e.ref(),i=e.ref(""),c=e.ref(""),d=e.ref(!0),h=e.ref([{id:"1",label:"区域1"}]),s=e.ref([]),m=e.ref();e.ref(t.width),e.ref(t.height),e.watch(()=>t.initialState,f=>{n.value=f}),e.watch([()=>t.currentArea,()=>t.switchInStandardMode],([f,g],[p,C])=>{f!==p&&(h.value=f),g!==C&&(d.value=g)});function r(f){i.value=f}function u(f){c.value=f}function y(f){d.value=f}function b(f){h.value=[].concat(f)}function T(f){o.value=W.cloneDeep(f)}function v(f){s.value=f}function V(){a.emit("close")}function R(){a.emit("submit",o.value)}function $(){return e.createVNode(ht,{class:"f-utils-fill-flex-column",defaultStates:l.value,originalDataCopy:m.value,currentScreenResolution:c.value,"onUpdate:currentScreenResolution":f=>c.value=f,originalData:o.value,"onUpdate:originalData":f=>o.value=f,switchInStandardMode:d.value,"onUpdate:switchInStandardMode":f=>d.value=f,currentArea:h.value,"onUpdate:currentArea":f=>h.value=f,onCurrentAreaChanged:b,onTwoDimensionalArrayChanged:v,onOriginalDataChanged:T},null)}function B(){return e.createVNode(Xe,{class:"f-utils-fill-flex-column",currentArea:h.value,"onUpdate:currentArea":f=>h.value=f,currentScreenResolution:c.value,"onUpdate:currentScreenResolution":f=>c.value=f,switchInStandardMode:d.value,twoDimensionalArray:s.value,"onUpdate:twoDimensionalArray":f=>s.value=f},null)}const E=e.computed(()=>d.value?"f-layout-editor-left-standard f-utils-fill-flex-column":"f-layout-editor-left-customize f-utils-fill-flex-column"),O=e.computed(()=>d.value?"f-layout-editor-right-standard f-utils-fill-flex-column":"f-layout-editor-right-customize f-utils-fill-flex-column");return e.onBeforeMount(()=>{o.value=W.cloneDeep(n.value.importData),m.value=W.cloneDeep(n.value.importData),l.value=n.value.defaultState,i.value="中等屏幕",c.value="MD"}),f=>e.createVNode("div",{class:"f-layout-editor f-utils-flex-column"},[e.createVNode("div",{class:"f-layout-editor-top"},[e.createVNode(We,{defaultStates:l.value,onScreenNameChanged:r,onCurrentScreenResolutionChanged:u,onSwitchInStandardModeChanged:y},null)]),e.createVNode("div",{class:"f-layout-editor-content f-utils-fill"},[e.createVNode("div",{class:"f-layout-editor-left f-utils-fill-flex-column"},[e.createVNode("div",{class:E.value},[$()])]),e.createVNode("div",{class:"f-layout-editor-right f-utils-fill-flex-column"},[e.createVNode("div",{class:O.value},[B()])])]),e.createVNode("div",{class:"f-layout-editor-bottom"},[e.createVNode("div",{class:"f-layout-editor-button"},[e.createVNode("div",{class:"f-layout-editor-cancel-btn",onClick:V},[e.createVNode("span",{class:"f-layout-editor-text-cancel"},[e.createTextVNode("取消")])]),e.createVNode("div",{class:"f-layout-editor-sure-btn",onClick:R},[e.createVNode("span",{class:"f-layout-editor-text-sure"},[e.createTextVNode("确认")])])])])])}}),gt=new Map([["appearance",Y]]);function yt(t,a,n,o){const l=t.getSchemaByType("section");return l.id=`${o}-section`,l.appearance={class:"f-section-form f-section-in-main"},l.mainTitle="标题",l.contents=[a],l}function vt(t,a,n,o){const l=t.getSchemaByType("component");return l.id=`${o}-component`,l.componentType="form-col-1",l.appearance={class:"f-struct-form f-struct-wrapper"},l.contents=[a],l}function bt(t,a,n){a.appearance={class:"f-form-layout farris-form farris-form-controls-inline"};const o=yt(t,a,n,a.id);return vt(t,o,n,a.id)}const wt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-layout-editor-setting.schema.json",title:"response-layout-editor-setting",description:"A Farris Data Collection Component",type:"object",properties:{id:{description:"The unique identifier for response layout editor",type:"string"},type:{description:"The type string of response layout editor component",type:"string",default:"response-layout-editor-setting"},initialState:{description:"",type:"object",default:{}},height:{description:"",type:"number",default:0},width:{description:"",type:"number",default:0},beforeOpen:{description:"",type:"function"}},required:["id","type"]},Ct={title:"response-form",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:[]}}}}}},le={initialState:{type:Object},height:{type:Number,default:0},width:{type:Number,default:0},modelValue:{type:Object},beforeOpen:{type:Object}},be=X(le,wt,gt,bt,Ct),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:""},footerHeight:{type:Number,default:60}};class H{constructor(a,n){this.x=a,this.y=n}static getTransformInfo(a){const o=window.getComputedStyle(a).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(o.length>=6){const l=parseInt(o[4],10),i=parseInt(o[5],10);return{x:l,y:i}}return{x:0,y:0}}static fromEvent(a,n=null){if(this.isMouseEvent(a))return new H(a.clientX,a.clientY);if(n===null||a.changedTouches.length===1)return new H(a.changedTouches[0].clientX,a.changedTouches[0].clientY);for(let o=0;o<a.changedTouches.length;o++)if(a.changedTouches[o].target===n)return new H(a.changedTouches[o].clientX,a.changedTouches[o].clientY)}static isMouseEvent(a){return Object.prototype.toString.apply(a).indexOf("MouseEvent")===8}static isIPosition(a){return!!a&&"x"in a&&"y"in a}static getCurrent(a){const n=new H(0,0);if(window){const o=window.getComputedStyle(a);if(o){const l=parseInt(o.getPropertyValue("left"),10),i=parseInt(o.getPropertyValue("top"),10);n.x=isNaN(l)?0:l,n.y=isNaN(i)?0:i}return n}return null}static copy(a){return new H(0,0).set(a)}get value(){return{x:this.x,y:this.y}}add(a){return this.x+=a.x,this.y+=a.y,this}subtract(a){return this.x-=a.x,this.y-=a.y,this}multiply(a){this.x*=a,this.y*=a}divide(a){this.x/=a,this.y/=a}reset(){return this.x=0,this.y=0,this}set(a){return this.x=a.x,this.y=a.y,this}}class G{constructor(a,n){this.width=a,this.height=n}static getCurrent(a){const n=new G(0,0);if(window){const o=window.getComputedStyle(a);return o&&(n.width=parseInt(o.getPropertyValue("width"),10),n.height=parseInt(o.getPropertyValue("height"),10)),n}return null}static copy(a){return new G(0,0).set(a)}set(a){return this.width=a.width,this.height=a.height,this}}function Vt(t,a){const n=e.ref(),o=e.ref(),l=e.ref(),i=e.ref(),c=e.ref(),d=e.ref(),h=e.ref(),s=e.ref(),m=e.ref(),r=e.ref(),u=e.ref(),y=e.ref(),b=e.ref(t.draggable),T=e.ref(!1);function v(){const S=o.value||document.body,x=window.getComputedStyle(S);if(!x||!n.value)return;const N=H.getTransformInfo(n.value),k={};h.value&&(k.deltaL=n.value.offsetLeft-h.value.x,k.deltaT=n.value.offsetTop-h.value.y);const z=x.getPropertyValue("position");k.width=S.clientWidth,k.height=S.clientHeight,k.pr=parseInt(x.getPropertyValue("padding-right"),10),k.pb=parseInt(x.getPropertyValue("padding-bottom"),10),k.position=x.getPropertyValue("position"),z==="static"&&(S.style.position="relative"),k.translateX=N.x,k.translateY=N.y,r.value=k}function V(S){if(n.value){i.value=G.getCurrent(n.value),c.value=H.getCurrent(n.value),d.value=i.value?G.copy(i.value):null,h.value=c.value?H.copy(c.value):null,v();const x=S.target.getAttribute("type")||"";s.value={n:!!x.match(/n/),s:!!x.match(/s/),w:!!x.match(/w/),e:!!x.match(/e/)}}}function R(){var S,x,N,k;if(n.value){const z=n.value;s.value&&((s.value.n||s.value.s)&&((S=d.value)!=null&&S.height)&&(z.style.height=d.value.height+"px"),(s.value.w||s.value.e)&&((x=d.value)!=null&&x.width)&&(z.style.width=d.value.width+"px"),h.value&&((N=h.value)!=null&&N.x&&(z.style.left=h.value.x+"px"),(k=h.value)!=null&&k.y&&(z.style.top=h.value.y+"px")))}}function $(){const S=t.minHeight?t.minHeight:1,x=t.minWidth?t.minWidth:1;d.value&&h.value&&s.value&&i.value&&(d.value.height<S&&(d.value.height=S,s.value.n&&c.value&&(h.value.y=c.value.y+(i.value.height-S))),d.value.width<x&&(d.value.width=x,s.value.w&&c.value&&(h.value.x=c.value.x+(i.value.width-x))),t.maxHeight&&d.value.height>t.maxHeight&&(d.value.height=t.maxHeight,c.value&&s.value.n&&(h.value.y=c.value.y+(i.value.height-t.maxHeight))),t.maxWidth&&d.value.width>t.maxWidth&&(d.value.width=t.maxWidth,s.value.w&&c.value&&(h.value.x=c.value.x+(i.value.width-t.maxWidth))))}function B(){if(o.value){const S=r.value;if(h.value&&d.value&&s.value&&i.value){const x=S.width-S.pr-S.deltaL-S.translateX-h.value.x,N=S.height-S.pb-S.deltaT-S.translateY-h.value.y;s.value.n&&h.value.y+S.translateY<0&&c.value&&(h.value.y=-S.translateY,d.value.height=i.value.height+c.value.y+S.translateY),s.value.w&&h.value.x+S.translateX<0&&c.value&&(h.value.x=-S.translateX,d.value.width=i.value.width+c.value.x+S.translateX),d.value.width>x&&(d.valu