epic-designer-gold 0.0.31 → 0.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/{attributeView-CkDUbzuR.cjs → attributeView-CkX6fubE.cjs} +1 -1
  2. package/dist/{attributeView-DpkfKqtd.js → attributeView-DVqMH1xY.js} +1 -1
  3. package/dist/core/components/builder/src/builder.vue.d.ts +2 -0
  4. package/dist/core/components/node/src/node.vue.d.ts +2 -0
  5. package/dist/{index-CiMLQy__.js → index-B07zwTz2.js} +1 -1
  6. package/dist/{index-FHGseiDc.js → index-BGKInHWa.js} +1 -1
  7. package/dist/{index-C5H0qK7d.cjs → index-BffcOK9E.cjs} +1 -1
  8. package/dist/{index-jV4vV6jn.cjs → index-Bl9bHpGb.cjs} +1 -1
  9. package/dist/{index-CpxsakMD.cjs → index-BqPBE6Y2.cjs} +1 -1
  10. package/dist/{index-DbioQCL7.cjs → index-BvRS3i9N.cjs} +1 -1
  11. package/dist/{index-ZbUi21VA.cjs → index-C7Rkr11-.cjs} +1 -1
  12. package/dist/{index-Bc7J-Fgw.js → index-C8_p36X3.js} +1 -1
  13. package/dist/{index-BhIZKk9i.cjs → index-CKl_FM23.cjs} +1 -1
  14. package/dist/{index-rE2p5Gmx.js → index-CY8bzSIr.js} +1 -1
  15. package/dist/{index-BPt8U8n9.js → index-CYyckZuN.js} +1 -1
  16. package/dist/{index-D8Dlr8aX.js → index-DQBowkLQ.js} +1 -1
  17. package/dist/{index-D0T4HwOl.cjs → index-DWA3Pa6_.cjs} +1 -1
  18. package/dist/{index-CH2IxHQE.js → index-QcfCoknU.js} +372 -368
  19. package/dist/{index-UQLDWqfT.js → index-bup0iSFb.js} +1 -1
  20. package/dist/{index-Bb8XSoYT.cjs → index-i26diW3P.cjs} +1 -1
  21. package/dist/index-rlyOYH5_.cjs +10 -0
  22. package/dist/index-zlm7L3aS.js +4 -0
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/{styleView-CEaoc1Q1.js → styleView-DNbMFObZ.js} +1 -1
  26. package/dist/{styleView-sGpDpZDg.cjs → styleView-D_DJWtjt.cjs} +1 -1
  27. package/package.json +1 -1
  28. package/dist/index-CTjIY8cx.cjs +0 -10
  29. package/dist/index-CtNfh-CD.js +0 -4
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as U, inject as L, openBlock as p, createElementBlock as g, Fragment as A, renderList as T, createElementVNode as i, toDisplayString as O, createVNode as C, unref as _, withCtx as R, createCommentVNode as G, createTextVNode as J, ref as E, computed as S, withDirectives as F, normalizeClass as j, vShow as P, reactive as H, createBlock as K, nextTick as Q, toRaw as z, watch as W } from "vue";
2
- import { l as q, _ as X, k as Y, m as Z } from "./index-CH2IxHQE.js";
2
+ import { l as q, _ as X, k as Y, m as Z } from "./index-QcfCoknU.js";
3
3
  import { p as w } from "./axios-ITY6Uw7A.js";
4
4
  import { _ as D } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
