@gct-paas/core-web 0.1.6-dev.2 → 0.1.6-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components-pQ55MIpq.js → components-4-8OfvJi.js} +1 -1
- package/dist/icon-next-picker-B_S_yInJ.js +1 -0
- package/dist/index.min.css +1 -1
- package/dist/loader.esm.min.js +1 -1
- package/dist/{template-6yiNrzBh.js → template-Cf-wq8-9.js} +1 -1
- package/es/components/I18nSelect/src/i18n-select-btn.vue.mjs +2 -2
- package/es/components/I18nSelect/src/i18n-select-btn.vue_vue_type_script_setup_true_name_i18n-select-btn_lang.mjs +4 -1
- package/es/components/I18nSelect/src/{i18n-select-btn.vue_vue_type_style_index_0_scoped_b86f4068_lang.css → i18n-select-btn.vue_vue_type_style_index_0_scoped_ab917ea8_lang.css} +18 -13
- package/es/components/icon-next-picker/icon-next-picker.vue_vue_type_script_setup_true_name_IconNextPicker_lang.mjs +6 -3
- package/es/components/icon-next-picker/icon-next-picker.vue_vue_type_style_index_0_lang.css +3 -0
- package/package.json +7 -7
- package/dist/icon-next-picker-CvCosnvS.js +0 -1
package/dist/loader.esm.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./chunk-DPOkwzLC.js";import{t}from"./defineProperty-Co6UJKQ3.js";import{$ as s,G as o,H as l,J as a,K as i,Q as n,U as r,W as c,X as d,Y as u,Z as p,_ as m,a as h,at as v,b as f,c as g,ct as y,d as b,et as w,f as x,g as C,h as O,i as _,it as S,l as k,lt as E,m as j,n as D,nt as T,o as I,ot as M,p as z,q as L,r as R,rt as $,s as A,st as F,t as B,tt as P,u as q,x as G,y as N}from"./components-pQ55MIpq.js";import{O as U,_ as V,a as H,b as Y,c as K,d as W,f as X,g as J,i as Q,l as Z,m as ee,n as te,o as se,p as oe,r as le,s as ae,t as ie,u as ne,v as re,y as ce}from"./_plugin-vue_export-helper-59SbqtUR.js";import{n as de,r as ue,t as pe}from"./useMonacoEditor-BO2ALW-7.js";import{t as me}from"./overlayscrollbars-vue-DtKFrHnA.js";import{EditorRegisterConst as he,ExpressionModeEnum as ve,FIELD_TYPE as fe,FormContainerType as ge,SizeEnum as ye,cssLoader as be,dataURLtoBlob as we,fileUrlParser as xe,modelLoader as Ce,presetColor as Oe,t as _e,transformUrl as Se,useCopyToClipboard as ke,useModal as Ee,useNamespace as je}from"@gct-paas/core";import{Fragment as De,computed as Te,createBlock as Ie,createCommentVNode as Me,createElementBlock as ze,createElementVNode as Le,createSlots as Re,createTextVNode as $e,createVNode as Ae,defineAsyncComponent as Fe,defineComponent as Be,getCurrentInstance as Pe,h as qe,inject as Ge,isVNode as Ne,mergeProps as Ue,nextTick as Ve,normalizeClass as He,normalizeStyle as Ye,onBeforeUnmount as Ke,onMounted as We,onUnmounted as Xe,openBlock as Je,provide as Qe,reactive as Ze,ref as et,render as tt,renderList as st,renderSlot as ot,resolveComponent as lt,toDisplayString as at,toRef as it,toRefs as nt,unref as rt,vShow as ct,watch as dt,watchEffect as ut,withCtx as pt,withDirectives as mt,withModifiers as ht}from"vue";import{clone as vt,cloneDeep as ft,defaults as gt,groupBy as yt,isBoolean as bt,isFunction as wt,isNil as xt,isString as Ct}from"lodash-es";import Ot,{Checkbox as _t,CheckboxGroup as St,Collapse as kt,Form as Et,Image as jt,Radio as Dt,RadioButton as Tt,RadioGroup as It,Space as Mt,Spin as zt,Tooltip as Lt,Upload as Rt,message as $t}from"ant-design-vue";import At from"dayjs";import{coreComponentsCreateAppVue as Ft}from"@gct-paas/core-components";import Bt from"vuedraggable";import*as Pt from"@ant-design/icons-vue";import{CloseOutlined as qt,DeleteOutlined as Gt,EditOutlined as Nt,EyeOutlined as Ut,LeftOutlined as Vt,ReloadOutlined as Ht,RightOutlined as Yt}from"@ant-design/icons-vue";var Kt=/* @__PURE__ */function(e){return e.PREFIX="EDITOR___",e}({}),Wt=/* @__PURE__ */function(e){return e.LENGTH_UNIT="length-unit",e.COLOR="color",e.SPAN="span",e.TEXT="text",e.NUMBER="number",e.INFO="info",e.MSG="msg",e.SELECT="select",e.SELECT_GROUP="select-group",e.RADIO="radio",e.PICKER="picker",e.MULTIPLE_CHOICE="multiple-choice",e.I18N="i18n",e.TEXTAREA="textarea",e.DATE_RANGE="date-range",e.SWITCH="switch",e.CHECK_SWITCH="check-switch",e.ICON_SELECT="icon-select",e.CHECKBOX="checkbox",e.DATE="date",e.MODEL_SELECT="model-select",e.ACTION="action",e.TABLE="table",e.SELECT_TABLE="select-table",e.EMPTY="empty",e.FORM_MODEL_FIELD_SELECT="form-model-field-select",e.PIXEL_CONFIG="pixel-config",e.FIELD_INFO="field-info",e.DATE_FORMAT_SELECT="date-format-select",e.FORMULA="formula",e}({}),Xt="formController",Jt=class{constructor(){t(this,"loaded",!1),t(this,"count",0),t(this,"isNew",!0),t(this,"loading",!1),t(this,"destroyed",!1),t(this,"data",{})}},Qt=class{constructor(){t(this,"disabled",!1),t(this,"readonly",!1),t(this,"visible",!0),t(this,"keepalive",!1),t(this,"destroyed",!1)}},Zt=class extends Qt{},es=class extends Qt{},ts=class extends Qt{constructor(...e){super(...e),t(this,"activePane","")}},ss=class extends Qt{},os=class extends Qt{constructor(...e){super(...e),t(this,"label",""),t(this,"value",null),t(this,"options",[])}},ls=class extends Qt{constructor(...e){super(...e),t(this,"expand",!0)}},as=class extends os{},is=class extends Qt{},ns=class{constructor(){this.map=/* @__PURE__ */new Map,this.maxListeners=100}setMaxListeners(e){this.maxListeners=e}getSize(e){return this.map.has(e)?this.map.get(e).length:0}addListener(e,t){if(t instanceof Function){this.map.has(e)||this.map.set(e,[]);const s=this.map.get(e);if(!(s.length<this.maxListeners))throw new Error(`事件监听已达最大上限[${this.maxListeners}],无法新增监听!`);s.push(t)}}removeListener(e,t){if(this.map.has(e)){const s=this.map.get(e);if(s.length>0)for(let e=0;e<s.length;e++)if(s[e]===t){s.splice(e,1);break}}}emit(e,...t){this.map.has(e)&&this.map.get(e).forEach(e=>{e(...t)})}async asyncEmit(e,...t){if(this.map.has(e)){const s=this.map.get(e).map(e=>e(...t));return Promise.all(s)}return[]}reset(){this.map.forEach(e=>{!function(e){if(e instanceof Array)e&&e.length>0&&e.splice(0,e.length);else if(e instanceof Object&&e)for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&delete e[t]}(e)}),this.map.clear()}},rs=class{constructor(e){this.e=new ns,this.e.setMaxListeners(e||300)}getSize(e){return this.e.getSize(e)}on(e,t){this.e.addListener(e,t)}off(e,t){this.e.removeListener(e,t)}emit(e,...t){this.e.emit(e,...t)}asyncEmit(e,...t){return this.e.asyncEmit(e,...t)}reset(){this.e.reset()}},{toString:cs}=Object.prototype;function ds(e){return"[object AsyncFunction]"===cs.call(e)}function us(e){return"[object Promise]"===cs.call(e)}function ps(e,t,s,o){return{install(l){e&&t&&_gct.register.editor.register(Kt.PREFIX+e,t),s&&l.component(o??s.name,s)}}}function ms(e,t){const s=e.split(".");try{return s.reduce((e,t)=>e[t],t)}catch(o){console.warn(o)}}function hs(e,t,s){const o=t.split("."),l=o.length-1;o.reduce((t,s,o)=>(o===l?t[s]=e:t[s]||(t[s]={}),t[s]),s)}var vs=class{constructor(e){t(this,"evt",new rs),t(this,"state",Ze(new Jt)),t(this,"item",{}),t(this,"provider",{}),t(this,"context",{}),t(this,"params",{}),t(this,"fields",[]),t(this,"modelMap",{}),this.model=e,this.init()}init(){this.model.children&&this.initFormItems(this.model.children),this.initEvent(),this.calcState()}initEvent(){}calcState(){}initFormItems(e){e.forEach(e=>{let t=null;if("item"!==e.type&&"hidden"!==e.type||(this.fields.push(e.name),this.modelMap[e.name]=e),"item"===e.type&&(t=_gct.register.formItem.create(`${e.type}___${e.editor.type}___${e.name}`),t||(t=_gct.register.formItem.create(`${e.type}___${e.editor.type}`))),t||(t=_gct.register.formItem.create(e.type)),t){if(this.provider[e.name]=t,"item"===e.type){const s=e;this.item[s.name]=t.createController(this,s)}else if("hidden"===e.type){const s=e;this.item[s.name]=t.createController(this,s)}else if("container"===e.type||e.isContainer||e.container){const s=e;this.item[e.name]=t.createController(this,s),s.children&&this.initFormItems(s.children)}}else console.error(`未找到表单项提供者:${e.type}`,e)})}calcHidden(){Object.keys(this.item).forEach(e=>{const t=this.item[e];if(t.model.hidden){const e=t.model.hidden(this,t,this.state.data);null!=e&&(t.state.visible=!e)}})}getData(){const e={};return this.fields.forEach(t=>{const s=this.item[t];!s||!0!==s.state.visible&&"hidden"!==s.model.type&&-1===t.indexOf(".")||hs(s.value,s.key,e)}),e}resetData(){this.fields.forEach(e=>{const t=this.item[e];t&&t.reset()})}async load(){try{if(!this.model.loadRequest)return{};this.state.loading=!0;const e=await this.model.loadRequest({id:this.context.id});return this.fields.forEach(t=>{const s=this.item[t];s&&(s.value=e[s.key]),s.defaultValue()}),this.state.loaded=!0,e}finally{this.state.loading=!1}}destroy(){this.state.destroyed=!0,this.evt.reset(),this.fields.forEach(e=>{const t=this.item[e];t&&t.destroy()})}validate(){return Promise.resolve(!0)}validateItem(e){return Promise.resolve(!0)}loaded(){this.calcHidden(),this.fields.forEach(e=>{const t=this.item[e];t?t.defaultValue():console.warn(`表单项控制器未找到:${e}`)}),this.calcState()}mounted(){}},fs=class extends vs{initEvent(){super.initEvent(),this.evt.on("change",(e,t,s)=>{if(this.model.watch){const o=this.model.watch[e];o&&o(this,t,s)}const o=this.item[e];o&&o.model.watch&&o.model.watch(this,o,t,s),o&&o.model.change&&o.model.change(this,o,this.state.data),t!=s&&this.calcHidden()})}save(){const e=this.getData();return!0===this.state.isNew&&this.model.newRequest?this.model.newRequest(e):this.model.updateRequest?this.model.updateRequest({id:this.context.id},e):Promise.resolve(e)}};function gs(e){const t=e();return t.state=Ze(t.state),Xe(()=>t.destroy()),t}var ys=class{constructor(e){t(this,"model",void 0),t(this,"options",[]),this.model=e}},bs=class{get key(){return this.model.name}get data(){return this.form.state.data}constructor(e,s){t(this,"state",this.crateItemState()),this.form=e,this.model=s,this.init()}init(){}destroy(){this.state.destroyed=!0}defaultValue(){const e=this.form.state.data;null==ms(this.key,e)&&null!=this.model.defaultValue&&hs(this.model.defaultValue,this.key,e)}crateItemState(){return new Qt}};function ws(e){const t=e();return t.state=Ze(t.state),t}var xs=class extends bs{constructor(...e){super(...e),t(this,"type","collapse-pane")}crateItemState(){return new Zt}},Cs=class extends bs{constructor(...e){super(...e),t(this,"type","collapse")}crateItemState(){return new es}},Os=class extends bs{constructor(...e){super(...e),t(this,"type","tab")}crateItemState(){return new ts}},_s=class extends bs{constructor(...e){super(...e),t(this,"type","tab-pane")}crateItemState(){return new ss}},Ss=class extends bs{constructor(...e){super(...e),t(this,"type","group")}crateItemState(){return new ls}},ks=class extends bs{get key(){return this.model.field??this.model.name}get value(){return ms(this.key,this.form.state.data)}set value(e){const t=this.form.state.data,s=ft(ms(this.key,t));hs(e,this.key,t),this.form.evt.emit("change",this.key,e,s),this.state.value=e}get editorValue(){return this.model.fields?this.model.fields.map(e=>this.form.item[e].value):this.value}set editorValue(e){this.model.fields?this.model.fields.forEach((t,s)=>{this.form.item[t].value=null==e?void 0:e[s]}):this.value=e}init(){if(super.init(),"hidden"!==this.model.type){const{editor:e}=this.model;this.state.readonly=e.readonly,null!=e.disabled&&(this.state.disabled=e.disabled)}if(this.model.dictionary){const{mode:e}=this.model.dictionary;"static"===e&&(this.state.options=this.model.dictionary.items||[])}}blur(){null!=this.state.value&&""!==this.state.value||null==this.model.defaultValue||(this.value=this.model.defaultValue,this.form.evt.emit("blur",this.key,this.value))}reset(){void 0!==this.model.defaultValue?this.value=this.model.defaultValue:this.value=void 0}crateItemState(){return new os}},Es=class extends ks{constructor(...e){super(...e),t(this,"type","item")}async loadDictionary(e,t){if(this.state.options.length>0&&!0!==t)return this.state.options;this.state.options=[],this.state.loading=!0;try{return this.model.dictionary?this.state.options=await _gct.dictionary.asyncGetByConfig(this.model.dictionary,e):this.model.dictionaryTag&&(this.state.options=await _gct.dictionary.asyncGet(this.model.dictionaryTag,e)),this.state.options}finally{this.state.loading=!1}}clearDictionary(){this.state.options=[]}crateItemState(){return new as}},js=class extends bs{constructor(...e){super(...e),t(this,"type","hidden")}},Ds=class extends bs{constructor(...e){super(...e),t(this,"type","line")}crateItemState(){return new is}};function Ts(){return Ge("formController")}function Is(e){let t=null;if(e){const s=Ts().item[e];s&&(t=Te({get:()=>s.value,set(e){"string"==typeof e&&(e=e.trim()),"object"!=typeof e&&s.value==e||(s.value=e)}}))}else{let e=Pe().proxy;const s=e.$props,o=e.$emit;t=Te({get:()=>s.value,set:e=>{"string"==typeof e&&(e=e.trim()),"object"!=typeof e&&s.value==e||o("update:value",e)}}),e=null}return t}function Ms(e,t){let s=Pe().proxy;const o=s.$props,l=s.$emit,a=e?e.length:0,i=t?t.length:0;return s=null,Te({get:()=>{if(!o.value)return"";let s=o.value;return a>0&&s.startsWith(e)&&(s=s.substring(a)),i>0&&s.endsWith(t)&&(s=s.substring(0,s.length-i)),s},set:s=>{if(o.value===s)return;if(""==s)return void l("update:value","");let n=s;a>0&&(n=e+n),i>0&&(n+=t),l("update:value",n)}})}function zs(){return{context:{type:Object,default:()=>({})},value:{type:Object},model:{type:Object,required:!0},c:{type:Object,required:!0},itemModel:{type:Object},data:{type:Object},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},keepalive:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},size:{type:String},count:{type:Number,default:0},isEmptyText:{type:Boolean,default:!1}}}var Ls=class{constructor(){t(this,"editors",/* @__PURE__ */new Map),t(this,"providers",/* @__PURE__ */new Map)}register(e,t){this.editors.set(e,t)}unregister(e){this.editors.delete(e)}get(e){if(this.providers.has(e))return this.providers.get(e);const t=this.editors.get(e);if(t){const s=t();return this.providers.set(e,s),s}return null}},Rs=class{constructor(){t(this,"items",/* @__PURE__ */new Map)}register(e,t){this.items.set(e,t)}unregister(e){this.items.delete(e)}create(e){const t=this.items.get(e);return t?t():null}},$s=/* @__PURE__ */Be({name:"GctFormItem",props:{c:{type:Object,required:!0},formModel:{type:Object,required:!0},model:{type:Object,required:!0},count:{type:Number,default:0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-item"),s={};e.formModel.labelWidth&&(s[t.cssVarName("form-item-label-width")]=e.formModel.labelWidth),e.model.labelWidth&&(s[t.cssVarName("form-item-label-width")]=e.model.labelWidth),e.model.labelAlign&&(s[t.cssVarName("form-item-label-align")]=e.model.labelAlign),e.model.editorAlign&&(s[t.cssVarName("form-item-editor-align")]=e.model.editorAlign),e.model.width&&(s[t.cssVarName("form-item-width")]=e.model.width),e.model.margin&&(s.margin=e.model.margin),e.model.padding&&(s.padding=e.model.padding);const o=Te(()=>{var t;return!!(null===(t=e.model.rules)||void 0===t?void 0:t.find(e=>e.required))});return{ns:t,style:s,required:o,renderLabelTooltip:()=>e.model.labelTooltip?Ae(lt("a-tooltip"),{class:t.e("label-tooltip"),overlayClassName:t.e("label-tooltip-overlay"),overlayStyle:{width:e.model.labelTipWidth},placement:"top",title:e.model.labelTooltip},{default:()=>[Ae("span",{class:"iconfont icon-assist ml5px text-[#bfbfbf]"},null)]}):null}},render(){const e=_gct.register.editor.get(he.PREFIX+this.model.editor.type);if(!e)return console.error(`未找到表单项${this.model.name}的编辑器${this.model.editor.type}的适配器实例:`,this.model),null;const t=this.model.labelPosition||"left";let s=null;e?e.render?s=e.render(this.c.editorValue,this.c.data,this.model):e.component?s=qe("string"==typeof e.component?lt(e.component):e.component,{key:this.model.name,c:this.c,value:this.c.editorValue,itemModel:this.model,model:this.model.editor,data:this.c.data,disabled:this.c.state.disabled,readonly:this.c.state.readonly,keepalive:this.c.state.keepalive,visible:this.c.state.visible,size:this.formModel.size,count:this.count,isEmptyText:this.formModel.isEmptyText,context:this.context,class:[this.ns.e("editor"),this.ns.e(t),this.formModel.size?this.ns.m(this.formModel.size):null,this.model.editor.class],style:this.model.editor.style,"onUpdate:value":e=>{this.c.editorValue=e},onBlur:()=>{this.c.blur()}}):console.error(`未找到编辑器绘制组件:${this.model.name} - ${this.model.editor.type},请实现 component 或 render 方法`):console.error(`未找到编辑器适配器:${this.model.name} - ${this.model.editor.type}`),this.model.label&&"top"===t&&(s=[Ae("div",{class:[this.ns.e("label"),this.ns.em("label",t)]},[this.model.label,this.renderLabelTooltip()]),s]);const o={default:()=>s};var l;return"left"===t&&this.model.label&&(o.label=()=>[Ae("span",null,[this.model.label]),this.renderLabelTooltip()]),!1!==this.c.state.visible?Ae(lt("a-form-item"),{key:this.c.model.name,count:this.count,colon:!0!==this.formModel.noColon&&!0!==this.model.noColon,name:this.model.name.split("."),label:void 0,class:[this.ns.b(),this.ns.is("readonly",!0===this.model.editor.readonly),this.ns.is("required",this.required),this.ns.is("hidden-label",!this.model.label),this.ns.m("label-"+t),this.ns.is("hidden-error",!0===this.model.hiddenError||!0===this.formModel.hiddenError)],style:this.style,rules:!0===this.c.state.visible?this.model.rules:[],layout:"horizontal"},"function"==typeof(l=o)||"[object Object]"===Object.prototype.toString.call(l)&&!Ne(l)?o:{default:()=>[o]}):void 0}}),As=/* @__PURE__ */Be({name:"GctForm",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form");Qe(Xt,e.c);const s=et(),o=e.c;Object.keys(o.item).forEach(e=>{const t=o.item[e];t.state=Ze(t.state)});const l=t=>Ae(lt("gct-form-item"),{class:t.class,style:t.style,count:o.state.count,c:o.item[t.name],formModel:e.model,model:t,context:e.context},null),a=t=>{const s=o.provider[t.name];return s?s?qe("string"==typeof s.component?lt(s.component):s.component,{key:t.name,model:t,count:o.state.count,c:o.item[t.name],data:o.state.data,class:t.class,style:t.style,context:e.context},{default:()=>i(t.children||[])}):void console.error(`未找到表单容器适配器:${t.name} - ${t.type}`):(console.error(`未找到表单项适配器实例:${t.name}`,t),null)},i=e=>{if(!e)return[];const t=[];return e.forEach(e=>{if("hidden"===e.type)return null;let s=null;const o=e;s="container"===o.type||o.isContainer||o.container?a(o):l(e),s&&t.push(s)}),t},n={};return e.model.labelWidth&&(n[t.cssVarName("form-item-label-width")]=e.model.labelWidth),{ns:t,formRef:s,staticStyle:n,renderItem:l,renderContainer:a,renderChildren:i}},render(){let e;return Ae(lt("a-form"),{ref:"formRef",layout:this.model.layout,model:this.c.state.data,count:this.c.state.count,class:[this.ns.b(),this.ns.is("info",!0===this.model.info),this.model.size?this.ns.m(this.model.size):null],autocomplete:"off",style:this.staticStyle},"function"==typeof(t=e=this.model.children.map(e=>this.renderContainer(e)))||"[object Object]"===Object.prototype.toString.call(t)&&!Ne(t)?e:{default:()=>[e]});var t}}),Fs=class{constructor(){t(this,"component","gct-form-item")}createController(e,t){return ws(()=>new Es(e,t))}},Bs=class{constructor(){t(this,"component","gct-form-hidden-item")}createController(e,t){return ws(()=>new js(e,t))}},Ps=class{constructor(){t(this,"component","gct-form-collapse-pane")}createController(e,t){return ws(()=>new xs(e,t))}};function qs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Gs=/* @__PURE__ */Be({name:"GctFormCollapsePane",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-collapse-pane"),s={};return e.model.width&&(s[t.cssVarName("form-collapse-pane-width")]=e.model.width),e.model.height&&(s[t.cssVarName("form-collapse-pane-height")]=e.model.height),{ns:t,style:s,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},qs(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},qs(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[],o=s[s.length-1];return o&&(o.props=Ue(o.props||{},{class:this.ns.e("last-child")})),Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[this.renderContainer(s)])}}),Ns=class{constructor(e,s,o,l){t(this,"type","collapse-pane"),t(this,"isContainer",!0),t(this,"title",void 0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"collapsible",void 0),this.name=e,this.title=s,o&&Object.assign(this,o),l&&(this.children=l)}},Us={install(e){_gct.register.formItem.register("collapse-pane",()=>new Ps),e.component(Gs.name,Gs)}},Vs=class{constructor(){t(this,"component","gct-form-collapse")}createController(e,t){return ws(()=>new Cs(e,t))}},Hs=/* @__PURE__ */Be({name:"GctFormCollapse",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){var t;const s=je("form-collapse"),o=et([0]),l={};e.model.width&&(l[s.cssVarName("form-collapse-width")]=e.model.width),e.model.height&&(l[s.cssVarName("form-collapse-height")]=e.model.height);const a=et([]);return a.value=(null===(t=e.model.children)||void 0===t?void 0:t.map(e=>e.name))||[],{ns:s,keys:o,style:l,activeKeys:a,expandIconPosition:Te(()=>"left"===e.model.expandIconPosition?"left":"right")}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae(kt,{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.ns.m("icon-"+(this.model.expandIconStyle||"up-down"))],style:this.style,accordion:this.model.accordion,expandIconPosition:this.expandIconPosition,activeKey:this.activeKeys,"onUpdate:activeKey":e=>this.activeKeys=e},{default:()=>{var e;return[null===(e=this.model.children)||void 0===e?void 0:e.map((e,t)=>{if(!1===s[t].props.c.state.visible)return;const o=!1!==e.collapsible?void 0:"disabled";return Ae(kt.Panel,{key:e.name,header:e.title,collapsible:o},{default:()=>[s[t]]})})]}})}}),Ys=class{constructor(e,s,o){t(this,"type","collapse"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"accordion",void 0),t(this,"expandIconPosition",void 0),t(this,"expandIconStyle",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},Ks={install(e){_gct.register.formItem.register("collapse",()=>new Vs),e.component(Hs.name,Hs)}},Ws=class{constructor(){t(this,"component","gct-form-group")}createController(e,t){return ws(()=>new Ss(e,t))}},Xs=/* @__PURE__ */Be({name:"GctFormGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e,{slots:t}){const s=je("form-group"),o=et([0]);function l(){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},{default:()=>{var e;return null===(e=t.default)||void 0===e?void 0:e.call(t)}}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},{default:()=>{var e;return null===(e=t.default)||void 0===e?void 0:e.call(t)}}):void console.error("不支持的layout类型"+e.model.layout)}const a={};return e.model.width&&(a[s.cssVarName("form-group-width")]=e.model.width),e.model.height&&(a[s.cssVarName("form-group-height")]=e.model.height),()=>{if(!0!==e.c.state.keepalive&&!1===e.c.state.visible)return null;if(e.model.isCollapse){let t;return Ae(lt("a-collapse"),{activeKey:o.value,"onUpdate:activeKey":e=>o.value=e,class:[s.b(),s.is("hidden-header",!1===e.model.showHeader),s.is("hidden",!1===e.c.state.visible)],style:a,ghost:!0},{default:()=>{return[Ae(lt("a-collapse-panel"),{key:"0",header:e.model.title},(s=t=l(),"function"==typeof s||"[object Object]"===Object.prototype.toString.call(s)&&!Ne(s)?t:{default:()=>[t]}))];var s}})}return Ae("div",{class:[s.b(),s.is("hidden-header",!1===e.model.showHeader),s.is("hidden",!1===e.c.state.visible),e.model.class],style:a},[!1===e.model.showHeader?Ae("div",{class:s.e("title")},[e.model.title]):null,Ae("div",{class:s.e("content")},[l()])])}}}),Js=class{constructor(e,s,o){t(this,"type","group"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"title",void 0),t(this,"showHeader",void 0),t(this,"isCollapse",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},Qs={install(e){_gct.register.formItem.register("container",()=>new Ws),e.component(Xs.name,Xs)}},Zs=class{constructor(){t(this,"component","gct-form-line")}createController(e,t){return ws(()=>new Ds(e,t))}},eo=/* @__PURE__ */Be({name:"GctFormLine",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup:e=>({ns:je("form-line"),style:Te(()=>{const{paddingTop:t,paddingBottom:s}=e.model;return{paddingTop:t,paddingBottom:s}})}),render(){return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[Ae("div",{class:this.ns.e("line")},null)])}}),to=class{constructor(e,s={}){t(this,"type","line"),t(this,"layout","grid"),t(this,"name",""),t(this,"isContainer",!0),this.name=e,Object.assign(this,s)}},so={install(e){_gct.register.formItem.register("line",()=>new Zs),e.component(eo.name,eo)}},oo=class{constructor(){t(this,"component","gct-form-tab")}createController(e,t){return ws(()=>new Os(e,t))}},lo=/* @__PURE__ */Be({name:"GctFormTab",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-tab"),s=Ts(),o={};return e.model.width&&(o[t.cssVarName("form-tab-width")]=e.model.width),e.model.height&&(o[t.cssVarName("form-tab-height")]=e.model.height),dt(e.c.state,()=>{s.evt.emit("changeState",e.c.model.name,e.c)}),We(()=>{var t;const s=(null===(t=e.model.children)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.name)||"";e.c.state.activePane=s}),{ns:t,style:o}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae(lt("a-tabs"),{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.ns.m(this.model.navPosition||"left")],style:this.style,activeKey:this.c.state.activePane,"onUpdate:activeKey":e=>this.c.state.activePane=e},{default:()=>{var e;return[null===(e=this.model.children)||void 0===e?void 0:e.map((e,t)=>Ae(lt("a-tab-pane"),{key:e.name,tab:e.title},{default:()=>[s[t]]}))]}})}}),ao=class{constructor(e,s,o){t(this,"type","tab"),t(this,"isContainer",!0),t(this,"children",[]),t(this,"layout","grid"),t(this,"navPosition","center"),t(this,"name",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},io={install(e){_gct.register.formItem.register("tab",()=>new oo),e.component(lo.name,lo)}},no=class{constructor(){t(this,"component","gct-form-tab-pane")}createController(e,t){return ws(()=>new _s(e,t))}};function ro(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var co=/* @__PURE__ */Be({name:"GctFormTabPane",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-tab-pane"),s={};return e.model.width&&(s[t.cssVarName("form-tab-pane-width")]=e.model.width),e.model.height&&(s[t.cssVarName("form-tab-pane-height")]=e.model.height),{ns:t,style:s,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},ro(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},ro(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[this.renderContainer(s)])}}),uo=class{constructor(e,s,o,l){t(this,"type","tab-pane"),t(this,"isContainer",!0),t(this,"title",void 0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),this.name=e,this.title=s,o&&Object.assign(this,o),l&&(this.children=l)}},po={install(e){_gct.register.formItem.register("tab-pane",()=>new no),e.component(co.name,co)}},mo=class{constructor(){t(this,"component","gct-form-title-group")}createController(e,t){return ws(()=>new Ss(e,t))}};function ho(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var vo=/* @__PURE__ */Be({name:"GctFormTitleGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0}},setup(e){const t=je("form-title-group"),s=et([0]),o={};return e.model.width&&(o[t.cssVarName("form-title-group-width")]=e.model.width),e.model.height&&(o[t.cssVarName("form-title-group-height")]=e.model.height),{ns:t,keys:s,style:o,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},ho(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},ho(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.model.class],style:this.style},[Ae("div",{class:this.ns.e("title")},[this.model.title]),Ae("div",{class:this.ns.e("content")},[this.renderContainer(s)])])}}),fo=class{constructor(e,s,o){t(this,"type","group"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"title",void 0),t(this,"showHeader",void 0),t(this,"isCollapse",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},go={install(e){_gct.register.formItem.register(ge.FORM_TITLE_GROUP,()=>new mo),e.component(vo.name,vo)}},yo=class{constructor(e,s){t(this,"type","hidden"),t(this,"name",void 0),t(this,"field",void 0),t(this,"defaultValue",void 0),t(this,"editor",void 0),this.name=e,s&&Object.assign(this,s)}},bo=class{constructor(e,s,o,l){t(this,"type","item"),t(this,"name",void 0),t(this,"editor",void 0),t(this,"label",void 0),t(this,"rules",void 0),this.name=e,s&&(this.label=s),o&&Object.assign(this,o),this.editor=l}},wo={install(e){_gct.register.formItem.register("item",()=>new Fs),_gct.register.formItem.register("hidden",()=>new Bs),e.use(Us),e.use(Ks),e.use(Qs),e.use(so),e.use(io),e.use(po),e.use(go),e.component(As.name,As),e.component($s.name,$s)}},xo=/* @__PURE__ */Be({name:"FlexItem",props:{layout:Object},setup:e=>({ns:je("flex-item"),getStyle:()=>{const t={};if(e.layout){const{order:s,alignSelf:o,flexBasis:l,flexGrow:a,flexShrink:i}=e.layout;null!=s&&(t.order=s),null!=o&&(t["align-self"]=o),null!=l&&(t["flex-basis"]=l),null!=a&&(t["flex-grow"]=a),null!=i&&(t["flex-shrink"]=i)}return t}}),render(){var e,t;return Ae("div",{class:this.ns.b(),style:this.getStyle()},[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t)])}}),Co=/* @__PURE__ */Be({name:"FlexContainer",props:{layout:Object},setup:e=>({ns:je("flex-container"),getStyle:()=>{const t={};if(e.layout){const{alignContent:s,alignItems:o,flexDirection:l,flexWrap:a,justifyContent:i}=e.layout;null!=s&&(t.alignContent=s),null!=o&&(t.alignItems=o),null!=l&&(t.flexDirection=l),null!=a&&(t.flexWrap=a),null!=i&&(t.justifyContent=i)}return t},getItemStyle:e=>{const t={};if(e){const{width:s,height:o}=e;null!=s&&(t.width=s),null!=o&&(t.height=o)}return t}}),render(){var e,t;let s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return s.length>0&&(s=s[0].children||[]),Ae("div",{class:this.ns.b(),style:this.getStyle()},[s.map(e=>{if(!e)return null;const t=e.props.model.flexItem;return Ae(xo,{layout:t,style:this.getItemStyle(e.props.model)},"function"==typeof(s=e)||"[object Object]"===Object.prototype.toString.call(s)&&!Ne(s)?e:{default:()=>[e]});var s})])}});function Oo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var _o=/* @__PURE__ */Be({name:"GridContainer",props:{layout:Object},setup(e,{slots:t}){const s=je("grid-container");return()=>{var o;let l;const a=e.layout||{};let i=(null===(o=t.default)||void 0===o?void 0:o.call(t))||[];return i.length>0&&(i=i[0].children||[]),Ae(lt("a-row"),{class:s.b(),wrap:!0,gutter:a.gutter},Oo(l=i.map(e=>{if(!e)return null;const t=e.props.model.gridItem;return Ae(lt("a-col"),{span:t?t.span??24:24,offset:t?t.offset??0:0},Oo(e)?e:{default:()=>[e]})}))?l:{default:()=>[l]})}}}),So=/* @__PURE__ */Be({name:"GctFormAction",props:{c:{type:Object,required:!0},data:{type:Object,required:!0},model:{type:Object,required:!0},size:{type:String}},setup(e){const t=je("gct-form-action"),s=Ts();return{ns:t,onClick:function(t){t.stopPropagation(),e.model.click&&e.model.click(t,s,e.c,e.data)}}},render(){return Ae(lt("a-button"),Ue({class:this.ns.b(),onClick:this.onClick,size:this.size,type:"link"},this.model.props||{}),{default:()=>[this.model.label]})}}),ko=class{constructor(){t(this,"component","gct-form-action")}},Eo=ps(Wt.ACTION,()=>new ko,So);function jo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Do=/* @__PURE__ */Be({name:"GctFormDateFormatSelect",props:zs(),setup(e){var t;const s=je("form-date-format-select"),o=Te(()=>{var t;return e.data[(null===(t=e.model)||void 0===t?void 0:t.fieldTypeKey)||"type"]}),l=Te(()=>{var t;return e.data[(null===(t=e.model)||void 0===t?void 0:t.mappingTypeKey)||"mapping_type"]}),a=Is((null===(t=e.model)||void 0===t?void 0:t.separatorKey)||"separator"),i=[{label:"-",value:"-"},{label:"/",value:"/"},{label:"·",value:"."}],n=Is(),r=Te(()=>o.value===fe.DATE_TIME||l.value===fe.DATE_TIME?[{label:`yyyy${a.value}MM${a.value}dd HH`,value:`YYYY${a.value}MM${a.value}DD HH`},{label:`yyyy${a.value}MM${a.value}dd HH:mm`,value:`YYYY${a.value}MM${a.value}DD HH:mm`},{label:`yyyy${a.value}MM${a.value}dd HH:mm:ss`,value:`YYYY${a.value}MM${a.value}DD HH:mm:ss`}]:o.value===fe.DATE||l.value===fe.DATE?[{label:"yyyy",value:"YYYY"},{label:`yyyy${a.value}MM`,value:`YYYY${a.value}MM`},{label:`yyyy${a.value}MM${a.value}dd`,value:`YYYY${a.value}MM${a.value}DD`}]:[]);return dt(a,()=>{o.value!==fe.DATE_TIME&&l.value!==fe.DATE_TIME?o.value!==fe.DATE&&l.value!==fe.DATE?n.value="":n.value=`YYYY${a.value}MM${a.value}DD`:n.value=`YYYY${a.value}MM${a.value}DD HH:mm:ss`}),()=>{var t,o;let l,c;return Ae("div",{class:s.b()},[Ae("span",{class:s.e("first")},[Ae(lt("a-select"),Ue({value:a.value,"onUpdate:value":e=>a.value=e,disabled:e.c.state.disabled,size:e.size,placeholder:e.model.placeholder||_e("sys.chooseText")},(null===(t=e.model)||void 0===t?void 0:t.props)||{}),jo(l=i.map(e=>Ae(lt("a-select-option"),{key:e.value,value:e.value},{default:()=>[e.label]})))?l:{default:()=>[l]})]),Ae("span",{class:s.e("second")},[Ae(lt("a-select"),Ue({value:n.value,"onUpdate:value":e=>n.value=e,disabled:e.c.state.disabled,size:e.size,placeholder:e.model.placeholder||_e("sys.chooseText")},(null===(o=e.model)||void 0===o?void 0:o.props)||{}),jo(c=r.value.map(e=>Ae(lt("a-select-option"),{key:e.value,value:e.value},{default:()=>[e.label]})))?c:{default:()=>[c]})])])}}}),To=class{constructor(){t(this,"component","gct-form-date-format-select")}},Io=ps(Wt.DATE_FORMAT_SELECT,()=>new To,Do),Mo=/* @__PURE__ */Be({name:"GctFormLengthUnit",inheritAttrs:!1,props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String}},emits:["update:value"],setup:()=>({ns:je("form-length-unit"),val:Is()}),render(){return Ae(lt("length-unit-editor"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("readonly",this.model.readonly)]}),null)}}),zo=class{constructor(){t(this,"component","gct-form-length-unit")}},Lo=ps(Wt.LENGTH_UNIT,()=>new zo,Mo),Ro=/* @__PURE__ */Be({name:"GctFormColor",inheritAttrs:!1,props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String}},emits:["update:value"],setup(e){const t=je("form-color"),s=Is();return console.debug("GctFormColor props",e),()=>Ae(lt("color-editor"),Ue({value:s.value,"onUpdate:value":e=>s.value=e},e.model.props||{},{class:[t.b(),t.is("readonly",e.model.readonly)]}),null)}}),$o=class{constructor(){t(this,"component","gct-form-color")}},Ao=ps(Wt.COLOR,()=>new $o,Ro),Fo=class{constructor(){t(this,"component","gct-form-date")}},Bo=/* @__PURE__ */Be({name:"GctFormDate",props:{model:{type:Object,required:!0},value:{type:String,default:""},isDate:{type:Boolean,default:!0},isTime:{type:Boolean,default:!1}},emits:["update:value"],setup(e){const t=je("gct-form-date"),s=new ys(e.model),o=Is(),l=et(o.value?At(o.value):null),a=et(o.value?At(o.value):null);return{ns:t,c:s,dateVal:l,timeVal:a,onChange:()=>{let e="";l.value&&(e=l.value.format("YYYY-MM-DD")),a.value?e+=` ${a.value.format("HH:mm:ss")}`:e+=" 00:00:00",o.value=e}}},render(){return Ae("div",{class:[this.ns.b()]},[this.isDate?Ae(lt("a-date-picker"),Ue({picker:"date",value:this.dateVal,"onUpdate:value":e=>this.dateVal=e,format:"YYYY-MM-DD"},this.model.props||{},{placeholder:"请选择日期",onChange:this.onChange}),null):null,this.isTime?Ae(lt("a-time-picker"),{value:this.timeVal,"onUpdate:value":e=>this.timeVal=e,placeholder:"请选择时间",onChange:this.onChange},null):null])}}),Po=ps(Wt.DATE,()=>new Fo,Bo),qo=/* @__PURE__ */Be({name:"GctFormFormula",props:{c:{type:Object,required:!0},itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""}},setup(e){const t=je("form-formula"),s=Ts(),o=et(),l=Is(),a=Is("expressionEcho"),i=async()=>{const t=await y({expr:l.value.expr,exprEcho:null==a?void 0:a.value,returnType:l.value.mappingType||"string",mode:ve.DATA_SET_FORMULA,identifiers:{},...e.model.config||{}});t&&(l.value={expr:t.expr,mappingType:t.returnType},a&&(a.value=t.exprEcho),s.validateItem(e.itemModel.name))};return()=>Ae("div",{class:t.b(),onClick:i},[Ae(lt("a-input"),{ref:o,class:t.e("input"),readonly:!0,value:(null==a?void 0:a.value)||l.value,placeholder:_e("sys.inputText")},null)])}}),Go=class{constructor(){t(this,"component","gct-form-formula")}},No=ps(Wt.FORMULA,()=>new Go,qo),Uo=class{constructor(){t(this,"component","gct-form-check-switch")}},Vo=/* @__PURE__ */Be({name:"GctFormCheckSwitch",props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:Boolean,default:!1},size:{type:String}},emits:["update:value"],setup:()=>({ns:je("gct-form-check-switch"),val:Is()}),render(){return this.model.isSwitch?Ae("div",{class:[this.ns.b(),this.ns.m("switch"),this.ns.is("readonly",this.model.readonly),this.size?this.ns.m(this.size):null]},[Ae(lt("a-switch"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{}),null)]):Ae(lt("a-checkbox"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{},{class:[this.ns.b(),this.ns.m("checkbox"),this.ns.is("readonly",this.model.readonly),this.size?this.ns.m(this.size):null]}),{default:()=>[this.model.label]})}}),Ho=ps(Wt.CHECK_SWITCH,()=>new Uo,Vo);function Yo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Ko=/* @__PURE__ */Be({name:"GctFormSelectGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e,{emit:t}){const s=je("form-select-group"),o=Ge("formController"),l=et(""),a=et(null),i=et(!1),n=et(/* @__PURE__ */new Set),r=Te({get:()=>e.model.nameField?o.item[e.model.nameField].value:"",set(t){if(e.model.nameField)return o.item[e.model.nameField].editorValue=t}});function c(e,t){return e.className.indexOf(t)>-1?e:e.parentElement?c(e.parentElement,t):null}function d(e){var t;c(e.target,"ant-select-dropdown")||null===(t=a.value)||void 0===t||t.blur()}window.addEventListener("wheel",d);const u=et(),p=Te({get:()=>!e.c.state.options.find(t=>t.value===e.value)&&r.value?r.value:e.value||void 0,set:e=>{if(!e)return t("update:value",void 0),void(r.value="");"string"==typeof e&&(e=e.trim()),t("update:value",e);let s=null;m.value.find(t=>(t.options&&(s=t.options.find(t=>t.value==e)),!!s)),s&&(r.value=s.label)}}),m=Te(()=>e.c.state.options&&e.c.state.options.length>0?e.c.state.options:[]),h=async()=>e.c.loadDictionary();return null!=p.value&&h(),Xe(()=>{window.removeEventListener("wheel",d)}),{ns:s,selectRef:a,searchValue:l,open:i,rootRef:u,val:p,options:m,loadOptions:h,toggleGroupCollapse:t=>{e.model.groupCollapsible&&(n.value.has(t)?n.value.delete(t):n.value.add(t))},isGroupCollapsed:t=>!0!==e.model.groupCollapsible||!n.value.has(t)}},render(){let e;return Ae("div",{ref:"rootRef",class:this.ns.b()},[Ae(lt("a-select"),{ref:"selectRef",open:this.open,value:this.val,"onUpdate:value":e=>this.val=e,allowClear:!0,disabled:this.c.state.disabled,size:this.size,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,"show-search":!0,"filter-option":()=>!0,searchValue:this.searchValue,onSearch:e=>this.searchValue=null==e?void 0:e.trim(),onFocus:()=>this.open=!0,onBlur:()=>this.open=!1,onChange:()=>this.open=!1},Yo(e=this.options.map(e=>{let t;const s=null!=e.label?e.label:" ",o=String(e.value),l=this.isGroupCollapsed(o),a=(l&&e.options||[]).filter(e=>!this.searchValue||e.label.toLowerCase().indexOf(this.searchValue.toLowerCase())>=0);return 0===a.length?null:Ae(lt("a-select-opt-group"),{key:e.value,label:Ae("div",{class:[this.ns.b("group-header"),this.model.groupCollapsible?this.ns.b("group-header--clickable"):""],onClick:()=>this.toggleGroupCollapse(o)},[this.model.groupCollapsible&&Ae("span",{class:[this.ns.be("group-header","arrow"),l?this.ns.bem("group-header","arrow","collapsed"):""]},[Ae("i",{class:["iconfont",1!=l?"icon-right":"icon-Down"]},null)]),Ae("span",{class:this.ns.be("group-header","title")},[s])])},Yo(t=a.map(e=>Ae(lt("a-select-option"),{class:this.ns.b("item-option"),key:e.value,value:e.value},{default:()=>[e.icon?Ae("span",{class:this.ns.be("item-option","item-icon")},[Ae("i",{class:`iconfont ${e.icon}`},null)]):"",Ae("span",{class:this.ns.be("item-option","item-label")},[e.label])]})))?t:{default:()=>[t]})}))?e:{default:()=>[e]})])}}),Wo=class{constructor(){t(this,"component","gct-form-select-group")}},Xo=ps(Wt.SELECT_GROUP,()=>new Wo,Ko),Jo=class{constructor(){t(this,"component","gct-form-i18n")}},Qo=/* @__PURE__ */Be({name:"GctFormI18n",props:zs(),emits:["update:value","blur"],setup(e,{emit:t}){var s;const o=je("form-i18n"),l=Ts(),a=et({}),i=et(!1),n=l.item[(null===(s=e.model)||void 0===s?void 0:s.cfgKey)||"i18nConfig"];n||console.warn("i18nConfig not found in form item, please ensure that the model has a valid cfgKey or i18nConfig is defined in the form.");const r=Te(()=>{var t,s;return(null===(t=e.data)||void 0===t?void 0:t[(null===(s=e.model)||void 0===s?void 0:s.fieldKey)||"fieldKey"])||null});r.value&&async function(){var t;const s=await Ce.loadField((null===(t=e.data)||void 0===t?void 0:t.modelKey)||e.context.modelKey,r.value);s&&(a.value=s)}();const c=Te({get:()=>e.value?e.value:!0===i.value?"":a.value.name,set:s=>{"string"==typeof s&&(s=s.trim()),i.value=!0,"object"!=typeof s&&e.value==s||(s||(d.value=""),t("update:value",s))}}),d=Te({get:()=>n?{i18nKey:n.value}:"",set:e=>{if(n)try{n.value=JSON.parse(e).i18nKey}catch(t){console.error(t)}}});return{ns:o,val:c,i18nConfigValue:d,onBlur:function(){i.value=!1}}},render(){var e;return Ae(lt("i18n-select-input"),Ue({class:[this.ns.b(),this.ns.m(this.size)],i18nText:this.val,"onUpdate:i18nText":e=>this.val=e,i18nConfig:this.i18nConfigValue,"onUpdate:i18nConfig":e=>this.i18nConfigValue=e,placeholderText:this.model.placeholder||this.$t("sys.inputText"),attr:"i18nKey",btnHeight:"small"===this.size?"26px":void 0,inputExtraProps:{showCount:!0,maxlength:this.model.max||32,disabled:this.c.state.disabled},onBlur:e=>{this.onBlur(),this.$emit("blur",e)},size:this.size},(null===(e=this.model)||void 0===e?void 0:e.props)||{}),null)}}),Zo=ps(Wt.I18N,()=>new Jo,Qo),el=/* @__PURE__ */Be({name:"GctFormIconSelect",props:{value:{type:Object},model:{type:Object,required:!0}},emits:["update:value"],setup(e,{emit:t}){var s,o,l;const a=je("gct-form-icon-select"),i=et(e.value),n=et((null===(s=i.value)||void 0===s?void 0:s.icon)||e.model.defaultIcon),r=et((null===(o=i.value)||void 0===o?void 0:o.color)||e.model.defaultColor),c=et((null===(l=i.value)||void 0===l?void 0:l.background)||e.model.defaultBackground);return dt(()=>e.value,e=>{i.value=e,e&&(n.value=e.icon,r.value=e.color)}),dt([n,r,c],()=>{i.value={icon:n.value,color:r.value},t("update:value",i.value)}),{ns:a,icon:n,color:r,background:c,nextPickerStyle:Te(()=>{if(e.model.size)return{"--box-size":e.model.size+"px"}})}},render(){return Ae("div",{class:this.ns.b()},[Ae(lt("icon-next-picker"),{value:this.icon,"onUpdate:value":e=>this.icon=e,color:this.color,"onUpdate:color":e=>this.color=e,background:"#f5f5f5",disabled:this.model.disabled,showColor:!1!==this.model.showColor,style:this.nextPickerStyle},null),this.model.label?Ae("span",{class:this.ns.e("title")},[this.model.label]):null])}}),tl=class{constructor(){t(this,"component","gct-form-icon-select")}},sl=ps(Wt.ICON_SELECT,()=>new tl,el),ol=class{constructor(){t(this,"component","gct-form-number")}},ll=/* @__PURE__ */Be({name:"GctFormNumber",props:{model:{type:Object,required:!0},value:{type:String,default:""}},emits:["update:value"],setup:()=>({ns:je("gct-form-number"),val:Is()}),render(){return Ae(lt("a-input-number"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.model.class],prefix:this.model.prefix,suffix:this.model.suffix,addonBefore:this.model.addonBefore,addonAfter:this.model.addonAfter,placeholder:this.model.placeholder,max:this.model.max,min:this.model.min,precision:this.model.precision}),null)}}),al=ps(Wt.NUMBER,()=>new ol,ll),il=class{constructor(){t(this,"component","gct-form-picker")}},nl=/* @__PURE__ */Be({name:"GctFormPicker",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:null}},emits:["update:value"],setup(e,{emit:t}){const s=je("gct-form-picker"),o=Ts(),l=Te({get:()=>e.model.nameField?o.item[e.model.nameField].value:"",set(t){if(e.model.nameField)return o.item[e.model.nameField].editorValue=t}}),a=Te({get:()=>!e.c.state.options.find(t=>t.value===e.value)&&l.value?l.value:e.value,set:s=>{if("string"==typeof s&&(s=s.trim()),"object"!=typeof s&&e.value==s)return;const l=e.c.state.options.find(e=>e.value===s);l&&l.data&&e.model.fieldMap&&e.model.fieldMap.map(e=>{const[t,s]=e.split(":");s&&(o.item[s].editorValue=l.data[t])}),t("update:value",s)}});return null!=a.value&&e.c.loadDictionary(),{ns:s,val:a,nameVal:l,loadOptions:()=>e.c.loadDictionary(),onChange:(e,t)=>{l.value=t.label}}},render(){return Ae(lt("a-select"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:this.ns.b(),disabled:this.c.state.disabled,loading:this.c.state.loading,options:this.c.state.options,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,onChange:this.onChange,"show-search":!0,"filter-option":(e,t)=>!!t.label&&t.label.toLowerCase().indexOf(e.toLowerCase())>=0}),null)}}),rl=ps(Wt.PICKER,()=>new il,nl),cl=/* @__PURE__ */Be({name:"GctFormPixelConfig",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},setup(){const e=je("form-pixel-config"),t=Is("label_mode"),s=Is(),o=[{label:"百分比",value:"percent"},{label:"固定",value:"fixed"}],l=Te(()=>"fixed"===t.value?"px":"%");function a(e){t.value=e,s.value="fixed"===e?100:30}return()=>Ae(lt("a-input-group"),{compact:!0,class:e.b()},{default:()=>[Ae(lt("a-select"),{class:e.e("select"),value:t.value,"onUpdate:value":e=>t.value=e,options:o,onChange:a},null),Ae(lt("a-input-number"),{class:e.e("input"),value:s.value,"onUpdate:value":e=>s.value=e,min:0,placeholder:"请输入",size:"small",max:"fixed"===t.value?500:100,addonAfter:l.value},null)]})}}),dl=class{constructor(){t(this,"component","gct-form-pixel-config")}},ul=ps(Wt.PIXEL_CONFIG,()=>new dl,cl),pl=class{constructor(){t(this,"component","gct-form-select")}},ml=/* @__PURE__ */Be({name:"GctFormSelect",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e){const t=je("gct-form-select"),s=et();Y(s,()=>{var e;o.value=!1,null===(e=s.value)||void 0===e||e.blur()});const o=et(!1);function l(e,t){var s;return(null===(s=e.className)||void 0===s?void 0:s.indexOf(t))>-1?e:e.parentElement?l(e.parentElement,t):null}function a(e){var t;l(e.target,"ant-select-dropdown")||null===(t=s.value)||void 0===t||t.blur()}window.addEventListener("wheel",a);const i=et(),n=new ys(e.model),r=Is(),c=Te({get:()=>null!=r.value?r.value:void 0,set(e){r.value=e}}),d=Te(()=>e.c.state.options&&e.c.state.options.length>0?e.c.state.options:n.options);return Xe(()=>{window.removeEventListener("wheel",a)}),{ns:t,selectRef:s,open:o,rootRef:i,editorC:n,val2:c,options:d,onCloseDropdown:function(){o.value=!1,s.value&&s.value.blur()},onOpenDropdown:function(){o.value=!0},onChangeDropdown:function(){o.value=!o.value}}},render(){return Ae("div",{ref:"rootRef",class:this.ns.b()},[this.model.beforeText?Ae("div",{class:this.ns.e("before-text")},[this.model.beforeText]):null,Ae("div",{class:this.ns.e("content")},[Ae(lt("a-select"),Ue({ref:"selectRef",open:this.open,value:this.val2,"onUpdate:value":e=>this.val2=e,options:this.options,allowClear:!0,disabled:this.c.state.disabled,size:this.size,placeholder:this.model.placeholder,onChange:this.onCloseDropdown,onClick:this.onChangeDropdown},this.model.props||{}),null)]),this.model.afterText?Ae("div",{class:this.ns.e("after-text")},[this.model.afterText]):null])}}),hl=ps(Wt.SELECT,()=>new pl,ml),vl=class{constructor(){t(this,"component","gct-form-span")}},fl=/* @__PURE__ */Be({name:"GctFormSpan",props:{c:{type:Object,required:!0},itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEmptyText:{type:Boolean,default:!1}},setup(e){const t=je("form-span"),{model:s,itemModel:o,c:l}=nt(e);return l.value.loadDictionary(),{ns:t,val:Te(()=>{if(s.value.format&&"function"==typeof s.value.format)return s.value.format(l.value.data,o.value,l.value);if(null==e.value||""===e.value)return e.value;if(o.value.dictionary){const t=(o.value.dictionary.items||[]).find(t=>t.value==e.value);if(t)return t.label}if(l.value.state.options.length>0){const t=l.value.state.options.find(t=>t.value==e.value);if(t)return t.label}return e.value}),handleClipboardKey:function(){const{isSuccessRef:t}=ke(e.value);t.value&&$t.success(_e("sys.copySuccess"))}}},render(){let e=this.val;return this.val||!0!==this.isEmptyText||(e=_gct.store.getEmptyDisplay),Ae("div",{class:this.ns.b()},[Ae("span",{class:this.ns.e("info")},[e]),this.model.copy&&Ae("span",{class:this.ns.e("copy")},[Ae("i",{class:"iconfont icon-fuzhi primary-gct",onClick:this.handleClipboardKey},null)])])}}),gl=ps(Wt.SPAN,()=>new vl,fl),yl=class{constructor(){t(this,"component","gct-form-switch")}},bl=/* @__PURE__ */Be({name:"GctFormSwitch",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},setup:()=>({ns:je("gct-form-switch"),val:Is()}),render(){return Ae("div",{class:this.ns.b()},[Ae(lt("a-switch"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{}),null)])}}),wl=ps(Wt.SWITCH,()=>new yl,bl),xl=class{constructor(){t(this,"component","gct-form-text")}},Cl=/* @__PURE__ */Be({name:"GctFormText",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e){const t=je("gct-form-text"),s=Ms(e.model.prefix||e.model.addonBefore,e.model.suffix||e.model.addonAfter);function o(){"string"==typeof s.value&&(s.value=s.value.trim())}return()=>Ae(lt("a-input"),Ue({value:s.value,"onUpdate:value":e=>s.value=e,size:e.size},e.model.props||{},{class:t.b(),prefix:e.model.prefix,suffix:e.model.suffix,addonBefore:e.model.addonBefore,addonAfter:e.model.addonAfter,placeholder:e.model.placeholder,"show-count":null!=e.model.max,maxlength:e.model.max,onBlur:o}),null)}}),Ol=ps(Wt.TEXT,()=>new xl,Cl),_l=/* @__PURE__ */Be({name:"GctFormEmpty",setup(){const e=je("gct-form-empty");return()=>Ae("span",{class:e.b()},null)}}),Sl=class{constructor(){t(this,"component","gct-form-empty")}},kl=ps(Wt.EMPTY,()=>new Sl,_l),El=class{constructor(){t(this,"component","gct-form-textarea")}},jl=/* @__PURE__ */Be({name:"GctFormTextarea",props:{model:{type:Object,required:!0},value:{type:String,default:null}},emits:["update:value"],setup(){const e=je("gct-form-textarea"),t=Is();return{ns:e,val:t,handleBlur:()=>{"string"==typeof t.value&&(t.value=t.value.trim())}}},render(){return Ae(lt("a-textarea"),Ue({value:this.val,"onUpdate:value":e=>this.val=e,class:this.ns.b(),"auto-size":this.model.autoSize,"show-count":null!=this.model.max,maxlength:this.model.max,placeholder:this.model.placeholder,onBlur:this.handleBlur},this.model.props||{}),null)}}),Dl=ps(Wt.TEXTAREA,()=>new El,jl);function Tl(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Il=/* @__PURE__ */Be({name:"GctFormRadio",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup:()=>({ns:je("gct-form-radio"),val:Is()}),render(){let e;const t={...this.model.props||{},allowClear:!0,disabled:this.c.state.disabled};if(this.model.buttonMode){let e;return Ae(It,Ue({class:[this.ns.b(),this.ns.m("button")],value:this.val,"onUpdate:value":e=>this.val=e,size:"small","button-style":"solid"},t),Tl(e=this.c.state.options.map(e=>Ae(Tt,{key:e.value,value:e.value},{default:()=>[e.label]})))?e:{default:()=>[e]})}return Ae(It,Ue({class:[this.ns.b(),this.ns.m("radio")],value:this.val,"onUpdate:value":e=>this.val=e,size:this.size},t),Tl(e=this.c.state.options.map(e=>{var t;return Ae(Dt,{class:[this.ns.e("item"),this.ns.em("item","pos-"+((null===(t=this.model.icon)||void 0===t?void 0:t.pos)||"left"))],key:e.value,value:e.value,disabled:e.disabled},{default:()=>{var t,s,o;return[e.icon?Ae("span",{class:this.ns.e("item-icon"),style:{width:null===(t=this.model.icon)||void 0===t?void 0:t.width,height:null===(s=this.model.icon)||void 0===s?void 0:s.height,fontSize:null===(o=this.model.icon)||void 0===o?void 0:o.fontSize}},["string"==typeof e.icon&&e.icon.endsWith(".svg")?Ae(lt("assets-svg-icon"),{src:e.icon},null):e.icon]):null,Ae("span",{class:this.ns.e("item-label")},[e.label])]}})}))?e:{default:()=>[e]})}}),Ml=class{constructor(){t(this,"component","gct-form-radio")}},zl=ps(Wt.RADIO,()=>new Ml,Il),Ll=/* @__PURE__ */Be({name:"GctFormInfo",props:{value:{type:String,default:""},model:{type:Object,required:!0},size:{type:String},isEmptyText:{type:Boolean,default:!1}},emits:["update:value"],setup:()=>({ns:je("gct-form-info"),val:Is()}),render(){let e=this.val||this.model.content;return this.val||!0!==this.isEmptyText||(e=_gct.store.getEmptyDisplay),Ae("div",{class:[this.ns.b(),this.size?this.ns.m(this.size):null]},[this.model.icon?Ae("span",{class:this.ns.e("icon")},[Ae("i",{class:`iconfont ${this.model.icon}`},null)]):null,Ae("span",{class:this.ns.e("content"),title:e},[e])])}}),Rl=class{constructor(){t(this,"component","gct-form-info")}},$l=ps(Wt.INFO,()=>new Rl,Ll),Al=Bt,Fl=/* @__PURE__ */Be({name:"GctFormCheckbox",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e,{emit:t}){const s=je("gct-form-checkbox"),o=Is(),l=Te(()=>e.model.isDrag?(o.value||[]).filter(e=>e.checked).map(e=>e.value):o.value),a=Te(()=>{var t;return e.model.isDrag&&o.value&&(null===(t=o.value)||void 0===t?void 0:t.length)?o.value.map(t=>{var s;return{...t,label:(null===(s=e.c.state.options.find(e=>e.value===t.value))||void 0===s?void 0:s.label)||""}}):e.c.state.options});return{ns:s,checked:l,onChange:s=>{a.value.forEach(t=>{e.model.minLength&&s.length<=e.model.minLength&&s.includes(t.value)?t.disabled=!0:t.disabled=!1,t.checked=s.includes(t.value)}),e.model.isDrag?t("update:value",a.value):t("update:value",s)},onDragEnd:e=>{const{newIndex:s,oldIndex:o}=e;a.value.splice(s,0,a.value.splice(o,1)[0]),t("update:value",a.value)},slots:{item:({element:e})=>Ae("div",{class:"drag-checkbox-item ks-row-middle"},[Ae("i",{class:"icon-drag iconfont mr4px cursor-move text-[#C3C3C3] primary-gct-hover"},null),Ae(_t,{value:e.value,disabled:e.disabled},{default:()=>[e.label]})])},options:a}},render(){const e={...this.model.props||{},class:[this.ns.b(),this.ns.m("checkbox"),"column"===this.model.layout&&"isColumn",this.size?this.ns.m(this.size):null],disabled:this.c.state.disabled};return[mt(Ae(St,Ue({value:this.checked,"onUpdate:value":e=>this.checked=e},e,{onChange:this.onChange}),{default:()=>[Ae(Al,{modelValue:this.options,"onUpdate:modelValue":e=>this.options=e,handle:".cursor-move",animation:"200","chosen-class":"drawing-chosen","drag-class":"drawing-drag","item-key":"value",class:"drag-wrap",onEnd:this.onDragEnd},this.slots)]}),[[ct,this.model.isDrag]]),mt(Ae(St,Ue({value:this.checked,"onUpdate:value":e=>this.checked=e,options:this.options},e,{onChange:this.onChange}),null),[[ct,!this.model.isDrag]])]}}),Bl=class{constructor(){t(this,"component","gct-form-checkbox")}},Pl=ps(Wt.CHECKBOX,()=>new Bl,Fl);function ql(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Gl=[{value:"entity",label:"sys.pageDesigner.entity"},{value:"data",label:"sys.pageDesigner.data"},{value:"view",label:"sys.pageDesigner.view"},{value:"form",label:"sys.pageDesigner.form",project:["eDHR","MEDPRO"]},{value:"system",label:"sys.pageDesigner.system"}],Nl=/* @__PURE__ */Be({name:"GctFormModelSelect",props:{model:{type:Object,required:!0},value:{type:String}},setup(e){const t=je("form-model-select"),s=Is(),o=Is("category"),l=Is("categorySelect"),a=Is("modelName"),i=Is("formId"),n=et([]),r=et({}),c=async()=>{return"system"===l.value?(n.value=await _api.apaas.report.getListSystemModels()||[],{[_e("sys.pageDesigner.system")]:n.value}):(n.value=await _api.apaas.modelComprehensive.getModelSummary({type:(null===(t=e.model.props)||void 0===t?void 0:t.modelTypes)||"NDO,BASE,TREE,TRANSACTION,SIGN",category:o.value,report:!0})||[],yt(n.value,"group"));var t},{onFieldChange:d}=Et.useInjectFormItemContext();We(async()=>{s.value=s.value?s.value:void 0,o.value=o.value||"entity",l.value=l.value||o.value,r.value=await c()});const u=async e=>{o.value=e,s.value=null,i.value=void 0,r.value=await c()},p=e=>{const t=n.value.find(t=>t.key===e);t&&(a.value=t.name),"system"===l.value&&(o.value=t.modelCategory),d(),"system"!==l.value&&(r.value=yt(n.value,"group"))};return()=>{let o,a;return Ae("div",{class:t.b()},[Ae(lt("a-input-group"),{compact:!0},{default:()=>[Ae(lt("a-select"),{value:l.value,"onUpdate:value":e=>l.value=e,class:t.e("class"),placeholder:"请选择",onSelect:u,disabled:e.model.disabled},ql(o=Gl.filter(t=>{var s;return(null===(s=e.model.props)||void 0===s?void 0:s.exclude)?!e.model.props.exclude.includes(t.value)&&(!t.project||t.project&&_gct.store.appInfo.suiteKey&&t.project.includes(_gct.store.appInfo.suiteKey)):!t.project||_gct.store.appInfo.suiteKey&&t.project.includes(_gct.store.appInfo.suiteKey)}).map(e=>{let t;return Ae(lt("a-select-option"),{key:e.value,value:e.value},ql(t=_e(e.label))?t:{default:()=>[t]})}))?o:{default:()=>[o]}),Ae(lt("a-select"),{value:s.value,"onUpdate:value":e=>s.value=e,class:t.e("model"),onSelect:p,"show-search":!0,placeholder:"请选择",disabled:e.model.disabled,filterOption:(e,t)=>(t.label||t.name).toLowerCase().indexOf(e.toLowerCase())>=0},ql(a=Object.keys(r.value).map(e=>{const t=r.value[e].map(e=>Ae(lt("a-select-option"),{key:e.key,value:e.key,label:e.name},{default:()=>[e.name]}));return Ae(lt("a-select-opt-group"),{key:e,label:e},ql(t)?t:{default:()=>[t]})}))?a:{default:()=>[a]})]})])}}}),Ul=class{constructor(){t(this,"component","gct-form-model-select")}},Vl=ps(Wt.MODEL_SELECT,()=>new Ul,Nl),Hl=/* @__PURE__ */Be({name:"GctFormMultipleChoice",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:Array,default:null}},emits:["update:value"],setup(e,{emit:t}){const s=je("form-multiple-choice"),o=et(),l=Te({get:()=>e.value??[],set:e=>{t("update:value",e)}});return null!=l.value&&e.c.loadDictionary(),{ns:s,rootRef:o,val:l,loadOptions:()=>e.c.loadDictionary({},e.model.force)}},render(){return Ae("div",{ref:"rootRef",class:this.ns.b()},[Ae(lt("a-select"),Ue({value:this.val,"onUpdate:value":e=>this.val=e,mode:"multiple","max-tag-count":5,disabled:this.c.state.disabled,loading:this.c.state.loading,options:this.c.state.options,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,getPopupContainer:()=>this.rootRef},this.model.props||{}),null)])}}),Yl=class{constructor(){t(this,"component","GctFormMultipleChoice")}},Kl=ps(Wt.MULTIPLE_CHOICE,()=>new Yl,Hl),Wl=/* @__PURE__ */Be({name:"GctFormTable",props:{model:{type:Object,required:!0},value:{type:Array,default:()=>[]}},setup(e){const t=je("form-table"),s=Is();return()=>Ae("div",{class:t.b()},[Ae(lt("gct-table"),Ue({data:s.value,model:e.model.tableModel,count:s.value.length.toString()},e.model.props||{}),null)])}}),Xl=class{constructor(){t(this,"component","gct-form-table")}},Jl=ps(Wt.TABLE,()=>new Xl,Wl),Ql=/* @__PURE__ */Be({name:"GctSelectFormTable",props:{model:{type:Object,required:!0},value:{type:Array,default:()=>[]}},setup(e){const t=je("select-form-table"),s=et(),o=et(""),l=Is(),a=Te(()=>({type:e.model.multiple?"checkbox":"radio",fixed:!0,selectedRowKeys:e.model.isKeys?l.value:l.value.map(t=>t[e.model.tableModel.key||"id"]),onChange:(t,s)=>{e.model.isKeys?l.value=t:l.value=s},getCheckboxProps:e=>({disabled:"Disabled User"===e.name,name:e.name})}));function i(){o.value?(o.value=o.value.trim(),o.value&&s.value&&s.value.reload({query:o.value})):s.value&&s.value.reload()}return()=>Ae("div",{class:t.b()},[Ae("div",{class:t.e("search")},[Ae(lt("a-input-search"),{placeholder:"搜索数据集名称",value:o.value,"onUpdate:value":e=>o.value=e,onSearch:i},null)]),Ae("div",{class:t.e("table")},[Ae(lt("gct-table"),Ue({ref:s,"row-selection":a.value,data:l.value,model:e.model.tableModel,count:l.value.length.toString()},e.model.props||{}),null)])])}}),Zl=class{constructor(){t(this,"component","gct-select-form-table")}},ea=ps(Wt.SELECT_TABLE,()=>new Zl,Ql),ta={install(e){e.use(Lo).use(Ao).use(Io).use(Po).use(No).use(Ho).use(Zo).use(Xo).use(sl).use(al).use(rl).use(ul).use(hl).use(gl).use(wl).use(Ol).use(Dl).use(zl).use($l).use(Pl).use(Po).use(Vl).use(Kl).use(Jl).use(ea).use(Eo).use(kl)}},sa=/* @__PURE__ */Be({name:"GctEditForm",props:{embed:{type:Boolean,default:!1},context:{type:Object,default:()=>({})},params:{type:Object,default:()=>({})},controller:{type:Object},model:{type:Object,required:!0},data:{type:Object},count:{type:Number,default:0},adaptModal:{type:Boolean,default:!0}},emits:["update:data","change"],setup(e,{emit:t,expose:s}){const o=je("gct-edit-form");console.debug("GctEditForm props:",e);const l=e.controller||gs(()=>new fs(e.model)),a=et(),i=async e=>{try{await a.value.formRef.validateFields([e])}catch(t){return console.error(t),!1}return!0};l.validate=async()=>{try{await a.value.formRef.validate()}catch(e){return console.error(e),!1}return!0},l.validateItem=i;const{context:n,params:r}=nt(e);return dt(n,()=>{Object.assign(l.context,e.context),l.state.isNew=!l.context.id},{immediate:!0,deep:!0}),dt(r,()=>{Object.assign(l.params,e.params)},{deep:!0}),dt(()=>e.count,()=>{l.state.count+=1}),dt(()=>e.data,()=>{Object.assign(l.state.data,e.data)},{deep:!0}),!1!==e.adaptModal&&Ee(async()=>{try{await a.value.formRef.validate();const e=await l.save();if(e)return{ok:!0,data:[ft(e)]}}catch(e){console.error(e)}return{ok:!1}}),e.data?(Object.assign(l.state.data,e.data),l.loaded()):!0!==l.state.isNew?l.load().then(()=>{l.loaded()}):l.loaded(),e.embed&&l.evt.on("change",()=>{const e=l.getData();t("update:data",e),t("change",e)}),l.evt.on("blur",e=>{i(e)}),s({c:l}),()=>{let t=null;return(l.state.isNew||0==l.state.isNew&&l.state.loaded)&&(t=Ae(lt("gct-form"),{class:"h-full",ref:a,c:l,model:e.model,context:e.context},null)),Ae("div",{class:o.b()},[t])}}}),oa={install(e){e.use(ta),e.component(Co.name,Co),e.component(xo.name,xo),e.component(_o.name,_o),e.component(sa.name,sa),e.use(wo)}},la=class{constructor(){t(this,"formData",{}),t(this,"items",[]),t(this,"page",1),t(this,"total",0),t(this,"size",20)}},aa=class{constructor(){t(this,"keepalive",!0),t(this,"visible",!0)}},ia=class extends aa{constructor(...e){super(...e),t(this,"error",!1),t(this,"errMessage",""),t(this,"readonly",!1),t(this,"disabled",!1)}},na=class{constructor(){t(this,"hover",!1),t(this,"active",!1),t(this,"deleted",!1)}},ra=class{get value(){return this.row.data[this.model.dataIndex]}set value(e){const t=this.row.data[this.model.dataIndex];this.row.data[this.model.dataIndex]=e,this.row.change(this.model.name,e,t)}constructor(e,s){t(this,"state",this.createState()),this.row=e,this.model=s}createState(){return new aa}async init(){}async destroy(){}},ca=class extends ra{},da=class extends ra{createState(){return new ia}active(){return this.row.active()}unActive(){return this.row.unActive()}},ua=class{constructor(){t(this,"promise",null),t(this,"resolve",null),t(this,"count",0)}get isLock(){return this.count>0}startPromise(){this.promise=new Promise(e=>{this.resolve=e})}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)return this.count=0,void console.warn("lock和unlock次数不匹配!");this.count-=1,0===this.count&&this.endPromise()}async await(){if(this.promise)return this.promise}};function pa(e,t,s){return{install(o){e&&t&&_gct.register.tableEditor.register(he.PREFIX+e,t),s&&o.component(s.name||s.__name,s)}}}var ma=class{get key(){return this.data[this.model.key]}constructor(e,s,o){t(this,"item",{}),t(this,"fields",[]),t(this,"state",this.createState()),t(this,"activeCount",new ua),this.table=e,this.model=s,this.data=o}async init(){const e=this.model.columns.map(e=>{let t=null;switch(e.type){case"edit":t=new da(this,e);break;case"actions":t=new ca(this,e);break;default:t=new ra(this,e)}return this.fields.push(e.name),t.state=Ze(t.state),this.item[e.name]=t,t});await Promise.all(e)}change(e,t,s){this.table.change(this,e,t,s)}async destroy(){const e=Object.keys(this.item).map(e=>this.item[e].destroy());this.item={},await Promise.all(e)}active(){this.activeCount.isLock?this.activeCount.lock():(this.activeCount.lock(),this.state.active=!0,this.activeCount.await().then(()=>{this.state.active=!1}))}unActive(){this.activeCount.unlock()}createState(){return new na}},ha=class{constructor(e){t(this,"evt",new rs),t(this,"state",this.createState()),t(this,"row",{}),t(this,"editorProviders",{}),this.model=e,this.init()}init(){this.initTableItems(this.model.columns)}initTableItems(e){e&&e.forEach(e=>{if("edit"===e.type){const t=_gct.register.tableEditor.get(he.PREFIX+e.editor.type);t&&(this.editorProviders[e.name]=t)}})}async setData(e){await this.destroyControllers(),await this.initControllers(e),this.state.items=e||[]}getData(){return this.state.items}createState(){return new la}async initControllers(e){const t=e.map(e=>{const t=e[this.model.key];if(this.row[t])return;const s=new ma(this,this.model,e);return s.state=Ze(s.state),s.data=Ze(s.data),this.row[t]=s,Object.keys(e).forEach(s=>{this.state.formData[`${s}___${t}`]=e[s]}),s.init()});await Promise.all(t)}async destroyControllers(){const e=this.state.items.map(e=>e[this.model.key]),t=Object.keys(this.row).filter(t=>!e.includes(t)).map(e=>{const t=this.row[e];delete this.row[e];{const e=Object.keys(t.data),s=t.data[this.model.key];e.forEach(e=>{const t=`${e}___${s}`;delete this.state.formData[t]})}return t.destroy()});await Promise.all(t)}async load(e={}){if(gt(e,{page:this.state.page,size:this.state.size}),this.model.fetch){const t=await this.model.fetch(e,this);this.state.items=t,this.destroyControllers(),this.initControllers(this.state.items)}}async reload(e){await this.load(e)}async search(e){await this.reload(e)}async refresh(e){await this.load(e)}destroy(){this.evt.reset()}change(e,t,s,o){const l=this.state.items.find(t=>t[this.model.key]===e.key);l&&(Object.assign(l,e.data),this.state.formData[`${t}___${l[this.model.key]}`]=s,this.evt.emit("change",l,t,s,o))}updatePagination(e){xt(e.total)||(this.state.total=e.total),xt(e.size)||(this.state.size=e.size),xt(e.page)||(this.state.page=e.page)}};function va(e){const t=e();return t.state=Ze(t.state),Xe(()=>t.destroy()),t}function fa(e,{pagination:t=!0,triggerByWindowSize:s=!0}={}){const o=et(0);let l=[],a=null,i=null;const n=()=>{var s,i;if(!e)return;a&&(clearTimeout(a),a=null);const r=rt(e).$el??rt(e),c=r.getBoundingClientRect().height??0,d=Math.max((null===(s=r.querySelector(".ant-table-thead"))||void 0===s?void 0:s.getBoundingClientRect().height)??0,48),u=t?Math.max((null===(i=r.querySelector(".ant-table-pagination"))||void 0===i?void 0:i.getBoundingClientRect().height)??0,24)+16:0;o.value=c-d-u,l.push(o.value),l.length>=3&&l[l.length-3]===l[l.length-1]&&l[l.length-2]===l[l.length-1]?l=[]:a=setTimeout(()=>{n()},100)};return s&&window.addEventListener("resize",n),dt(e,async t=>{await Ve(),t&&(n(),(()=>{i&&(i.disconnect(),i=null);const t=rt(e).$el??rt(e);t&&"undefined"!=typeof ResizeObserver&&(i=new ResizeObserver(()=>{a&&clearTimeout(a),a=setTimeout(()=>{n()},100)}),i.observe(t))})())},{immediate:!0}),Xe(()=>{window.removeEventListener("resize",n),i&&(i.disconnect(),i=null),a&&(clearTimeout(a),a=null)}),{scrollHeight:o,calcScrollHeight:n}}var ga=class{constructor(){t(this,"editors",/* @__PURE__ */new Map),t(this,"providers",/* @__PURE__ */new Map)}register(e,t){this.editors.set(e,t)}unregister(e){this.editors.delete(e)}get(e){if(this.providers.has(e))return this.providers.get(e);const t=this.editors.get(e);if(t){const s=t();return this.providers.set(e,s),s}return null}},ya=class{constructor(){t(this,"component","gct-table-span")}},ba=/* @__PURE__ */Be({name:"GctTableSpan",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""}},setup:()=>({ns:je("table-span")}),render(){return Ae("div",{class:this.ns.b()},[this.model.icon?Ae("span",{class:this.ns.e("icon")},[Ae("i",{class:`iconfont ${"string"==typeof this.model.icon?this.model.icon:this.model.icon(this.c.row.data)}`},null)]):null,Ae("span",{class:this.ns.e("text")},[this.value])])}}),wa=pa(Wt.SPAN,()=>new ya,ba),xa=class{constructor(){t(this,"component","gct-table-text")}},Ca=/* @__PURE__ */Be({name:"GctTableText",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEdit:{type:Boolean,default:!1}},emits:["update:value"],setup(e){const t=je("table-text"),s=Ms(e.model.prefix||e.model.addonBefore,e.model.suffix||e.model.addonAfter);return{ns:t,val:s,handleBlur:()=>{"string"==typeof s.value&&(s.value=s.value.trim())}}},render(){return!1===this.isEdit?Ae("div",{class:[this.ns.b(),this.ns.e("info")]},[this.c.value]):Ae(lt("a-input"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("error",this.c.state.error)],prefix:this.model.prefix,suffix:this.model.suffix,addonBefore:this.model.addonBefore,addonAfter:this.model.addonAfter,placeholder:this.model.placeholder,"show-count":null!=this.model.max,maxlength:this.model.max,autocomplete:"off",onBlur:this.handleBlur}),null)}}),Oa=pa(Wt.TEXT,()=>new xa,Ca),_a=class{constructor(){t(this,"component","gct-table-date")}},Sa=/* @__PURE__ */Be({name:"GctTableDate",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEdit:{type:Boolean,default:!1}},emits:["update:value"],setup:()=>({ns:je("table-date"),val:Is()}),render(){return!1===this.isEdit?Ae("div",{class:[this.ns.b(),this.ns.e("info")]},[this.c.value]):Ae(lt("a-date-picker"),Ue({picker:"date",value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("error",this.c.state.error)],placeholder:this.model.placeholder}),null)}}),ka=pa(Wt.DATE,()=>new _a,Sa),Ea={install(e){e.use(wa).use(Oa).use(ka)}};function ja(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Da=/* @__PURE__ */Be({name:"GctTable",props:{count:{type:Number,default:0},model:{type:Object,required:!0},data:{type:Array,default:()=>[]}},emits:["rowChange"],setup(e,{emit:t}){const s=je("gct-table"),o=et({}),l=et(),a=et(),i=et();let n=null,r=null;const c=va(()=>new ha(e.model));c.evt.on("change",async(e,s,o,l)=>{t("rowChange",ft(e),s,o,l)}),!0===c.model.local&&dt(()=>e.count,()=>{c.setData(ft(e.data))}),!0!==c.model.local&&!1!==c.model.autoLoad&&c.load();const d=e=>{if(!e||e===l.value)return null;return e.getAttribute("data-row-key")||d(e.parentElement)},u=e=>{const t=d(e.target);if(t){const e=c.row[t];n&&(n.state.hover=!1),e.state.hover=!0,n=e}},p=e=>{!d(e.target)&&n&&(n.state.hover=!1,n=null)},m=e=>{const t=d(e.target);if(t){const e=c.row[t];r&&r.unActive(),e.active(),r=e}else r&&(r.unActive(),r=null)},h=()=>{r&&(r.unActive(),r=null)};We(()=>{l.value&&(l.value.addEventListener("mouseover",u,{capture:!0}),l.value.addEventListener("mouseout",u,{capture:!0}),l.value.addEventListener("mouseleave",p,{capture:!0}),l.value.addEventListener("click",m,{capture:!0})),window.addEventListener("click",h,{capture:!0})}),Xe(()=>{l.value&&(l.value.removeEventListener("mouseover",u,{capture:!0}),l.value.removeEventListener("mouseout",u,{capture:!0}),l.value.removeEventListener("mouseleave",p,{capture:!0}),l.value.removeEventListener("click",m,{capture:!0})),window.removeEventListener("click",h,{capture:!0})});const v=Te(()=>{var t;if(xt(e.model.pagination))return!1;const s=vt(e.model.pagination);gt(s,{pageSizeOptions:[10,20,30,40,50],showSizeChanger:!0,showTotal:!0});const o=!0===s.showTotal?e=>_e("sys.component.table.total",{total:e}):s.showTotal||void 0,l=null===(t=s.pageSizeOptions)||void 0===t?void 0:t.map(e=>`${e}`);return{class:"pagination-total-left",total:c.state.total,current:c.state.page,pageSize:c.state.size,pageSizeOptions:l,showSizeChanger:s.showSizeChanger,showTotal:o}}),{scrollHeight:f}=fa(l,{pagination:!!v.value});return{ns:s,c:c,loadingState:o,elRef:l,formRef:a,tableRef:i,scrollHeight:f,pagination:v,isEdit:Te(()=>c.model.columns.some(e=>"edit"===e.type)),handleTableChange:(e,t,s)=>{c.updatePagination({page:e.current,size:e.pageSize}),c.reload()},mouseOver:u,mouseOut:e=>{!d(e.target)&&n&&(n.state.hover=!1,n=null)},onValidate:(e,t,s)=>{const o=e.split("___");if(2===o.length){const[e,l]=o,a=c.row[l];if(a){const o=a.item[e];o&&(o.state.error=!t,s&&s.length>0?o.state.errMessage=s[0]:o.state.errMessage="")}}},validate:()=>a.value.validate(),reload:e=>c.load(e)}},render(){return Ae("div",{ref:"elRef",class:this.ns.b(),onMouseover:this.mouseOver,onMouseout:this.mouseOut},[Ae(lt("a-form"),{ref:"formRef",model:this.c.state.formData,onValidate:this.onValidate},{default:()=>[Ae(lt("a-table"),Ue({ref:"tableRef",class:["flex-1",this.ns.is("pagination",!!this.pagination),this.ns.is("not-edit",!this.isEdit)],scroll:{y:this.scrollHeight},columns:this.model.columns,"data-source":this.c.state.items,"row-key":e=>e[this.c.model.key],pagination:this.pagination,onChange:this.handleTableChange},this.$attrs),{headerCell:({title:e,column:t})=>{const s=t;if("edit"===s.type&&s.rules&&s.rules.length>0){const t=s.rules.some(e=>!0===e.required);return Ae("span",{title:e,class:[this.ns.e("table-header"),this.ns.is("required",t)]},[Ae("span",{class:this.ns.e("table-item")},[e])])}return e},bodyCell:({column:e,text:t,record:s})=>{t=null==t&&1==this.model.isEmptyText?_gct.store.getEmptyDisplay:bt(t)?t.toString():t;const o=e;if(o.customRender)return o.customRender({record:s});if("edit"===e.type){const t=s[this.c.model.key],o=this.c.row[t];if(o){let s;const l=this.c.editorProviders[e.name],a=lt(l.component),i=o.item[e.name],n=!0===o.state.hover||!0===i.state.error||!0===o.state.active||"all"===this.c.model.rowEditMode;return Ae(lt("a-form-item"),{name:`${e.name}___${t}`,class:[this.ns.b("table-item"),this.ns.bm("table-item","edit")],rules:i.model.rules||[]},ja(s=qe(a,{key:i.model.name,c:i,model:i.model.editor,readonly:i.state.readonly,disabled:i.state.disabled,value:i.value,itemModel:i.model,data:o.data,keepalive:i.state.keepalive,visible:i.state.visible,isEdit:n,"onUpdate:value":e=>{i.value=e}}))?s:{default:()=>[s]})}}if("actions"===e.type){const t=e;return Ae("div",{class:this.ns.b("table-actions")},[t.actions.filter(e=>!e.hidden||!e.hidden(s)).map(e=>{if("divider"===e.mode)return Ae(lt("a-divider"),{type:"vertical"},null);const o=`${e.type}___${e.tag}___${s[this.c.model.key]}`,l=Ae(lt("a-button"),Ue({class:this.ns.b("table-action-item"),type:e.type,size:"small",loading:!0===this.loadingState[o],onClick:async l=>{if(!e.confirm)if(l.stopPropagation(),e.action)if(us(e.action)||ds(e.action)){this.loadingState[o]=!0;try{await e.action(s)}catch(a){console.log(a)}finally{this.loadingState[o]=!1}}else e.action(s);else t.action(e.tag,s)}},e.props),{default:()=>[e.text]});return e.confirm?Ae(lt("a-popconfirm"),Ue({onConfirm:async()=>{if(e.action)if(us(e.action)||ds(e.action)){this.loadingState[o]=!0;try{await e.action(s)}catch(l){console.log(l)}finally{this.loadingState[o]=!1}}else e.action(s);else t.action(e.tag,s)}},e.confirm),ja(l)?l:{default:()=>[l]}):l})])}return"link"===e.type?Ae("a",{class:this.ns.e("table-link"),onClick:e=>{e.stopPropagation(),o.click&&o.click(s)}},[t]):t}})]})])}}),Ta={install(e){e.component(Da.name,Da)}},Ia={install(e){e.use(Ta)}},Ma={install(e){e.use(Ea),e.use(Ia)}},za=Fe(()=>import("./monaco-editor-CgESUPw_.js")),La=/* @__PURE__ */ie(/* @__PURE__ */Be({name:"ColorEditor",__name:"color-editor",props:{value:{}},emits:["update:value"],setup(e,{emit:t}){const s=t,o=(e,t)=>{s("update:value",t)};return(t,s)=>{const l=lt("color-picker");return Je(),Ie(l,{preset:rt(Oe),color:e.value,"onUpdate:color":o},{icon:pt(()=>[Le("div",{class:"color-picker-icon",style:Ye({backgroundColor:e.value})},null,4)]),_:1},8,["preset","color"])}}}),[["__scopeId","data-v-7b102f87"]]),Ra={FIRST:"first",BEFORE:"before",AFTER:"after",LAST:"last"},$a=/* @__PURE__ */Be({name:"GctDndItem",props:{config:{type:Object,required:!0},index:{type:Number,required:!0},data:{type:Object,required:!0},last:{type:Boolean,default:!1}},emits:["drop"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-item"),l=et(null),a=et(!1),i=Ge("vue3-dnd-drop-line-state"),n=et(-1),[r,c,d]=oe({type:s.group,item:()=>({index:e.index,id:e.data.id,data:e.data,group:s.group,mode:s.mode??"move",tagMap:s.tagMap??{},types:[]}),collect:e=>({canDrag:e.canDrag(),isDragging:e.isDragging()}),canDrag:()=>!1!==s.isDrag&&(!s.canDrag||s.canDrag(e.data)),end:async(e,t)=>{const o=t.getDropResult();if(o&&o.asyncDrop){const t=await o.asyncDrop();!0===t.success&&t.data&&(s.end&&s.end(e,t),s.add&&s.add(t.data),console.debug("drop success"))}}});if(!0!==e.config.isDrop){const[e,t]=X({accept:s.group,canDrop:()=>!1});t(l)}else{const[t,o]=X({accept:s.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:(t,s)=>!0!==r.value.isDragging&&t.id!==e.data.id&&s.isOver({shallow:!0}),hover(t,o){if(!1!==o.canDrop())if(o.isOver({shallow:!0})){const t=l.value.getBoundingClientRect(),n=o.getClientOffset(),r=s.offset??0;let c=0;if("vertical"===s.direction){const{top:e,height:s}=t,{y:o}=n;if(c=o-e-s/2,Math.abs(c)<r)return;a.value=c<0}else if("horizontal"===s.direction){const{left:e,width:s}=t,{x:o}=n;if(c=o-e-s/2,Math.abs(c)<r)return;a.value=c<0}i.activeKey=e.data.id,i.isBeforeHover=a.value}else i.activeKey=""},drop:(o,l)=>{if(i.activeKey="",!0===t.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let t=o.data;return s.drop&&(t=await s.drop(o),!t)?{group:s.group,cfg:ft(e.config),success:!1}:(u(a.value?Ra.BEFORE:Ra.AFTER,t),{group:s.group,success:!0,cfg:ft(e.config),data:t})}}}});o(l)}function u(e,s){t("drop",e,s)}return s.handle||!1===s.isDrag||c(l),d(l),{ns:o,rootRef:l,posState:n,collect:r,onDrop:u,drag:c}},render(){var e,t;const s={index:this.index,data:this.data,drag:this.drag};return Ae("div",{ref:"rootRef",class:[this.ns.b(),this.ns.is("dragging",this.collect.isDragging),this.ns.is("not-drag",!1===this.collect.canDrag)]},[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t,s)])}}),Aa=/* @__PURE__ */Be({name:"GctDndDropLine",props:{config:{type:Object,required:!0},active:{type:Boolean,default:!1}},emits:["drop"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-drop-line"),l=et(null),[a,i]=X({accept:e.config.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:e=>!1!==s.isDrop&&(!s.canDrop||s.canDrop(e)),drop:(o,l)=>{if(!0===a.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let l=o.data;return s.drop&&(l=await s.drop(o),!l)?{group:s.group,cfg:ft(e.config),success:!1}:(t("drop",l),{group:s.group,success:!0,cfg:ft(e.config),data:l})}}}});return!1!==s.isDrop&&i(l),{ns:o,rootRef:l,collect:a}},render(){return Ae("div",{ref:"rootRef",class:[this.collect.handlerId,this.ns.b(),this.ns.is("over",this.collect.isOver&&this.collect.canDrop),this.ns.is("shallow-over",this.collect.isShallowOver&&this.collect.canDrop),this.ns.is("not-drop",!1===this.collect.canDrop&&this.collect.isShallowOver),this.ns.is("active",this.active)]},[Ae("div",{class:this.ns.e("line")},null)])}}),Fa=/* @__PURE__ */Be({name:"GctDndContainer",props:{config:{type:Object,default:()=>({group:"GctDnd",insertPos:Ra.LAST})},items:{type:Array,default:()=>[]}},emits:["update:items"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-container"),l=et(null),a=Ze({activeKey:"",isBeforeHover:!1});Qe("vue3-dnd-drop-line-state",a);const i=it(e.items),[n,r]=X({accept:s.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:e=>!1!==s.isDrop&&(!s.canDrop||s.canDrop(e)),drop:(o,l)=>{if(!0===n.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let l=o.data;return s.drop&&(l=await s.drop(o),!l)?{group:s.group,success:!1,cfg:ft(e.config)}:(-1===i.value.findIndex(e=>e.id===o.data.id)&&c(e.config.insertPos,l),t("update:items",i.value),{group:s.group,success:!0,cfg:ft(e.config),data:l})}}}});function c(e,s,o=-1){if(s){if(e===Ra.FIRST)i.value.unshift(s);else if(e===Ra.LAST)i.value.push(s);else{if(-1===o)return void console.error("insertIndex is required");const t=i.value.findIndex(e=>e.id===s.id);if(t===o)return;-1!==t&&o<t&&i.value.splice(t,1),e===Ra.AFTER?i.value.splice(o+1,0,s):i.value.splice(o,0,s),-1!==t&&o>t&&i.value.splice(t,1)}t("update:items",i.value)}else console.error("data is required")}return!1!==s.isDrop&&r(l),dt(n,()=>{!0!==n.value.isOver&&(a.activeKey="")}),{ns:o,rootRef:l,dropLineState:a,collect:n,onDrop:c}},render(){var e,t,s,o;const l=this.items[this.items.length-1];return Ae("div",{ref:"rootRef",class:[this.collect.handlerId,this.ns.b(),this.ns.is("over",this.collect.isOver&&this.collect.canDrop),this.ns.is("not-drop",!1===this.collect.canDrop&&this.collect.isOver),this.ns.is("shallow-over",this.collect.isShallowOver&&this.collect.canDrop)]},[null===(e=(t=this.$slots).before)||void 0===e?void 0:e.call(t),this.items.map((e,t)=>{const s=this.items[t-1],o=[];return!1!==this.config.isDrop&&o.push(Ae(Aa,{key:e.id+"___line",config:this.config,active:!0===this.dropLineState.isBeforeHover&&this.dropLineState.activeKey===e.id||s&&this.dropLineState.activeKey===s.id&&!1===this.dropLineState.isBeforeHover,onDrop:e=>this.onDrop(Ra.BEFORE,e,t)},null)),o.push(Ae($a,{key:e.id,config:this.config,index:t,data:e,last:t===this.items.length-1,onDrop:(e,s)=>this.onDrop(e,s,t)},{default:this.$slots.default})),o}),l?Ae(Aa,{key:l.id+"___last-line",config:this.config,active:this.dropLineState.activeKey===l.id&&!1===this.dropLineState.isBeforeHover,onDrop:e=>this.onDrop(Ra.AFTER,e,this.items.length-1)},null):null,null===(s=(o=this.$slots).after)||void 0===s?void 0:s.call(o)])}}),Ba={aspectRatio:1,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,autoCrop:!0,background:!0,highlight:!0,center:!0,responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,scalable:!0,modal:!0,guides:!0,movable:!0,rotatable:!0},Pa={src:{type:String,required:!0},alt:{type:String},circled:{type:Boolean,default:!1},realTimePreview:{type:Boolean,default:!0},height:{type:[String,Number],default:"360px"},width:{type:[String,Number],default:"360px"},crossorigin:{type:String,default:void 0},imageStyle:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},qa=Be({name:"CropperImage",props:Pa,emits:["cropend","ready","cropendError"],setup(t,{attrs:s,emit:o}){const l=et(),a=et(),i=et(!1),n=je("cropper-image"),r=U(p,80),c=Te(()=>({height:t.height,width:t.width,maxWidth:"100%",...t.imageStyle})),d=Te(()=>[n.b(),s.class,{[n.m("circled")]:t.circled}]),u=Te(()=>({height:`${t.height}`.replace(/px/,"")+"px",width:`${t.width}`.replace(/px/,"")+"px"}));function p(){t.realTimePreview&&m()}function m(){if(!a.value)return;let e=a.value.getData();(t.circled?function(){const e=a.value.getCroppedCanvas(),t=document.createElement("canvas"),s=t.getContext("2d"),o=e.width,l=e.height;return t.width=o,t.height=l,s.imageSmoothingEnabled=!0,s.drawImage(e,0,0,o,l),s.globalCompositeOperation="destination-in",s.beginPath(),s.arc(o/2,l/2,Math.min(o,l)/2,0,2*Math.PI,!0),s.fill(),t}():a.value.getCroppedCanvas()).toBlob(t=>{if(!t)return;let s=new FileReader;s.readAsDataURL(t),s.onloadend=t=>{var s;o("cropend",{imgBase64:(null===(s=t.target)||void 0===s?void 0:s.result)??"",imgInfo:e})},s.onerror=()=>{o("cropendError")}},"image/png")}return We(async function(){const s=rt(l);if(!s)return;const[{default:n}]=await Promise.all([import("./cropper-tw7tUDDe.js").then(t=>/* @__PURE__ */e(t.default,1)),Promise.resolve({ })]);a.value=new n(s,{...Ba,ready:()=>{i.value=!0,p(),o("ready",a.value)},crop(){r()},zoom(){r()},cropmove(){r()},...t.options})}),Xe(()=>{var e;null===(e=a.value)||void 0===e||e.destroy()}),{getClass:d,imgElRef:l,getWrapperStyle:u,getImageStyle:c,isReady:i,croppered:m}}}),Ga=["src","alt","crossorigin"],Na=/* @__PURE__ */ie(qa,[["render",function(e,t,s,o,l,a){return Je(),ze("div",{class:He(e.getClass),style:Ye(e.getWrapperStyle)},[mt(Le("img",{ref:"imgElRef",src:e.src,alt:e.alt,crossorigin:e.crossorigin,style:Ye(e.getImageStyle)},null,12,Ga),[[ct,e.isReady]])],6)}]]),Ua={key:1,class:"empty"},Va={class:"flex flex-col justify-center items-center"},Ha=["title"],Ya=/* @__PURE__ */Be({__name:"CopperFreeModal",props:{title:{type:String,default:"图片上传"},circled:{type:Boolean,default:!0},uploadApi:{type:Function},src:{type:String},aspectRatio:{type:Number},accept:{type:Array,default:["jpg","jpeg","png","bmp"]},beforeUpload:{type:Function},uploadText:{type:String}},emits:["uploadSuccess","register"],setup(e,{emit:t}){const s=e,o=t,l=et(s.src||""),a=et(s.src||""),i=et(""),n=et();let r=1,c=1,d="";const u=Te(()=>s.accept.map(e=>`image/${e}`).join(",")),p=je("cropper-free"),[m,{closeModal:h,setModalProps:v}]=T(e=>{(null==e?void 0:e.file)&&f(e.file)});async function f(e){if(s.beforeUpload&&await s.beforeUpload(e),e.size/1024/1024>4)return $t.warn(`【${e.name}】文件大小不能超过 4MB`),!1;if(!u.value.includes(e.type))return $t.warning(`【${e.name}】${_e("sys.component.cropper.acceptAvatarTypeTip")}`),!1;const t=new FileReader;return t.readAsDataURL(e),l.value="",i.value="",t.onload=function(t){var s;l.value=(null===(s=t.target)||void 0===s?void 0:s.result)??"",d=e.name},!1}function g({imgBase64:e}){i.value=e}function y(e){n.value=e}function b(e,t){var s,o;"scaleX"===e&&(r=t=-1===r?1:-1),"scaleY"===e&&(c=t=-1===c?1:-1),null===(s=n.value)||void 0===s||null===(o=s[e])||void 0===o||o.call(s,t)}async function x(){const e=s.uploadApi;if(e&&wt(e)){const t=we(i.value);try{v({confirmLoading:!0});const s=await e({name:"file",file:t,filename:d});o("uploadSuccess",{source:i.value,data:s.data}),h()}finally{v({confirmLoading:!1})}}}function C(){l.value="",setTimeout(()=>{l.value=a.value||""})}return dt(()=>s.src,e=>{l.value=e||"",a.value=e||""}),(t,s)=>{const o=lt("PlusOutlined"),a=lt("a-button");return Je(),Ie(rt(w),Ue(t.$attrs,{title:e.title,width:"640px","min-height":"510","can-fullscreen":!1,"ok-text":rt(_e)("sys.okText"),onRegister:rt(m),onOk:x,onCancel:C}),{default:pt(()=>[Le("div",{class:He(rt(p).b())},[Le("div",{class:He(rt(p).b("left"))},[Le("div",{class:He(rt(p).b("cropper"))},[l.value?(Je(),Ie(Na,{key:0,src:l.value,height:"304px",width:"538px",options:{aspectRatio:e.aspectRatio??200/120},onCropend:g,onReady:y},null,8,["src","options"])):(Je(),ze("div",Ua,[Ae(rt(Rt),{"list-type":"picture-card","file-list":[],accept:"image/*","before-upload":f},{default:pt(()=>[Le("div",Va,[Ae(o),s[14]||(s[14]=Le("div",{class:"mt12px"},"点击或将图片拖拽到这里上传",-1)),s[15]||(s[15]=Le("div",{class:"color-[#8B8B8B] mt8px"}," 仅支持JPG、PNG、JPEG、BMP格式,文件小于4M ",-1))])]),_:1})]))],2),l.value?(Je(),ze("div",{key:0,class:He(rt(p).b("toolbar"))},[Ae(rt(Rt),{"file-list":[],accept:u.value,"before-upload":f},{default:pt(()=>[e.uploadText?(Je(),Ie(a,{key:0,type:"link",size:"small",style:{padding:"0"}},{default:pt(()=>[$e(at(e.uploadText),1)]),_:1})):(Je(),ze("a",{key:1,title:rt(_e)("sys.reUpload"),placement:"bottom"},at(rt(_e)("sys.reUpload")),9,Ha))]),_:1},8,["accept"]),Ae(rt(Mt),null,{default:pt(()=>[Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_in"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[0]||(s[0]=ht(()=>{},["prevent"])),onClick:s[1]||(s[1]=e=>b("zoom",.1))},{icon:pt(()=>[...s[16]||(s[16]=[Le("i",{class:"iconfont icon-fangda_zoom-in"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_out"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[2]||(s[2]=ht(()=>{},["prevent"])),onClick:s[3]||(s[3]=e=>b("zoom",-.1))},{icon:pt(()=>[...s[17]||(s[17]=[Le("i",{class:"iconfont icon-a-suoxiao_zoom-out1"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_left"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[4]||(s[4]=ht(()=>{},["prevent"])),onClick:s[5]||(s[5]=e=>b("rotate",-45))},{icon:pt(()=>[...s[18]||(s[18]=[Le("i",{class:"iconfont icon-xuanzhuan_rotate"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_right"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[6]||(s[6]=ht(()=>{},["prevent"])),onClick:s[7]||(s[7]=e=>b("rotate",45))},{icon:pt(()=>[...s[19]||(s[19]=[Le("i",{class:"iconfont icon-xuanzhuan_2"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_x"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[8]||(s[8]=ht(()=>{},["prevent"])),onClick:s[9]||(s[9]=e=>b("scaleX"))},{icon:pt(()=>[...s[20]||(s[20]=[Le("i",{class:"iconfont icon-shuipingfanzhuan_flip-horizontally"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_y"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[10]||(s[10]=ht(()=>{},["prevent"])),onClick:s[11]||(s[11]=e=>b("scaleY"))},{icon:pt(()=>[...s[21]||(s[21]=[Le("i",{class:"iconfont icon-chuizhifanzhuan_flip-vertically"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_reset"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[12]||(s[12]=ht(()=>{},["prevent"])),onClick:s[13]||(s[13]=e=>b("reset"))},{icon:pt(()=>[Ae(rt(Ht))]),_:1},8,["disabled"])]),_:1},8,["title"])]),_:1})],2)):Me("",!0)],2)],2)]),_:1},16,["title","ok-text","onRegister"])}}}),Ka=/* @__PURE__ */ie(Ya,[["__scopeId","data-v-da6428d3"]]),Wa={key:1,class:"empty"},Xa={class:"flex flex-col justify-center items-center"},Ja=["title"],Qa={class:"flex-col"},Za={class:"flex-col"},ei={class:"flex-col text-center"},ti=/* @__PURE__ */Be({__name:"CopperModal",props:{circled:{type:Boolean,default:!0},uploadApi:{type:Function},src:{type:String},sourceUrlValue:{type:String}},emits:["uploadSuccess","register"],setup(e,{emit:t}){const s=e,o=t,l=et(s.src||""),a=et(""),i=et();let n=1,r=1,c="";const d=je("cropper-am"),[u,{closeModal:p,setModalProps:m}]=T();function h(e){if(e.size/1024/1024>4)return $t.warn(`【${e.name}】文件大小不能超过 4MB`),!1;if(!["image/jpg","image/jpeg","image/png","image/bmp"].includes(e.type))return $t.warning(`【${e.name}】${_e("sys.component.cropper.acceptAvatarTypeTip")}`),!1;const t=new FileReader;return t.readAsDataURL(e),l.value="",a.value="",t.onload=function(t){var s;l.value=(null===(s=t.target)||void 0===s?void 0:s.result)??"",c=e.name},!1}function v({imgBase64:e}){a.value=e}function f(e){i.value=e}function g(e,t){var s,o;"scaleX"===e&&(n=t=-1===n?1:-1),"scaleY"===e&&(r=t=-1===r?1:-1),null===(s=i.value)||void 0===s||null===(o=s[e])||void 0===o||o.call(s,t)}async function y(){const e=s.uploadApi;if(e&&wt(e)){const t=we(a.value);try{m({confirmLoading:!0});const s=await e({name:"file",file:t,filename:c});o("uploadSuccess",{source:a.value,data:s.data.data}),p()}finally{m({confirmLoading:!1})}}}return(t,s)=>{const o=lt("PlusOutlined"),i=lt("a-button"),n=lt("Avatar");return Je(),Ie(rt(w),Ue(t.$attrs,{title:rt(_e)("sys.component.cropper.modalTitle"),width:"600px","min-height":"570","can-fullscreen":!1,"ok-text":rt(_e)("sys.okText"),onRegister:rt(u),onOk:y}),{default:pt(()=>[Le("div",{class:He(rt(d).b())},[Le("div",{class:He(rt(d).b("left"))},[Le("div",{class:He(rt(d).b("cropper"))},[l.value?(Je(),Ie(Na,{key:0,src:l.value,height:"360px",width:"360px",circled:e.circled,onCropend:v,onReady:f},null,8,["src","circled"])):Me("",!0),e.sourceUrlValue||"/404.png"!==l.value?Me("",!0):(Je(),ze("div",Wa,[Ae(rt(Rt),{"list-type":"picture-card","file-list":[],accept:"image/*","before-upload":h},{default:pt(()=>[Le("div",Xa,[Ae(o),s[14]||(s[14]=Le("div",{class:"mt12px"},"点击或将图片拖拽到这里上传",-1)),s[15]||(s[15]=Le("div",{class:"color-[#8B8B8B] mt8px"}," 仅支持JPG、PNG、JPEG、BMP格式,文件小于4M ",-1))])]),_:1})]))],2),e.sourceUrlValue||"/404.png"!==l.value?(Je(),ze("div",{key:0,class:He(rt(d).b("toolbar"))},[Ae(rt(Rt),{"file-list":[],accept:"image/*","before-upload":h},{default:pt(()=>[Le("a",{title:rt(_e)("sys.reUpload"),placement:"bottom"},at(rt(_e)("sys.reUpload")),9,Ja)]),_:1}),Ae(rt(Mt),null,{default:pt(()=>[Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_in"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[0]||(s[0]=ht(()=>{},["prevent"])),onClick:s[1]||(s[1]=e=>g("zoom",.1))},{icon:pt(()=>[...s[16]||(s[16]=[Le("i",{class:"iconfont icon-fangda_zoom-in"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_out"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[2]||(s[2]=ht(()=>{},["prevent"])),onClick:s[3]||(s[3]=e=>g("zoom",-.1))},{icon:pt(()=>[...s[17]||(s[17]=[Le("i",{class:"iconfont icon-a-suoxiao_zoom-out1"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_left"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[4]||(s[4]=ht(()=>{},["prevent"])),onClick:s[5]||(s[5]=e=>g("rotate",-45))},{icon:pt(()=>[...s[18]||(s[18]=[Le("i",{class:"iconfont icon-xuanzhuan_rotate"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_right"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[6]||(s[6]=ht(()=>{},["prevent"])),onClick:s[7]||(s[7]=e=>g("rotate",45))},{icon:pt(()=>[...s[19]||(s[19]=[Le("i",{class:"iconfont icon-xuanzhuan_2"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_x"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[8]||(s[8]=ht(()=>{},["prevent"])),onClick:s[9]||(s[9]=e=>g("scaleX"))},{icon:pt(()=>[...s[20]||(s[20]=[Le("i",{class:"iconfont icon-shuipingfanzhuan_flip-horizontally"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_y"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[10]||(s[10]=ht(()=>{},["prevent"])),onClick:s[11]||(s[11]=e=>g("scaleY"))},{icon:pt(()=>[...s[21]||(s[21]=[Le("i",{class:"iconfont icon-chuizhifanzhuan_flip-vertically"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_reset"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[12]||(s[12]=ht(()=>{},["prevent"])),onClick:s[13]||(s[13]=e=>g("reset"))},{icon:pt(()=>[Ae(rt(Ht))]),_:1},8,["disabled"])]),_:1},8,["title"])]),_:1})],2)):Me("",!0)],2),Le("div",{class:He([rt(d).b("right"),"text-center"])},[s[22]||(s[22]=$e(" 预览 ",-1)),Le("div",{class:He(rt(d).b("group"))},[Le("div",Qa,[Ae(n,{src:a.value,size:102},null,8,["src"])]),Le("div",Za,[Ae(n,{src:a.value,size:78},null,8,["src"])]),Le("div",ei,[Ae(n,{src:a.value,size:28},null,8,["src"])])],2)],2)],2),s[23]||(s[23]=Le("div",{class:"absolute z-10 top-0 left-2/3 w-0 h-full",style:{"border-left":"1px solid #e0e3ea"}},null,-1))]),_:1},16,["title","ok-text","onRegister"])}}}),si=/* @__PURE__ */ie(ti,[["__scopeId","data-v-f1134678"]]),oi=["src"],li=/* @__PURE__ */Be({__name:"CropperAvatar",props:{width:{type:[String,Number],default:"200px"},value:{type:String},showBtn:{type:Boolean,default:!0},btnProps:{type:Object},btnText:{type:String,default:""},uploadApi:{type:Function}},emits:["update:value","change"],setup(e,{expose:t,emit:s}){const o=e,l=s,a=et("/extras-assets/images/default_avatar.png"),i=et(Se(o.value)||""),n=et(o.value||""),r=je("cropper-avatar"),[c,{openModal:d,closeModal:u}]=P(),p=Te(()=>[r.b()]),m=Te(()=>`${o.width}`.replace(/px/,"")+"px"),h=Te(()=>parseInt(`${o.width}`.replace(/px/,""))/2+"px"),v=Te(()=>({width:rt(m)})),f=Te(()=>({width:rt(m),height:rt(m)}));function g({source:e,data:t}){i.value=Se(t),n.value=t,l("change",{source:e,data:t})}ut(()=>{i.value=Se(o.value)||"",n.value=o.value||""}),dt(()=>n.value,e=>{l("update:value",e)});const y=()=>{d()};return t({openModal:d.bind(null,!0),closeModal:u}),(t,s)=>{const o=lt("a-button");return Je(),ze("div",{class:He(p.value),style:Ye(v.value)},[Le("div",{class:He(rt(r).b("image-wrapper")),style:Ye(f.value),onClick:y},[Le("div",{class:He(rt(r).b("image-mask")),style:Ye(f.value)},[Ae(rt(Nt),{style:Ye({width:h.value,height:h.value}),"two-tone-color":"#d6d6d6"},null,8,["style"])],6),Le("img",{src:e.value?i.value:a.value,alt:"avatar"},null,8,oi)],6),e.showBtn?(Je(),Ie(o,Ue({key:0,class:rt(r).b("upload-btn")},e.btnProps,{onClick:rt(d)}),{default:pt(()=>[$e(at(e.btnText?e.btnText:rt(_e)("sys.component.cropper.selectImage")),1)]),_:1},16,["class","onClick"])):Me("",!0),Ae(si,{"upload-api":e.uploadApi,src:i.value,"source-url-value":n.value,onRegister:rt(c),onUploadSuccess:g},null,8,["upload-api","src","source-url-value","onRegister"])],6)}}}),ai=/* @__PURE__ */ie(li,[["__scopeId","data-v-ef939ff0"]]),ii=/* @__PURE__ */Be({__name:"picture-preview",props:{functional:{type:Boolean},imageList:{type:Array,default:()=>[]}},setup(e){const t=e,s=je("image-preview"),o=Te(()=>t.imageList.map(e=>Ct(e)?{src:e,placeholder:!1}:e));return(t,l)=>{const a=lt("PreviewGroup");return Je(),ze("div",{class:He(rt(s).b())},[Ae(a,null,{default:pt(()=>[!e.imageList||t.$slots.default?ot(t.$slots,"default",{key:0}):(Je(!0),ze(De,{key:1},st(o.value,e=>(Je(),Ie(rt(jt),Ue({key:e.src,ref_for:!0},e),Re({_:2},[e.placeholder?{name:"placeholder",fn:pt(()=>[Ae(rt(jt),Ue({ref_for:!0},e,{src:e.placeholder,preview:!1}),null,16,["src"])]),key:"0"}:void 0]),1040))),128))]),_:3})],2)}}}),ni=ii,ri=/* @__PURE__ */function(e){return e[e.LOADING=0]="LOADING",e[e.DONE=1]="DONE",e[e.FAIL=2]="FAIL",e}(ri||{}),ci={show:{type:Boolean,default:!1},imageList:{type:Array,default:null},index:{type:Number,default:0},scaleStep:{type:Number},defaultWidth:{type:Number},maskClosable:{type:Boolean},rememberState:{type:Boolean}},di="img-preview",ui=/* @__PURE__ */Be({name:"ImagePreview",props:ci,emits:["img-load","img-error"],setup(e,{expose:t,emit:s}){const o=/* @__PURE__ */new Map,l=Ze({currentUrl:"",imgScale:1,imgRotate:0,imgTop:0,imgLeft:0,status:ri.LOADING,currentIndex:0,moveX:0,moveY:0,show:e.show}),a=et(null),i=et(null);function n(){l.imgScale=1,l.imgRotate=0,l.imgTop=0,l.imgLeft=0}const r=Te(()=>{const t=(null==e?void 0:e.scaleStep)??0;return t>0&&t<100?t/100:l.imgScale/10});function c(e){(e=e||window.event).delta=e.wheelDelta||-e.detail,e.preventDefault(),e.delta>0&&d(r.value),e.delta<0&&d(-r.value)}function d(e){l.imgScale<=.2&&e<0||(l.imgScale+=.1*e,l.imgScale<0&&(l.imgScale=.02))}function u(e){l.imgRotate+=e}function p(){const e=rt(i);e&&(e.onmousemove=null)}function m(t){l.status=ri.LOADING;const a=new Image;a.src=t,a.onload=a=>{if(l.currentUrl!==t){const i=a.composedPath();if(e.rememberState){o.set(l.currentUrl,{scale:l.imgScale,top:l.imgTop,left:l.imgLeft,rotate:l.imgRotate});const s=o.get(t);s?(l.imgScale=s.scale,l.imgTop=s.top,l.imgRotate=s.rotate,l.imgLeft=s.left):(n(),e.defaultWidth&&(l.imgScale=e.defaultWidth/i[0].naturalWidth))}else e.defaultWidth&&(l.imgScale=e.defaultWidth/i[0].naturalWidth);i&&s("img-load",{index:l.currentIndex,dom:i[0],url:t})}l.currentUrl=t,l.status=ri.DONE},a.onerror=e=>{const o=e.composedPath();o&&s("img-error",{index:l.currentIndex,dom:o[0],url:t}),l.status=ri.FAIL}}function h(e){e&&e.stopPropagation(),v()}function v(){l.show=!1,document.body.removeEventListener("DOMMouseScroll",c),document.ondragstart=null}function f(){n()}function g(t){const{currentIndex:s}=l,{imageList:o}=e;"left"===t&&(l.currentIndex-=1,s<=0&&(l.currentIndex=o.length-1)),"right"===t&&(l.currentIndex+=1,s>=o.length-1&&(l.currentIndex=0)),m(o[l.currentIndex])}function y(e){e=e||window.event,l.moveX=e.clientX,l.moveY=e.clientY;const t=rt(i);t&&(t.onmousemove=b)}function b(e){(e=e||window.event).preventDefault();const t=e.clientX-l.moveX,s=e.clientY-l.moveY;l.imgLeft+=t,l.imgTop+=s,l.moveX=e.clientX,l.moveY=e.clientY}t({resume:f,close:v,prev:g.bind(null,"left"),next:g.bind(null,"right"),setScale:e=>{e>0&&e<=10&&(l.imgScale=e)},setRotate:e=>{l.imgRotate=e}});const w=Te(()=>{const{imgScale:t,imgRotate:s,imgTop:o,imgLeft:a}=l;return{transform:`scale(${t}) rotate(${s}deg)`,marginTop:`${o}px`,marginLeft:`${a}px`,maxWidth:e.defaultWidth?"unset":"100%"}}),x=Te(()=>{const{imageList:t}=e;return t.length>1});ut(()=>{e.show&&function(){!function(){const e=rt(a);e&&(e.onmousewheel=c,document.body.addEventListener("DOMMouseScroll",c),document.ondragstart=function(){return!1})}();const{index:t,imageList:s}=e;if(!s||!s.length)throw new Error("imageList is undefined");l.currentIndex=t,m(s[t])}(),e.imageList&&n()});const C=t=>{e.maskClosable&&t.target&&t.target.classList.contains(`${di}-content`)&&h(t)},O=()=>{if(!rt(x))return null;const{currentIndex:t}=l,{imageList:s}=e;return Ae("div",{class:`${di}__index`},[t+1,$e(" / "),s.length])},_=e=>rt(x)?Ae("div",{class:[`${di}__arrow`,e],onClick:()=>g(e)},[Ae("left"===e?Vt:Yt,null,null)]):null;return()=>l.show&&Ae("div",{class:di,ref:a,onMouseup:p,onClick:C},[Ae("div",{class:`${di}-content`},[Ae("img",{style:rt(w),class:[`${di}-image`,l.status===ri.DONE?"":"hidden"],ref:i,src:l.currentUrl,onMousedown:y},null),Ae("div",{class:`${di}__close`,onClick:h},[Ae(qt,{class:`${di}__close-icon`},null)]),O(),Ae("div",{class:`${di}__controller`},[Ae("div",{class:`${di}__controller-item`,onClick:()=>d(-r.value)},[Ae("img",{src:"/extras-assets/svg/preview/unscale.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>d(r.value)},[Ae("img",{src:"/extras-assets/svg/preview/scale.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:f},[Ae("img",{src:"/extras-assets/svg/preview/resume.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>u(-90)},[Ae("img",{src:"/extras-assets/svg/preview/unrotate.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>u(90)},[Ae("img",{src:"/extras-assets/svg/preview/p-rotate.svg"},null)])]),_("left"),_("right")])])}}),pi=ui,mi=null;function hi(e){var t;const s={},o=document.createElement("div");return Object.assign(s,{show:!0,index:0,scaleStep:100},e),mi=Ae(pi,s),tt(mi,o),document.body.appendChild(o),null===(t=mi.component)||void 0===t?void 0:t.exposed}var vi=["src"],fi={key:0,class:"iconfont icon-tupian-shili"},gi={class:"prompt"},yi={key:0,class:"auxiliary"},bi="cropper-photo",wi=/* @__PURE__ */Be({__name:"CropperFree",props:{value:{type:String},uploadApi:{type:Function},aspectRatio:{type:Number},auxiliary:{type:String},icon:{type:String},isDrag:{type:Boolean,default:!1},accept:{type:Array},beforeUpload:{type:Function},modalTitle:{type:String},uploadText:{type:String},disabled:{type:Boolean,default:!1}},emits:["update:value","change"],setup(e,{expose:t,emit:s}){const o=e,l=s,a=et(o.value||""),i=Te(()=>a.value?xe(a.value):"");let n={};const[r,{openModal:c,closeModal:d}]=P(),u=Te(()=>o.disabled),p=Te(()=>{var e,t,s;return(null===(e=o.accept)||void 0===e?void 0:e.length)?[...new Set((null===(t=o.accept)||void 0===t?void 0:t.some(e=>"jpg"===e||"jpeg"===e))?null===(s=o.accept)||void 0===s?void 0:s.concat(["jpg","jpeg"]):o.accept)].map(e=>"image/"+e):["image/jpg","image/jpeg","image/png"]});function m({source:e,data:t}){a.value=t,l("change",{source:e,data:t})}function h(){n=hi({imageList:[i.value]})}function v(){a.value=""}ut(()=>{a.value=o.value||""}),dt(()=>a.value,e=>{l("update:value",e)}),Ke(()=>{n&&n.close&&n.close()}),We(()=>{const e=document.getElementById("dropzone");null==e||e.addEventListener("dragover",e=>{e.stopPropagation(),e.preventDefault()}),null==e||e.addEventListener("drop",e=>{var t;e.stopPropagation(),e.preventDefault();const s=null===(t=e.dataTransfer)||void 0===t?void 0:t.files[0];if(s){if(!p.value.includes(s.type))return void $t.warning(_e("sys.component.cropper.acceptTip"));c(!0,{file:s})}})});const f=()=>{c()};return t({openModal:c.bind(null,!0),closeModal:d}),(t,s)=>{var o;const l=lt("Icon");return Je(),ze("div",{id:"dropzone",class:He([bi,u.value&&"not-allow"])},[i.value?(Je(),ze(De,{key:0},[Le("div",{class:He(`${bi}__wrapper`)},[Le("img",{src:i.value},null,8,vi)],2),Le("div",{class:He(`${bi}__mask`)},[Ae(rt(Ut),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:h}),Ae(rt(Nt),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:s[0]||(s[0]=()=>rt(c)())}),Ae(rt(Gt),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:v})],2)],64)):(Je(),ze("div",{key:1,class:He(`${bi}__trigger`),onClick:f},[e.icon?(Je(),ze("i",fi)):(Je(),Ie(l,{key:1,icon:"ant-design:plus-outlined",size:36})),e.isDrag?(Je(),ze(De,{key:2},[Le("p",gi,at(t.$t("sys.pageDesigner.clickOrDragToUpload")),1),e.accept?(Je(),ze("p",yi,at(`支持${null===(o=e.accept)||void 0===o?void 0:o.join("、")}图片格式,大小100KB以内`),1)):Me("",!0)],64)):Me("",!0),e.auxiliary?Me("",!0):(Je(),ze(De,{key:3},[$e(at(rt(_e)("sys.clickToDoSth",{sth:rt(_e)("sys.add")})),1)],64))],2)),Ae(Ka,{"upload-api":e.uploadApi,"aspect-ratio":e.aspectRatio,src:i.value,accept:e.accept,"before-upload":e.beforeUpload,title:e.modalTitle,"upload-text":e.uploadText,onRegister:rt(r),onUploadSuccess:m},null,8,["upload-api","aspect-ratio","src","accept","before-upload","title","upload-text","onRegister"])],2)}}}),xi=/* @__PURE__ */ie(wi,[["__scopeId","data-v-c85d53db"]]),Ci={scrollbars:{autoHide:"leave",autoHideDelay:100,theme:"os-theme-dark"}},Oi=/* @__PURE__ */Be({name:"GctOverlayScrollbars",inheritAttrs:!1,props:{options:{type:[Object,Boolean],default:null},handleColor:{type:String,default:"rgba(144, 147, 153, 0.3)"}},setup(e,{expose:t}){const s=et(),o=Te(()=>{if(!1===e.options)return!1;const t=e.options??{},s=t.scrollbars??{};return{...Ci,...t,scrollbars:{...Ci.scrollbars,...s}}}),l=Te(()=>e.handleColor?{"--gct-h-bg":e.handleColor}:void 0);return t({osInstance:()=>{var e;return(null===(e=s.value)||void 0===e?void 0:e.osInstance())??null},getElement:()=>{var e;return(null===(e=s.value)||void 0===e?void 0:e.getElement())??null}}),{mergedOptions:o,colorStyle:l,setOsRef:e=>{s.value=e}}},render(){return Ae(me,Ue({ref:this.setOsRef,options:this.mergedOptions},this.$attrs,{"data-gct-os":"","data-gct-color":this.handleColor?"":void 0,style:this.colorStyle}),{default:()=>{var e,t;return[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t)]}})}}),_i={mounted(e,t){var s;if(!t.value)return!1;null===(s=t.instance)||void 0===s||s.$nextTick(()=>{const s=t.value,o=e,l=document.createElement("div");o.appendChild(l),l.style.cursor="col-resize",l.style.position="absolute",l.style.height="100%",l.style.width="5px",l.style.right="0px",l.style.top="0px",l.style.background="rgba(255, 0, 0, 0);",l.onmousedown=t=>{const l=o.clientWidth,a=t.clientX;document.onmousemove=function(t){t.preventDefault();let i=l+(t.clientX-a);i=i<s?s:i,o.setAttribute("style",`width:${i}px !important;`);const n=new CustomEvent("drag-resize-width",{detail:{width:i,resizing:!0}});e.dispatchEvent(n)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}}})}},Si={mounted(e,t){e.__ellipsisHandler__=()=>{const s=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight,o=t.value;s?e.setAttribute("title",o):e.removeAttribute("title")},e.addEventListener("mouseenter",e.__ellipsisHandler__)},beforeUnmount(e){e.__ellipsisHandler__&&e.removeEventListener("mouseenter",e.__ellipsisHandler__)}},ki=/* @__PURE__ */ie(/* @__PURE__ */Be({__name:"target-loading",props:{tip:{type:String,default:""},size:{type:String,default:ye.LARGE,validator:e=>[ye.DEFAULT,ye.SMALL,ye.LARGE].includes(e)},absolute:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},background:{type:String},theme:{type:String}},setup:e=>(t,s)=>mt((Je(),ze("section",{class:He(["full-loading",{absolute:e.absolute,[e.theme]:!!e.theme}]),style:Ye([e.background?`background-color: ${e.background}`:""])},[Ae(rt(zt),Ue(t.$attrs,{tip:e.tip,size:e.size,spinning:e.loading}),null,16,["tip","size","spinning"])],6)),[[ct,e.loading]])}),[["__scopeId","data-v-d448466c"]]),Ei={mounted(e,t){const s=e.getAttribute("loading-tip"),o=e.getAttribute("loading-background"),l=e.getAttribute("loading-size"),a=!!t.modifiers.fullscreen;e.instance=function(e,t,s=!1){let o=null;const l=Ze({tip:"",loading:!0,...e});function a(e=document.body){o&&o.el&&e.appendChild(o.el)}return o=Ae(Be({render:()=>qe(ki,{...l})})),s?setTimeout(()=>{tt(o,document.createElement("div"))},0):tt(o,document.createElement("div")),t&&a(t),{vm:o,close:function(){(null==o?void 0:o.el)&&o.el.parentNode&&o.el.parentNode.removeChild(o.el)},open:a,setTip:e=>{l.tip=e},setLoading:e=>{l.loading=e},get loading(){return l.loading},get $el(){return null==o?void 0:o.el}}}({tip:s,background:o,size:l||"large",loading:!!t.value,absolute:!a},a?document.body:e)},updated(e,t){const s=e.instance;var o;s&&(s.setTip(e.getAttribute("loading-tip")),t.oldValue!==t.value&&(null===(o=s.setLoading)||void 0===o||o.call(s,t.value&&!s.loading)))},unmounted(e){var t;null==e||null===(t=e.instance)||void 0===t||t.close()}};async function ji(e){e.use(Ot),function(e){!function(e){e.directive("dragResize",_i)}(e),function(e){e.directive("ellipsis-title",Si)}(e),function(e){e.directive("target-loading",Ei)}(e)}(e),e.use(B),Object.entries(Pt).forEach(([t,s])=>{e.component(t,s)}),e.component(v.name,v),e.component(La.name,La),e.component("OverlayScrollbarsComponent",Oi),await Ft(e),e.use(oa),e.use(Ma),e.use(w)}async function Di(e){console.log("coreWebSetupApp")}_gct.message=new ce,_gct.openUtil=K,_gct.register.editor=new Ls,_gct.register.formItem=new Rs,_gct.register.tableEditor=new ga;var Ti=new URL("./index.min.css",import.meta.url);be.load(Ti.href);export{s as BaseButton,n as BasicButton,w as BasicModal,o as CodeEditor,La as ColorEditor,v as ColorPicker,Ka as CopperFreeModal,si as CopperModal,d as CopyModuleKey,ai as CropperAvatar,xi as CropperFree,Na as CropperImage,p as DoubleInput,fs as EditFormController,ys as EditorController,Ls as EditorRegister,Kt as EditorRegisterConst,Wt as EditorType,Xt as FORM_CONTROLLER_INJECT_TAG,l as FieldCascader,a as FieldUpload,Cs as FormCollapseController,xs as FormCollapsePaneController,Zt as FormCollapsePaneState,es as FormCollapseState,ks as FormEditItemController,os as FormEditItemState,Ss as FormGroupController,ls as FormGroupState,js as FormHiddenItemController,bs as FormItemBasicController,Qt as FormItemBasicState,Es as FormItemController,Rs as FormItemRegister,as as FormItemState,Ds as FormLineController,is as FormLineState,Jt as FormState,Os as FormTabController,_s as FormTabPaneController,ss as FormTabPaneState,ts as FormTabState,i as FullScreen,Ra as GCT_DND_INSERT_POS,Fa as GctDndContainer,Aa as GctDndDropLine,$a as GctDndItem,Ys as GctFormCollapseModel,Ns as GctFormCollapsePaneModel,vs as GctFormController,Js as GctFormGroupModel,yo as GctFormHiddenItemModel,bo as GctFormItemModel,to as GctFormLineModel,ao as GctFormTabModel,uo as GctFormTabPaneModel,fo as GctFormTitleGroupModel,ha as GctTableController,j as I18Modal,x as I18nSelectBtn,b as I18nSelectInput,q as I18nSelectInputForm,k as I18nSelectTextarea,g as I18nSelectTextareaForm,ni as ImagePreview,u as ImageUpload,pe as Lang,ce as MessageUtil,za as MonacoEditor,D as NumberRange,ae as OverlayController,L as PaasBpmnLog,O as PaasBpmnRuntime,de as Prop,A as SerialNumberContainer,G as StageView,ca as TableActionItemController,da as TableEditItemController,ia as TableEditItemState,ga as TableEditorRegister,aa as TableITemState,ra as TableItemController,ma as TableRowController,na as TableRowState,la as TableState,ue as Theme,R as TreeEx,_ as TreeSelectEx,Z as UseDragByLine,m as UserPickType,c as ViewContainer,r as Vue3GridDndItem,E as WUJIE_FORMULA_EVENTS,ji as coreWebCreateAppVue,Di as coreWebSetupApp,hi as createImgPreview,te as filterTreeData,le as findRecursiveChild,h as gctFieldSortPopover,I as gctFieldTreeSelect,zs as gctFormItemEditorProps,ms as getValue,ee as monacoLoader,y as openFormulaEditor,K as overlay,Q as recursiveIterate,H as recursiveTransfer,N as setIdentify,hs as setValue,fa as useAntTableScrollHeight,gs as useEditFormController,M as useEditorConsole,F as useEditorConsoleInner,Ts as useForm,ws as useFormItemController,Is as useGctFormValue,Ms as useGctFormValueByText,z as useI18nSelect,f as useLabelModalPicker,W as useLocale,P as useModal,$ as useModalContext,S as useModalDragMove,T as useModalInner,C as useModalPicker,va as useTableController,ne as useTheme,J as validateFieldDefaultForLength,V as validateFieldDefaultForValue,re as validateLengthRange,ps as widthEditorInstall,se as withInstall};
|
|
1
|
+
import{i as e}from"./chunk-DPOkwzLC.js";import{t}from"./defineProperty-Co6UJKQ3.js";import{$ as s,G as o,H as l,J as a,K as i,Q as n,U as r,W as c,X as d,Y as u,Z as p,_ as m,a as h,at as v,b as f,c as g,ct as y,d as b,et as w,f as x,g as C,h as O,i as _,it as S,l as k,lt as E,m as j,n as D,nt as T,o as I,ot as M,p as z,q as L,r as R,rt as $,s as A,st as F,t as B,tt as P,u as q,x as G,y as N}from"./components-4-8OfvJi.js";import{O as U,_ as V,a as H,b as Y,c as K,d as W,f as X,g as J,i as Q,l as Z,m as ee,n as te,o as se,p as oe,r as le,s as ae,t as ie,u as ne,v as re,y as ce}from"./_plugin-vue_export-helper-59SbqtUR.js";import{n as de,r as ue,t as pe}from"./useMonacoEditor-BO2ALW-7.js";import{t as me}from"./overlayscrollbars-vue-DtKFrHnA.js";import{EditorRegisterConst as he,ExpressionModeEnum as ve,FIELD_TYPE as fe,FormContainerType as ge,SizeEnum as ye,cssLoader as be,dataURLtoBlob as we,fileUrlParser as xe,modelLoader as Ce,presetColor as Oe,t as _e,transformUrl as Se,useCopyToClipboard as ke,useModal as Ee,useNamespace as je}from"@gct-paas/core";import{Fragment as De,computed as Te,createBlock as Ie,createCommentVNode as Me,createElementBlock as ze,createElementVNode as Le,createSlots as Re,createTextVNode as $e,createVNode as Ae,defineAsyncComponent as Fe,defineComponent as Be,getCurrentInstance as Pe,h as qe,inject as Ge,isVNode as Ne,mergeProps as Ue,nextTick as Ve,normalizeClass as He,normalizeStyle as Ye,onBeforeUnmount as Ke,onMounted as We,onUnmounted as Xe,openBlock as Je,provide as Qe,reactive as Ze,ref as et,render as tt,renderList as st,renderSlot as ot,resolveComponent as lt,toDisplayString as at,toRef as it,toRefs as nt,unref as rt,vShow as ct,watch as dt,watchEffect as ut,withCtx as pt,withDirectives as mt,withModifiers as ht}from"vue";import{clone as vt,cloneDeep as ft,defaults as gt,groupBy as yt,isBoolean as bt,isFunction as wt,isNil as xt,isString as Ct}from"lodash-es";import Ot,{Checkbox as _t,CheckboxGroup as St,Collapse as kt,Form as Et,Image as jt,Radio as Dt,RadioButton as Tt,RadioGroup as It,Space as Mt,Spin as zt,Tooltip as Lt,Upload as Rt,message as $t}from"ant-design-vue";import At from"dayjs";import{coreComponentsCreateAppVue as Ft}from"@gct-paas/core-components";import Bt from"vuedraggable";import*as Pt from"@ant-design/icons-vue";import{CloseOutlined as qt,DeleteOutlined as Gt,EditOutlined as Nt,EyeOutlined as Ut,LeftOutlined as Vt,ReloadOutlined as Ht,RightOutlined as Yt}from"@ant-design/icons-vue";var Kt=/* @__PURE__ */function(e){return e.PREFIX="EDITOR___",e}({}),Wt=/* @__PURE__ */function(e){return e.LENGTH_UNIT="length-unit",e.COLOR="color",e.SPAN="span",e.TEXT="text",e.NUMBER="number",e.INFO="info",e.MSG="msg",e.SELECT="select",e.SELECT_GROUP="select-group",e.RADIO="radio",e.PICKER="picker",e.MULTIPLE_CHOICE="multiple-choice",e.I18N="i18n",e.TEXTAREA="textarea",e.DATE_RANGE="date-range",e.SWITCH="switch",e.CHECK_SWITCH="check-switch",e.ICON_SELECT="icon-select",e.CHECKBOX="checkbox",e.DATE="date",e.MODEL_SELECT="model-select",e.ACTION="action",e.TABLE="table",e.SELECT_TABLE="select-table",e.EMPTY="empty",e.FORM_MODEL_FIELD_SELECT="form-model-field-select",e.PIXEL_CONFIG="pixel-config",e.FIELD_INFO="field-info",e.DATE_FORMAT_SELECT="date-format-select",e.FORMULA="formula",e}({}),Xt="formController",Jt=class{constructor(){t(this,"loaded",!1),t(this,"count",0),t(this,"isNew",!0),t(this,"loading",!1),t(this,"destroyed",!1),t(this,"data",{})}},Qt=class{constructor(){t(this,"disabled",!1),t(this,"readonly",!1),t(this,"visible",!0),t(this,"keepalive",!1),t(this,"destroyed",!1)}},Zt=class extends Qt{},es=class extends Qt{},ts=class extends Qt{constructor(...e){super(...e),t(this,"activePane","")}},ss=class extends Qt{},os=class extends Qt{constructor(...e){super(...e),t(this,"label",""),t(this,"value",null),t(this,"options",[])}},ls=class extends Qt{constructor(...e){super(...e),t(this,"expand",!0)}},as=class extends os{},is=class extends Qt{},ns=class{constructor(){this.map=/* @__PURE__ */new Map,this.maxListeners=100}setMaxListeners(e){this.maxListeners=e}getSize(e){return this.map.has(e)?this.map.get(e).length:0}addListener(e,t){if(t instanceof Function){this.map.has(e)||this.map.set(e,[]);const s=this.map.get(e);if(!(s.length<this.maxListeners))throw new Error(`事件监听已达最大上限[${this.maxListeners}],无法新增监听!`);s.push(t)}}removeListener(e,t){if(this.map.has(e)){const s=this.map.get(e);if(s.length>0)for(let e=0;e<s.length;e++)if(s[e]===t){s.splice(e,1);break}}}emit(e,...t){this.map.has(e)&&this.map.get(e).forEach(e=>{e(...t)})}async asyncEmit(e,...t){if(this.map.has(e)){const s=this.map.get(e).map(e=>e(...t));return Promise.all(s)}return[]}reset(){this.map.forEach(e=>{!function(e){if(e instanceof Array)e&&e.length>0&&e.splice(0,e.length);else if(e instanceof Object&&e)for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&delete e[t]}(e)}),this.map.clear()}},rs=class{constructor(e){this.e=new ns,this.e.setMaxListeners(e||300)}getSize(e){return this.e.getSize(e)}on(e,t){this.e.addListener(e,t)}off(e,t){this.e.removeListener(e,t)}emit(e,...t){this.e.emit(e,...t)}asyncEmit(e,...t){return this.e.asyncEmit(e,...t)}reset(){this.e.reset()}},{toString:cs}=Object.prototype;function ds(e){return"[object AsyncFunction]"===cs.call(e)}function us(e){return"[object Promise]"===cs.call(e)}function ps(e,t,s,o){return{install(l){e&&t&&_gct.register.editor.register(Kt.PREFIX+e,t),s&&l.component(o??s.name,s)}}}function ms(e,t){const s=e.split(".");try{return s.reduce((e,t)=>e[t],t)}catch(o){console.warn(o)}}function hs(e,t,s){const o=t.split("."),l=o.length-1;o.reduce((t,s,o)=>(o===l?t[s]=e:t[s]||(t[s]={}),t[s]),s)}var vs=class{constructor(e){t(this,"evt",new rs),t(this,"state",Ze(new Jt)),t(this,"item",{}),t(this,"provider",{}),t(this,"context",{}),t(this,"params",{}),t(this,"fields",[]),t(this,"modelMap",{}),this.model=e,this.init()}init(){this.model.children&&this.initFormItems(this.model.children),this.initEvent(),this.calcState()}initEvent(){}calcState(){}initFormItems(e){e.forEach(e=>{let t=null;if("item"!==e.type&&"hidden"!==e.type||(this.fields.push(e.name),this.modelMap[e.name]=e),"item"===e.type&&(t=_gct.register.formItem.create(`${e.type}___${e.editor.type}___${e.name}`),t||(t=_gct.register.formItem.create(`${e.type}___${e.editor.type}`))),t||(t=_gct.register.formItem.create(e.type)),t){if(this.provider[e.name]=t,"item"===e.type){const s=e;this.item[s.name]=t.createController(this,s)}else if("hidden"===e.type){const s=e;this.item[s.name]=t.createController(this,s)}else if("container"===e.type||e.isContainer||e.container){const s=e;this.item[e.name]=t.createController(this,s),s.children&&this.initFormItems(s.children)}}else console.error(`未找到表单项提供者:${e.type}`,e)})}calcHidden(){Object.keys(this.item).forEach(e=>{const t=this.item[e];if(t.model.hidden){const e=t.model.hidden(this,t,this.state.data);null!=e&&(t.state.visible=!e)}})}getData(){const e={};return this.fields.forEach(t=>{const s=this.item[t];!s||!0!==s.state.visible&&"hidden"!==s.model.type&&-1===t.indexOf(".")||hs(s.value,s.key,e)}),e}resetData(){this.fields.forEach(e=>{const t=this.item[e];t&&t.reset()})}async load(){try{if(!this.model.loadRequest)return{};this.state.loading=!0;const e=await this.model.loadRequest({id:this.context.id});return this.fields.forEach(t=>{const s=this.item[t];s&&(s.value=e[s.key]),s.defaultValue()}),this.state.loaded=!0,e}finally{this.state.loading=!1}}destroy(){this.state.destroyed=!0,this.evt.reset(),this.fields.forEach(e=>{const t=this.item[e];t&&t.destroy()})}validate(){return Promise.resolve(!0)}validateItem(e){return Promise.resolve(!0)}loaded(){this.calcHidden(),this.fields.forEach(e=>{const t=this.item[e];t?t.defaultValue():console.warn(`表单项控制器未找到:${e}`)}),this.calcState()}mounted(){}},fs=class extends vs{initEvent(){super.initEvent(),this.evt.on("change",(e,t,s)=>{if(this.model.watch){const o=this.model.watch[e];o&&o(this,t,s)}const o=this.item[e];o&&o.model.watch&&o.model.watch(this,o,t,s),o&&o.model.change&&o.model.change(this,o,this.state.data),t!=s&&this.calcHidden()})}save(){const e=this.getData();return!0===this.state.isNew&&this.model.newRequest?this.model.newRequest(e):this.model.updateRequest?this.model.updateRequest({id:this.context.id},e):Promise.resolve(e)}};function gs(e){const t=e();return t.state=Ze(t.state),Xe(()=>t.destroy()),t}var ys=class{constructor(e){t(this,"model",void 0),t(this,"options",[]),this.model=e}},bs=class{get key(){return this.model.name}get data(){return this.form.state.data}constructor(e,s){t(this,"state",this.crateItemState()),this.form=e,this.model=s,this.init()}init(){}destroy(){this.state.destroyed=!0}defaultValue(){const e=this.form.state.data;null==ms(this.key,e)&&null!=this.model.defaultValue&&hs(this.model.defaultValue,this.key,e)}crateItemState(){return new Qt}};function ws(e){const t=e();return t.state=Ze(t.state),t}var xs=class extends bs{constructor(...e){super(...e),t(this,"type","collapse-pane")}crateItemState(){return new Zt}},Cs=class extends bs{constructor(...e){super(...e),t(this,"type","collapse")}crateItemState(){return new es}},Os=class extends bs{constructor(...e){super(...e),t(this,"type","tab")}crateItemState(){return new ts}},_s=class extends bs{constructor(...e){super(...e),t(this,"type","tab-pane")}crateItemState(){return new ss}},Ss=class extends bs{constructor(...e){super(...e),t(this,"type","group")}crateItemState(){return new ls}},ks=class extends bs{get key(){return this.model.field??this.model.name}get value(){return ms(this.key,this.form.state.data)}set value(e){const t=this.form.state.data,s=ft(ms(this.key,t));hs(e,this.key,t),this.form.evt.emit("change",this.key,e,s),this.state.value=e}get editorValue(){return this.model.fields?this.model.fields.map(e=>this.form.item[e].value):this.value}set editorValue(e){this.model.fields?this.model.fields.forEach((t,s)=>{this.form.item[t].value=null==e?void 0:e[s]}):this.value=e}init(){if(super.init(),"hidden"!==this.model.type){const{editor:e}=this.model;this.state.readonly=e.readonly,null!=e.disabled&&(this.state.disabled=e.disabled)}if(this.model.dictionary){const{mode:e}=this.model.dictionary;"static"===e&&(this.state.options=this.model.dictionary.items||[])}}blur(){null!=this.state.value&&""!==this.state.value||null==this.model.defaultValue||(this.value=this.model.defaultValue,this.form.evt.emit("blur",this.key,this.value))}reset(){void 0!==this.model.defaultValue?this.value=this.model.defaultValue:this.value=void 0}crateItemState(){return new os}},Es=class extends ks{constructor(...e){super(...e),t(this,"type","item")}async loadDictionary(e,t){if(this.state.options.length>0&&!0!==t)return this.state.options;this.state.options=[],this.state.loading=!0;try{return this.model.dictionary?this.state.options=await _gct.dictionary.asyncGetByConfig(this.model.dictionary,e):this.model.dictionaryTag&&(this.state.options=await _gct.dictionary.asyncGet(this.model.dictionaryTag,e)),this.state.options}finally{this.state.loading=!1}}clearDictionary(){this.state.options=[]}crateItemState(){return new as}},js=class extends bs{constructor(...e){super(...e),t(this,"type","hidden")}},Ds=class extends bs{constructor(...e){super(...e),t(this,"type","line")}crateItemState(){return new is}};function Ts(){return Ge("formController")}function Is(e){let t=null;if(e){const s=Ts().item[e];s&&(t=Te({get:()=>s.value,set(e){"string"==typeof e&&(e=e.trim()),"object"!=typeof e&&s.value==e||(s.value=e)}}))}else{let e=Pe().proxy;const s=e.$props,o=e.$emit;t=Te({get:()=>s.value,set:e=>{"string"==typeof e&&(e=e.trim()),"object"!=typeof e&&s.value==e||o("update:value",e)}}),e=null}return t}function Ms(e,t){let s=Pe().proxy;const o=s.$props,l=s.$emit,a=e?e.length:0,i=t?t.length:0;return s=null,Te({get:()=>{if(!o.value)return"";let s=o.value;return a>0&&s.startsWith(e)&&(s=s.substring(a)),i>0&&s.endsWith(t)&&(s=s.substring(0,s.length-i)),s},set:s=>{if(o.value===s)return;if(""==s)return void l("update:value","");let n=s;a>0&&(n=e+n),i>0&&(n+=t),l("update:value",n)}})}function zs(){return{context:{type:Object,default:()=>({})},value:{type:Object},model:{type:Object,required:!0},c:{type:Object,required:!0},itemModel:{type:Object},data:{type:Object},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},keepalive:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},size:{type:String},count:{type:Number,default:0},isEmptyText:{type:Boolean,default:!1}}}var Ls=class{constructor(){t(this,"editors",/* @__PURE__ */new Map),t(this,"providers",/* @__PURE__ */new Map)}register(e,t){this.editors.set(e,t)}unregister(e){this.editors.delete(e)}get(e){if(this.providers.has(e))return this.providers.get(e);const t=this.editors.get(e);if(t){const s=t();return this.providers.set(e,s),s}return null}},Rs=class{constructor(){t(this,"items",/* @__PURE__ */new Map)}register(e,t){this.items.set(e,t)}unregister(e){this.items.delete(e)}create(e){const t=this.items.get(e);return t?t():null}},$s=/* @__PURE__ */Be({name:"GctFormItem",props:{c:{type:Object,required:!0},formModel:{type:Object,required:!0},model:{type:Object,required:!0},count:{type:Number,default:0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-item"),s={};e.formModel.labelWidth&&(s[t.cssVarName("form-item-label-width")]=e.formModel.labelWidth),e.model.labelWidth&&(s[t.cssVarName("form-item-label-width")]=e.model.labelWidth),e.model.labelAlign&&(s[t.cssVarName("form-item-label-align")]=e.model.labelAlign),e.model.editorAlign&&(s[t.cssVarName("form-item-editor-align")]=e.model.editorAlign),e.model.width&&(s[t.cssVarName("form-item-width")]=e.model.width),e.model.margin&&(s.margin=e.model.margin),e.model.padding&&(s.padding=e.model.padding);const o=Te(()=>{var t;return!!(null===(t=e.model.rules)||void 0===t?void 0:t.find(e=>e.required))});return{ns:t,style:s,required:o,renderLabelTooltip:()=>e.model.labelTooltip?Ae(lt("a-tooltip"),{class:t.e("label-tooltip"),overlayClassName:t.e("label-tooltip-overlay"),overlayStyle:{width:e.model.labelTipWidth},placement:"top",title:e.model.labelTooltip},{default:()=>[Ae("span",{class:"iconfont icon-assist ml5px text-[#bfbfbf]"},null)]}):null}},render(){const e=_gct.register.editor.get(he.PREFIX+this.model.editor.type);if(!e)return console.error(`未找到表单项${this.model.name}的编辑器${this.model.editor.type}的适配器实例:`,this.model),null;const t=this.model.labelPosition||"left";let s=null;e?e.render?s=e.render(this.c.editorValue,this.c.data,this.model):e.component?s=qe("string"==typeof e.component?lt(e.component):e.component,{key:this.model.name,c:this.c,value:this.c.editorValue,itemModel:this.model,model:this.model.editor,data:this.c.data,disabled:this.c.state.disabled,readonly:this.c.state.readonly,keepalive:this.c.state.keepalive,visible:this.c.state.visible,size:this.formModel.size,count:this.count,isEmptyText:this.formModel.isEmptyText,context:this.context,class:[this.ns.e("editor"),this.ns.e(t),this.formModel.size?this.ns.m(this.formModel.size):null,this.model.editor.class],style:this.model.editor.style,"onUpdate:value":e=>{this.c.editorValue=e},onBlur:()=>{this.c.blur()}}):console.error(`未找到编辑器绘制组件:${this.model.name} - ${this.model.editor.type},请实现 component 或 render 方法`):console.error(`未找到编辑器适配器:${this.model.name} - ${this.model.editor.type}`),this.model.label&&"top"===t&&(s=[Ae("div",{class:[this.ns.e("label"),this.ns.em("label",t)]},[this.model.label,this.renderLabelTooltip()]),s]);const o={default:()=>s};var l;return"left"===t&&this.model.label&&(o.label=()=>[Ae("span",null,[this.model.label]),this.renderLabelTooltip()]),!1!==this.c.state.visible?Ae(lt("a-form-item"),{key:this.c.model.name,count:this.count,colon:!0!==this.formModel.noColon&&!0!==this.model.noColon,name:this.model.name.split("."),label:void 0,class:[this.ns.b(),this.ns.is("readonly",!0===this.model.editor.readonly),this.ns.is("required",this.required),this.ns.is("hidden-label",!this.model.label),this.ns.m("label-"+t),this.ns.is("hidden-error",!0===this.model.hiddenError||!0===this.formModel.hiddenError)],style:this.style,rules:!0===this.c.state.visible?this.model.rules:[],layout:"horizontal"},"function"==typeof(l=o)||"[object Object]"===Object.prototype.toString.call(l)&&!Ne(l)?o:{default:()=>[o]}):void 0}}),As=/* @__PURE__ */Be({name:"GctForm",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form");Qe(Xt,e.c);const s=et(),o=e.c;Object.keys(o.item).forEach(e=>{const t=o.item[e];t.state=Ze(t.state)});const l=t=>Ae(lt("gct-form-item"),{class:t.class,style:t.style,count:o.state.count,c:o.item[t.name],formModel:e.model,model:t,context:e.context},null),a=t=>{const s=o.provider[t.name];return s?s?qe("string"==typeof s.component?lt(s.component):s.component,{key:t.name,model:t,count:o.state.count,c:o.item[t.name],data:o.state.data,class:t.class,style:t.style,context:e.context},{default:()=>i(t.children||[])}):void console.error(`未找到表单容器适配器:${t.name} - ${t.type}`):(console.error(`未找到表单项适配器实例:${t.name}`,t),null)},i=e=>{if(!e)return[];const t=[];return e.forEach(e=>{if("hidden"===e.type)return null;let s=null;const o=e;s="container"===o.type||o.isContainer||o.container?a(o):l(e),s&&t.push(s)}),t},n={};return e.model.labelWidth&&(n[t.cssVarName("form-item-label-width")]=e.model.labelWidth),{ns:t,formRef:s,staticStyle:n,renderItem:l,renderContainer:a,renderChildren:i}},render(){let e;return Ae(lt("a-form"),{ref:"formRef",layout:this.model.layout,model:this.c.state.data,count:this.c.state.count,class:[this.ns.b(),this.ns.is("info",!0===this.model.info),this.model.size?this.ns.m(this.model.size):null],autocomplete:"off",style:this.staticStyle},"function"==typeof(t=e=this.model.children.map(e=>this.renderContainer(e)))||"[object Object]"===Object.prototype.toString.call(t)&&!Ne(t)?e:{default:()=>[e]});var t}}),Fs=class{constructor(){t(this,"component","gct-form-item")}createController(e,t){return ws(()=>new Es(e,t))}},Bs=class{constructor(){t(this,"component","gct-form-hidden-item")}createController(e,t){return ws(()=>new js(e,t))}},Ps=class{constructor(){t(this,"component","gct-form-collapse-pane")}createController(e,t){return ws(()=>new xs(e,t))}};function qs(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Gs=/* @__PURE__ */Be({name:"GctFormCollapsePane",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-collapse-pane"),s={};return e.model.width&&(s[t.cssVarName("form-collapse-pane-width")]=e.model.width),e.model.height&&(s[t.cssVarName("form-collapse-pane-height")]=e.model.height),{ns:t,style:s,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},qs(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},qs(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[],o=s[s.length-1];return o&&(o.props=Ue(o.props||{},{class:this.ns.e("last-child")})),Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[this.renderContainer(s)])}}),Ns=class{constructor(e,s,o,l){t(this,"type","collapse-pane"),t(this,"isContainer",!0),t(this,"title",void 0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"collapsible",void 0),this.name=e,this.title=s,o&&Object.assign(this,o),l&&(this.children=l)}},Us={install(e){_gct.register.formItem.register("collapse-pane",()=>new Ps),e.component(Gs.name,Gs)}},Vs=class{constructor(){t(this,"component","gct-form-collapse")}createController(e,t){return ws(()=>new Cs(e,t))}},Hs=/* @__PURE__ */Be({name:"GctFormCollapse",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){var t;const s=je("form-collapse"),o=et([0]),l={};e.model.width&&(l[s.cssVarName("form-collapse-width")]=e.model.width),e.model.height&&(l[s.cssVarName("form-collapse-height")]=e.model.height);const a=et([]);return a.value=(null===(t=e.model.children)||void 0===t?void 0:t.map(e=>e.name))||[],{ns:s,keys:o,style:l,activeKeys:a,expandIconPosition:Te(()=>"left"===e.model.expandIconPosition?"left":"right")}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae(kt,{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.ns.m("icon-"+(this.model.expandIconStyle||"up-down"))],style:this.style,accordion:this.model.accordion,expandIconPosition:this.expandIconPosition,activeKey:this.activeKeys,"onUpdate:activeKey":e=>this.activeKeys=e},{default:()=>{var e;return[null===(e=this.model.children)||void 0===e?void 0:e.map((e,t)=>{if(!1===s[t].props.c.state.visible)return;const o=!1!==e.collapsible?void 0:"disabled";return Ae(kt.Panel,{key:e.name,header:e.title,collapsible:o},{default:()=>[s[t]]})})]}})}}),Ys=class{constructor(e,s,o){t(this,"type","collapse"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"accordion",void 0),t(this,"expandIconPosition",void 0),t(this,"expandIconStyle",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},Ks={install(e){_gct.register.formItem.register("collapse",()=>new Vs),e.component(Hs.name,Hs)}},Ws=class{constructor(){t(this,"component","gct-form-group")}createController(e,t){return ws(()=>new Ss(e,t))}},Xs=/* @__PURE__ */Be({name:"GctFormGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e,{slots:t}){const s=je("form-group"),o=et([0]);function l(){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},{default:()=>{var e;return null===(e=t.default)||void 0===e?void 0:e.call(t)}}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},{default:()=>{var e;return null===(e=t.default)||void 0===e?void 0:e.call(t)}}):void console.error("不支持的layout类型"+e.model.layout)}const a={};return e.model.width&&(a[s.cssVarName("form-group-width")]=e.model.width),e.model.height&&(a[s.cssVarName("form-group-height")]=e.model.height),()=>{if(!0!==e.c.state.keepalive&&!1===e.c.state.visible)return null;if(e.model.isCollapse){let t;return Ae(lt("a-collapse"),{activeKey:o.value,"onUpdate:activeKey":e=>o.value=e,class:[s.b(),s.is("hidden-header",!1===e.model.showHeader),s.is("hidden",!1===e.c.state.visible)],style:a,ghost:!0},{default:()=>{return[Ae(lt("a-collapse-panel"),{key:"0",header:e.model.title},(s=t=l(),"function"==typeof s||"[object Object]"===Object.prototype.toString.call(s)&&!Ne(s)?t:{default:()=>[t]}))];var s}})}return Ae("div",{class:[s.b(),s.is("hidden-header",!1===e.model.showHeader),s.is("hidden",!1===e.c.state.visible),e.model.class],style:a},[!1===e.model.showHeader?Ae("div",{class:s.e("title")},[e.model.title]):null,Ae("div",{class:s.e("content")},[l()])])}}}),Js=class{constructor(e,s,o){t(this,"type","group"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"title",void 0),t(this,"showHeader",void 0),t(this,"isCollapse",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},Qs={install(e){_gct.register.formItem.register("container",()=>new Ws),e.component(Xs.name,Xs)}},Zs=class{constructor(){t(this,"component","gct-form-line")}createController(e,t){return ws(()=>new Ds(e,t))}},eo=/* @__PURE__ */Be({name:"GctFormLine",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup:e=>({ns:je("form-line"),style:Te(()=>{const{paddingTop:t,paddingBottom:s}=e.model;return{paddingTop:t,paddingBottom:s}})}),render(){return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[Ae("div",{class:this.ns.e("line")},null)])}}),to=class{constructor(e,s={}){t(this,"type","line"),t(this,"layout","grid"),t(this,"name",""),t(this,"isContainer",!0),this.name=e,Object.assign(this,s)}},so={install(e){_gct.register.formItem.register("line",()=>new Zs),e.component(eo.name,eo)}},oo=class{constructor(){t(this,"component","gct-form-tab")}createController(e,t){return ws(()=>new Os(e,t))}},lo=/* @__PURE__ */Be({name:"GctFormTab",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-tab"),s=Ts(),o={};return e.model.width&&(o[t.cssVarName("form-tab-width")]=e.model.width),e.model.height&&(o[t.cssVarName("form-tab-height")]=e.model.height),dt(e.c.state,()=>{s.evt.emit("changeState",e.c.model.name,e.c)}),We(()=>{var t;const s=(null===(t=e.model.children)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.name)||"";e.c.state.activePane=s}),{ns:t,style:o}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae(lt("a-tabs"),{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.ns.m(this.model.navPosition||"left")],style:this.style,activeKey:this.c.state.activePane,"onUpdate:activeKey":e=>this.c.state.activePane=e},{default:()=>{var e;return[null===(e=this.model.children)||void 0===e?void 0:e.map((e,t)=>Ae(lt("a-tab-pane"),{key:e.name,tab:e.title},{default:()=>[s[t]]}))]}})}}),ao=class{constructor(e,s,o){t(this,"type","tab"),t(this,"isContainer",!0),t(this,"children",[]),t(this,"layout","grid"),t(this,"navPosition","center"),t(this,"name",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},io={install(e){_gct.register.formItem.register("tab",()=>new oo),e.component(lo.name,lo)}},no=class{constructor(){t(this,"component","gct-form-tab-pane")}createController(e,t){return ws(()=>new _s(e,t))}};function ro(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var co=/* @__PURE__ */Be({name:"GctFormTabPane",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},context:{type:Object,default:()=>({})}},setup(e){const t=je("form-tab-pane"),s={};return e.model.width&&(s[t.cssVarName("form-tab-pane-width")]=e.model.width),e.model.height&&(s[t.cssVarName("form-tab-pane-height")]=e.model.height),{ns:t,style:s,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},ro(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},ro(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible)],style:this.style},[this.renderContainer(s)])}}),uo=class{constructor(e,s,o,l){t(this,"type","tab-pane"),t(this,"isContainer",!0),t(this,"title",void 0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),this.name=e,this.title=s,o&&Object.assign(this,o),l&&(this.children=l)}},po={install(e){_gct.register.formItem.register("tab-pane",()=>new no),e.component(co.name,co)}},mo=class{constructor(){t(this,"component","gct-form-title-group")}createController(e,t){return ws(()=>new Ss(e,t))}};function ho(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var vo=/* @__PURE__ */Be({name:"GctFormTitleGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0}},setup(e){const t=je("form-title-group"),s=et([0]),o={};return e.model.width&&(o[t.cssVarName("form-title-group-width")]=e.model.width),e.model.height&&(o[t.cssVarName("form-title-group-height")]=e.model.height),{ns:t,keys:s,style:o,renderContainer:function(t){return"flex"===e.model.layout?Ae(lt("flex-container"),{layout:e.model.flex},ho(t)?t:{default:()=>[t]}):"grid"===e.model.layout?Ae(lt("grid-container"),{layout:e.model.grid},ho(t)?t:{default:()=>[t]}):void console.error("不支持的layout类型"+e.model.layout)}}},render(){var e,t;if(!0!==this.c.state.keepalive&&!1===this.c.state.visible)return null;const s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return Ae("div",{class:[this.ns.b(),this.ns.is("hidden",!1===this.c.state.visible),this.model.class],style:this.style},[Ae("div",{class:this.ns.e("title")},[this.model.title]),Ae("div",{class:this.ns.e("content")},[this.renderContainer(s)])])}}),fo=class{constructor(e,s,o){t(this,"type","group"),t(this,"isContainer",!0),t(this,"layout","grid"),t(this,"children",[]),t(this,"name",void 0),t(this,"title",void 0),t(this,"showHeader",void 0),t(this,"isCollapse",void 0),this.name=e,s&&Object.assign(this,s),o&&(this.children=o)}},go={install(e){_gct.register.formItem.register(ge.FORM_TITLE_GROUP,()=>new mo),e.component(vo.name,vo)}},yo=class{constructor(e,s){t(this,"type","hidden"),t(this,"name",void 0),t(this,"field",void 0),t(this,"defaultValue",void 0),t(this,"editor",void 0),this.name=e,s&&Object.assign(this,s)}},bo=class{constructor(e,s,o,l){t(this,"type","item"),t(this,"name",void 0),t(this,"editor",void 0),t(this,"label",void 0),t(this,"rules",void 0),this.name=e,s&&(this.label=s),o&&Object.assign(this,o),this.editor=l}},wo={install(e){_gct.register.formItem.register("item",()=>new Fs),_gct.register.formItem.register("hidden",()=>new Bs),e.use(Us),e.use(Ks),e.use(Qs),e.use(so),e.use(io),e.use(po),e.use(go),e.component(As.name,As),e.component($s.name,$s)}},xo=/* @__PURE__ */Be({name:"FlexItem",props:{layout:Object},setup:e=>({ns:je("flex-item"),getStyle:()=>{const t={};if(e.layout){const{order:s,alignSelf:o,flexBasis:l,flexGrow:a,flexShrink:i}=e.layout;null!=s&&(t.order=s),null!=o&&(t["align-self"]=o),null!=l&&(t["flex-basis"]=l),null!=a&&(t["flex-grow"]=a),null!=i&&(t["flex-shrink"]=i)}return t}}),render(){var e,t;return Ae("div",{class:this.ns.b(),style:this.getStyle()},[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t)])}}),Co=/* @__PURE__ */Be({name:"FlexContainer",props:{layout:Object},setup:e=>({ns:je("flex-container"),getStyle:()=>{const t={};if(e.layout){const{alignContent:s,alignItems:o,flexDirection:l,flexWrap:a,justifyContent:i}=e.layout;null!=s&&(t.alignContent=s),null!=o&&(t.alignItems=o),null!=l&&(t.flexDirection=l),null!=a&&(t.flexWrap=a),null!=i&&(t.justifyContent=i)}return t},getItemStyle:e=>{const t={};if(e){const{width:s,height:o}=e;null!=s&&(t.width=s),null!=o&&(t.height=o)}return t}}),render(){var e,t;let s=(null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))||[];return s.length>0&&(s=s[0].children||[]),Ae("div",{class:this.ns.b(),style:this.getStyle()},[s.map(e=>{if(!e)return null;const t=e.props.model.flexItem;return Ae(xo,{layout:t,style:this.getItemStyle(e.props.model)},"function"==typeof(s=e)||"[object Object]"===Object.prototype.toString.call(s)&&!Ne(s)?e:{default:()=>[e]});var s})])}});function Oo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var _o=/* @__PURE__ */Be({name:"GridContainer",props:{layout:Object},setup(e,{slots:t}){const s=je("grid-container");return()=>{var o;let l;const a=e.layout||{};let i=(null===(o=t.default)||void 0===o?void 0:o.call(t))||[];return i.length>0&&(i=i[0].children||[]),Ae(lt("a-row"),{class:s.b(),wrap:!0,gutter:a.gutter},Oo(l=i.map(e=>{if(!e)return null;const t=e.props.model.gridItem;return Ae(lt("a-col"),{span:t?t.span??24:24,offset:t?t.offset??0:0},Oo(e)?e:{default:()=>[e]})}))?l:{default:()=>[l]})}}}),So=/* @__PURE__ */Be({name:"GctFormAction",props:{c:{type:Object,required:!0},data:{type:Object,required:!0},model:{type:Object,required:!0},size:{type:String}},setup(e){const t=je("gct-form-action"),s=Ts();return{ns:t,onClick:function(t){t.stopPropagation(),e.model.click&&e.model.click(t,s,e.c,e.data)}}},render(){return Ae(lt("a-button"),Ue({class:this.ns.b(),onClick:this.onClick,size:this.size,type:"link"},this.model.props||{}),{default:()=>[this.model.label]})}}),ko=class{constructor(){t(this,"component","gct-form-action")}},Eo=ps(Wt.ACTION,()=>new ko,So);function jo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Do=/* @__PURE__ */Be({name:"GctFormDateFormatSelect",props:zs(),setup(e){var t;const s=je("form-date-format-select"),o=Te(()=>{var t;return e.data[(null===(t=e.model)||void 0===t?void 0:t.fieldTypeKey)||"type"]}),l=Te(()=>{var t;return e.data[(null===(t=e.model)||void 0===t?void 0:t.mappingTypeKey)||"mapping_type"]}),a=Is((null===(t=e.model)||void 0===t?void 0:t.separatorKey)||"separator"),i=[{label:"-",value:"-"},{label:"/",value:"/"},{label:"·",value:"."}],n=Is(),r=Te(()=>o.value===fe.DATE_TIME||l.value===fe.DATE_TIME?[{label:`yyyy${a.value}MM${a.value}dd HH`,value:`YYYY${a.value}MM${a.value}DD HH`},{label:`yyyy${a.value}MM${a.value}dd HH:mm`,value:`YYYY${a.value}MM${a.value}DD HH:mm`},{label:`yyyy${a.value}MM${a.value}dd HH:mm:ss`,value:`YYYY${a.value}MM${a.value}DD HH:mm:ss`}]:o.value===fe.DATE||l.value===fe.DATE?[{label:"yyyy",value:"YYYY"},{label:`yyyy${a.value}MM`,value:`YYYY${a.value}MM`},{label:`yyyy${a.value}MM${a.value}dd`,value:`YYYY${a.value}MM${a.value}DD`}]:[]);return dt(a,()=>{o.value!==fe.DATE_TIME&&l.value!==fe.DATE_TIME?o.value!==fe.DATE&&l.value!==fe.DATE?n.value="":n.value=`YYYY${a.value}MM${a.value}DD`:n.value=`YYYY${a.value}MM${a.value}DD HH:mm:ss`}),()=>{var t,o;let l,c;return Ae("div",{class:s.b()},[Ae("span",{class:s.e("first")},[Ae(lt("a-select"),Ue({value:a.value,"onUpdate:value":e=>a.value=e,disabled:e.c.state.disabled,size:e.size,placeholder:e.model.placeholder||_e("sys.chooseText")},(null===(t=e.model)||void 0===t?void 0:t.props)||{}),jo(l=i.map(e=>Ae(lt("a-select-option"),{key:e.value,value:e.value},{default:()=>[e.label]})))?l:{default:()=>[l]})]),Ae("span",{class:s.e("second")},[Ae(lt("a-select"),Ue({value:n.value,"onUpdate:value":e=>n.value=e,disabled:e.c.state.disabled,size:e.size,placeholder:e.model.placeholder||_e("sys.chooseText")},(null===(o=e.model)||void 0===o?void 0:o.props)||{}),jo(c=r.value.map(e=>Ae(lt("a-select-option"),{key:e.value,value:e.value},{default:()=>[e.label]})))?c:{default:()=>[c]})])])}}}),To=class{constructor(){t(this,"component","gct-form-date-format-select")}},Io=ps(Wt.DATE_FORMAT_SELECT,()=>new To,Do),Mo=/* @__PURE__ */Be({name:"GctFormLengthUnit",inheritAttrs:!1,props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String}},emits:["update:value"],setup:()=>({ns:je("form-length-unit"),val:Is()}),render(){return Ae(lt("length-unit-editor"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("readonly",this.model.readonly)]}),null)}}),zo=class{constructor(){t(this,"component","gct-form-length-unit")}},Lo=ps(Wt.LENGTH_UNIT,()=>new zo,Mo),Ro=/* @__PURE__ */Be({name:"GctFormColor",inheritAttrs:!1,props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String}},emits:["update:value"],setup(e){const t=je("form-color"),s=Is();return console.debug("GctFormColor props",e),()=>Ae(lt("color-editor"),Ue({value:s.value,"onUpdate:value":e=>s.value=e},e.model.props||{},{class:[t.b(),t.is("readonly",e.model.readonly)]}),null)}}),$o=class{constructor(){t(this,"component","gct-form-color")}},Ao=ps(Wt.COLOR,()=>new $o,Ro),Fo=class{constructor(){t(this,"component","gct-form-date")}},Bo=/* @__PURE__ */Be({name:"GctFormDate",props:{model:{type:Object,required:!0},value:{type:String,default:""},isDate:{type:Boolean,default:!0},isTime:{type:Boolean,default:!1}},emits:["update:value"],setup(e){const t=je("gct-form-date"),s=new ys(e.model),o=Is(),l=et(o.value?At(o.value):null),a=et(o.value?At(o.value):null);return{ns:t,c:s,dateVal:l,timeVal:a,onChange:()=>{let e="";l.value&&(e=l.value.format("YYYY-MM-DD")),a.value?e+=` ${a.value.format("HH:mm:ss")}`:e+=" 00:00:00",o.value=e}}},render(){return Ae("div",{class:[this.ns.b()]},[this.isDate?Ae(lt("a-date-picker"),Ue({picker:"date",value:this.dateVal,"onUpdate:value":e=>this.dateVal=e,format:"YYYY-MM-DD"},this.model.props||{},{placeholder:"请选择日期",onChange:this.onChange}),null):null,this.isTime?Ae(lt("a-time-picker"),{value:this.timeVal,"onUpdate:value":e=>this.timeVal=e,placeholder:"请选择时间",onChange:this.onChange},null):null])}}),Po=ps(Wt.DATE,()=>new Fo,Bo),qo=/* @__PURE__ */Be({name:"GctFormFormula",props:{c:{type:Object,required:!0},itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""}},setup(e){const t=je("form-formula"),s=Ts(),o=et(),l=Is(),a=Is("expressionEcho"),i=async()=>{const t=await y({expr:l.value.expr,exprEcho:null==a?void 0:a.value,returnType:l.value.mappingType||"string",mode:ve.DATA_SET_FORMULA,identifiers:{},...e.model.config||{}});t&&(l.value={expr:t.expr,mappingType:t.returnType},a&&(a.value=t.exprEcho),s.validateItem(e.itemModel.name))};return()=>Ae("div",{class:t.b(),onClick:i},[Ae(lt("a-input"),{ref:o,class:t.e("input"),readonly:!0,value:(null==a?void 0:a.value)||l.value,placeholder:_e("sys.inputText")},null)])}}),Go=class{constructor(){t(this,"component","gct-form-formula")}},No=ps(Wt.FORMULA,()=>new Go,qo),Uo=class{constructor(){t(this,"component","gct-form-check-switch")}},Vo=/* @__PURE__ */Be({name:"GctFormCheckSwitch",props:{itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:Boolean,default:!1},size:{type:String}},emits:["update:value"],setup:()=>({ns:je("gct-form-check-switch"),val:Is()}),render(){return this.model.isSwitch?Ae("div",{class:[this.ns.b(),this.ns.m("switch"),this.ns.is("readonly",this.model.readonly),this.size?this.ns.m(this.size):null]},[Ae(lt("a-switch"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{}),null)]):Ae(lt("a-checkbox"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{},{class:[this.ns.b(),this.ns.m("checkbox"),this.ns.is("readonly",this.model.readonly),this.size?this.ns.m(this.size):null]}),{default:()=>[this.model.label]})}}),Ho=ps(Wt.CHECK_SWITCH,()=>new Uo,Vo);function Yo(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Ko=/* @__PURE__ */Be({name:"GctFormSelectGroup",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e,{emit:t}){const s=je("form-select-group"),o=Ge("formController"),l=et(""),a=et(null),i=et(!1),n=et(/* @__PURE__ */new Set),r=Te({get:()=>e.model.nameField?o.item[e.model.nameField].value:"",set(t){if(e.model.nameField)return o.item[e.model.nameField].editorValue=t}});function c(e,t){return e.className.indexOf(t)>-1?e:e.parentElement?c(e.parentElement,t):null}function d(e){var t;c(e.target,"ant-select-dropdown")||null===(t=a.value)||void 0===t||t.blur()}window.addEventListener("wheel",d);const u=et(),p=Te({get:()=>!e.c.state.options.find(t=>t.value===e.value)&&r.value?r.value:e.value||void 0,set:e=>{if(!e)return t("update:value",void 0),void(r.value="");"string"==typeof e&&(e=e.trim()),t("update:value",e);let s=null;m.value.find(t=>(t.options&&(s=t.options.find(t=>t.value==e)),!!s)),s&&(r.value=s.label)}}),m=Te(()=>e.c.state.options&&e.c.state.options.length>0?e.c.state.options:[]),h=async()=>e.c.loadDictionary();return null!=p.value&&h(),Xe(()=>{window.removeEventListener("wheel",d)}),{ns:s,selectRef:a,searchValue:l,open:i,rootRef:u,val:p,options:m,loadOptions:h,toggleGroupCollapse:t=>{e.model.groupCollapsible&&(n.value.has(t)?n.value.delete(t):n.value.add(t))},isGroupCollapsed:t=>!0!==e.model.groupCollapsible||!n.value.has(t)}},render(){let e;return Ae("div",{ref:"rootRef",class:this.ns.b()},[Ae(lt("a-select"),{ref:"selectRef",open:this.open,value:this.val,"onUpdate:value":e=>this.val=e,allowClear:!0,disabled:this.c.state.disabled,size:this.size,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,"show-search":!0,"filter-option":()=>!0,searchValue:this.searchValue,onSearch:e=>this.searchValue=null==e?void 0:e.trim(),onFocus:()=>this.open=!0,onBlur:()=>this.open=!1,onChange:()=>this.open=!1},Yo(e=this.options.map(e=>{let t;const s=null!=e.label?e.label:" ",o=String(e.value),l=this.isGroupCollapsed(o),a=(l&&e.options||[]).filter(e=>!this.searchValue||e.label.toLowerCase().indexOf(this.searchValue.toLowerCase())>=0);return 0===a.length?null:Ae(lt("a-select-opt-group"),{key:e.value,label:Ae("div",{class:[this.ns.b("group-header"),this.model.groupCollapsible?this.ns.b("group-header--clickable"):""],onClick:()=>this.toggleGroupCollapse(o)},[this.model.groupCollapsible&&Ae("span",{class:[this.ns.be("group-header","arrow"),l?this.ns.bem("group-header","arrow","collapsed"):""]},[Ae("i",{class:["iconfont",1!=l?"icon-right":"icon-Down"]},null)]),Ae("span",{class:this.ns.be("group-header","title")},[s])])},Yo(t=a.map(e=>Ae(lt("a-select-option"),{class:this.ns.b("item-option"),key:e.value,value:e.value},{default:()=>[e.icon?Ae("span",{class:this.ns.be("item-option","item-icon")},[Ae("i",{class:`iconfont ${e.icon}`},null)]):"",Ae("span",{class:this.ns.be("item-option","item-label")},[e.label])]})))?t:{default:()=>[t]})}))?e:{default:()=>[e]})])}}),Wo=class{constructor(){t(this,"component","gct-form-select-group")}},Xo=ps(Wt.SELECT_GROUP,()=>new Wo,Ko),Jo=class{constructor(){t(this,"component","gct-form-i18n")}},Qo=/* @__PURE__ */Be({name:"GctFormI18n",props:zs(),emits:["update:value","blur"],setup(e,{emit:t}){var s;const o=je("form-i18n"),l=Ts(),a=et({}),i=et(!1),n=l.item[(null===(s=e.model)||void 0===s?void 0:s.cfgKey)||"i18nConfig"];n||console.warn("i18nConfig not found in form item, please ensure that the model has a valid cfgKey or i18nConfig is defined in the form.");const r=Te(()=>{var t,s;return(null===(t=e.data)||void 0===t?void 0:t[(null===(s=e.model)||void 0===s?void 0:s.fieldKey)||"fieldKey"])||null});r.value&&async function(){var t;const s=await Ce.loadField((null===(t=e.data)||void 0===t?void 0:t.modelKey)||e.context.modelKey,r.value);s&&(a.value=s)}();const c=Te({get:()=>e.value?e.value:!0===i.value?"":a.value.name,set:s=>{"string"==typeof s&&(s=s.trim()),i.value=!0,"object"!=typeof s&&e.value==s||(s||(d.value=""),t("update:value",s))}}),d=Te({get:()=>n?{i18nKey:n.value}:"",set:e=>{if(n)try{n.value=JSON.parse(e).i18nKey}catch(t){console.error(t)}}});return{ns:o,val:c,i18nConfigValue:d,onBlur:function(){i.value=!1}}},render(){var e;return Ae(lt("i18n-select-input"),Ue({class:[this.ns.b(),this.ns.m(this.size)],i18nText:this.val,"onUpdate:i18nText":e=>this.val=e,i18nConfig:this.i18nConfigValue,"onUpdate:i18nConfig":e=>this.i18nConfigValue=e,placeholderText:this.model.placeholder||this.$t("sys.inputText"),attr:"i18nKey",btnHeight:"small"===this.size?"26px":void 0,inputExtraProps:{showCount:!0,maxlength:this.model.max||32,disabled:this.c.state.disabled},onBlur:e=>{this.onBlur(),this.$emit("blur",e)},size:this.size},(null===(e=this.model)||void 0===e?void 0:e.props)||{}),null)}}),Zo=ps(Wt.I18N,()=>new Jo,Qo),el=/* @__PURE__ */Be({name:"GctFormIconSelect",props:{value:{type:Object},model:{type:Object,required:!0}},emits:["update:value"],setup(e,{emit:t}){var s,o,l;const a=je("gct-form-icon-select"),i=et(e.value),n=et((null===(s=i.value)||void 0===s?void 0:s.icon)||e.model.defaultIcon),r=et((null===(o=i.value)||void 0===o?void 0:o.color)||e.model.defaultColor),c=et((null===(l=i.value)||void 0===l?void 0:l.background)||e.model.defaultBackground);return dt(()=>e.value,e=>{i.value=e,e&&(n.value=e.icon,r.value=e.color)}),dt([n,r,c],()=>{i.value={icon:n.value,color:r.value},t("update:value",i.value)}),{ns:a,icon:n,color:r,background:c,nextPickerStyle:Te(()=>{if(e.model.size)return{"--box-size":e.model.size+"px"}})}},render(){return Ae("div",{class:this.ns.b()},[Ae(lt("icon-next-picker"),{value:this.icon,"onUpdate:value":e=>this.icon=e,color:this.color,"onUpdate:color":e=>this.color=e,background:"#f5f5f5",disabled:this.model.disabled,showColor:!1!==this.model.showColor,style:this.nextPickerStyle},null),this.model.label?Ae("span",{class:this.ns.e("title")},[this.model.label]):null])}}),tl=class{constructor(){t(this,"component","gct-form-icon-select")}},sl=ps(Wt.ICON_SELECT,()=>new tl,el),ol=class{constructor(){t(this,"component","gct-form-number")}},ll=/* @__PURE__ */Be({name:"GctFormNumber",props:{model:{type:Object,required:!0},value:{type:String,default:""}},emits:["update:value"],setup:()=>({ns:je("gct-form-number"),val:Is()}),render(){return Ae(lt("a-input-number"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.model.class],prefix:this.model.prefix,suffix:this.model.suffix,addonBefore:this.model.addonBefore,addonAfter:this.model.addonAfter,placeholder:this.model.placeholder,max:this.model.max,min:this.model.min,precision:this.model.precision}),null)}}),al=ps(Wt.NUMBER,()=>new ol,ll),il=class{constructor(){t(this,"component","gct-form-picker")}},nl=/* @__PURE__ */Be({name:"GctFormPicker",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:null}},emits:["update:value"],setup(e,{emit:t}){const s=je("gct-form-picker"),o=Ts(),l=Te({get:()=>e.model.nameField?o.item[e.model.nameField].value:"",set(t){if(e.model.nameField)return o.item[e.model.nameField].editorValue=t}}),a=Te({get:()=>!e.c.state.options.find(t=>t.value===e.value)&&l.value?l.value:e.value,set:s=>{if("string"==typeof s&&(s=s.trim()),"object"!=typeof s&&e.value==s)return;const l=e.c.state.options.find(e=>e.value===s);l&&l.data&&e.model.fieldMap&&e.model.fieldMap.map(e=>{const[t,s]=e.split(":");s&&(o.item[s].editorValue=l.data[t])}),t("update:value",s)}});return null!=a.value&&e.c.loadDictionary(),{ns:s,val:a,nameVal:l,loadOptions:()=>e.c.loadDictionary(),onChange:(e,t)=>{l.value=t.label}}},render(){return Ae(lt("a-select"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:this.ns.b(),disabled:this.c.state.disabled,loading:this.c.state.loading,options:this.c.state.options,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,onChange:this.onChange,"show-search":!0,"filter-option":(e,t)=>!!t.label&&t.label.toLowerCase().indexOf(e.toLowerCase())>=0}),null)}}),rl=ps(Wt.PICKER,()=>new il,nl),cl=/* @__PURE__ */Be({name:"GctFormPixelConfig",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},setup(){const e=je("form-pixel-config"),t=Is("label_mode"),s=Is(),o=[{label:"百分比",value:"percent"},{label:"固定",value:"fixed"}],l=Te(()=>"fixed"===t.value?"px":"%");function a(e){t.value=e,s.value="fixed"===e?100:30}return()=>Ae(lt("a-input-group"),{compact:!0,class:e.b()},{default:()=>[Ae(lt("a-select"),{class:e.e("select"),value:t.value,"onUpdate:value":e=>t.value=e,options:o,onChange:a},null),Ae(lt("a-input-number"),{class:e.e("input"),value:s.value,"onUpdate:value":e=>s.value=e,min:0,placeholder:"请输入",size:"small",max:"fixed"===t.value?500:100,addonAfter:l.value},null)]})}}),dl=class{constructor(){t(this,"component","gct-form-pixel-config")}},ul=ps(Wt.PIXEL_CONFIG,()=>new dl,cl),pl=class{constructor(){t(this,"component","gct-form-select")}},ml=/* @__PURE__ */Be({name:"GctFormSelect",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e){const t=je("gct-form-select"),s=et();Y(s,()=>{var e;o.value=!1,null===(e=s.value)||void 0===e||e.blur()});const o=et(!1);function l(e,t){var s;return(null===(s=e.className)||void 0===s?void 0:s.indexOf(t))>-1?e:e.parentElement?l(e.parentElement,t):null}function a(e){var t;l(e.target,"ant-select-dropdown")||null===(t=s.value)||void 0===t||t.blur()}window.addEventListener("wheel",a);const i=et(),n=new ys(e.model),r=Is(),c=Te({get:()=>null!=r.value?r.value:void 0,set(e){r.value=e}}),d=Te(()=>e.c.state.options&&e.c.state.options.length>0?e.c.state.options:n.options);return Xe(()=>{window.removeEventListener("wheel",a)}),{ns:t,selectRef:s,open:o,rootRef:i,editorC:n,val2:c,options:d,onCloseDropdown:function(){o.value=!1,s.value&&s.value.blur()},onOpenDropdown:function(){o.value=!0},onChangeDropdown:function(){o.value=!o.value}}},render(){return Ae("div",{ref:"rootRef",class:this.ns.b()},[this.model.beforeText?Ae("div",{class:this.ns.e("before-text")},[this.model.beforeText]):null,Ae("div",{class:this.ns.e("content")},[Ae(lt("a-select"),Ue({ref:"selectRef",open:this.open,value:this.val2,"onUpdate:value":e=>this.val2=e,options:this.options,allowClear:!0,disabled:this.c.state.disabled,size:this.size,placeholder:this.model.placeholder,onChange:this.onCloseDropdown,onClick:this.onChangeDropdown},this.model.props||{}),null)]),this.model.afterText?Ae("div",{class:this.ns.e("after-text")},[this.model.afterText]):null])}}),hl=ps(Wt.SELECT,()=>new pl,ml),vl=class{constructor(){t(this,"component","gct-form-span")}},fl=/* @__PURE__ */Be({name:"GctFormSpan",props:{c:{type:Object,required:!0},itemModel:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEmptyText:{type:Boolean,default:!1}},setup(e){const t=je("form-span"),{model:s,itemModel:o,c:l}=nt(e);return l.value.loadDictionary(),{ns:t,val:Te(()=>{if(s.value.format&&"function"==typeof s.value.format)return s.value.format(l.value.data,o.value,l.value);if(null==e.value||""===e.value)return e.value;if(o.value.dictionary){const t=(o.value.dictionary.items||[]).find(t=>t.value==e.value);if(t)return t.label}if(l.value.state.options.length>0){const t=l.value.state.options.find(t=>t.value==e.value);if(t)return t.label}return e.value}),handleClipboardKey:function(){const{isSuccessRef:t}=ke(e.value);t.value&&$t.success(_e("sys.copySuccess"))}}},render(){let e=this.val;return this.val||!0!==this.isEmptyText||(e=_gct.store.getEmptyDisplay),Ae("div",{class:this.ns.b()},[Ae("span",{class:this.ns.e("info")},[e]),this.model.copy&&Ae("span",{class:this.ns.e("copy")},[Ae("i",{class:"iconfont icon-fuzhi primary-gct",onClick:this.handleClipboardKey},null)])])}}),gl=ps(Wt.SPAN,()=>new vl,fl),yl=class{constructor(){t(this,"component","gct-form-switch")}},bl=/* @__PURE__ */Be({name:"GctFormSwitch",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},setup:()=>({ns:je("gct-form-switch"),val:Is()}),render(){return Ae("div",{class:this.ns.b()},[Ae(lt("a-switch"),Ue({checked:this.val,"onUpdate:checked":e=>this.val=e,size:this.size},this.model.props||{}),null)])}}),wl=ps(Wt.SWITCH,()=>new yl,bl),xl=class{constructor(){t(this,"component","gct-form-text")}},Cl=/* @__PURE__ */Be({name:"GctFormText",props:{model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e){const t=je("gct-form-text"),s=Ms(e.model.prefix||e.model.addonBefore,e.model.suffix||e.model.addonAfter);function o(){"string"==typeof s.value&&(s.value=s.value.trim())}return()=>Ae(lt("a-input"),Ue({value:s.value,"onUpdate:value":e=>s.value=e,size:e.size},e.model.props||{},{class:t.b(),prefix:e.model.prefix,suffix:e.model.suffix,addonBefore:e.model.addonBefore,addonAfter:e.model.addonAfter,placeholder:e.model.placeholder,"show-count":null!=e.model.max,maxlength:e.model.max,onBlur:o}),null)}}),Ol=ps(Wt.TEXT,()=>new xl,Cl),_l=/* @__PURE__ */Be({name:"GctFormEmpty",setup(){const e=je("gct-form-empty");return()=>Ae("span",{class:e.b()},null)}}),Sl=class{constructor(){t(this,"component","gct-form-empty")}},kl=ps(Wt.EMPTY,()=>new Sl,_l),El=class{constructor(){t(this,"component","gct-form-textarea")}},jl=/* @__PURE__ */Be({name:"GctFormTextarea",props:{model:{type:Object,required:!0},value:{type:String,default:null}},emits:["update:value"],setup(){const e=je("gct-form-textarea"),t=Is();return{ns:e,val:t,handleBlur:()=>{"string"==typeof t.value&&(t.value=t.value.trim())}}},render(){return Ae(lt("a-textarea"),Ue({value:this.val,"onUpdate:value":e=>this.val=e,class:this.ns.b(),"auto-size":this.model.autoSize,"show-count":null!=this.model.max,maxlength:this.model.max,placeholder:this.model.placeholder,onBlur:this.handleBlur},this.model.props||{}),null)}}),Dl=ps(Wt.TEXTAREA,()=>new El,jl);function Tl(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Il=/* @__PURE__ */Be({name:"GctFormRadio",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup:()=>({ns:je("gct-form-radio"),val:Is()}),render(){let e;const t={...this.model.props||{},allowClear:!0,disabled:this.c.state.disabled};if(this.model.buttonMode){let e;return Ae(It,Ue({class:[this.ns.b(),this.ns.m("button")],value:this.val,"onUpdate:value":e=>this.val=e,size:"small","button-style":"solid"},t),Tl(e=this.c.state.options.map(e=>Ae(Tt,{key:e.value,value:e.value},{default:()=>[e.label]})))?e:{default:()=>[e]})}return Ae(It,Ue({class:[this.ns.b(),this.ns.m("radio")],value:this.val,"onUpdate:value":e=>this.val=e,size:this.size},t),Tl(e=this.c.state.options.map(e=>{var t;return Ae(Dt,{class:[this.ns.e("item"),this.ns.em("item","pos-"+((null===(t=this.model.icon)||void 0===t?void 0:t.pos)||"left"))],key:e.value,value:e.value,disabled:e.disabled},{default:()=>{var t,s,o;return[e.icon?Ae("span",{class:this.ns.e("item-icon"),style:{width:null===(t=this.model.icon)||void 0===t?void 0:t.width,height:null===(s=this.model.icon)||void 0===s?void 0:s.height,fontSize:null===(o=this.model.icon)||void 0===o?void 0:o.fontSize}},["string"==typeof e.icon&&e.icon.endsWith(".svg")?Ae(lt("assets-svg-icon"),{src:e.icon},null):e.icon]):null,Ae("span",{class:this.ns.e("item-label")},[e.label])]}})}))?e:{default:()=>[e]})}}),Ml=class{constructor(){t(this,"component","gct-form-radio")}},zl=ps(Wt.RADIO,()=>new Ml,Il),Ll=/* @__PURE__ */Be({name:"GctFormInfo",props:{value:{type:String,default:""},model:{type:Object,required:!0},size:{type:String},isEmptyText:{type:Boolean,default:!1}},emits:["update:value"],setup:()=>({ns:je("gct-form-info"),val:Is()}),render(){let e=this.val||this.model.content;return this.val||!0!==this.isEmptyText||(e=_gct.store.getEmptyDisplay),Ae("div",{class:[this.ns.b(),this.size?this.ns.m(this.size):null]},[this.model.icon?Ae("span",{class:this.ns.e("icon")},[Ae("i",{class:`iconfont ${this.model.icon}`},null)]):null,Ae("span",{class:this.ns.e("content"),title:e},[e])])}}),Rl=class{constructor(){t(this,"component","gct-form-info")}},$l=ps(Wt.INFO,()=>new Rl,Ll),Al=Bt,Fl=/* @__PURE__ */Be({name:"GctFormCheckbox",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},size:{type:String}},emits:["update:value"],setup(e,{emit:t}){const s=je("gct-form-checkbox"),o=Is(),l=Te(()=>e.model.isDrag?(o.value||[]).filter(e=>e.checked).map(e=>e.value):o.value),a=Te(()=>{var t;return e.model.isDrag&&o.value&&(null===(t=o.value)||void 0===t?void 0:t.length)?o.value.map(t=>{var s;return{...t,label:(null===(s=e.c.state.options.find(e=>e.value===t.value))||void 0===s?void 0:s.label)||""}}):e.c.state.options});return{ns:s,checked:l,onChange:s=>{a.value.forEach(t=>{e.model.minLength&&s.length<=e.model.minLength&&s.includes(t.value)?t.disabled=!0:t.disabled=!1,t.checked=s.includes(t.value)}),e.model.isDrag?t("update:value",a.value):t("update:value",s)},onDragEnd:e=>{const{newIndex:s,oldIndex:o}=e;a.value.splice(s,0,a.value.splice(o,1)[0]),t("update:value",a.value)},slots:{item:({element:e})=>Ae("div",{class:"drag-checkbox-item ks-row-middle"},[Ae("i",{class:"icon-drag iconfont mr4px cursor-move text-[#C3C3C3] primary-gct-hover"},null),Ae(_t,{value:e.value,disabled:e.disabled},{default:()=>[e.label]})])},options:a}},render(){const e={...this.model.props||{},class:[this.ns.b(),this.ns.m("checkbox"),"column"===this.model.layout&&"isColumn",this.size?this.ns.m(this.size):null],disabled:this.c.state.disabled};return[mt(Ae(St,Ue({value:this.checked,"onUpdate:value":e=>this.checked=e},e,{onChange:this.onChange}),{default:()=>[Ae(Al,{modelValue:this.options,"onUpdate:modelValue":e=>this.options=e,handle:".cursor-move",animation:"200","chosen-class":"drawing-chosen","drag-class":"drawing-drag","item-key":"value",class:"drag-wrap",onEnd:this.onDragEnd},this.slots)]}),[[ct,this.model.isDrag]]),mt(Ae(St,Ue({value:this.checked,"onUpdate:value":e=>this.checked=e,options:this.options},e,{onChange:this.onChange}),null),[[ct,!this.model.isDrag]])]}}),Bl=class{constructor(){t(this,"component","gct-form-checkbox")}},Pl=ps(Wt.CHECKBOX,()=>new Bl,Fl);function ql(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Gl=[{value:"entity",label:"sys.pageDesigner.entity"},{value:"data",label:"sys.pageDesigner.data"},{value:"view",label:"sys.pageDesigner.view"},{value:"form",label:"sys.pageDesigner.form",project:["eDHR","MEDPRO"]},{value:"system",label:"sys.pageDesigner.system"}],Nl=/* @__PURE__ */Be({name:"GctFormModelSelect",props:{model:{type:Object,required:!0},value:{type:String}},setup(e){const t=je("form-model-select"),s=Is(),o=Is("category"),l=Is("categorySelect"),a=Is("modelName"),i=Is("formId"),n=et([]),r=et({}),c=async()=>{return"system"===l.value?(n.value=await _api.apaas.report.getListSystemModels()||[],{[_e("sys.pageDesigner.system")]:n.value}):(n.value=await _api.apaas.modelComprehensive.getModelSummary({type:(null===(t=e.model.props)||void 0===t?void 0:t.modelTypes)||"NDO,BASE,TREE,TRANSACTION,SIGN",category:o.value,report:!0})||[],yt(n.value,"group"));var t},{onFieldChange:d}=Et.useInjectFormItemContext();We(async()=>{s.value=s.value?s.value:void 0,o.value=o.value||"entity",l.value=l.value||o.value,r.value=await c()});const u=async e=>{o.value=e,s.value=null,i.value=void 0,r.value=await c()},p=e=>{const t=n.value.find(t=>t.key===e);t&&(a.value=t.name),"system"===l.value&&(o.value=t.modelCategory),d(),"system"!==l.value&&(r.value=yt(n.value,"group"))};return()=>{let o,a;return Ae("div",{class:t.b()},[Ae(lt("a-input-group"),{compact:!0},{default:()=>[Ae(lt("a-select"),{value:l.value,"onUpdate:value":e=>l.value=e,class:t.e("class"),placeholder:"请选择",onSelect:u,disabled:e.model.disabled},ql(o=Gl.filter(t=>{var s;return(null===(s=e.model.props)||void 0===s?void 0:s.exclude)?!e.model.props.exclude.includes(t.value)&&(!t.project||t.project&&_gct.store.appInfo.suiteKey&&t.project.includes(_gct.store.appInfo.suiteKey)):!t.project||_gct.store.appInfo.suiteKey&&t.project.includes(_gct.store.appInfo.suiteKey)}).map(e=>{let t;return Ae(lt("a-select-option"),{key:e.value,value:e.value},ql(t=_e(e.label))?t:{default:()=>[t]})}))?o:{default:()=>[o]}),Ae(lt("a-select"),{value:s.value,"onUpdate:value":e=>s.value=e,class:t.e("model"),onSelect:p,"show-search":!0,placeholder:"请选择",disabled:e.model.disabled,filterOption:(e,t)=>(t.label||t.name).toLowerCase().indexOf(e.toLowerCase())>=0},ql(a=Object.keys(r.value).map(e=>{const t=r.value[e].map(e=>Ae(lt("a-select-option"),{key:e.key,value:e.key,label:e.name},{default:()=>[e.name]}));return Ae(lt("a-select-opt-group"),{key:e,label:e},ql(t)?t:{default:()=>[t]})}))?a:{default:()=>[a]})]})])}}}),Ul=class{constructor(){t(this,"component","gct-form-model-select")}},Vl=ps(Wt.MODEL_SELECT,()=>new Ul,Nl),Hl=/* @__PURE__ */Be({name:"GctFormMultipleChoice",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:Array,default:null}},emits:["update:value"],setup(e,{emit:t}){const s=je("form-multiple-choice"),o=et(),l=Te({get:()=>e.value??[],set:e=>{t("update:value",e)}});return null!=l.value&&e.c.loadDictionary(),{ns:s,rootRef:o,val:l,loadOptions:()=>e.c.loadDictionary({},e.model.force)}},render(){return Ae("div",{ref:"rootRef",class:this.ns.b()},[Ae(lt("a-select"),Ue({value:this.val,"onUpdate:value":e=>this.val=e,mode:"multiple","max-tag-count":5,disabled:this.c.state.disabled,loading:this.c.state.loading,options:this.c.state.options,placeholder:this.model.placeholder,onDropdownVisibleChange:this.loadOptions,getPopupContainer:()=>this.rootRef},this.model.props||{}),null)])}}),Yl=class{constructor(){t(this,"component","GctFormMultipleChoice")}},Kl=ps(Wt.MULTIPLE_CHOICE,()=>new Yl,Hl),Wl=/* @__PURE__ */Be({name:"GctFormTable",props:{model:{type:Object,required:!0},value:{type:Array,default:()=>[]}},setup(e){const t=je("form-table"),s=Is();return()=>Ae("div",{class:t.b()},[Ae(lt("gct-table"),Ue({data:s.value,model:e.model.tableModel,count:s.value.length.toString()},e.model.props||{}),null)])}}),Xl=class{constructor(){t(this,"component","gct-form-table")}},Jl=ps(Wt.TABLE,()=>new Xl,Wl),Ql=/* @__PURE__ */Be({name:"GctSelectFormTable",props:{model:{type:Object,required:!0},value:{type:Array,default:()=>[]}},setup(e){const t=je("select-form-table"),s=et(),o=et(""),l=Is(),a=Te(()=>({type:e.model.multiple?"checkbox":"radio",fixed:!0,selectedRowKeys:e.model.isKeys?l.value:l.value.map(t=>t[e.model.tableModel.key||"id"]),onChange:(t,s)=>{e.model.isKeys?l.value=t:l.value=s},getCheckboxProps:e=>({disabled:"Disabled User"===e.name,name:e.name})}));function i(){o.value?(o.value=o.value.trim(),o.value&&s.value&&s.value.reload({query:o.value})):s.value&&s.value.reload()}return()=>Ae("div",{class:t.b()},[Ae("div",{class:t.e("search")},[Ae(lt("a-input-search"),{placeholder:"搜索数据集名称",value:o.value,"onUpdate:value":e=>o.value=e,onSearch:i},null)]),Ae("div",{class:t.e("table")},[Ae(lt("gct-table"),Ue({ref:s,"row-selection":a.value,data:l.value,model:e.model.tableModel,count:l.value.length.toString()},e.model.props||{}),null)])])}}),Zl=class{constructor(){t(this,"component","gct-select-form-table")}},ea=ps(Wt.SELECT_TABLE,()=>new Zl,Ql),ta={install(e){e.use(Lo).use(Ao).use(Io).use(Po).use(No).use(Ho).use(Zo).use(Xo).use(sl).use(al).use(rl).use(ul).use(hl).use(gl).use(wl).use(Ol).use(Dl).use(zl).use($l).use(Pl).use(Po).use(Vl).use(Kl).use(Jl).use(ea).use(Eo).use(kl)}},sa=/* @__PURE__ */Be({name:"GctEditForm",props:{embed:{type:Boolean,default:!1},context:{type:Object,default:()=>({})},params:{type:Object,default:()=>({})},controller:{type:Object},model:{type:Object,required:!0},data:{type:Object},count:{type:Number,default:0},adaptModal:{type:Boolean,default:!0}},emits:["update:data","change"],setup(e,{emit:t,expose:s}){const o=je("gct-edit-form");console.debug("GctEditForm props:",e);const l=e.controller||gs(()=>new fs(e.model)),a=et(),i=async e=>{try{await a.value.formRef.validateFields([e])}catch(t){return console.error(t),!1}return!0};l.validate=async()=>{try{await a.value.formRef.validate()}catch(e){return console.error(e),!1}return!0},l.validateItem=i;const{context:n,params:r}=nt(e);return dt(n,()=>{Object.assign(l.context,e.context),l.state.isNew=!l.context.id},{immediate:!0,deep:!0}),dt(r,()=>{Object.assign(l.params,e.params)},{deep:!0}),dt(()=>e.count,()=>{l.state.count+=1}),dt(()=>e.data,()=>{Object.assign(l.state.data,e.data)},{deep:!0}),!1!==e.adaptModal&&Ee(async()=>{try{await a.value.formRef.validate();const e=await l.save();if(e)return{ok:!0,data:[ft(e)]}}catch(e){console.error(e)}return{ok:!1}}),e.data?(Object.assign(l.state.data,e.data),l.loaded()):!0!==l.state.isNew?l.load().then(()=>{l.loaded()}):l.loaded(),e.embed&&l.evt.on("change",()=>{const e=l.getData();t("update:data",e),t("change",e)}),l.evt.on("blur",e=>{i(e)}),s({c:l}),()=>{let t=null;return(l.state.isNew||0==l.state.isNew&&l.state.loaded)&&(t=Ae(lt("gct-form"),{class:"h-full",ref:a,c:l,model:e.model,context:e.context},null)),Ae("div",{class:o.b()},[t])}}}),oa={install(e){e.use(ta),e.component(Co.name,Co),e.component(xo.name,xo),e.component(_o.name,_o),e.component(sa.name,sa),e.use(wo)}},la=class{constructor(){t(this,"formData",{}),t(this,"items",[]),t(this,"page",1),t(this,"total",0),t(this,"size",20)}},aa=class{constructor(){t(this,"keepalive",!0),t(this,"visible",!0)}},ia=class extends aa{constructor(...e){super(...e),t(this,"error",!1),t(this,"errMessage",""),t(this,"readonly",!1),t(this,"disabled",!1)}},na=class{constructor(){t(this,"hover",!1),t(this,"active",!1),t(this,"deleted",!1)}},ra=class{get value(){return this.row.data[this.model.dataIndex]}set value(e){const t=this.row.data[this.model.dataIndex];this.row.data[this.model.dataIndex]=e,this.row.change(this.model.name,e,t)}constructor(e,s){t(this,"state",this.createState()),this.row=e,this.model=s}createState(){return new aa}async init(){}async destroy(){}},ca=class extends ra{},da=class extends ra{createState(){return new ia}active(){return this.row.active()}unActive(){return this.row.unActive()}},ua=class{constructor(){t(this,"promise",null),t(this,"resolve",null),t(this,"count",0)}get isLock(){return this.count>0}startPromise(){this.promise=new Promise(e=>{this.resolve=e})}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)return this.count=0,void console.warn("lock和unlock次数不匹配!");this.count-=1,0===this.count&&this.endPromise()}async await(){if(this.promise)return this.promise}};function pa(e,t,s){return{install(o){e&&t&&_gct.register.tableEditor.register(he.PREFIX+e,t),s&&o.component(s.name||s.__name,s)}}}var ma=class{get key(){return this.data[this.model.key]}constructor(e,s,o){t(this,"item",{}),t(this,"fields",[]),t(this,"state",this.createState()),t(this,"activeCount",new ua),this.table=e,this.model=s,this.data=o}async init(){const e=this.model.columns.map(e=>{let t=null;switch(e.type){case"edit":t=new da(this,e);break;case"actions":t=new ca(this,e);break;default:t=new ra(this,e)}return this.fields.push(e.name),t.state=Ze(t.state),this.item[e.name]=t,t});await Promise.all(e)}change(e,t,s){this.table.change(this,e,t,s)}async destroy(){const e=Object.keys(this.item).map(e=>this.item[e].destroy());this.item={},await Promise.all(e)}active(){this.activeCount.isLock?this.activeCount.lock():(this.activeCount.lock(),this.state.active=!0,this.activeCount.await().then(()=>{this.state.active=!1}))}unActive(){this.activeCount.unlock()}createState(){return new na}},ha=class{constructor(e){t(this,"evt",new rs),t(this,"state",this.createState()),t(this,"row",{}),t(this,"editorProviders",{}),this.model=e,this.init()}init(){this.initTableItems(this.model.columns)}initTableItems(e){e&&e.forEach(e=>{if("edit"===e.type){const t=_gct.register.tableEditor.get(he.PREFIX+e.editor.type);t&&(this.editorProviders[e.name]=t)}})}async setData(e){await this.destroyControllers(),await this.initControllers(e),this.state.items=e||[]}getData(){return this.state.items}createState(){return new la}async initControllers(e){const t=e.map(e=>{const t=e[this.model.key];if(this.row[t])return;const s=new ma(this,this.model,e);return s.state=Ze(s.state),s.data=Ze(s.data),this.row[t]=s,Object.keys(e).forEach(s=>{this.state.formData[`${s}___${t}`]=e[s]}),s.init()});await Promise.all(t)}async destroyControllers(){const e=this.state.items.map(e=>e[this.model.key]),t=Object.keys(this.row).filter(t=>!e.includes(t)).map(e=>{const t=this.row[e];delete this.row[e];{const e=Object.keys(t.data),s=t.data[this.model.key];e.forEach(e=>{const t=`${e}___${s}`;delete this.state.formData[t]})}return t.destroy()});await Promise.all(t)}async load(e={}){if(gt(e,{page:this.state.page,size:this.state.size}),this.model.fetch){const t=await this.model.fetch(e,this);this.state.items=t,this.destroyControllers(),this.initControllers(this.state.items)}}async reload(e){await this.load(e)}async search(e){await this.reload(e)}async refresh(e){await this.load(e)}destroy(){this.evt.reset()}change(e,t,s,o){const l=this.state.items.find(t=>t[this.model.key]===e.key);l&&(Object.assign(l,e.data),this.state.formData[`${t}___${l[this.model.key]}`]=s,this.evt.emit("change",l,t,s,o))}updatePagination(e){xt(e.total)||(this.state.total=e.total),xt(e.size)||(this.state.size=e.size),xt(e.page)||(this.state.page=e.page)}};function va(e){const t=e();return t.state=Ze(t.state),Xe(()=>t.destroy()),t}function fa(e,{pagination:t=!0,triggerByWindowSize:s=!0}={}){const o=et(0);let l=[],a=null,i=null;const n=()=>{var s,i;if(!e)return;a&&(clearTimeout(a),a=null);const r=rt(e).$el??rt(e),c=r.getBoundingClientRect().height??0,d=Math.max((null===(s=r.querySelector(".ant-table-thead"))||void 0===s?void 0:s.getBoundingClientRect().height)??0,48),u=t?Math.max((null===(i=r.querySelector(".ant-table-pagination"))||void 0===i?void 0:i.getBoundingClientRect().height)??0,24)+16:0;o.value=c-d-u,l.push(o.value),l.length>=3&&l[l.length-3]===l[l.length-1]&&l[l.length-2]===l[l.length-1]?l=[]:a=setTimeout(()=>{n()},100)};return s&&window.addEventListener("resize",n),dt(e,async t=>{await Ve(),t&&(n(),(()=>{i&&(i.disconnect(),i=null);const t=rt(e).$el??rt(e);t&&"undefined"!=typeof ResizeObserver&&(i=new ResizeObserver(()=>{a&&clearTimeout(a),a=setTimeout(()=>{n()},100)}),i.observe(t))})())},{immediate:!0}),Xe(()=>{window.removeEventListener("resize",n),i&&(i.disconnect(),i=null),a&&(clearTimeout(a),a=null)}),{scrollHeight:o,calcScrollHeight:n}}var ga=class{constructor(){t(this,"editors",/* @__PURE__ */new Map),t(this,"providers",/* @__PURE__ */new Map)}register(e,t){this.editors.set(e,t)}unregister(e){this.editors.delete(e)}get(e){if(this.providers.has(e))return this.providers.get(e);const t=this.editors.get(e);if(t){const s=t();return this.providers.set(e,s),s}return null}},ya=class{constructor(){t(this,"component","gct-table-span")}},ba=/* @__PURE__ */Be({name:"GctTableSpan",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""}},setup:()=>({ns:je("table-span")}),render(){return Ae("div",{class:this.ns.b()},[this.model.icon?Ae("span",{class:this.ns.e("icon")},[Ae("i",{class:`iconfont ${"string"==typeof this.model.icon?this.model.icon:this.model.icon(this.c.row.data)}`},null)]):null,Ae("span",{class:this.ns.e("text")},[this.value])])}}),wa=pa(Wt.SPAN,()=>new ya,ba),xa=class{constructor(){t(this,"component","gct-table-text")}},Ca=/* @__PURE__ */Be({name:"GctTableText",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEdit:{type:Boolean,default:!1}},emits:["update:value"],setup(e){const t=je("table-text"),s=Ms(e.model.prefix||e.model.addonBefore,e.model.suffix||e.model.addonAfter);return{ns:t,val:s,handleBlur:()=>{"string"==typeof s.value&&(s.value=s.value.trim())}}},render(){return!1===this.isEdit?Ae("div",{class:[this.ns.b(),this.ns.e("info")]},[this.c.value]):Ae(lt("a-input"),Ue({value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("error",this.c.state.error)],prefix:this.model.prefix,suffix:this.model.suffix,addonBefore:this.model.addonBefore,addonAfter:this.model.addonAfter,placeholder:this.model.placeholder,"show-count":null!=this.model.max,maxlength:this.model.max,autocomplete:"off",onBlur:this.handleBlur}),null)}}),Oa=pa(Wt.TEXT,()=>new xa,Ca),_a=class{constructor(){t(this,"component","gct-table-date")}},Sa=/* @__PURE__ */Be({name:"GctTableDate",props:{c:{type:Object,required:!0},model:{type:Object,required:!0},value:{type:String,default:""},isEdit:{type:Boolean,default:!1}},emits:["update:value"],setup:()=>({ns:je("table-date"),val:Is()}),render(){return!1===this.isEdit?Ae("div",{class:[this.ns.b(),this.ns.e("info")]},[this.c.value]):Ae(lt("a-date-picker"),Ue({picker:"date",value:this.val,"onUpdate:value":e=>this.val=e},this.model.props||{},{class:[this.ns.b(),this.ns.is("error",this.c.state.error)],placeholder:this.model.placeholder}),null)}}),ka=pa(Wt.DATE,()=>new _a,Sa),Ea={install(e){e.use(wa).use(Oa).use(ka)}};function ja(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!Ne(e)}var Da=/* @__PURE__ */Be({name:"GctTable",props:{count:{type:Number,default:0},model:{type:Object,required:!0},data:{type:Array,default:()=>[]}},emits:["rowChange"],setup(e,{emit:t}){const s=je("gct-table"),o=et({}),l=et(),a=et(),i=et();let n=null,r=null;const c=va(()=>new ha(e.model));c.evt.on("change",async(e,s,o,l)=>{t("rowChange",ft(e),s,o,l)}),!0===c.model.local&&dt(()=>e.count,()=>{c.setData(ft(e.data))}),!0!==c.model.local&&!1!==c.model.autoLoad&&c.load();const d=e=>{if(!e||e===l.value)return null;return e.getAttribute("data-row-key")||d(e.parentElement)},u=e=>{const t=d(e.target);if(t){const e=c.row[t];n&&(n.state.hover=!1),e.state.hover=!0,n=e}},p=e=>{!d(e.target)&&n&&(n.state.hover=!1,n=null)},m=e=>{const t=d(e.target);if(t){const e=c.row[t];r&&r.unActive(),e.active(),r=e}else r&&(r.unActive(),r=null)},h=()=>{r&&(r.unActive(),r=null)};We(()=>{l.value&&(l.value.addEventListener("mouseover",u,{capture:!0}),l.value.addEventListener("mouseout",u,{capture:!0}),l.value.addEventListener("mouseleave",p,{capture:!0}),l.value.addEventListener("click",m,{capture:!0})),window.addEventListener("click",h,{capture:!0})}),Xe(()=>{l.value&&(l.value.removeEventListener("mouseover",u,{capture:!0}),l.value.removeEventListener("mouseout",u,{capture:!0}),l.value.removeEventListener("mouseleave",p,{capture:!0}),l.value.removeEventListener("click",m,{capture:!0})),window.removeEventListener("click",h,{capture:!0})});const v=Te(()=>{var t;if(xt(e.model.pagination))return!1;const s=vt(e.model.pagination);gt(s,{pageSizeOptions:[10,20,30,40,50],showSizeChanger:!0,showTotal:!0});const o=!0===s.showTotal?e=>_e("sys.component.table.total",{total:e}):s.showTotal||void 0,l=null===(t=s.pageSizeOptions)||void 0===t?void 0:t.map(e=>`${e}`);return{class:"pagination-total-left",total:c.state.total,current:c.state.page,pageSize:c.state.size,pageSizeOptions:l,showSizeChanger:s.showSizeChanger,showTotal:o}}),{scrollHeight:f}=fa(l,{pagination:!!v.value});return{ns:s,c:c,loadingState:o,elRef:l,formRef:a,tableRef:i,scrollHeight:f,pagination:v,isEdit:Te(()=>c.model.columns.some(e=>"edit"===e.type)),handleTableChange:(e,t,s)=>{c.updatePagination({page:e.current,size:e.pageSize}),c.reload()},mouseOver:u,mouseOut:e=>{!d(e.target)&&n&&(n.state.hover=!1,n=null)},onValidate:(e,t,s)=>{const o=e.split("___");if(2===o.length){const[e,l]=o,a=c.row[l];if(a){const o=a.item[e];o&&(o.state.error=!t,s&&s.length>0?o.state.errMessage=s[0]:o.state.errMessage="")}}},validate:()=>a.value.validate(),reload:e=>c.load(e)}},render(){return Ae("div",{ref:"elRef",class:this.ns.b(),onMouseover:this.mouseOver,onMouseout:this.mouseOut},[Ae(lt("a-form"),{ref:"formRef",model:this.c.state.formData,onValidate:this.onValidate},{default:()=>[Ae(lt("a-table"),Ue({ref:"tableRef",class:["flex-1",this.ns.is("pagination",!!this.pagination),this.ns.is("not-edit",!this.isEdit)],scroll:{y:this.scrollHeight},columns:this.model.columns,"data-source":this.c.state.items,"row-key":e=>e[this.c.model.key],pagination:this.pagination,onChange:this.handleTableChange},this.$attrs),{headerCell:({title:e,column:t})=>{const s=t;if("edit"===s.type&&s.rules&&s.rules.length>0){const t=s.rules.some(e=>!0===e.required);return Ae("span",{title:e,class:[this.ns.e("table-header"),this.ns.is("required",t)]},[Ae("span",{class:this.ns.e("table-item")},[e])])}return e},bodyCell:({column:e,text:t,record:s})=>{t=null==t&&1==this.model.isEmptyText?_gct.store.getEmptyDisplay:bt(t)?t.toString():t;const o=e;if(o.customRender)return o.customRender({record:s});if("edit"===e.type){const t=s[this.c.model.key],o=this.c.row[t];if(o){let s;const l=this.c.editorProviders[e.name],a=lt(l.component),i=o.item[e.name],n=!0===o.state.hover||!0===i.state.error||!0===o.state.active||"all"===this.c.model.rowEditMode;return Ae(lt("a-form-item"),{name:`${e.name}___${t}`,class:[this.ns.b("table-item"),this.ns.bm("table-item","edit")],rules:i.model.rules||[]},ja(s=qe(a,{key:i.model.name,c:i,model:i.model.editor,readonly:i.state.readonly,disabled:i.state.disabled,value:i.value,itemModel:i.model,data:o.data,keepalive:i.state.keepalive,visible:i.state.visible,isEdit:n,"onUpdate:value":e=>{i.value=e}}))?s:{default:()=>[s]})}}if("actions"===e.type){const t=e;return Ae("div",{class:this.ns.b("table-actions")},[t.actions.filter(e=>!e.hidden||!e.hidden(s)).map(e=>{if("divider"===e.mode)return Ae(lt("a-divider"),{type:"vertical"},null);const o=`${e.type}___${e.tag}___${s[this.c.model.key]}`,l=Ae(lt("a-button"),Ue({class:this.ns.b("table-action-item"),type:e.type,size:"small",loading:!0===this.loadingState[o],onClick:async l=>{if(!e.confirm)if(l.stopPropagation(),e.action)if(us(e.action)||ds(e.action)){this.loadingState[o]=!0;try{await e.action(s)}catch(a){console.log(a)}finally{this.loadingState[o]=!1}}else e.action(s);else t.action(e.tag,s)}},e.props),{default:()=>[e.text]});return e.confirm?Ae(lt("a-popconfirm"),Ue({onConfirm:async()=>{if(e.action)if(us(e.action)||ds(e.action)){this.loadingState[o]=!0;try{await e.action(s)}catch(l){console.log(l)}finally{this.loadingState[o]=!1}}else e.action(s);else t.action(e.tag,s)}},e.confirm),ja(l)?l:{default:()=>[l]}):l})])}return"link"===e.type?Ae("a",{class:this.ns.e("table-link"),onClick:e=>{e.stopPropagation(),o.click&&o.click(s)}},[t]):t}})]})])}}),Ta={install(e){e.component(Da.name,Da)}},Ia={install(e){e.use(Ta)}},Ma={install(e){e.use(Ea),e.use(Ia)}},za=Fe(()=>import("./monaco-editor-CgESUPw_.js")),La=/* @__PURE__ */ie(/* @__PURE__ */Be({name:"ColorEditor",__name:"color-editor",props:{value:{}},emits:["update:value"],setup(e,{emit:t}){const s=t,o=(e,t)=>{s("update:value",t)};return(t,s)=>{const l=lt("color-picker");return Je(),Ie(l,{preset:rt(Oe),color:e.value,"onUpdate:color":o},{icon:pt(()=>[Le("div",{class:"color-picker-icon",style:Ye({backgroundColor:e.value})},null,4)]),_:1},8,["preset","color"])}}}),[["__scopeId","data-v-7b102f87"]]),Ra={FIRST:"first",BEFORE:"before",AFTER:"after",LAST:"last"},$a=/* @__PURE__ */Be({name:"GctDndItem",props:{config:{type:Object,required:!0},index:{type:Number,required:!0},data:{type:Object,required:!0},last:{type:Boolean,default:!1}},emits:["drop"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-item"),l=et(null),a=et(!1),i=Ge("vue3-dnd-drop-line-state"),n=et(-1),[r,c,d]=oe({type:s.group,item:()=>({index:e.index,id:e.data.id,data:e.data,group:s.group,mode:s.mode??"move",tagMap:s.tagMap??{},types:[]}),collect:e=>({canDrag:e.canDrag(),isDragging:e.isDragging()}),canDrag:()=>!1!==s.isDrag&&(!s.canDrag||s.canDrag(e.data)),end:async(e,t)=>{const o=t.getDropResult();if(o&&o.asyncDrop){const t=await o.asyncDrop();!0===t.success&&t.data&&(s.end&&s.end(e,t),s.add&&s.add(t.data),console.debug("drop success"))}}});if(!0!==e.config.isDrop){const[e,t]=X({accept:s.group,canDrop:()=>!1});t(l)}else{const[t,o]=X({accept:s.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:(t,s)=>!0!==r.value.isDragging&&t.id!==e.data.id&&s.isOver({shallow:!0}),hover(t,o){if(!1!==o.canDrop())if(o.isOver({shallow:!0})){const t=l.value.getBoundingClientRect(),n=o.getClientOffset(),r=s.offset??0;let c=0;if("vertical"===s.direction){const{top:e,height:s}=t,{y:o}=n;if(c=o-e-s/2,Math.abs(c)<r)return;a.value=c<0}else if("horizontal"===s.direction){const{left:e,width:s}=t,{x:o}=n;if(c=o-e-s/2,Math.abs(c)<r)return;a.value=c<0}i.activeKey=e.data.id,i.isBeforeHover=a.value}else i.activeKey=""},drop:(o,l)=>{if(i.activeKey="",!0===t.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let t=o.data;return s.drop&&(t=await s.drop(o),!t)?{group:s.group,cfg:ft(e.config),success:!1}:(u(a.value?Ra.BEFORE:Ra.AFTER,t),{group:s.group,success:!0,cfg:ft(e.config),data:t})}}}});o(l)}function u(e,s){t("drop",e,s)}return s.handle||!1===s.isDrag||c(l),d(l),{ns:o,rootRef:l,posState:n,collect:r,onDrop:u,drag:c}},render(){var e,t;const s={index:this.index,data:this.data,drag:this.drag};return Ae("div",{ref:"rootRef",class:[this.ns.b(),this.ns.is("dragging",this.collect.isDragging),this.ns.is("not-drag",!1===this.collect.canDrag)]},[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t,s)])}}),Aa=/* @__PURE__ */Be({name:"GctDndDropLine",props:{config:{type:Object,required:!0},active:{type:Boolean,default:!1}},emits:["drop"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-drop-line"),l=et(null),[a,i]=X({accept:e.config.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:e=>!1!==s.isDrop&&(!s.canDrop||s.canDrop(e)),drop:(o,l)=>{if(!0===a.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let l=o.data;return s.drop&&(l=await s.drop(o),!l)?{group:s.group,cfg:ft(e.config),success:!1}:(t("drop",l),{group:s.group,success:!0,cfg:ft(e.config),data:l})}}}});return!1!==s.isDrop&&i(l),{ns:o,rootRef:l,collect:a}},render(){return Ae("div",{ref:"rootRef",class:[this.collect.handlerId,this.ns.b(),this.ns.is("over",this.collect.isOver&&this.collect.canDrop),this.ns.is("shallow-over",this.collect.isShallowOver&&this.collect.canDrop),this.ns.is("not-drop",!1===this.collect.canDrop&&this.collect.isShallowOver),this.ns.is("active",this.active)]},[Ae("div",{class:this.ns.e("line")},null)])}}),Fa=/* @__PURE__ */Be({name:"GctDndContainer",props:{config:{type:Object,default:()=>({group:"GctDnd",insertPos:Ra.LAST})},items:{type:Array,default:()=>[]}},emits:["update:items"],setup(e,{emit:t}){const{config:s}=e,o=je("dnd-container"),l=et(null),a=Ze({activeKey:"",isBeforeHover:!1});Qe("vue3-dnd-drop-line-state",a);const i=it(e.items),[n,r]=X({accept:s.group,collect:e=>({handlerId:e.getHandlerId(),isOver:e.isOver(),canDrop:e.canDrop(),isShallowOver:e.isOver({shallow:!0})}),canDrop:e=>!1!==s.isDrop&&(!s.canDrop||s.canDrop(e)),drop:(o,l)=>{if(!0===n.value.isShallowOver&&!1!==l.canDrop())return{asyncDrop:async()=>{let l=o.data;return s.drop&&(l=await s.drop(o),!l)?{group:s.group,success:!1,cfg:ft(e.config)}:(-1===i.value.findIndex(e=>e.id===o.data.id)&&c(e.config.insertPos,l),t("update:items",i.value),{group:s.group,success:!0,cfg:ft(e.config),data:l})}}}});function c(e,s,o=-1){if(s){if(e===Ra.FIRST)i.value.unshift(s);else if(e===Ra.LAST)i.value.push(s);else{if(-1===o)return void console.error("insertIndex is required");const t=i.value.findIndex(e=>e.id===s.id);if(t===o)return;-1!==t&&o<t&&i.value.splice(t,1),e===Ra.AFTER?i.value.splice(o+1,0,s):i.value.splice(o,0,s),-1!==t&&o>t&&i.value.splice(t,1)}t("update:items",i.value)}else console.error("data is required")}return!1!==s.isDrop&&r(l),dt(n,()=>{!0!==n.value.isOver&&(a.activeKey="")}),{ns:o,rootRef:l,dropLineState:a,collect:n,onDrop:c}},render(){var e,t,s,o;const l=this.items[this.items.length-1];return Ae("div",{ref:"rootRef",class:[this.collect.handlerId,this.ns.b(),this.ns.is("over",this.collect.isOver&&this.collect.canDrop),this.ns.is("not-drop",!1===this.collect.canDrop&&this.collect.isOver),this.ns.is("shallow-over",this.collect.isShallowOver&&this.collect.canDrop)]},[null===(e=(t=this.$slots).before)||void 0===e?void 0:e.call(t),this.items.map((e,t)=>{const s=this.items[t-1],o=[];return!1!==this.config.isDrop&&o.push(Ae(Aa,{key:e.id+"___line",config:this.config,active:!0===this.dropLineState.isBeforeHover&&this.dropLineState.activeKey===e.id||s&&this.dropLineState.activeKey===s.id&&!1===this.dropLineState.isBeforeHover,onDrop:e=>this.onDrop(Ra.BEFORE,e,t)},null)),o.push(Ae($a,{key:e.id,config:this.config,index:t,data:e,last:t===this.items.length-1,onDrop:(e,s)=>this.onDrop(e,s,t)},{default:this.$slots.default})),o}),l?Ae(Aa,{key:l.id+"___last-line",config:this.config,active:this.dropLineState.activeKey===l.id&&!1===this.dropLineState.isBeforeHover,onDrop:e=>this.onDrop(Ra.AFTER,e,this.items.length-1)},null):null,null===(s=(o=this.$slots).after)||void 0===s?void 0:s.call(o)])}}),Ba={aspectRatio:1,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,cropBoxMovable:!0,cropBoxResizable:!0,toggleDragModeOnDblclick:!0,autoCrop:!0,background:!0,highlight:!0,center:!0,responsive:!0,restore:!0,checkCrossOrigin:!0,checkOrientation:!0,scalable:!0,modal:!0,guides:!0,movable:!0,rotatable:!0},Pa={src:{type:String,required:!0},alt:{type:String},circled:{type:Boolean,default:!1},realTimePreview:{type:Boolean,default:!0},height:{type:[String,Number],default:"360px"},width:{type:[String,Number],default:"360px"},crossorigin:{type:String,default:void 0},imageStyle:{type:Object,default:()=>({})},options:{type:Object,default:()=>({})}},qa=Be({name:"CropperImage",props:Pa,emits:["cropend","ready","cropendError"],setup(t,{attrs:s,emit:o}){const l=et(),a=et(),i=et(!1),n=je("cropper-image"),r=U(p,80),c=Te(()=>({height:t.height,width:t.width,maxWidth:"100%",...t.imageStyle})),d=Te(()=>[n.b(),s.class,{[n.m("circled")]:t.circled}]),u=Te(()=>({height:`${t.height}`.replace(/px/,"")+"px",width:`${t.width}`.replace(/px/,"")+"px"}));function p(){t.realTimePreview&&m()}function m(){if(!a.value)return;let e=a.value.getData();(t.circled?function(){const e=a.value.getCroppedCanvas(),t=document.createElement("canvas"),s=t.getContext("2d"),o=e.width,l=e.height;return t.width=o,t.height=l,s.imageSmoothingEnabled=!0,s.drawImage(e,0,0,o,l),s.globalCompositeOperation="destination-in",s.beginPath(),s.arc(o/2,l/2,Math.min(o,l)/2,0,2*Math.PI,!0),s.fill(),t}():a.value.getCroppedCanvas()).toBlob(t=>{if(!t)return;let s=new FileReader;s.readAsDataURL(t),s.onloadend=t=>{var s;o("cropend",{imgBase64:(null===(s=t.target)||void 0===s?void 0:s.result)??"",imgInfo:e})},s.onerror=()=>{o("cropendError")}},"image/png")}return We(async function(){const s=rt(l);if(!s)return;const[{default:n}]=await Promise.all([import("./cropper-tw7tUDDe.js").then(t=>/* @__PURE__ */e(t.default,1)),Promise.resolve({ })]);a.value=new n(s,{...Ba,ready:()=>{i.value=!0,p(),o("ready",a.value)},crop(){r()},zoom(){r()},cropmove(){r()},...t.options})}),Xe(()=>{var e;null===(e=a.value)||void 0===e||e.destroy()}),{getClass:d,imgElRef:l,getWrapperStyle:u,getImageStyle:c,isReady:i,croppered:m}}}),Ga=["src","alt","crossorigin"],Na=/* @__PURE__ */ie(qa,[["render",function(e,t,s,o,l,a){return Je(),ze("div",{class:He(e.getClass),style:Ye(e.getWrapperStyle)},[mt(Le("img",{ref:"imgElRef",src:e.src,alt:e.alt,crossorigin:e.crossorigin,style:Ye(e.getImageStyle)},null,12,Ga),[[ct,e.isReady]])],6)}]]),Ua={key:1,class:"empty"},Va={class:"flex flex-col justify-center items-center"},Ha=["title"],Ya=/* @__PURE__ */Be({__name:"CopperFreeModal",props:{title:{type:String,default:"图片上传"},circled:{type:Boolean,default:!0},uploadApi:{type:Function},src:{type:String},aspectRatio:{type:Number},accept:{type:Array,default:["jpg","jpeg","png","bmp"]},beforeUpload:{type:Function},uploadText:{type:String}},emits:["uploadSuccess","register"],setup(e,{emit:t}){const s=e,o=t,l=et(s.src||""),a=et(s.src||""),i=et(""),n=et();let r=1,c=1,d="";const u=Te(()=>s.accept.map(e=>`image/${e}`).join(",")),p=je("cropper-free"),[m,{closeModal:h,setModalProps:v}]=T(e=>{(null==e?void 0:e.file)&&f(e.file)});async function f(e){if(s.beforeUpload&&await s.beforeUpload(e),e.size/1024/1024>4)return $t.warn(`【${e.name}】文件大小不能超过 4MB`),!1;if(!u.value.includes(e.type))return $t.warning(`【${e.name}】${_e("sys.component.cropper.acceptAvatarTypeTip")}`),!1;const t=new FileReader;return t.readAsDataURL(e),l.value="",i.value="",t.onload=function(t){var s;l.value=(null===(s=t.target)||void 0===s?void 0:s.result)??"",d=e.name},!1}function g({imgBase64:e}){i.value=e}function y(e){n.value=e}function b(e,t){var s,o;"scaleX"===e&&(r=t=-1===r?1:-1),"scaleY"===e&&(c=t=-1===c?1:-1),null===(s=n.value)||void 0===s||null===(o=s[e])||void 0===o||o.call(s,t)}async function x(){const e=s.uploadApi;if(e&&wt(e)){const t=we(i.value);try{v({confirmLoading:!0});const s=await e({name:"file",file:t,filename:d});o("uploadSuccess",{source:i.value,data:s.data}),h()}finally{v({confirmLoading:!1})}}}function C(){l.value="",setTimeout(()=>{l.value=a.value||""})}return dt(()=>s.src,e=>{l.value=e||"",a.value=e||""}),(t,s)=>{const o=lt("PlusOutlined"),a=lt("a-button");return Je(),Ie(rt(w),Ue(t.$attrs,{title:e.title,width:"640px","min-height":"510","can-fullscreen":!1,"ok-text":rt(_e)("sys.okText"),onRegister:rt(m),onOk:x,onCancel:C}),{default:pt(()=>[Le("div",{class:He(rt(p).b())},[Le("div",{class:He(rt(p).b("left"))},[Le("div",{class:He(rt(p).b("cropper"))},[l.value?(Je(),Ie(Na,{key:0,src:l.value,height:"304px",width:"538px",options:{aspectRatio:e.aspectRatio??200/120},onCropend:g,onReady:y},null,8,["src","options"])):(Je(),ze("div",Ua,[Ae(rt(Rt),{"list-type":"picture-card","file-list":[],accept:"image/*","before-upload":f},{default:pt(()=>[Le("div",Va,[Ae(o),s[14]||(s[14]=Le("div",{class:"mt12px"},"点击或将图片拖拽到这里上传",-1)),s[15]||(s[15]=Le("div",{class:"color-[#8B8B8B] mt8px"}," 仅支持JPG、PNG、JPEG、BMP格式,文件小于4M ",-1))])]),_:1})]))],2),l.value?(Je(),ze("div",{key:0,class:He(rt(p).b("toolbar"))},[Ae(rt(Rt),{"file-list":[],accept:u.value,"before-upload":f},{default:pt(()=>[e.uploadText?(Je(),Ie(a,{key:0,type:"link",size:"small",style:{padding:"0"}},{default:pt(()=>[$e(at(e.uploadText),1)]),_:1})):(Je(),ze("a",{key:1,title:rt(_e)("sys.reUpload"),placement:"bottom"},at(rt(_e)("sys.reUpload")),9,Ha))]),_:1},8,["accept"]),Ae(rt(Mt),null,{default:pt(()=>[Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_in"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[0]||(s[0]=ht(()=>{},["prevent"])),onClick:s[1]||(s[1]=e=>b("zoom",.1))},{icon:pt(()=>[...s[16]||(s[16]=[Le("i",{class:"iconfont icon-fangda_zoom-in"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_out"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[2]||(s[2]=ht(()=>{},["prevent"])),onClick:s[3]||(s[3]=e=>b("zoom",-.1))},{icon:pt(()=>[...s[17]||(s[17]=[Le("i",{class:"iconfont icon-a-suoxiao_zoom-out1"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_left"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[4]||(s[4]=ht(()=>{},["prevent"])),onClick:s[5]||(s[5]=e=>b("rotate",-45))},{icon:pt(()=>[...s[18]||(s[18]=[Le("i",{class:"iconfont icon-xuanzhuan_rotate"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_right"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[6]||(s[6]=ht(()=>{},["prevent"])),onClick:s[7]||(s[7]=e=>b("rotate",45))},{icon:pt(()=>[...s[19]||(s[19]=[Le("i",{class:"iconfont icon-xuanzhuan_2"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_x"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[8]||(s[8]=ht(()=>{},["prevent"])),onClick:s[9]||(s[9]=e=>b("scaleX"))},{icon:pt(()=>[...s[20]||(s[20]=[Le("i",{class:"iconfont icon-shuipingfanzhuan_flip-horizontally"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_y"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[10]||(s[10]=ht(()=>{},["prevent"])),onClick:s[11]||(s[11]=e=>b("scaleY"))},{icon:pt(()=>[...s[21]||(s[21]=[Le("i",{class:"iconfont icon-chuizhifanzhuan_flip-vertically"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_reset"),placement:"bottom"},{default:pt(()=>[Ae(a,{size:"small",disabled:!l.value,onMousedown:s[12]||(s[12]=ht(()=>{},["prevent"])),onClick:s[13]||(s[13]=e=>b("reset"))},{icon:pt(()=>[Ae(rt(Ht))]),_:1},8,["disabled"])]),_:1},8,["title"])]),_:1})],2)):Me("",!0)],2)],2)]),_:1},16,["title","ok-text","onRegister"])}}}),Ka=/* @__PURE__ */ie(Ya,[["__scopeId","data-v-da6428d3"]]),Wa={key:1,class:"empty"},Xa={class:"flex flex-col justify-center items-center"},Ja=["title"],Qa={class:"flex-col"},Za={class:"flex-col"},ei={class:"flex-col text-center"},ti=/* @__PURE__ */Be({__name:"CopperModal",props:{circled:{type:Boolean,default:!0},uploadApi:{type:Function},src:{type:String},sourceUrlValue:{type:String}},emits:["uploadSuccess","register"],setup(e,{emit:t}){const s=e,o=t,l=et(s.src||""),a=et(""),i=et();let n=1,r=1,c="";const d=je("cropper-am"),[u,{closeModal:p,setModalProps:m}]=T();function h(e){if(e.size/1024/1024>4)return $t.warn(`【${e.name}】文件大小不能超过 4MB`),!1;if(!["image/jpg","image/jpeg","image/png","image/bmp"].includes(e.type))return $t.warning(`【${e.name}】${_e("sys.component.cropper.acceptAvatarTypeTip")}`),!1;const t=new FileReader;return t.readAsDataURL(e),l.value="",a.value="",t.onload=function(t){var s;l.value=(null===(s=t.target)||void 0===s?void 0:s.result)??"",c=e.name},!1}function v({imgBase64:e}){a.value=e}function f(e){i.value=e}function g(e,t){var s,o;"scaleX"===e&&(n=t=-1===n?1:-1),"scaleY"===e&&(r=t=-1===r?1:-1),null===(s=i.value)||void 0===s||null===(o=s[e])||void 0===o||o.call(s,t)}async function y(){const e=s.uploadApi;if(e&&wt(e)){const t=we(a.value);try{m({confirmLoading:!0});const s=await e({name:"file",file:t,filename:c});o("uploadSuccess",{source:a.value,data:s.data.data}),p()}finally{m({confirmLoading:!1})}}}return(t,s)=>{const o=lt("PlusOutlined"),i=lt("a-button"),n=lt("Avatar");return Je(),Ie(rt(w),Ue(t.$attrs,{title:rt(_e)("sys.component.cropper.modalTitle"),width:"600px","min-height":"570","can-fullscreen":!1,"ok-text":rt(_e)("sys.okText"),onRegister:rt(u),onOk:y}),{default:pt(()=>[Le("div",{class:He(rt(d).b())},[Le("div",{class:He(rt(d).b("left"))},[Le("div",{class:He(rt(d).b("cropper"))},[l.value?(Je(),Ie(Na,{key:0,src:l.value,height:"360px",width:"360px",circled:e.circled,onCropend:v,onReady:f},null,8,["src","circled"])):Me("",!0),e.sourceUrlValue||"/404.png"!==l.value?Me("",!0):(Je(),ze("div",Wa,[Ae(rt(Rt),{"list-type":"picture-card","file-list":[],accept:"image/*","before-upload":h},{default:pt(()=>[Le("div",Xa,[Ae(o),s[14]||(s[14]=Le("div",{class:"mt12px"},"点击或将图片拖拽到这里上传",-1)),s[15]||(s[15]=Le("div",{class:"color-[#8B8B8B] mt8px"}," 仅支持JPG、PNG、JPEG、BMP格式,文件小于4M ",-1))])]),_:1})]))],2),e.sourceUrlValue||"/404.png"!==l.value?(Je(),ze("div",{key:0,class:He(rt(d).b("toolbar"))},[Ae(rt(Rt),{"file-list":[],accept:"image/*","before-upload":h},{default:pt(()=>[Le("a",{title:rt(_e)("sys.reUpload"),placement:"bottom"},at(rt(_e)("sys.reUpload")),9,Ja)]),_:1}),Ae(rt(Mt),null,{default:pt(()=>[Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_in"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[0]||(s[0]=ht(()=>{},["prevent"])),onClick:s[1]||(s[1]=e=>g("zoom",.1))},{icon:pt(()=>[...s[16]||(s[16]=[Le("i",{class:"iconfont icon-fangda_zoom-in"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_zoom_out"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[2]||(s[2]=ht(()=>{},["prevent"])),onClick:s[3]||(s[3]=e=>g("zoom",-.1))},{icon:pt(()=>[...s[17]||(s[17]=[Le("i",{class:"iconfont icon-a-suoxiao_zoom-out1"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_left"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[4]||(s[4]=ht(()=>{},["prevent"])),onClick:s[5]||(s[5]=e=>g("rotate",-45))},{icon:pt(()=>[...s[18]||(s[18]=[Le("i",{class:"iconfont icon-xuanzhuan_rotate"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_rotate_right"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[6]||(s[6]=ht(()=>{},["prevent"])),onClick:s[7]||(s[7]=e=>g("rotate",45))},{icon:pt(()=>[...s[19]||(s[19]=[Le("i",{class:"iconfont icon-xuanzhuan_2"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_x"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[8]||(s[8]=ht(()=>{},["prevent"])),onClick:s[9]||(s[9]=e=>g("scaleX"))},{icon:pt(()=>[...s[20]||(s[20]=[Le("i",{class:"iconfont icon-shuipingfanzhuan_flip-horizontally"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_scale_y"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[10]||(s[10]=ht(()=>{},["prevent"])),onClick:s[11]||(s[11]=e=>g("scaleY"))},{icon:pt(()=>[...s[21]||(s[21]=[Le("i",{class:"iconfont icon-chuizhifanzhuan_flip-vertically"},null,-1)])]),_:1},8,["disabled"])]),_:1},8,["title"]),Ae(rt(Lt),{title:rt(_e)("sys.component.cropper.btn_reset"),placement:"bottom"},{default:pt(()=>[Ae(i,{size:"small",disabled:!l.value,onMousedown:s[12]||(s[12]=ht(()=>{},["prevent"])),onClick:s[13]||(s[13]=e=>g("reset"))},{icon:pt(()=>[Ae(rt(Ht))]),_:1},8,["disabled"])]),_:1},8,["title"])]),_:1})],2)):Me("",!0)],2),Le("div",{class:He([rt(d).b("right"),"text-center"])},[s[22]||(s[22]=$e(" 预览 ",-1)),Le("div",{class:He(rt(d).b("group"))},[Le("div",Qa,[Ae(n,{src:a.value,size:102},null,8,["src"])]),Le("div",Za,[Ae(n,{src:a.value,size:78},null,8,["src"])]),Le("div",ei,[Ae(n,{src:a.value,size:28},null,8,["src"])])],2)],2)],2),s[23]||(s[23]=Le("div",{class:"absolute z-10 top-0 left-2/3 w-0 h-full",style:{"border-left":"1px solid #e0e3ea"}},null,-1))]),_:1},16,["title","ok-text","onRegister"])}}}),si=/* @__PURE__ */ie(ti,[["__scopeId","data-v-f1134678"]]),oi=["src"],li=/* @__PURE__ */Be({__name:"CropperAvatar",props:{width:{type:[String,Number],default:"200px"},value:{type:String},showBtn:{type:Boolean,default:!0},btnProps:{type:Object},btnText:{type:String,default:""},uploadApi:{type:Function}},emits:["update:value","change"],setup(e,{expose:t,emit:s}){const o=e,l=s,a=et("/extras-assets/images/default_avatar.png"),i=et(Se(o.value)||""),n=et(o.value||""),r=je("cropper-avatar"),[c,{openModal:d,closeModal:u}]=P(),p=Te(()=>[r.b()]),m=Te(()=>`${o.width}`.replace(/px/,"")+"px"),h=Te(()=>parseInt(`${o.width}`.replace(/px/,""))/2+"px"),v=Te(()=>({width:rt(m)})),f=Te(()=>({width:rt(m),height:rt(m)}));function g({source:e,data:t}){i.value=Se(t),n.value=t,l("change",{source:e,data:t})}ut(()=>{i.value=Se(o.value)||"",n.value=o.value||""}),dt(()=>n.value,e=>{l("update:value",e)});const y=()=>{d()};return t({openModal:d.bind(null,!0),closeModal:u}),(t,s)=>{const o=lt("a-button");return Je(),ze("div",{class:He(p.value),style:Ye(v.value)},[Le("div",{class:He(rt(r).b("image-wrapper")),style:Ye(f.value),onClick:y},[Le("div",{class:He(rt(r).b("image-mask")),style:Ye(f.value)},[Ae(rt(Nt),{style:Ye({width:h.value,height:h.value}),"two-tone-color":"#d6d6d6"},null,8,["style"])],6),Le("img",{src:e.value?i.value:a.value,alt:"avatar"},null,8,oi)],6),e.showBtn?(Je(),Ie(o,Ue({key:0,class:rt(r).b("upload-btn")},e.btnProps,{onClick:rt(d)}),{default:pt(()=>[$e(at(e.btnText?e.btnText:rt(_e)("sys.component.cropper.selectImage")),1)]),_:1},16,["class","onClick"])):Me("",!0),Ae(si,{"upload-api":e.uploadApi,src:i.value,"source-url-value":n.value,onRegister:rt(c),onUploadSuccess:g},null,8,["upload-api","src","source-url-value","onRegister"])],6)}}}),ai=/* @__PURE__ */ie(li,[["__scopeId","data-v-ef939ff0"]]),ii=/* @__PURE__ */Be({__name:"picture-preview",props:{functional:{type:Boolean},imageList:{type:Array,default:()=>[]}},setup(e){const t=e,s=je("image-preview"),o=Te(()=>t.imageList.map(e=>Ct(e)?{src:e,placeholder:!1}:e));return(t,l)=>{const a=lt("PreviewGroup");return Je(),ze("div",{class:He(rt(s).b())},[Ae(a,null,{default:pt(()=>[!e.imageList||t.$slots.default?ot(t.$slots,"default",{key:0}):(Je(!0),ze(De,{key:1},st(o.value,e=>(Je(),Ie(rt(jt),Ue({key:e.src,ref_for:!0},e),Re({_:2},[e.placeholder?{name:"placeholder",fn:pt(()=>[Ae(rt(jt),Ue({ref_for:!0},e,{src:e.placeholder,preview:!1}),null,16,["src"])]),key:"0"}:void 0]),1040))),128))]),_:3})],2)}}}),ni=ii,ri=/* @__PURE__ */function(e){return e[e.LOADING=0]="LOADING",e[e.DONE=1]="DONE",e[e.FAIL=2]="FAIL",e}(ri||{}),ci={show:{type:Boolean,default:!1},imageList:{type:Array,default:null},index:{type:Number,default:0},scaleStep:{type:Number},defaultWidth:{type:Number},maskClosable:{type:Boolean},rememberState:{type:Boolean}},di="img-preview",ui=/* @__PURE__ */Be({name:"ImagePreview",props:ci,emits:["img-load","img-error"],setup(e,{expose:t,emit:s}){const o=/* @__PURE__ */new Map,l=Ze({currentUrl:"",imgScale:1,imgRotate:0,imgTop:0,imgLeft:0,status:ri.LOADING,currentIndex:0,moveX:0,moveY:0,show:e.show}),a=et(null),i=et(null);function n(){l.imgScale=1,l.imgRotate=0,l.imgTop=0,l.imgLeft=0}const r=Te(()=>{const t=(null==e?void 0:e.scaleStep)??0;return t>0&&t<100?t/100:l.imgScale/10});function c(e){(e=e||window.event).delta=e.wheelDelta||-e.detail,e.preventDefault(),e.delta>0&&d(r.value),e.delta<0&&d(-r.value)}function d(e){l.imgScale<=.2&&e<0||(l.imgScale+=.1*e,l.imgScale<0&&(l.imgScale=.02))}function u(e){l.imgRotate+=e}function p(){const e=rt(i);e&&(e.onmousemove=null)}function m(t){l.status=ri.LOADING;const a=new Image;a.src=t,a.onload=a=>{if(l.currentUrl!==t){const i=a.composedPath();if(e.rememberState){o.set(l.currentUrl,{scale:l.imgScale,top:l.imgTop,left:l.imgLeft,rotate:l.imgRotate});const s=o.get(t);s?(l.imgScale=s.scale,l.imgTop=s.top,l.imgRotate=s.rotate,l.imgLeft=s.left):(n(),e.defaultWidth&&(l.imgScale=e.defaultWidth/i[0].naturalWidth))}else e.defaultWidth&&(l.imgScale=e.defaultWidth/i[0].naturalWidth);i&&s("img-load",{index:l.currentIndex,dom:i[0],url:t})}l.currentUrl=t,l.status=ri.DONE},a.onerror=e=>{const o=e.composedPath();o&&s("img-error",{index:l.currentIndex,dom:o[0],url:t}),l.status=ri.FAIL}}function h(e){e&&e.stopPropagation(),v()}function v(){l.show=!1,document.body.removeEventListener("DOMMouseScroll",c),document.ondragstart=null}function f(){n()}function g(t){const{currentIndex:s}=l,{imageList:o}=e;"left"===t&&(l.currentIndex-=1,s<=0&&(l.currentIndex=o.length-1)),"right"===t&&(l.currentIndex+=1,s>=o.length-1&&(l.currentIndex=0)),m(o[l.currentIndex])}function y(e){e=e||window.event,l.moveX=e.clientX,l.moveY=e.clientY;const t=rt(i);t&&(t.onmousemove=b)}function b(e){(e=e||window.event).preventDefault();const t=e.clientX-l.moveX,s=e.clientY-l.moveY;l.imgLeft+=t,l.imgTop+=s,l.moveX=e.clientX,l.moveY=e.clientY}t({resume:f,close:v,prev:g.bind(null,"left"),next:g.bind(null,"right"),setScale:e=>{e>0&&e<=10&&(l.imgScale=e)},setRotate:e=>{l.imgRotate=e}});const w=Te(()=>{const{imgScale:t,imgRotate:s,imgTop:o,imgLeft:a}=l;return{transform:`scale(${t}) rotate(${s}deg)`,marginTop:`${o}px`,marginLeft:`${a}px`,maxWidth:e.defaultWidth?"unset":"100%"}}),x=Te(()=>{const{imageList:t}=e;return t.length>1});ut(()=>{e.show&&function(){!function(){const e=rt(a);e&&(e.onmousewheel=c,document.body.addEventListener("DOMMouseScroll",c),document.ondragstart=function(){return!1})}();const{index:t,imageList:s}=e;if(!s||!s.length)throw new Error("imageList is undefined");l.currentIndex=t,m(s[t])}(),e.imageList&&n()});const C=t=>{e.maskClosable&&t.target&&t.target.classList.contains(`${di}-content`)&&h(t)},O=()=>{if(!rt(x))return null;const{currentIndex:t}=l,{imageList:s}=e;return Ae("div",{class:`${di}__index`},[t+1,$e(" / "),s.length])},_=e=>rt(x)?Ae("div",{class:[`${di}__arrow`,e],onClick:()=>g(e)},[Ae("left"===e?Vt:Yt,null,null)]):null;return()=>l.show&&Ae("div",{class:di,ref:a,onMouseup:p,onClick:C},[Ae("div",{class:`${di}-content`},[Ae("img",{style:rt(w),class:[`${di}-image`,l.status===ri.DONE?"":"hidden"],ref:i,src:l.currentUrl,onMousedown:y},null),Ae("div",{class:`${di}__close`,onClick:h},[Ae(qt,{class:`${di}__close-icon`},null)]),O(),Ae("div",{class:`${di}__controller`},[Ae("div",{class:`${di}__controller-item`,onClick:()=>d(-r.value)},[Ae("img",{src:"/extras-assets/svg/preview/unscale.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>d(r.value)},[Ae("img",{src:"/extras-assets/svg/preview/scale.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:f},[Ae("img",{src:"/extras-assets/svg/preview/resume.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>u(-90)},[Ae("img",{src:"/extras-assets/svg/preview/unrotate.svg"},null)]),Ae("div",{class:`${di}__controller-item`,onClick:()=>u(90)},[Ae("img",{src:"/extras-assets/svg/preview/p-rotate.svg"},null)])]),_("left"),_("right")])])}}),pi=ui,mi=null;function hi(e){var t;const s={},o=document.createElement("div");return Object.assign(s,{show:!0,index:0,scaleStep:100},e),mi=Ae(pi,s),tt(mi,o),document.body.appendChild(o),null===(t=mi.component)||void 0===t?void 0:t.exposed}var vi=["src"],fi={key:0,class:"iconfont icon-tupian-shili"},gi={class:"prompt"},yi={key:0,class:"auxiliary"},bi="cropper-photo",wi=/* @__PURE__ */Be({__name:"CropperFree",props:{value:{type:String},uploadApi:{type:Function},aspectRatio:{type:Number},auxiliary:{type:String},icon:{type:String},isDrag:{type:Boolean,default:!1},accept:{type:Array},beforeUpload:{type:Function},modalTitle:{type:String},uploadText:{type:String},disabled:{type:Boolean,default:!1}},emits:["update:value","change"],setup(e,{expose:t,emit:s}){const o=e,l=s,a=et(o.value||""),i=Te(()=>a.value?xe(a.value):"");let n={};const[r,{openModal:c,closeModal:d}]=P(),u=Te(()=>o.disabled),p=Te(()=>{var e,t,s;return(null===(e=o.accept)||void 0===e?void 0:e.length)?[...new Set((null===(t=o.accept)||void 0===t?void 0:t.some(e=>"jpg"===e||"jpeg"===e))?null===(s=o.accept)||void 0===s?void 0:s.concat(["jpg","jpeg"]):o.accept)].map(e=>"image/"+e):["image/jpg","image/jpeg","image/png"]});function m({source:e,data:t}){a.value=t,l("change",{source:e,data:t})}function h(){n=hi({imageList:[i.value]})}function v(){a.value=""}ut(()=>{a.value=o.value||""}),dt(()=>a.value,e=>{l("update:value",e)}),Ke(()=>{n&&n.close&&n.close()}),We(()=>{const e=document.getElementById("dropzone");null==e||e.addEventListener("dragover",e=>{e.stopPropagation(),e.preventDefault()}),null==e||e.addEventListener("drop",e=>{var t;e.stopPropagation(),e.preventDefault();const s=null===(t=e.dataTransfer)||void 0===t?void 0:t.files[0];if(s){if(!p.value.includes(s.type))return void $t.warning(_e("sys.component.cropper.acceptTip"));c(!0,{file:s})}})});const f=()=>{c()};return t({openModal:c.bind(null,!0),closeModal:d}),(t,s)=>{var o;const l=lt("Icon");return Je(),ze("div",{id:"dropzone",class:He([bi,u.value&&"not-allow"])},[i.value?(Je(),ze(De,{key:0},[Le("div",{class:He(`${bi}__wrapper`)},[Le("img",{src:i.value},null,8,vi)],2),Le("div",{class:He(`${bi}__mask`)},[Ae(rt(Ut),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:h}),Ae(rt(Nt),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:s[0]||(s[0]=()=>rt(c)())}),Ae(rt(Gt),{style:{fontSize:24},"two-tone-color":"#ffffff",onClick:v})],2)],64)):(Je(),ze("div",{key:1,class:He(`${bi}__trigger`),onClick:f},[e.icon?(Je(),ze("i",fi)):(Je(),Ie(l,{key:1,icon:"ant-design:plus-outlined",size:36})),e.isDrag?(Je(),ze(De,{key:2},[Le("p",gi,at(t.$t("sys.pageDesigner.clickOrDragToUpload")),1),e.accept?(Je(),ze("p",yi,at(`支持${null===(o=e.accept)||void 0===o?void 0:o.join("、")}图片格式,大小100KB以内`),1)):Me("",!0)],64)):Me("",!0),e.auxiliary?Me("",!0):(Je(),ze(De,{key:3},[$e(at(rt(_e)("sys.clickToDoSth",{sth:rt(_e)("sys.add")})),1)],64))],2)),Ae(Ka,{"upload-api":e.uploadApi,"aspect-ratio":e.aspectRatio,src:i.value,accept:e.accept,"before-upload":e.beforeUpload,title:e.modalTitle,"upload-text":e.uploadText,onRegister:rt(r),onUploadSuccess:m},null,8,["upload-api","aspect-ratio","src","accept","before-upload","title","upload-text","onRegister"])],2)}}}),xi=/* @__PURE__ */ie(wi,[["__scopeId","data-v-c85d53db"]]),Ci={scrollbars:{autoHide:"leave",autoHideDelay:100,theme:"os-theme-dark"}},Oi=/* @__PURE__ */Be({name:"GctOverlayScrollbars",inheritAttrs:!1,props:{options:{type:[Object,Boolean],default:null},handleColor:{type:String,default:"rgba(144, 147, 153, 0.3)"}},setup(e,{expose:t}){const s=et(),o=Te(()=>{if(!1===e.options)return!1;const t=e.options??{},s=t.scrollbars??{};return{...Ci,...t,scrollbars:{...Ci.scrollbars,...s}}}),l=Te(()=>e.handleColor?{"--gct-h-bg":e.handleColor}:void 0);return t({osInstance:()=>{var e;return(null===(e=s.value)||void 0===e?void 0:e.osInstance())??null},getElement:()=>{var e;return(null===(e=s.value)||void 0===e?void 0:e.getElement())??null}}),{mergedOptions:o,colorStyle:l,setOsRef:e=>{s.value=e}}},render(){return Ae(me,Ue({ref:this.setOsRef,options:this.mergedOptions},this.$attrs,{"data-gct-os":"","data-gct-color":this.handleColor?"":void 0,style:this.colorStyle}),{default:()=>{var e,t;return[null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t)]}})}}),_i={mounted(e,t){var s;if(!t.value)return!1;null===(s=t.instance)||void 0===s||s.$nextTick(()=>{const s=t.value,o=e,l=document.createElement("div");o.appendChild(l),l.style.cursor="col-resize",l.style.position="absolute",l.style.height="100%",l.style.width="5px",l.style.right="0px",l.style.top="0px",l.style.background="rgba(255, 0, 0, 0);",l.onmousedown=t=>{const l=o.clientWidth,a=t.clientX;document.onmousemove=function(t){t.preventDefault();let i=l+(t.clientX-a);i=i<s?s:i,o.setAttribute("style",`width:${i}px !important;`);const n=new CustomEvent("drag-resize-width",{detail:{width:i,resizing:!0}});e.dispatchEvent(n)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}}})}},Si={mounted(e,t){e.__ellipsisHandler__=()=>{const s=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight,o=t.value;s?e.setAttribute("title",o):e.removeAttribute("title")},e.addEventListener("mouseenter",e.__ellipsisHandler__)},beforeUnmount(e){e.__ellipsisHandler__&&e.removeEventListener("mouseenter",e.__ellipsisHandler__)}},ki=/* @__PURE__ */ie(/* @__PURE__ */Be({__name:"target-loading",props:{tip:{type:String,default:""},size:{type:String,default:ye.LARGE,validator:e=>[ye.DEFAULT,ye.SMALL,ye.LARGE].includes(e)},absolute:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},background:{type:String},theme:{type:String}},setup:e=>(t,s)=>mt((Je(),ze("section",{class:He(["full-loading",{absolute:e.absolute,[e.theme]:!!e.theme}]),style:Ye([e.background?`background-color: ${e.background}`:""])},[Ae(rt(zt),Ue(t.$attrs,{tip:e.tip,size:e.size,spinning:e.loading}),null,16,["tip","size","spinning"])],6)),[[ct,e.loading]])}),[["__scopeId","data-v-d448466c"]]),Ei={mounted(e,t){const s=e.getAttribute("loading-tip"),o=e.getAttribute("loading-background"),l=e.getAttribute("loading-size"),a=!!t.modifiers.fullscreen;e.instance=function(e,t,s=!1){let o=null;const l=Ze({tip:"",loading:!0,...e});function a(e=document.body){o&&o.el&&e.appendChild(o.el)}return o=Ae(Be({render:()=>qe(ki,{...l})})),s?setTimeout(()=>{tt(o,document.createElement("div"))},0):tt(o,document.createElement("div")),t&&a(t),{vm:o,close:function(){(null==o?void 0:o.el)&&o.el.parentNode&&o.el.parentNode.removeChild(o.el)},open:a,setTip:e=>{l.tip=e},setLoading:e=>{l.loading=e},get loading(){return l.loading},get $el(){return null==o?void 0:o.el}}}({tip:s,background:o,size:l||"large",loading:!!t.value,absolute:!a},a?document.body:e)},updated(e,t){const s=e.instance;var o;s&&(s.setTip(e.getAttribute("loading-tip")),t.oldValue!==t.value&&(null===(o=s.setLoading)||void 0===o||o.call(s,t.value&&!s.loading)))},unmounted(e){var t;null==e||null===(t=e.instance)||void 0===t||t.close()}};async function ji(e){e.use(Ot),function(e){!function(e){e.directive("dragResize",_i)}(e),function(e){e.directive("ellipsis-title",Si)}(e),function(e){e.directive("target-loading",Ei)}(e)}(e),e.use(B),Object.entries(Pt).forEach(([t,s])=>{e.component(t,s)}),e.component(v.name,v),e.component(La.name,La),e.component("OverlayScrollbarsComponent",Oi),await Ft(e),e.use(oa),e.use(Ma),e.use(w)}async function Di(e){console.log("coreWebSetupApp")}_gct.message=new ce,_gct.openUtil=K,_gct.register.editor=new Ls,_gct.register.formItem=new Rs,_gct.register.tableEditor=new ga;var Ti=new URL("./index.min.css",import.meta.url);be.load(Ti.href);export{s as BaseButton,n as BasicButton,w as BasicModal,o as CodeEditor,La as ColorEditor,v as ColorPicker,Ka as CopperFreeModal,si as CopperModal,d as CopyModuleKey,ai as CropperAvatar,xi as CropperFree,Na as CropperImage,p as DoubleInput,fs as EditFormController,ys as EditorController,Ls as EditorRegister,Kt as EditorRegisterConst,Wt as EditorType,Xt as FORM_CONTROLLER_INJECT_TAG,l as FieldCascader,a as FieldUpload,Cs as FormCollapseController,xs as FormCollapsePaneController,Zt as FormCollapsePaneState,es as FormCollapseState,ks as FormEditItemController,os as FormEditItemState,Ss as FormGroupController,ls as FormGroupState,js as FormHiddenItemController,bs as FormItemBasicController,Qt as FormItemBasicState,Es as FormItemController,Rs as FormItemRegister,as as FormItemState,Ds as FormLineController,is as FormLineState,Jt as FormState,Os as FormTabController,_s as FormTabPaneController,ss as FormTabPaneState,ts as FormTabState,i as FullScreen,Ra as GCT_DND_INSERT_POS,Fa as GctDndContainer,Aa as GctDndDropLine,$a as GctDndItem,Ys as GctFormCollapseModel,Ns as GctFormCollapsePaneModel,vs as GctFormController,Js as GctFormGroupModel,yo as GctFormHiddenItemModel,bo as GctFormItemModel,to as GctFormLineModel,ao as GctFormTabModel,uo as GctFormTabPaneModel,fo as GctFormTitleGroupModel,ha as GctTableController,j as I18Modal,x as I18nSelectBtn,b as I18nSelectInput,q as I18nSelectInputForm,k as I18nSelectTextarea,g as I18nSelectTextareaForm,ni as ImagePreview,u as ImageUpload,pe as Lang,ce as MessageUtil,za as MonacoEditor,D as NumberRange,ae as OverlayController,L as PaasBpmnLog,O as PaasBpmnRuntime,de as Prop,A as SerialNumberContainer,G as StageView,ca as TableActionItemController,da as TableEditItemController,ia as TableEditItemState,ga as TableEditorRegister,aa as TableITemState,ra as TableItemController,ma as TableRowController,na as TableRowState,la as TableState,ue as Theme,R as TreeEx,_ as TreeSelectEx,Z as UseDragByLine,m as UserPickType,c as ViewContainer,r as Vue3GridDndItem,E as WUJIE_FORMULA_EVENTS,ji as coreWebCreateAppVue,Di as coreWebSetupApp,hi as createImgPreview,te as filterTreeData,le as findRecursiveChild,h as gctFieldSortPopover,I as gctFieldTreeSelect,zs as gctFormItemEditorProps,ms as getValue,ee as monacoLoader,y as openFormulaEditor,K as overlay,Q as recursiveIterate,H as recursiveTransfer,N as setIdentify,hs as setValue,fa as useAntTableScrollHeight,gs as useEditFormController,M as useEditorConsole,F as useEditorConsoleInner,Ts as useForm,ws as useFormItemController,Is as useGctFormValue,Ms as useGctFormValueByText,z as useI18nSelect,f as useLabelModalPicker,W as useLocale,P as useModal,$ as useModalContext,S as useModalDragMove,T as useModalInner,C as useModalPicker,va as useTableController,ne as useTheme,J as validateFieldDefaultForLength,V as validateFieldDefaultForValue,re as validateLengthRange,ps as widthEditorInstall,se as withInstall};
|