5
5
  import { d as ee } from "./vuedraggable.umd-D2S7Eo7p.js";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-CTjIY8cx.cjs"),B=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),_=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"method",value:"method"},{label:"regexp",value:"regexp"},{label:"integer",value:"integer"},{label:"float",value:"float"},{label:"array",value:"array"},{label:"object",value:"object"},{label:"date",value:"date"},{label:"url",value:"url"},{label:"hex",value:"hex"},{label:"email",value:"email"},{label:"any",value:"any"}],V=[{label:"change",value:"change"},{label:"blur",value:"blur"}],f=["string","number","url","array","email"],w={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},E={key:0,class:"flex m-t-2 first:m-0"},x={class:"epic-attr-label",title:"校验时机"},q={class:"epic-attr-input"},C=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(h,{emit:b}){const i=b,d=h,r=e.computed({get(){return d.rule},set(l){i("update:rule",l)}}),u=e.inject("pageManager",{}),a=e.computed(()=>Object.entries(u.funcs.value).filter(([l,p])=>typeof p=="function").map(([l])=>({label:l,value:l}))),g=[{type:"select",label:"校验时机",model:"trigger",componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"switch",label:"自定义规则",model:"isValidator"},{type:"select",label:"校验函数",model:"validator",show(){return!!r.value.isValidator},componentProps:{options:a.value,placeholder:"校验函数"}},{type:"select",label:"类型",model:"type",show(){return!r.value.isValidator},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"正则校验",model:"pattern",show(){return!r.value.isValidator},componentProps:{placeholder:"正则校验"}},{type:"number",label:"字段长度",model:"len",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"字段长度"}},{type:"number",label:"最小长度",model:"min",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最小长度"}},{type:"number",label:"最大长度",model:"max",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最大长度"}},{type:"input",label:"校验信息",model:"message",componentProps:{placeholder:"校验信息"}}];function o(){const l=r.value;l.isValidator?(delete l.type,delete l.pattern,delete l.len,delete l.min,delete l.max):delete l.validator,i("change",l)}function y(){i("delete")}return(l,p)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(t,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m},[!t.show||t.show()?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",x,e.toDisplayString(t.label),1),e.createElementVNode("div",q,[e.createVNode(e.unref(c._sfc_main),{modelValue:r.value[t.model],"onUpdate:modelValue":n=>r.value[t.model]=n,componentSchema:{...t,noFormItem:!0},onChange:o},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 text-md right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:y},[e.createVNode(e.unref(B._sfc_main),{name:"icon--epic--delete-outline-rounded"})])]))}}),N={class:"rule-item-main m-t-2 p-2 rounded border border-solid transition-all relative"},P={key:0,class:"flex m-t-2 first:m-0"},U={class:"epic-attr-label"},F={class:"flex-1"},j=e.defineComponent({__name:"index",props:{ruleType:{type:String,default:"string"},modelValue:{type:Array,default:void 0}},emits:["update:modelValue"],setup(h,{emit:b}){const i=k.pluginManager.getComponent("button"),d=h,r=b,u=c.useVModel(d,"modelValue",r),a=e.ref({required:!1,message:"必填项",type:d.ruleType,trigger:["change"]}),g=[{type:"switch",label:"必填项",model:"required"},{type:"select",label:"校验时机",model:"trigger",show(){return!!a.value.required},componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"select",label:"类型",model:"type",show(){return!!a.value.required},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"校验信息",model:"message",show(){return!!a.value.required},componentProps:{placeholder:"校验信息"}}],o=e.ref([]);e.watchEffect(()=>{u.value&&(o.value=[],u.value.forEach(t=>{typeof t.required<"u"?a.value=t:o.value.push(t)}))});function y(){o.value.push({message:"",type:d.ruleType,trigger:["change"]}),l()}function l(){if(a.value.required){u.value=c.deepClone([...o.value,a.value]);return}if(o.value.length){u.value=c.deepClone(o.value);return}u.value=void 0}function p(t){o.value.splice(t,1),l()}return(t,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",N,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[!n.show||n.show()?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("div",U,e.toDisplayString(n.label),1),e.createElementVNode("div",F,[e.createVNode(e.unref(c._sfc_main),{modelValue:a.value[n.model],"onUpdate:modelValue":v=>a.value[n.model]=v,componentSchema:{...n,noFormItem:!0},onChange:l},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(n,s)=>(e.openBlock(),e.createBlock(C,{key:s,rule:o.value[s],"onUpdate:rule":v=>o.value[s]=v,onDelete:v=>p(s),onChange:l},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(i),{class:"m-t-2",onClick:y},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});exports.default=j;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-rlyOYH5_.cjs"),B=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),_=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"method",value:"method"},{label:"regexp",value:"regexp"},{label:"integer",value:"integer"},{label:"float",value:"float"},{label:"array",value:"array"},{label:"object",value:"object"},{label:"date",value:"date"},{label:"url",value:"url"},{label:"hex",value:"hex"},{label:"email",value:"email"},{label:"any",value:"any"}],V=[{label:"change",value:"change"},{label:"blur",value:"blur"}],f=["string","number","url","array","email"],w={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},E={key:0,class:"flex m-t-2 first:m-0"},x={class:"epic-attr-label",title:"校验时机"},q={class:"epic-attr-input"},C=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(h,{emit:b}){const i=b,d=h,r=e.computed({get(){return d.rule},set(l){i("update:rule",l)}}),u=e.inject("pageManager",{}),a=e.computed(()=>Object.entries(u.funcs.value).filter(([l,p])=>typeof p=="function").map(([l])=>({label:l,value:l}))),g=[{type:"select",label:"校验时机",model:"trigger",componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"switch",label:"自定义规则",model:"isValidator"},{type:"select",label:"校验函数",model:"validator",show(){return!!r.value.isValidator},componentProps:{options:a.value,placeholder:"校验函数"}},{type:"select",label:"类型",model:"type",show(){return!r.value.isValidator},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"正则校验",model:"pattern",show(){return!r.value.isValidator},componentProps:{placeholder:"正则校验"}},{type:"number",label:"字段长度",model:"len",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"字段长度"}},{type:"number",label:"最小长度",model:"min",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最小长度"}},{type:"number",label:"最大长度",model:"max",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最大长度"}},{type:"input",label:"校验信息",model:"message",componentProps:{placeholder:"校验信息"}}];function o(){const l=r.value;l.isValidator?(delete l.type,delete l.pattern,delete l.len,delete l.min,delete l.max):delete l.validator,i("change",l)}function y(){i("delete")}return(l,p)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(t,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m},[!t.show||t.show()?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",x,e.toDisplayString(t.label),1),e.createElementVNode("div",q,[e.createVNode(e.unref(c._sfc_main),{modelValue:r.value[t.model],"onUpdate:modelValue":n=>r.value[t.model]=n,componentSchema:{...t,noFormItem:!0},onChange:o},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 text-md right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:y},[e.createVNode(e.unref(B._sfc_main),{name:"icon--epic--delete-outline-rounded"})])]))}}),N={class:"rule-item-main m-t-2 p-2 rounded border border-solid transition-all relative"},P={key:0,class:"flex m-t-2 first:m-0"},U={class:"epic-attr-label"},F={class:"flex-1"},j=e.defineComponent({__name:"index",props:{ruleType:{type:String,default:"string"},modelValue:{type:Array,default:void 0}},emits:["update:modelValue"],setup(h,{emit:b}){const i=k.pluginManager.getComponent("button"),d=h,r=b,u=c.useVModel(d,"modelValue",r),a=e.ref({required:!1,message:"必填项",type:d.ruleType,trigger:["change"]}),g=[{type:"switch",label:"必填项",model:"required"},{type:"select",label:"校验时机",model:"trigger",show(){return!!a.value.required},componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"select",label:"类型",model:"type",show(){return!!a.value.required},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"校验信息",model:"message",show(){return!!a.value.required},componentProps:{placeholder:"校验信息"}}],o=e.ref([]);e.watchEffect(()=>{u.value&&(o.value=[],u.value.forEach(t=>{typeof t.required<"u"?a.value=t:o.value.push(t)}))});function y(){o.value.push({message:"",type:d.ruleType,trigger:["change"]}),l()}function l(){if(a.value.required){u.value=c.deepClone([...o.value,a.value]);return}if(o.value.length){u.value=c.deepClone(o.value);return}u.value=void 0}function p(t){o.value.splice(t,1),l()}return(t,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",N,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[!n.show||n.show()?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("div",U,e.toDisplayString(n.label),1),e.createElementVNode("div",F,[e.createVNode(e.unref(c._sfc_main),{modelValue:a.value[n.model],"onUpdate:modelValue":v=>a.value[n.model]=v,componentSchema:{...n,noFormItem:!0},onChange:l},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(n,s)=>(e.openBlock(),e.createBlock(C,{key:s,rule:o.value[s],"onUpdate:rule":v=>o.value[s]=v,onDelete:v=>p(s),onChange:l},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(i),{class:"m-t-2",onClick:y},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});exports.default=j;
@@ -0,0 +1,10 @@
1
+ "use strict";const e=require("vue"),D=require("./axios-CYGTE3lR.cjs");function U(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*a.length);r+=a[o]}return r}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function V(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const n=t.map(o=>V(o,a));return a.set(t,n),n}const r={};return a.set(t,r),Object.keys(t).forEach(n=>{r[n]=V(t[n],a)}),r}function he(t){const[a]=ne([V(t)],r=>{var o,s;const n={...r,id:`${r.type}_${U(8)}`};return(n.field||n.input)&&!((s=(o=D.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&s.fixedField)&&(n.field=n.id),n});return a}function B(t,a,r=!0){for(const[n,o]of Object.entries(a)){let s=t==null?void 0:t[n];s&&o&&typeof s=="object"&&typeof o=="object"?(Array.isArray(s)&&!Array.isArray(o)?s=t[n]={}:!Array.isArray(s)&&Array.isArray(o)&&(s=t[n]=[]),B(s,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{a.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Z(t,a,r=[],n=new WeakMap){const o=s=>{if(Array.isArray(s))return s.map(o);if(typeof s=="object"&&s!==null){if(n.has(s))return"[Circular]";n.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(d=>{r.includes(d)||(c[d]=o(s[d]))}),n.delete(s),c}else return s};return JSON.stringify(o(t))===JSON.stringify(o(a))}function ee(t,a){const r=[];let n=!1;function o(s){if(r.push(s),s.id===a&&(n=!0),!n&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(o(s.children[i]),!n);i++);if(!n&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(o(s.slots[i][c]),!n);c++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${a}的节点`),r}function ve(t,a,r){const n=a.split(".");let o=t;for(let s=0;s<n.length;s++){if(o==null)return r;o=o[n[s]]}return o===void 0?r:o}function ge(t,a,r){const n=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let s=0;s<n.length-1;s++){const i=n[s];o[i]==null&&(o[i]=isNaN(Number(n[s+1]))?{}:[]),o=o[i]}return o[n[n.length-1]]=r,t}function ye(t,a="default"){return te(t,a).map(n=>n.field)}function te(t,a="default"){const r=R(t,o=>{var s;return o.type==="form"&&(((s=o.componentProps)==null?void 0:s.name)??o.name===a)},!0);return R((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function R(t,a,r=!1,n){const o=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!n||n(i))&&s.push(...i.children),i!=null&&i.slots&&(!n||n(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(o.push(i),r))return i}return r?!1:o}function ne(t,a,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let s in o.slots)n.push(...o.slots[s]);B(o,a(o))}return t}function we(t,a){const r=R(t,n=>n.id===a,!0);if(!r)throw new Error(`没有查询到id为${a}的节点`);return r}function Se(t,a){const r=[{type:"",children:t}];let n=0,o=null;if(R(r,s=>{if(o=s.children??null,!o){if(s!=null&&s.slots)for(let i in s.slots){o=s.slots[i];for(let c=0;c<o.length;c++)if(o[c].id===a)return n=c,!0}return!1}for(let i=0;i<o.length;i++)if(o[i].id===a)return n=i,!0;return!1},!0),!o)throw new Error(`没有查询到id为${a}的节点`);return{list:o,schema:o[n],index:n}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+U()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=O(t.list),a}function O(t,a){return t.map(r=>{var d,S,v;let n=r.type??"";const o=r.options??{},s=(l,y)=>{n===l&&(n=y,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:y}=o;o.autoSize={minRows:l,maxRows:y},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),a&&a.type==="grid"&&(n="col",o.span=r.span,r.key=U());const i={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(i.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(i.input=!0,((S=(d=r.rules)==null?void 0:d[0])==null?void 0:S.required)===!1&&r.rules.shift(),((v=r.rules)==null?void 0:v.length)>0&&(i.rules=r.rules)),r.list&&(i.children=O(r.list,r)),r.columns&&(i.children=O(r.columns,r)),r.trs&&(i.children=O(r.trs,r)),r.tds&&(i.children=O(r.tds,r)),i})}function Ce(t,a){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},a)}}function Q(){const t=e.ref({}),a=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function s(h){return t.value[h]}function i(h,w){t.value[h]=w}function c(h){delete t.value[h]}function d(h,w=!1){const g=Object.entries(D.pluginManager.publicMethods).reduce((A,[_,M])=>(A[_]=M.handler,A),{});try{new Function(`const epic = this;${h}`).bind({...g,getComponent:s,find:s,defineExpose:S,publicMethods:g,pluginManager:D.pluginManager})()}catch(A){w&&console.error("[epic:自定义函数]异常:",A)}}function S(h){h!=null&&(a.value=h)}function v(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(g=>{const A=g.args?JSON.parse(g.args):w;switch(g.type){case"public":l(g,A);break;case"custom":y(g,A);break;case"component":f(g,A);break;default:console.warn(`未知的动作类型: ${g.type}`);break}})}function l(h,w){var g;try{(g=D.pluginManager.publicMethods[h.methodName])==null||g.handler(...w)}catch(A){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,A)}}function y(h,w){var g,A;try{(A=(g=a.value)[h.methodName])==null||A.call(g,...w)}catch(_){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,_)}}function f(h,w){const g=h.componentId!=null&&s(h.componentId);if(!g){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{g[h.methodName](...w)}catch(A){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,A)}}function p(h=!0){r.value=h}function u(h){const w=R(h,()=>!0);n.value=w.map(g=>g.id)}function E(h,w="default"){if(o[w]){const g=o[w];B(h,g)}o[w]=h}function P(h,w="default"){if(o[w]){B(o[w],h,!1);return}o[w]=h}return{componentInstances:t,funcs:a,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:E,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:v,setDesignMode:p,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),r=e.ref(null);let n=0;function o(d,S="插入组件"){const v=Date.now();n+150>v||(n=v,r.value!=null&&(t.value.push(r.value),a.value.splice(0,a.value.length)),r.value={type:S,componentSchema:JSON.stringify(d)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const d=t.value.pop();return r.value!=null&&a.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function i(){if(a.value.length===0)return!1;const d=a.value.pop();return r.value!=null&&t.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function c(){t.value=[],a.value=[],r.value=null}return{recordList:t,undoList:a,currentRecord:r,push:o,undo:s,redo:i,reset:c}}const Ee=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const r=D.pluginManager.getComponent("form-item"),n=t,o=a,s=e.ref(),i=()=>{o("updateFormItemRef",s.value)};return(c,d)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},n.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(V(n.componentSchema));p();async function y(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&n.sourceDateUrl){const C=(await D.axios({url:n.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;let x=await D.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],x.data);m.componentProps.options=f(fe,C.dataKey,C.dataValue)}else m.componentProps.options=f(x.data,C.dataKey,C.dataValue);return m}return m}function f(m,k,I){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(C=>C.children&&C.children.length?{label:C[k],value:C[I]+"",children:f(C.children,k,I)}:{label:C[k],value:C[I]+""}):[]}e.watch(()=>n.componentSchema,m=>{Z(l,m,["children"])||(B(l,V(m)),p())},{deep:!0});function p(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||v)&&(s={});const u=a,E=e.ref(),P=e.ref(),h=m=>{P.value=m},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const g=e.shallowRef(null),A=e.computed(()=>{var m,k;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((k=l.show)==null?void 0:k.call(l,{values:s}))??!0}),_=e.computed(()=>{var C;const m=A.value&&((C=l.rules)==null?void 0:C.map(x=>({...x,validator:x.validator&&c.funcs.value[x.validator]})));let k=l.field;n.ruleField?k=n.ruleField:S&&l.field&&(k=V(S),k.push(l.field));const I={...l,rules:m,rule:m,field:k};return I.children&&delete I.children,I}),M=e.computed(()=>{var I,C;const m=((I=N.value)==null?void 0:I.bindModel)??"modelValue",k={};return l.on&&Object.keys(l.on).forEach(x=>{k[`on${j(x)}`]=(...X)=>c.doActions(l.on[x],...X)}),{...n,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:m,...k}}),N=e.computed(()=>D.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??s[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??s[l.field??""])&&b(o.value)}),e.watch(()=>E.value,()=>{L()},{immediate:!0});function L(){var k;const m=E.value||r;l.id&&m&&(l.input&&(m.setValue=b,m.getValue=()=>s[l.field]||n.modelValue),m.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),m.getAttr=I=>l.componentProps[I],c.addComponentInstance(l.id,m),(k=N.value)!=null&&k.defaultSchema.input&&l.noFormItem!==!0&&P.value&&c.addComponentInstance(l.id+"formItem",P.value))}function W(){var m;l.id&&(c.removeComponentInstance(l.id),(m=N.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function z(){var k,I,C;if(l=await y(l),typeof((k=l.componentProps)==null?void 0:k.defaultValue)<"u"){const x=c.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);b(V(x))}if(l.type==="slot"){const x=l.slotName;if(!x)return;g.value=e.defineComponent({setup(){return()=>e.renderSlot(i,x,{componentSchema:l,model:s})}});return}const m=D.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const x=await m();g.value=x.default??x}else g.value=m}function b(m){u("update:modelValue",m),u("change",m),l.field&&(s[l.field]=m),D.EventBus.emit("updateformData"+n.id,s)}function T(m){u("update:dynamicId",m)}let Y=null;return e.watch(()=>l,async m=>{const k=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(k===Y)return!1;Y=k,z()},{immediate:!0,deep:!0}),e.onUnmounted(W),(m,k)=>{var C;const I=e.resolveComponent("ENode");return g.value&&A.value?(e.openBlock(),e.createBlock(Ee,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=N.value)==null?void 0:C.defaultSchema.input),formItemProps:_.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),e.mergeProps({ref_key:"componentInstance",ref:E,onVnodeMounted:L,model:e.unref(s)},{...M.value},{[M.value.bindModel]:o.value,["onUpdate:"+M.value.bindModel]:k[0]||(k[0]=x=>o.value=x),[`onUpdate:${M.value.bindModel}`||""]:b,"onUpdate:dynamicId":T}),{node:e.withCtx(x=>[e.createVNode(I,e.mergeProps({id:n.id},x,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ke(){const t=e.ref(!1),a=Q(),r=e.ref({});function n(){return new Promise(f=>{if(t.value)f();else{const p=e.watch(t,()=>{p(),f()})}})}async function o(f="default"){var u;await n();const p=(u=r.value)==null?void 0:u[f];if(!p)throw new Error(`表单 [name=${f}] 不存在`);return p}async function s(f,p){const u=await o(f);return V(await p(u))}async function i(f="default"){return await s(f,p=>p.getData())}function c(f,p="default"){var E;a.setFormData(f,p);const u=(E=r.value)==null?void 0:E[p];u==null||u.clearValidate()}async function d(f="default"){return await s(f,async p=>(await p.validate(),await p.getData()))}async function S(f){await n();const p={};for(const u in r.value){const E=r.value[u];E&&(p[u]=V(await f(E)))}return p}async function v(){return await S(f=>f.getData())}function l(f){for(const p in f)c(f[p],p)}async function y(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:r,getData:i,setData:c,validate:d,getForms:v,setForms:l,validateAll:y,getFormInstance:o}}const De={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:a,emit:r}){const n=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:s,pageManager:i,forms:c,getData:d,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}=ke(),u=t,E=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,g=>{B(E,g)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,g=>{g&&S(g)},{immediate:!0,deep:!0}),e.watch(()=>E.script,g=>{g&&i.setMethods(g,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",E),e.provide("disabled",e.computed(()=>u.disabled));const P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function w(){e.nextTick(()=>{s.value=!0,o("ready",i),h&&i.addComponentInstance("builder",h)})}return D.EventBus.on("updateformData"+u.id,g=>{o("change",g)}),a({ready:s,pageManager:i,getData:d,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}),(g,A)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.schemas,(_,M)=>(e.openBlock(),e.createBlock(e.unref(re),{id:u.id,key:M,sourceDateUrl:u.sourceDateUrl,componentSchema:_},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function G(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,r,n;const o=()=>{a-=1,n&&a<=0&&(n.stop(),r=void 0,n=void 0)};return(...s)=>(a+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...s))),G(o),r)}function $(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _e=t=>typeof t<"u",Ve=Object.prototype.toString,Me=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,r){Ne()?e.onMounted(t,r):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:r=!0,falsyValue:n=!1}=a,o=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const d=$(r);return s.value=s.value===d?$(n):d,s.value}}return o?i:[s,i]}function Re(t,a,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),a(...o)),r);return n}const J=Pe?window:void 0;function F(t){var a;const r=$(t);return(a=r==null?void 0:r.$el)!=null?a:r}function $e(...t){let a,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,a=J):[a,r,n,o]=t,!a)return Be;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const s=[],i=()=>{s.forEach(v=>v()),s.length=0},c=(v,l,y,f)=>(v.addEventListener(l,y,f),()=>v.removeEventListener(l,y,f)),d=e.watch(()=>[F(a),$(o)],([v,l])=>{if(i(),!v)return;const y=Me(l)?{...l}:l;s.push(...r.flatMap(f=>n.map(p=>c(v,f,p,y))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return G(S),S}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function se(...t){let a,r,n={};t.length===3?(a=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,r=t[0],n=t[1]):(a=t[0],r=t[1]):(a=!0,r=t[0]);const{target:o=J,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=n,d=Te(a);return $e(o,s,v=>{v.repeat&&$(c)||d(v)&&r(v)},i)}function H(t,a,r={}){return se(t,a,{...r,eventName:"keydown"})}function K(t,a,r={}){return se(t,a,{...r,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,r={}){const{window:n=J,...o}=r;let s;const i=qe(()=>n&&"ResizeObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=$(t);return Array.isArray(l)?l.map(y=>F(y)):[F(l)]}),S=e.watch(d,l=>{if(c(),i.value&&n){s=new ResizeObserver(a);for(const y of l)y&&s.observe(y,o)}},{immediate:!0,flush:"post"}),v=()=>{c(),S()};return G(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},r={}){const{window:n=J,box:o="content-box"}=r,s=e.computed(()=>{var l,y;return(y=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:y.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=le(t,([l])=>{const y=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&s.value){const f=F(t);if(f){const p=f.getBoundingClientRect();i.value=p.width,c.value=p.height}}else if(y){const f=Array.isArray(y)?y:[y];i.value=f.reduce((p,{inlineSize:u})=>p+u,0),c.value=f.reduce((p,{blockSize:u})=>p+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},r);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){d(),S()}return{width:i,height:c,stop:v}}function Je(t,a,r,n={}){var o,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:v=!1,defaultValue:l,shouldEmit:y}=n,f=e.getCurrentInstance(),p=r||(f==null?void 0:f.emit)||((o=f==null?void 0:f.$emit)==null?void 0:o.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let u=S;a||(a="modelValue"),u=u||`update:${a.toString()}`;const E=w=>c?typeof c=="function"?c(w):Le(w):w,P=()=>_e(t[a])?E(t[a]):l,h=w=>{y?y(w)&&p(u,w):p(u,w)};if(d){const w=P(),g=e.ref(w);let A=!1;return e.watch(()=>t[a],_=>{A||(A=!0,g.value=E(_),e.nextTick(()=>A=!1))}),e.watch(g,_=>{!A&&(_!==t[a]||v)&&h(_)},{deep:v}),g}else return e.computed({get(){return P()},set(w){h(w)}})}function We(){const{isDark:t}=q(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const s=o.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:r}=ie(),{pressSpace:n,pressShift:o,pressCtrl:s}=de();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:s,disabledZoom:a,isDark:r}}const q=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),r=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",n=>{n.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",n=>{n.preventDefault(),r.value=!0}),K("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:r}}function Ke(t){const{pressSpace:a}=q(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function s(d){var S;a.value&&(n=d.x,o=d.y,(S=d.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(d){if(d.preventDefault(),!d.x||!d.y||!a.value)return;const S=d.x-n,v=d.y-o;n=d.x,o=d.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:r,disabledZoom:n}=q();function o(s){if(!a.value||n.value)return;s.preventDefault();let i=0;s.deltaY<0?i=r.value+.05:i=r.value-.05,!(i>150||i<.5)&&(r.value=i)}return e.watch(()=>r.value,s=>{t.value&&!n.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:o,canvasScale:r}}function Qe(t,a=16.66){let r;function n(){o(),r=window.setInterval(t,a)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const r=D.pluginManager.getComponent("monacoEditor"),n=D.pluginManager.getComponent("modal"),o=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),d=e.inject("pageSchema"),S=e.ref(null),v=e.ref("");function l(){i.value=!1}function y(){s.value=!1}function f(){s.value=!0,v.value=U()}async function p(){try{let u=await S.value.validateAll();if(!Object.keys(u).length){alert("请添加表单组件后再尝试!");return}Object.keys(u).length===1&&(u=u.default),c.value=JSON.stringify(u,null,2),e.nextTick(()=>{var E;(E=o.value)==null||E.setValue(c.value)}),i.value=!0}catch(u){console.error(u)}}return a({handleOpen:f}),(u,E)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:s.value,"onUpdate:modelValue":E[1]||(E[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:y,onOk:p,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:v.value,ref_key:"kb",ref:S,"page-schema":e.unref(d)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:i.value,"onUpdate:modelValue":E[0]||(E[0]=P=>i.value=P),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:r}){const n=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),o=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BvRS3i9N.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=Q(),S=oe(),v=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
2
+
3
+ function test (){
4
+ console.log('test')
5
+ }
6
+
7
+ // 通过defineExpose暴露的函数或者属性
8
+ defineExpose({
9
+ test
10
+ })`};e.watchEffect(()=>{if(v.defaultSchema){l=v.defaultSchema;return}v.source&&D.pluginManager.setSourceData(v.source),v.formMode&&(l.schemas=D.pluginManager.formSchemas)}),d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const y=r,f=e.ref(null),p=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:E}=q();e.watchEffect(()=>{E.value=v.disabledZoom}),e.watchEffect(()=>{const b=u.script;b&&b!==""&&d.setMethods(b)}),e.provide("pageSchema",u),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>v)),e.provide("designer",{setCheckedNode:h,setHoverNode:w,setDisableHover:A,handleToggleDeviceMode:W,reset:N,state:p}),D.EventBus.on("saveSourceData",b=>{y("saveSourceData",b)}),D.EventBus.on("deleteSourceData",b=>{y("deleteSourceData",b)}),D.EventBus.on("updateSourceData",b=>{y("updateSourceData",b)});function P(){u.schemas=V(l.schemas),h(u.schemas[0]),S.push(u.schemas,"初始化撤销功能")}async function h(b=u.schemas[0]){p.checkedNode=b,p.matched=ee(u.schemas,b.id)}async function w(b=null){var T;if(!b||p.disableHover)return p.hoverNode=null,!1;if((b==null?void 0:b.id)===((T=p.hoverNode)==null?void 0:T.id))return!1;p.hoverNode=b}function g(){e.nextTick(()=>{y("ready",{pageManager:d})})}async function A(b=!1){p.disableHover=b}function _(b){B(u,V(b))}function M(){return e.toRaw(u)}function N(){Z(u.schemas,l.schemas)&&u.script===l.script||(B(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),S.push(u.schemas,"重置操作"),y("reset",u))}function L(){y("save",e.toRaw(u))}function W(b){y("toggleDeviceMode",b)}function z(){f.value.handleOpen()}return P(),a({revoke:S,setData:_,getData:M,reset:N,preview:z}),(b,T)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:g},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(b.$slots,"header",{},()=>[v.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:z,onSave:L},{header:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(b.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":b.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:f},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(c))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-BqPBE6Y2.cjs")),defaultSchema:{label:"代码编辑器",type:"monacoEditor",field:"monacoEditor",icon:"epic-icon-write",input:!0},config:{attribute:[{label:"字段名",type:"input",field:"field"},{label:"标题",type:"input",field:"label"},{label:"默认值",type:"monacoEditor",field:"componentProps.defaultValue"}]},bindModel:"model-value"},at={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:"页面",type:"page",componentProps:{},children:[]},config:{attribute:[{label:"页面名称",type:"input",componentProps:{placeholder:"请输入"},field:"componentProps.name"}]}};function st(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-DpzLP1Zp.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-BffcOK9E.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-DWA3Pa6_.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-i26diW3P.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-Bl9bHpGb.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-CKl_FM23.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-B03W7FZR.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-C7Rkr11-.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-CJSEUbgc.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-CkX6fubE.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-D_DJWtjt.cjs"))}),[rt,at].forEach(r=>{t.registerComponent(r)})}st(D.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=Ce;exports.deepClone=V;exports.deepCompareAndModify=B;exports.deepEqual=Z;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=R;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=U;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=O;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=Q;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=q;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
@@ -0,0 +1,4 @@
1
+ import { _ as f } from "./index-QcfCoknU.js";
2
+ export {
3
+ f as default
4
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CTjIY8cx.cjs"),a=require("./axios-CYGTE3lR.cjs");exports.EBuilder=e._sfc_main$1;exports.EDesigner=e._sfc_main$2;exports.ENode=e._sfc_main;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;exports.debounce=e.debounce;exports.deepClone=e.deepClone;exports.deepCompareAndModify=e.deepCompareAndModify;exports.deepEqual=e.deepEqual;exports.findSchemaById=e.findSchemaById;exports.findSchemaInfoById=e.findSchemaInfoById;exports.findSchemas=e.findSchemas;exports.generateNewSchema=e.generateNewSchema;exports.getDarkState=e.getDarkState;exports.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.initStore=e.initStore;exports.mapSchemas=e.mapSchemas;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;exports.useDark=e.useDark;exports.useElementDrag=e.useElementDrag;exports.useElementZoom=e.useElementZoom;exports.useKeyPress=e.useKeyPress;exports.usePageManager=e.usePageManager;exports.useRevoke=e.useRevoke;exports.useStore=e.useStore;exports.useTheme=e.useTheme;exports.useTimedQuery=e.useTimedQuery;exports.EventBus=a.EventBus;exports.PluginManager=a.PluginManager;exports.loadAsyncComponent=a.loadAsyncComponent;exports.pluginManager=a.pluginManager;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-rlyOYH5_.cjs"),a=require("./axios-CYGTE3lR.cjs");exports.EBuilder=e._sfc_main$1;exports.EDesigner=e._sfc_main$2;exports.ENode=e._sfc_main;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;exports.debounce=e.debounce;exports.deepClone=e.deepClone;exports.deepCompareAndModify=e.deepCompareAndModify;exports.deepEqual=e.deepEqual;exports.findSchemaById=e.findSchemaById;exports.findSchemaInfoById=e.findSchemaInfoById;exports.findSchemas=e.findSchemas;exports.generateNewSchema=e.generateNewSchema;exports.getDarkState=e.getDarkState;exports.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.initStore=e.initStore;exports.mapSchemas=e.mapSchemas;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;exports.useDark=e.useDark;exports.useElementDrag=e.useElementDrag;exports.useElementZoom=e.useElementZoom;exports.useKeyPress=e.useKeyPress;exports.usePageManager=e.usePageManager;exports.useRevoke=e.useRevoke;exports.useStore=e.useStore;exports.useTheme=e.useTheme;exports.useTimedQuery=e.useTimedQuery;exports.EventBus=a.EventBus;exports.PluginManager=a.PluginManager;exports.loadAsyncComponent=a.loadAsyncComponent;exports.pluginManager=a.pluginManager;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-CH2IxHQE.js";
1
+ import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-QcfCoknU.js";
2
2
  import { E as T, P as U, l as V, p as b } from "./axios-ITY6Uw7A.js";
3
3
  export {
4
4
  s as EBuilder,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as k, inject as c, computed as P, openBlock as a, createElementBlock as s, Fragment as S, renderList as b, createElementVNode as d, normalizeClass as V, toDisplayString as w, createCommentVNode as u, createVNode as C, unref as i, nextTick as E } from "vue";
2
- import { _ as z, o as I, s as y } from "./index-CH2IxHQE.js";
2
+ import { _ as z, o as I, s as y } from "./index-QcfCoknU.js";
3
3
  import "./axios-ITY6Uw7A.js";
4
4
  const N = ["title"], B = { class: "epic-attr-input" }, D = /* @__PURE__ */ k({
5
5
  __name: "styleView",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-CTjIY8cx.cjs");require("./axios-CYGTE3lR.cjs");const h=["title"],m={class:"epic-attr-input"},k=e.defineComponent({__name:"styleView",setup(v){const p=e.inject("designer"),u=e.inject("pageSchema"),d=e.inject("revoke"),r=[{label:"宽度",type:"EInputSize",field:"componentProps.style.width"},{label:"高度",type:"EInputSize",field:"componentProps.style.height"},{label:"内边距",type:"EInputSize",field:"componentProps.style.padding"},{label:"外边距",type:"EInputSize",field:"componentProps.style.margin"},{label:"背景色",type:"color-picker",field:"componentProps.style.backgroundColor",componentProps:{type:"color",style:{}}},{label:"字体颜色",type:"color-picker",field:"componentProps.style.color",componentProps:{type:"color",style:{}}}],c=e.computed(()=>p.state.checkedNode);function i(t){var n;return typeof t.show=="boolean"?t.show:((n=t.show)==null?void 0:n.call(t,{values:c.value}))??!0}function y(t,n,l,o=c.value){typeof l.onChange=="function"&&l.onChange({value:t,values:o,componentStyles:r}),l.changeSync?a.setValueByPath(o,n,t):e.nextTick(()=>{a.setValueByPath(o,n,t)}),d.push(u.schemas,"编辑组件属性")}return(t,n)=>{var l;return e.openBlock(),e.createElementBlock("div",{class:"epic-style-view",key:(l=c.value)==null?void 0:l.id},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,o=>{var s;return e.createElementVNode("div",{key:o.field},[i(o)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",o.layout])},[o.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,h)):e.createCommentVNode("",!0),e.createElementVNode("div",m,[e.createVNode(e.unref(a._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,...o.field==="componentProps.defaultValue"?(s=c.value)==null?void 0:s.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":e.unref(a.getValueByPath)(o.editData??c.value,o.field),"onUpdate:modelValue":f=>y(f,o.field,o,o.editData)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2)):e.createCommentVNode("",!0)])}),64))])}}});exports.default=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-rlyOYH5_.cjs");require("./axios-CYGTE3lR.cjs");const h=["title"],m={class:"epic-attr-input"},k=e.defineComponent({__name:"styleView",setup(v){const p=e.inject("designer"),u=e.inject("pageSchema"),d=e.inject("revoke"),r=[{label:"宽度",type:"EInputSize",field:"componentProps.style.width"},{label:"高度",type:"EInputSize",field:"componentProps.style.height"},{label:"内边距",type:"EInputSize",field:"componentProps.style.padding"},{label:"外边距",type:"EInputSize",field:"componentProps.style.margin"},{label:"背景色",type:"color-picker",field:"componentProps.style.backgroundColor",componentProps:{type:"color",style:{}}},{label:"字体颜色",type:"color-picker",field:"componentProps.style.color",componentProps:{type:"color",style:{}}}],c=e.computed(()=>p.state.checkedNode);function i(t){var n;return typeof t.show=="boolean"?t.show:((n=t.show)==null?void 0:n.call(t,{values:c.value}))??!0}function y(t,n,l,o=c.value){typeof l.onChange=="function"&&l.onChange({value:t,values:o,componentStyles:r}),l.changeSync?a.setValueByPath(o,n,t):e.nextTick(()=>{a.setValueByPath(o,n,t)}),d.push(u.schemas,"编辑组件属性")}return(t,n)=>{var l;return e.openBlock(),e.createElementBlock("div",{class:"epic-style-view",key:(l=c.value)==null?void 0:l.id},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,o=>{var s;return e.createElementVNode("div",{key:o.field},[i(o)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",o.layout])},[o.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,h)):e.createCommentVNode("",!0),e.createElementVNode("div",m,[e.createVNode(e.unref(a._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,...o.field==="componentProps.defaultValue"?(s=c.value)==null?void 0:s.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":e.unref(a.getValueByPath)(o.editData??c.value,o.field),"onUpdate:modelValue":f=>y(f,o.field,o,o.editData)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2)):e.createCommentVNode("",!0)])}),64))])}}});exports.default=k;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "epic-designer-gold",
3
3
  "private": false,
4
- "version": "0.0.31",
4
+ "version": "0.0.32",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -1,10 +0,0 @@
1
- "use strict";const e=require("vue"),D=require("./axios-CYGTE3lR.cjs");function U(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<t;r++){const n=Math.floor(Math.random()*a.length);o+=a[n]}return o}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function _(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const r=t.map(n=>_(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=_(t[r],a)}),o}function he(t){const[a]=ne([_(t)],o=>{var n,s;const r={...o,id:`${o.type}_${U(8)}`};return(r.field||r.input)&&!((s=(n=D.pluginManager.getComponentConfingByType(r.type))==null?void 0:n.editConstraints)!=null&&s.fixedField)&&(r.field=r.id),r});return a}function B(t,a,o=!0){for(const[r,n]of Object.entries(a)){let s=t==null?void 0:t[r];s&&n&&typeof s=="object"&&typeof n=="object"?(Array.isArray(s)&&!Array.isArray(n)?s=t[r]={}:!Array.isArray(s)&&Array.isArray(n)&&(s=t[r]=[]),B(s,n,o)):t[r]=n}o&&Object.keys(t).reverse().forEach(r=>{a.hasOwnProperty(r)||(Array.isArray(t)?t.splice(Number(r),1):delete t[r])})}function Z(t,a,o=[],r=new WeakMap){const n=s=>{if(Array.isArray(s))return s.map(n);if(typeof s=="object"&&s!==null){if(r.has(s))return"[Circular]";r.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(d=>{o.includes(d)||(c[d]=n(s[d]))}),r.delete(s),c}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function ee(t,a){const o=[];let r=!1;function n(s){if(o.push(s),s.id===a&&(r=!0),!r&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(n(s.children[i]),!r);i++);if(!r&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(n(s.slots[i][c]),!r);c++);r||o.pop()}return t.forEach(n),r||console.error(`没有查询到id为${a}的节点`),o}function ve(t,a,o){const r=a.split(".");let n=t;for(let s=0;s<r.length;s++){if(n==null)return o;n=n[r[s]]}return n===void 0?o:n}function ge(t,a,o){const r=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let n=t;for(let s=0;s<r.length-1;s++){const i=r[s];n[i]==null&&(n[i]=isNaN(Number(r[s+1]))?{}:[]),n=n[i]}return n[r[r.length-1]]=o,t}function ye(t,a="default"){return te(t,a).map(r=>r.field)}function te(t,a="default"){const o=R(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return R((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function R(t,a,o=!1,r){const n=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!r||r(i))&&s.push(...i.children),i!=null&&i.slots&&(!r||r(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function ne(t,a,o){const r=[...t];for(;r.length;){const n=r.pop();if(n!=null&&n.children&&(!o||o(n))&&r.push(...n.children),n!=null&&n.slots&&(!o||o(n)))for(let s in n.slots)r.push(...n.slots[s]);B(n,a(n))}return t}function we(t,a){const o=R(t,r=>r.id===a,!0);if(!o)throw new Error(`没有查询到id为${a}的节点`);return o}function Se(t,a){const o=[{type:"",children:t}];let r=0,n=null;if(R(o,s=>{if(n=s.children??null,!n){if(s!=null&&s.slots)for(let i in s.slots){n=s.slots[i];for(let c=0;c<n.length;c++)if(n[c].id===a)return r=c,!0}return!1}for(let i=0;i<n.length;i++)if(n[i].id===a)return r=i,!0;return!1},!0),!n)throw new Error(`没有查询到id为${a}的节点`);return{list:n,schema:n[r],index:r}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+U()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=O(t.list),a}function O(t,a){return t.map(o=>{var d,S,g;let r=o.type??"";const n=o.options??{},s=(l,y)=>{r===l&&(r=y,n.defaultValue&&(n.defaultValue=JSON.parse(n.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),r==="date"&&n.range&&(n.type="daterange",delete n.range),(r==="date"||r==="time")&&(n.valueFormat=n.format),r==="textarea"){const{minRows:l,maxRows:y}=n;n.autoSize={minRows:l,maxRows:y},delete n.minRows,delete n.maxRows}r==="number"&&!n.precision&&delete n.precision,n.width&&(n.style={width:n.width},delete n.width),r==="grid"&&(r="row"),a&&a.type==="grid"&&(r="col",n.span=o.span,o.key=U());const i={label:o.label,type:r,icon:o.icon||"",field:o.model,componentProps:n,id:o.key};return(n.noFormItem||!n.showLabel)&&(i.noFormItem=!0,delete n.noFormItem,delete n.showLabel),n.clearable&&(n.allowClear=!0,delete n.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(r)&&(i.input=!0,((S=(d=o.rules)==null?void 0:d[0])==null?void 0:S.required)===!1&&o.rules.shift(),((g=o.rules)==null?void 0:g.length)>0&&(i.rules=o.rules)),o.list&&(i.children=O(o.list,o)),o.columns&&(i.children=O(o.columns,o)),o.trs&&(i.children=O(o.trs,o)),o.tds&&(i.children=O(o.tds,o)),i})}function Ce(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function Q(){const t=e.ref({}),a=e.ref({}),o=e.ref(!1),r=e.ref([]),n=e.reactive({});function s(h){return t.value[h]}function i(h,w){t.value[h]=w}function c(h){delete t.value[h]}function d(h,w=!1){const v=Object.entries(D.pluginManager.publicMethods).reduce((A,[V,M])=>(A[V]=M.handler,A),{});try{new Function(`const epic = this;${h}`).bind({...v,getComponent:s,find:s,defineExpose:S,publicMethods:v,pluginManager:D.pluginManager})()}catch(A){w&&console.error("[epic:自定义函数]异常:",A)}}function S(h){h!=null&&(a.value=h)}function g(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(v=>{const A=v.args?JSON.parse(v.args):w;switch(v.type){case"public":l(v,A);break;case"custom":y(v,A);break;case"component":f(v,A);break;default:console.warn(`未知的动作类型: ${v.type}`);break}})}function l(h,w){var v;try{(v=D.pluginManager.publicMethods[h.methodName])==null||v.handler(...w)}catch(A){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,A)}}function y(h,w){var v,A;try{(A=(v=a.value)[h.methodName])==null||A.call(v,...w)}catch(V){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,V)}}function f(h,w){const v=h.componentId!=null&&s(h.componentId);if(!v){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{v[h.methodName](...w)}catch(A){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,A)}}function p(h=!0){o.value=h}function u(h){const w=R(h,()=>!0);r.value=w.map(v=>v.id)}function k(h,w="default"){if(n[w]){const v=n[w];B(h,v)}n[w]=h}function P(h,w="default"){if(n[w]){B(n[w],h,!1);return}n[w]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:k,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:g,setDesignMode:p,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(d,S="插入组件"){const g=Date.now();r+150>g||(r=g,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.value={type:S,componentSchema:JSON.stringify(d)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const d=t.value.pop();return o.value!=null&&a.value.push(o.value),o.value=d,JSON.parse(d.componentSchema)}function i(){if(a.value.length===0)return!1;const d=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=d,JSON.parse(d.componentSchema)}function c(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:c}}const ke=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const o=D.pluginManager.getComponent("form-item"),r=t,n=a,s=e.ref(),i=()=>{n("updateFormItemRef",s.value)};return(c,d)=>r.hasFormItem?(e.openBlock(),e.createBlock(e.unref(o),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},r.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:o}=e.getCurrentInstance(),r=t,n=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),g=e.inject("resetFormData",!1);let l=e.reactive(_(r.componentSchema));p();async function y(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&r.sourceDateUrl){const C=(await D.axios({url:r.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;let x=await D.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],x.data);m.componentProps.options=f(fe,C.dataKey,C.dataValue)}else m.componentProps.options=f(x.data,C.dataKey,C.dataValue);return m}return m}function f(m,E,I){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(C=>C.children&&C.children.length?{label:C[E],value:C[I]+"",children:f(C.children,E,I)}:{label:C[E],value:C[I]+""}):[]}e.watch(()=>r.componentSchema,m=>{Z(l,m,["children"])||(B(l,_(m)),p())},{deep:!0});function p(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||g)&&(s={});const u=a,k=e.ref(),P=e.ref(),h=m=>{P.value=m},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const v=e.shallowRef(null),A=e.computed(()=>{var m,E;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((E=l.show)==null?void 0:E.call(l,{values:s}))??!0}),V=e.computed(()=>{var C;const m=A.value&&((C=l.rules)==null?void 0:C.map(x=>({...x,validator:x.validator&&c.funcs.value[x.validator]})));let E=l.field;r.ruleField?E=r.ruleField:S&&l.field&&(E=_(S),E.push(l.field));const I={...l,rules:m,rule:m,field:E};return I.children&&delete I.children,I}),M=e.computed(()=>{var I,C;const m=((I=N.value)==null?void 0:I.bindModel)??"modelValue",E={};return l.on&&Object.keys(l.on).forEach(x=>{E[`on${j(x)}`]=(...X)=>c.doActions(l.on[x],...X)}),{...r,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:m,...E}}),N=e.computed(()=>D.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{n.value=r.modelValue??s[l.field??""]}),e.watch(()=>n.value,()=>{n.value!==(r.modelValue??s[l.field??""])&&b(n.value)}),e.watch(()=>k.value,()=>{L()},{immediate:!0});function L(){var E;const m=k.value||o;l.id&&m&&(l.input&&(m.setValue=b,m.getValue=()=>s[l.field]||r.modelValue),m.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),m.getAttr=I=>l.componentProps[I],c.addComponentInstance(l.id,m),(E=N.value)!=null&&E.defaultSchema.input&&l.noFormItem!==!0&&P.value&&c.addComponentInstance(l.id+"formItem",P.value))}function W(){var m;l.id&&(c.removeComponentInstance(l.id),(m=N.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function z(){var E,I,C;if(l=await y(l),typeof((E=l.componentProps)==null?void 0:E.defaultValue)<"u"){const x=c.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);b(_(x))}if(l.type==="slot"){const x=l.slotName;if(!x)return;v.value=e.defineComponent({setup(){return()=>e.renderSlot(i,x,{componentSchema:l,model:s})}});return}const m=D.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const x=await m();v.value=x.default??x}else v.value=m}function b(m){u("update:modelValue",m),u("change",m),l.field&&(s[l.field]=m),D.EventBus.emit("updateformData",s)}function T(m){u("update:dynamicId",m)}let Y=null;return e.watch(()=>l,async m=>{const E=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(E===Y)return!1;Y=E,z()},{immediate:!0,deep:!0}),e.onUnmounted(W),(m,E)=>{var C;const I=e.resolveComponent("ENode");return v.value&&A.value?(e.openBlock(),e.createBlock(ke,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=N.value)==null?void 0:C.defaultSchema.input),formItemProps:V.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:L,model:e.unref(s)},{...M.value},{[M.value.bindModel]:n.value,["onUpdate:"+M.value.bindModel]:E[0]||(E[0]=x=>n.value=x),[`onUpdate:${M.value.bindModel}`||""]:b,"onUpdate:dynamicId":T}),{node:e.withCtx(x=>[e.createVNode(I,e.mergeProps(x,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=Q(),o=e.ref({});function r(){return new Promise(f=>{if(t.value)f();else{const p=e.watch(t,()=>{p(),f()})}})}async function n(f="default"){var u;await r();const p=(u=o.value)==null?void 0:u[f];if(!p)throw new Error(`表单 [name=${f}] 不存在`);return p}async function s(f,p){const u=await n(f);return _(await p(u))}async function i(f="default"){return await s(f,p=>p.getData())}function c(f,p="default"){var k;a.setFormData(f,p);const u=(k=o.value)==null?void 0:k[p];console.log("%c [ form ]-63","font-size:13px; background:pink; color:#bf2c9f;",u),u==null||u.clearValidate()}async function d(f="default"){return await s(f,async p=>(await p.validate(),await p.getData()))}async function S(f){await r();const p={};for(const u in o.value){const k=o.value[u];k&&(p[u]=_(await f(k)))}return p}async function g(){return await S(f=>f.getData())}function l(f){for(const p in f)c(f[p],p)}async function y(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:d,getForms:g,setForms:l,validateAll:y,getFormInstance:n}}const De={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["change","ready"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:c,getData:d,setData:S,validate:g,getForms:l,setForms:y,validateAll:f,getFormInstance:p}=Ee(),u=t,k=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,v=>{B(k,v)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,v=>{v&&S(v)},{immediate:!0,deep:!0}),e.watch(()=>k.script,v=>{v&&i.setMethods(v,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>u.disabled));const P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function w(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return D.EventBus.on("updateformData",v=>{console.log("%c [ e ]-122","font-size:13px; background:pink; color:#bf2c9f;",v),n("change",v)}),a({ready:s,pageManager:i,getData:d,setData:S,validate:g,getForms:l,setForms:y,validateAll:f,getFormInstance:p}),(v,A)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(V,M)=>(e.openBlock(),e.createBlock(e.unref(re),{key:M,sourceDateUrl:u.sourceDateUrl,componentSchema:V,onChange:v.getDataChange},null,8,["sourceDateUrl","componentSchema","onChange"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function G(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,o,r;const n=()=>{a-=1,r&&a<=0&&(r.stop(),o=void 0,r=void 0)};return(...s)=>(a+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...s))),G(n),o)}function $(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ve=t=>typeof t<"u",_e=Object.prototype.toString,Me=t=>_e.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const d=$(o);return s.value=s.value===d?$(r):d,s.value}}return n?i:[s,i]}function Re(t,a,o){const r=e.watch(t,(...n)=>(e.nextTick(()=>r()),a(...n)),o);return r}const J=Pe?window:void 0;function F(t){var a;const o=$(t);return(a=o==null?void 0:o.$el)!=null?a:o}function $e(...t){let a,o,r,n;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,r,n]=t,a=J):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(g=>g()),s.length=0},c=(g,l,y,f)=>(g.addEventListener(l,y,f),()=>g.removeEventListener(l,y,f)),d=e.watch(()=>[F(a),$(n)],([g,l])=>{if(i(),!g)return;const y=Me(l)?{...l}:l;s.push(...o.flatMap(f=>r.map(p=>c(g,f,p,y))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return G(S),S}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function se(...t){let a,o,r={};t.length===3?(a=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,o=t[0],r=t[1]):(a=t[0],o=t[1]):(a=!0,o=t[0]);const{target:n=J,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=r,d=Te(a);return $e(n,s,g=>{g.repeat&&$(c)||d(g)&&o(g)},i)}function H(t,a,o={}){return se(t,a,{...o,eventName:"keydown"})}function K(t,a,o={}){return se(t,a,{...o,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,o={}){const{window:r=J,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=$(t);return Array.isArray(l)?l.map(y=>F(y)):[F(l)]}),S=e.watch(d,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const y of l)y&&s.observe(y,n)}},{immediate:!0,flush:"post"}),g=()=>{c(),S()};return G(g),{isSupported:i,stop:g}}function ze(t,a={width:0,height:0},o={}){const{window:r=J,box:n="content-box"}=o,s=e.computed(()=>{var l,y;return(y=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:y.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=le(t,([l])=>{const y=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const f=F(t);if(f){const p=f.getBoundingClientRect();i.value=p.width,c.value=p.height}}else if(y){const f=Array.isArray(y)?y:[y];i.value=f.reduce((p,{inlineSize:u})=>p+u,0),c.value=f.reduce((p,{blockSize:u})=>p+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function g(){d(),S()}return{width:i,height:c,stop:g}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:g=!1,defaultValue:l,shouldEmit:y}=r,f=e.getCurrentInstance(),p=o||(f==null?void 0:f.emit)||((n=f==null?void 0:f.$emit)==null?void 0:n.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let u=S;a||(a="modelValue"),u=u||`update:${a.toString()}`;const k=w=>c?typeof c=="function"?c(w):Le(w):w,P=()=>Ve(t[a])?k(t[a]):l,h=w=>{y?y(w)&&p(u,w):p(u,w)};if(d){const w=P(),v=e.ref(w);let A=!1;return e.watch(()=>t[a],V=>{A||(A=!0,v.value=k(V),e.nextTick(()=>A=!1))}),e.watch(v,V=>{!A&&(V!==t[a]||g)&&h(V)},{deep:g}),v}else return e.computed({get(){return P()},set(w){h(w)}})}function We(){const{isDark:t}=q(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),o=new MutationObserver(function(r){for(var n of r)if(n.type==="attributes"&&n.attributeName==="class"){const s=n.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});o.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{o.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ie(),{pressSpace:r,pressShift:n,pressCtrl:s}=de();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const q=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",r=>{r.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",r=>{r.preventDefault(),o.value=!0}),K("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=q(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(d){var S;a.value&&(r=d.x,n=d.y,(S=d.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(d){if(d.preventDefault(),!d.x||!d.y||!a.value)return;const S=d.x-r,g=d.y-n;r=d.x,n=d.y,t.value&&(t.value.scrollTop-=g,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=q();function n(s){if(!a.value||r.value)return;s.preventDefault();let i=0;s.deltaY<0?i=o.value+.05:i=o.value-.05,!(i>150||i<.5)&&(o.value=i)}return e.watch(()=>o.value,s=>{t.value&&!r.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:n,canvasScale:o}}function Qe(t,a=16.66){let o;function r(){n(),o=window.setInterval(t,a)}function n(){window.clearInterval(o)}return{startTimedQuery:r,stopTimedQuery:n}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const o=D.pluginManager.getComponent("monacoEditor"),r=D.pluginManager.getComponent("modal"),n=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),d=e.inject("pageSchema"),S=e.ref(null),g=e.ref("");function l(){i.value=!1}function y(){s.value=!1}function f(){s.value=!0,g.value=U()}async function p(){try{let u=await S.value.validateAll();if(!Object.keys(u).length){alert("请添加表单组件后再尝试!");return}Object.keys(u).length===1&&(u=u.default),c.value=JSON.stringify(u,null,2),e.nextTick(()=>{var k;(k=n.value)==null||k.setValue(c.value)}),i.value=!0}catch(u){console.error(u)}}return a({handleOpen:f}),(u,k)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:y,onOk:p,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:g.value,ref_key:"kb",ref:S,"page-schema":e.unref(d)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=P=>i.value=P),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(o),{ref_key:"monacoEditorRef",ref:n,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),n=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-DbioQCL7.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=Q(),S=oe(),g=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
2
-
3
- function test (){
4
- console.log('test')
5
- }
6
-
7
- // 通过defineExpose暴露的函数或者属性
8
- defineExpose({
9
- test
10
- })`};e.watchEffect(()=>{if(g.defaultSchema){l=g.defaultSchema;return}g.source&&D.pluginManager.setSourceData(g.source),g.formMode&&(l.schemas=D.pluginManager.formSchemas)}),d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const y=o,f=e.ref(null),p=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=q();e.watchEffect(()=>{k.value=g.disabledZoom}),e.watchEffect(()=>{const b=u.script;b&&b!==""&&d.setMethods(b)}),e.provide("pageSchema",u),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>g)),e.provide("designer",{setCheckedNode:h,setHoverNode:w,setDisableHover:A,handleToggleDeviceMode:W,reset:N,state:p}),D.EventBus.on("saveSourceData",b=>{y("saveSourceData",b)}),D.EventBus.on("deleteSourceData",b=>{y("deleteSourceData",b)}),D.EventBus.on("updateSourceData",b=>{y("updateSourceData",b)});function P(){u.schemas=_(l.schemas),h(u.schemas[0]),S.push(u.schemas,"初始化撤销功能")}async function h(b=u.schemas[0]){p.checkedNode=b,p.matched=ee(u.schemas,b.id)}async function w(b=null){var T;if(!b||p.disableHover)return p.hoverNode=null,!1;if((b==null?void 0:b.id)===((T=p.hoverNode)==null?void 0:T.id))return!1;p.hoverNode=b}function v(){e.nextTick(()=>{y("ready",{pageManager:d})})}async function A(b=!1){p.disableHover=b}function V(b){B(u,_(b))}function M(){return e.toRaw(u)}function N(){Z(u.schemas,l.schemas)&&u.script===l.script||(B(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),S.push(u.schemas,"重置操作"),y("reset",u))}function L(){y("save",e.toRaw(u))}function W(b){y("toggleDeviceMode",b)}function z(){f.value.handleOpen()}return P(),a({revoke:S,setData:V,getData:M,reset:N,preview:z}),(b,T)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:v},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(b.$slots,"header",{},()=>[g.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:z,onSave:L},{header:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(b.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":b.hiddenHeader}])},[e.createVNode(e.unref(n)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:f},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(c))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-CpxsakMD.cjs")),defaultSchema:{label:"代码编辑器",type:"monacoEditor",field:"monacoEditor",icon:"epic-icon-write",input:!0},config:{attribute:[{label:"字段名",type:"input",field:"field"},{label:"标题",type:"input",field:"label"},{label:"默认值",type:"monacoEditor",field:"componentProps.defaultValue"}]},bindModel:"model-value"},at={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:"页面",type:"page",componentProps:{},children:[]},config:{attribute:[{label:"页面名称",type:"input",componentProps:{placeholder:"请输入"},field:"componentProps.name"}]}};function st(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-DpzLP1Zp.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-C5H0qK7d.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-D0T4HwOl.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-Bb8XSoYT.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-jV4vV6jn.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-BhIZKk9i.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-B03W7FZR.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-ZbUi21VA.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-CJSEUbgc.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-CkDUbzuR.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-sGpDpZDg.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(D.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=Ce;exports.deepClone=_;exports.deepCompareAndModify=B;exports.deepEqual=Z;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=R;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=U;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=O;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=Q;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=q;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
@@ -1,4 +0,0 @@
1
- import { _ as f } from "./index-CH2IxHQE.js";
2
- export {
3
- f as default
4
- };