UNPKG

form-designer-xinyi

Version:

基于vue3的设计器,可视化开发页面表单

3,411 lines 82.4 kB
import { pluginManager as ee } from "form-designer-xinyi";
import { c as te, g as le } from "./_commonjsHelpers-BkfeUUK-.js";
import { version as oe } from "ant-design-vue";
var j = { exports: {} }, Z;
function ae() {
  return Z || (Z = 1, function(t, e) {
    (function(g, v) {
      t.exports = v();
    })(te, function() {
      var g = 1e3, v = 6e4, _ = 36e5, Y = "millisecond", f = "second", x = "minute", V = "hour", w = "day", z = "week", P = "month", q = "quarter", k = "year", D = "date", A = "Invalid Date", G = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, Q = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, K = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(p) {
        var a = ["th", "st", "nd", "rd"], l = p % 100;
        return "[" + p + (a[(l - 20) % 10] || a[l] || a[0]) + "]";
      } }, F = function(p, a, l) {
        var n = String(p);
        return !n || n.length >= a ? p : "" + Array(a + 1 - n.length).join(l) + p;
      }, X = { s: F, z: function(p) {
        var a = -p.utcOffset(), l = Math.abs(a), n = Math.floor(l / 60), o = l % 60;
        return (a <= 0 ? "+" : "-") + F(n, 2, "0") + ":" + F(o, 2, "0");
      }, m: function p(a, l) {
        if (a.date() < l.date()) return -p(l, a);
        var n = 12 * (l.year() - a.year()) + (l.month() - a.month()), o = a.clone().add(n, P), r = l - o < 0, i = a.clone().add(n + (r ? -1 : 1), P);
        return +(-(n + (l - o) / (r ? o - i : i - o)) || 0);
      }, a: function(p) {
        return p < 0 ? Math.ceil(p) || 0 : Math.floor(p);
      }, p: function(p) {
        return { M: P, y: k, w: z, d: w, D, h: V, m: x, s: f, ms: Y, Q: q }[p] || String(p || "").toLowerCase().replace(/s$/, "");
      }, u: function(p) {
        return p === void 0;
      } }, T = "en", M = {};
      M[T] = K;
      var U = "$isDayjsObject", I = function(p) {
        return p instanceof H || !(!p || !p[U]);
      }, O = function p(a, l, n) {
        var o;
        if (!a) return T;
        if (typeof a == "string") {
          var r = a.toLowerCase();
          M[r] && (o = r), l && (M[r] = l, o = r);
          var i = a.split("-");
          if (!o && i.length > 1) return p(i[0]);
        } else {
          var s = a.name;
          M[s] = a, o = s;
        }
        return !n && o && (T = o), o || !n && T;
      }, u = function(p, a) {
        if (I(p)) return p.clone();
        var l = typeof a == "object" ? a : {};
        return l.date = p, l.args = arguments, new H(l);
      }, c = X;
      c.l = O, c.i = I, c.w = function(p, a) {
        return u(p, { locale: a.$L, utc: a.$u, x: a.$x, $offset: a.$offset });
      };
      var H = function() {
        function p(l) {
          this.$L = O(l.locale, null, !0), this.parse(l), this.$x = this.$x || l.x || {}, this[U] = !0;
        }
        var a = p.prototype;
        return a.parse = function(l) {
          this.$d = function(n) {
            var o = n.date, r = n.utc;
            if (o === null) return /* @__PURE__ */ new Date(NaN);
            if (c.u(o)) return /* @__PURE__ */ new Date();
            if (o instanceof Date) return new Date(o);
            if (typeof o == "string" && !/Z$/i.test(o)) {
              var i = o.match(G);
              if (i) {
                var s = i[2] - 1 || 0, d = (i[7] || "0").substring(0, 3);
                return r ? new Date(Date.UTC(i[1], s, i[3] || 1, i[4] || 0, i[5] || 0, i[6] || 0, d)) : new Date(i[1], s, i[3] || 1, i[4] || 0, i[5] || 0, i[6] || 0, d);
              }
            }
            return new Date(o);
          }(l), this.init();
        }, a.init = function() {
          var l = this.$d;
          this.$y = l.getFullYear(), this.$M = l.getMonth(), this.$D = l.getDate(), this.$W = l.getDay(), this.$H = l.getHours(), this.$m = l.getMinutes(), this.$s = l.getSeconds(), this.$ms = l.getMilliseconds();
        }, a.$utils = function() {
          return c;
        }, a.isValid = function() {
          return this.$d.toString() !== A;
        }, a.isSame = function(l, n) {
          var o = u(l);
          return this.startOf(n) <= o && o <= this.endOf(n);
        }, a.isAfter = function(l, n) {
          return u(l) < this.startOf(n);
        }, a.isBefore = function(l, n) {
          return this.endOf(n) < u(l);
        }, a.$g = function(l, n, o) {
          return c.u(l) ? this[n] : this.set(o, l);
        }, a.unix = function() {
          return Math.floor(this.valueOf() / 1e3);
        }, a.valueOf = function() {
          return this.$d.getTime();
        }, a.startOf = function(l, n) {
          var o = this, r = !!c.u(n) || n, i = c.p(l), s = function($, h) {
            var C = c.w(o.$u ? Date.UTC(o.$y, h, $) : new Date(o.$y, h, $), o);
            return r ? C : C.endOf(w);
          }, d = function($, h) {
            return c.w(o.toDate()[$].apply(o.toDate("s"), (r ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(h)), o);
          }, m = this.$W, b = this.$M, y = this.$D, E = "set" + (this.$u ? "UTC" : "");
          switch (i) {
            case k:
              return r ? s(1, 0) : s(31, 11);
            case P:
              return r ? s(1, b) : s(0, b + 1);
            case z:
              var S = this.$locale().weekStart || 0, R = (m < S ? m + 7 : m) - S;
              return s(r ? y - R : y + (6 - R), b);
            case w:
            case D:
              return d(E + "Hours", 0);
            case V:
              return d(E + "Minutes", 1);
            case x:
              return d(E + "Seconds", 2);
            case f:
              return d(E + "Milliseconds", 3);
            default:
              return this.clone();
          }
        }, a.endOf = function(l) {
          return this.startOf(l, !1);
        }, a.$set = function(l, n) {
          var o, r = c.p(l), i = "set" + (this.$u ? "UTC" : ""), s = (o = {}, o[w] = i + "Date", o[D] = i + "Date", o[P] = i + "Month", o[k] = i + "FullYear", o[V] = i + "Hours", o[x] = i + "Minutes", o[f] = i + "Seconds", o[Y] = i + "Milliseconds", o)[r], d = r === w ? this.$D + (n - this.$W) : n;
          if (r === P || r === k) {
            var m = this.clone().set(D, 1);
            m.$d[s](d), m.init(), this.$d = m.set(D, Math.min(this.$D, m.daysInMonth())).$d;
          } else s && this.$d[s](d);
          return this.init(), this;
        }, a.set = function(l, n) {
          return this.clone().$set(l, n);
        }, a.get = function(l) {
          return this[c.p(l)]();
        }, a.add = function(l, n) {
          var o, r = this;
          l = Number(l);
          var i = c.p(n), s = function(b) {
            var y = u(r);
            return c.w(y.date(y.date() + Math.round(b * l)), r);
          };
          if (i === P) return this.set(P, this.$M + l);
          if (i === k) return this.set(k, this.$y + l);
          if (i === w) return s(1);
          if (i === z) return s(7);
          var d = (o = {}, o[x] = v, o[V] = _, o[f] = g, o)[i] || 1, m = this.$d.getTime() + l * d;
          return c.w(m, this);
        }, a.subtract = function(l, n) {
          return this.add(-1 * l, n);
        }, a.format = function(l) {
          var n = this, o = this.$locale();
          if (!this.isValid()) return o.invalidDate || A;
          var r = l || "YYYY-MM-DDTHH:mm:ssZ", i = c.z(this), s = this.$H, d = this.$m, m = this.$M, b = o.weekdays, y = o.months, E = o.meridiem, S = function(h, C, L, N) {
            return h && (h[C] || h(n, r)) || L[C].slice(0, N);
          }, R = function(h) {
            return c.s(s % 12 || 12, h, "0");
          }, $ = E || function(h, C, L) {
            var N = h < 12 ? "AM" : "PM";
            return L ? N.toLowerCase() : N;
          };
          return r.replace(Q, function(h, C) {
            return C || function(L) {
              switch (L) {
                case "YY":
                  return String(n.$y).slice(-2);
                case "YYYY":
                  return c.s(n.$y, 4, "0");
                case "M":
                  return m + 1;
                case "MM":
                  return c.s(m + 1, 2, "0");
                case "MMM":
                  return S(o.monthsShort, m, y, 3);
                case "MMMM":
                  return S(y, m);
                case "D":
                  return n.$D;
                case "DD":
                  return c.s(n.$D, 2, "0");
                case "d":
                  return String(n.$W);
                case "dd":
                  return S(o.weekdaysMin, n.$W, b, 2);
                case "ddd":
                  return S(o.weekdaysShort, n.$W, b, 3);
                case "dddd":
                  return b[n.$W];
                case "H":
                  return String(s);
                case "HH":
                  return c.s(s, 2, "0");
                case "h":
                  return R(1);
                case "hh":
                  return R(2);
                case "a":
                  return $(s, d, !0);
                case "A":
                  return $(s, d, !1);
                case "m":
                  return String(d);
                case "mm":
                  return c.s(d, 2, "0");
                case "s":
                  return String(n.$s);
                case "ss":
                  return c.s(n.$s, 2, "0");
                case "SSS":
                  return c.s(n.$ms, 3, "0");
                case "Z":
                  return i;
              }
              return null;
            }(h) || i.replace(":", "");
          });
        }, a.utcOffset = function() {
          return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
        }, a.diff = function(l, n, o) {
          var r, i = this, s = c.p(n), d = u(l), m = (d.utcOffset() - this.utcOffset()) * v, b = this - d, y = function() {
            return c.m(i, d);
          };
          switch (s) {
            case k:
              r = y() / 12;
              break;
            case P:
              r = y();
              break;
            case q:
              r = y() / 3;
              break;
            case z:
              r = (b - m) / 6048e5;
              break;
            case w:
              r = (b - m) / 864e5;
              break;
            case V:
              r = b / _;
              break;
            case x:
              r = b / v;
              break;
            case f:
              r = b / g;
              break;
            default:
              r = b;
          }
          return o ? r : c.a(r);
        }, a.daysInMonth = function() {
          return this.endOf(P).$D;
        }, a.$locale = function() {
          return M[this.$L];
        }, a.locale = function(l, n) {
          if (!l) return this.$L;
          var o = this.clone(), r = O(l, n, !0);
          return r && (o.$L = r), o;
        }, a.clone = function() {
          return c.w(this.$d, this);
        }, a.toDate = function() {
          return new Date(this.valueOf());
        }, a.toJSON = function() {
          return this.isValid() ? this.toISOString() : null;
        }, a.toISOString = function() {
          return this.$d.toISOString();
        }, a.toString = function() {
          return this.$d.toUTCString();
        }, p;
      }(), J = H.prototype;
      return u.prototype = J, [["$ms", Y], ["$s", f], ["$m", x], ["$H", V], ["$W", w], ["$M", P], ["$y", k], ["$D", D]].forEach(function(p) {
        J[p[1]] = function(a) {
          return this.$g(a, p[0], p[1]);
        };
      }), u.extend = function(p, a) {
        return p.$i || (p(a, H, u), p.$i = !0), u;
      }, u.locale = O, u.isDayjs = I, u.unix = function(p) {
        return u(1e3 * p);
      }, u.en = M[T], u.Ls = M, u.p = {}, u;
    });
  }(j)), j.exports;
}
var ne = ae();
const pe = /* @__PURE__ */ le(ne), re = {
  component: async () => (await import("ant-design-vue")).Input,
  groupName: "表单",
  icon: "epic-icon-write",
  defaultSchema: {
    label: "输入框",
    type: "input",
    field: "input",
    input: !0,
    componentProps: {
      placeholder: "请输入"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "默认值",
        type: "input",
        field: "componentProps.defaultValue",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "输入类型",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "text",
              value: "text"
            },
            {
              label: "number",
              value: "number"
            },
            {
              label: "password",
              value: "password"
            }
          ]
        },
        field: "componentProps.type"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "最大输入长度",
        type: "number",
        field: "componentProps.maxlength",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "展示字数",
        type: "switch",
        field: "componentProps.showCount"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "input",
        describe: "输入值时"
      },
      {
        type: "change",
        describe: "值修改时"
      },
      {
        type: "pressEnter",
        describe: "按下回车时"
      },
      {
        type: "focus",
        describe: "获取焦点时"
      },
      {
        type: "blur",
        describe: "失去焦点时"
      }
    ],
    action: [
      {
        type: "focus",
        describe: "使输入框获取焦点"
      },
      {
        type: "blur",
        describe: "使输入框失去焦点"
      },
      {
        type: "select",
        describe: "选中输入框中的文字"
      }
    ]
  },
  bindModel: "value"
}, ie = {
  component: async () => (await import("ant-design-vue")).Textarea,
  groupName: "表单",
  icon: "epic-icon-edit",
  defaultSchema: {
    label: "文本域",
    type: "textarea",
    field: "textarea",
    input: !0,
    componentProps: {
      placeholder: "请输入"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "textarea",
        field: "componentProps.defaultValue",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "最小行数",
        type: "number",
        field: "componentProps.autoSize.minRows",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "最大行数",
        type: "number",
        field: "componentProps.autoSize.maxRows",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "最大输入长度",
        type: "number",
        field: "componentProps.maxLength",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "统计字数",
        type: "switch",
        field: "componentProps.showCount"
      },
      {
        label: "可清除",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "input",
        describe: "输入值"
      },
      {
        type: "change",
        describe: "值修改"
      },
      {
        type: "pressEnter",
        describe: "按下回车的回调"
      },
      {
        type: "focus",
        describe: "获取焦点"
      },
      {
        type: "blur",
        describe: "失去焦点"
      }
    ],
    action: [
      {
        type: "focus",
        describe: "使 input 获取焦点"
      },
      {
        type: "blur",
        describe: "使 input 失去焦点"
      },
      {
        type: "select",
        describe: "选中 input 中的文字"
      }
    ]
  },
  bindModel: "value"
}, ce = {
  component: async () => (await import("ant-design-vue")).InputNumber,
  groupName: "表单",
  icon: "epic-icon-number",
  defaultSchema: {
    label: "数字输入框",
    type: "number",
    field: "number",
    input: !0,
    componentProps: {
      style: { width: "100%" },
      placeholder: "请输入"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "number",
        field: "componentProps.defaultValue",
        componentProps: {
          placeholder: "请输入",
          size: "middle"
        }
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "键盘快捷行为",
        type: "switch",
        field: "componentProps.keyboard"
      },
      {
        label: "最大值",
        type: "number",
        field: "componentProps.max",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "最小值",
        type: "number",
        field: "componentProps.min",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "精度",
        type: "number",
        field: "componentProps.precision",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "步长",
        type: "number",
        field: "componentProps.step",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "字符模式",
        type: "switch",
        field: "componentProps.stringMode"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "number"
        }
      }
    ],
    event: [
      {
        type: "input",
        describe: "输入值"
      },
      {
        type: "change",
        describe: "值修改"
      },
      {
        type: "pressEnter",
        describe: "按下回车的回调"
      },
      {
        type: "focus",
        describe: "获取焦点"
      },
      {
        type: "blur",
        describe: "失去焦点"
      }
    ],
    action: [
      {
        type: "focus",
        describe: "使 input 获取焦点"
      },
      {
        type: "blur",
        describe: "使 input 失去焦点"
      },
      {
        type: "select",
        describe: "选中 input 中的文字"
      }
    ]
  },
  bindModel: "value"
}, se = {
  component: async () => (await import("ant-design-vue")).InputPassword,
  groupName: "表单",
  icon: "epic-icon-mima",
  defaultSchema: {
    label: "密码输入框",
    type: "password",
    field: "password",
    input: !0,
    componentProps: {
      placeholder: "请输入"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "最大输入长度",
        type: "number",
        field: "componentProps.maxLength",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "统计字数",
        type: "switch",
        field: "componentProps.showCount"
      },
      {
        label: "密码可见",
        type: "switch",
        field: "componentProps.visible"
      },
      {
        label: "隐藏切换按钮",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.visibilityToggle"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "input",
        describe: "输入值"
      },
      {
        type: "change",
        describe: "值修改"
      },
      {
        type: "pressEnter",
        describe: "按下回车的回调"
      },
      {
        type: "focus",
        describe: "获取焦点"
      },
      {
        type: "blur",
        describe: "失去焦点"
      }
    ],
    action: [
      {
        type: "focus",
        describe: "使 input 获取焦点"
      },
      {
        type: "blur",
        describe: "使 input 失去焦点"
      },
      {
        type: "select",
        describe: "选中 input 中的文字"
      }
    ]
  },
  bindModel: "value"
}, de = {
  component: async () => (await import("ant-design-vue")).RadioGroup,
  groupName: "表单",
  icon: "epic-icon-danxuan-cuxiantiao",
  defaultSchema: {
    label: "单选框",
    type: "radio",
    field: "radio",
    input: !0,
    componentProps: {
      options: [
        {
          label: "选项1",
          value: "选项1"
        },
        {
          label: "选项2",
          value: "选项2"
        }
      ],
      addValueOptions: []
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "radio",
        field: "componentProps.defaultValue"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "按钮样式",
        type: "switch",
        componentProps: {
          checkedValue: "button",
          unCheckedValue: "default"
        },
        field: "componentProps.optionType"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "选项管理",
        type: "EOptionsEditor",
        layout: "vertical",
        field: "componentProps.options"
      },
      {
        label: "追加值",
        type: "SetAddValue",
        layout: "vertical",
        field: "componentProps.addValueOptions"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      }
    ]
  },
  bindModel: "value"
}, ue = {
  component: async () => (await import("ant-design-vue")).CheckboxGroup,
  groupName: "表单",
  icon: "epic-icon-duoxuan1",
  defaultSchema: {
    label: "多选框",
    type: "checkbox",
    field: "checkbox",
    input: !0,
    componentProps: {
      options: [
        {
          label: "选项1",
          value: "选项1"
        },
        {
          label: "选项2",
          value: "选项2"
        }
      ]
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "checkbox",
        field: "componentProps.defaultValue"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "选项管理",
        type: "EOptionsEditor",
        layout: "vertical",
        field: "componentProps.options"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "array"
        }
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      }
    ]
  },
  bindModel: "value"
}, me = {
  component: async () => (await import("ant-design-vue")).Select,
  groupName: "表单",
  icon: "epic-icon-xiala",
  defaultSchema: {
    label: "选择框",
    type: "select",
    field: "select",
    input: !0,
    componentProps: {
      options: [
        {
          label: "选项1",
          value: "选项1"
        },
        {
          label: "选项2",
          value: "选项2"
        }
      ],
      placeholder: "请选择",
      placement: "bottomLeft"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "默认值",
        type: "select",
        field: "componentProps.defaultValue"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "弹窗高度",
        type: "number",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.listHeight"
      },
      {
        label: "模式",
        type: "select",
        componentProps: {
          options: [
            {
              label: "multiple",
              value: "multiple"
            },
            {
              label: "tags",
              value: "tags"
            },
            {
              label: "combobox",
              value: "combobox"
            }
          ],
          placeholder: "请选择",
          allowClear: !0
        },
        field: "componentProps.mode"
      },
      {
        label: "可搜索",
        type: "switch",
        field: "componentProps.showSearch"
      },
      {
        label: "选中选项后清空搜索框",
        type: "switch",
        field: "componentProps.autoClearSearchValue",
        show: ({ values: t }) => t.componentProps.mode && t.componentProps.showSearch
      },
      {
        label: "最大tag文本长度",
        type: "number",
        field: "componentProps.maxTagTextLength",
        show: ({ values: t }) => t.componentProps.mode
      },
      {
        label: "最大tag显示数",
        type: "number",
        field: "componentProps.maxTagCount",
        show: ({ values: t }) => t.componentProps.mode
      },
      {
        label: "弹出框位置",
        type: "select",
        componentProps: {
          options: [
            {
              label: "bottomLeft",
              value: "bottomLeft"
            },
            {
              label: "bottomRight",
              value: "bottomRight"
            },
            {
              label: "topLeft",
              value: "topLeft"
            },
            {
              label: "topRight",
              value: "topRight"
            }
          ]
        },
        field: "componentProps.placement"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "labelInValue",
        type: "switch",
        field: "componentProps.labelInValue"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "选项管理",
        type: "EOptionsEditor",
        layout: "vertical",
        field: "componentProps.options"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "change",
        describe: "值修改"
      },
      {
        type: "focus",
        describe: "获取焦点"
      },
      {
        type: "blur",
        describe: "失去焦点"
      }
    ],
    action: [
      {
        type: "focus",
        describe: "使 input 获取焦点"
      },
      {
        type: "blur",
        describe: "使 input 失去焦点"
      },
      {
        type: "select",
        describe: "选中 input 中的文字"
      }
    ]
  },
  bindModel: "value"
}, be = {
  component: async () => (await import("ant-design-vue")).Slider,
  groupName: "表单",
  icon: "epic-icon-menu",
  defaultSchema: {
    label: "滑块",
    type: "slider",
    field: "slider",
    input: !0
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "slider",
        field: "componentProps.defaultValue"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "范围选择",
        type: "switch",
        field: "componentProps.range",
        changeSync: !0,
        onChange: ({ value: t, values: e }) => {
          t ? e.componentProps.defaultValue = [0, 100] : e.componentProps.defaultValue = 0;
        }
      },
      {
        label: "倒转轨道",
        type: "switch",
        field: "componentProps.reverse"
      },
      {
        label: "步长",
        type: "number",
        field: "componentProps.step",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "最小值",
        type: "number",
        field: "componentProps.min",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "最大值",
        type: "number",
        field: "componentProps.max",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "垂直模式",
        type: "switch",
        field: "componentProps.vertical"
      },
      {
        label: "显示刻度",
        type: "switch",
        field: "componentProps.dots"
      },
      // {
      //   label: "持续显示提示",
      //   type: "switch",
      //   field: "componentProps.tooltipOpen",
      // },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "number"
        }
      }
    ],
    event: [
      {
        type: "afterChange",
        describe: "与mouseup触发时机一致"
      },
      {
        type: "change",
        describe: "拖拽结束改变值时"
      }
    ]
  },
  bindModel: "value"
}, he = {
  component: async () => (await import("ant-design-vue")).TimePicker,
  groupName: "表单",
  icon: "epic-icon-time",
  defaultSchema: {
    label: "时间选择器",
    type: "time",
    field: "time",
    input: !0,
    componentProps: {
      valueFormat: "HH:mm:ss",
      format: "HH:mm:ss",
      placeholder: "请输入"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "time",
        field: "componentProps.defaultValue"
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "显示格式",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.format"
      },
      {
        label: "数据格式",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.valueFormat"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "小时选项间隔",
        type: "number",
        field: "componentProps.hourStep",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "分钟选项间隔",
        type: "number",
        field: "componentProps.minuteStep",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "秒选项间隔",
        type: "number",
        field: "componentProps.secondStep",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "弹出框位置",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          options: [
            {
              label: "bottomLeft",
              value: "bottomLeft"
            },
            {
              label: "bottomRight",
              value: "bottomRight"
            },
            {
              label: "topLeft",
              value: "topLeft"
            },
            {
              label: "topRight",
              value: "topRight"
            }
          ]
        },
        field: "componentProps.placement"
      },
      {
        label: "12小时制",
        type: "switch",
        field: "componentProps.use12Hours",
        changeSync: !0,
        onChange({ values: t, value: e }) {
          t.componentProps.defaultValue = null, e ? (t.componentProps.format = "h:mm:ss a", t.componentProps.valueFormat = "h:mm:ss a") : (t.componentProps.format = "HH:mm:ss", t.componentProps.valueFormat = "HH:mm:ss");
        }
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "禁止键盘输入",
        type: "switch",
        field: "componentProps.inputReadOnly"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      }
    ]
  },
  bindModel: "value"
}, fe = {
  component: () => import("./datePicker-2Df6yfYg.js"),
  groupName: "表单",
  icon: "epic-icon-calendar",
  defaultSchema: {
    label: "日期选择器",
    type: "date",
    field: "date",
    input: !0,
    componentProps: {
      valueFormat: "YYYY-MM-DD",
      format: "YYYY-MM-DD",
      type: "date",
      placeholder: "请选择"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "label"
      },
      {
        label: "默认值",
        type: "date",
        field: "componentProps.defaultValue"
      },
      {
        label: "日期类型",
        type: "select",
        field: "componentProps.type",
        componentProps: {
          options: [
            {
              label: "日期",
              value: "date"
            },
            {
              label: "周",
              value: "week"
            },
            {
              label: "月份",
              value: "month"
            },
            {
              label: "季度",
              value: "quarter"
            },
            {
              label: "年份",
              value: "year"
            },
            {
              label: "日期范围",
              value: "daterange"
            },
            {
              label: "周范围",
              value: "weekrange"
            },
            {
              label: "月份范围",
              value: "monthrange"
            },
            {
              label: "季度范围",
              value: "quarterrange"
            },
            {
              label: "年份范围",
              value: "yearrange"
            }
          ]
        },
        changeSync: !0,
        onChange({ values: t, value: e }) {
          t.componentProps.defaultValue = null, [
            "daterange",
            "weekrange",
            "monthrange",
            "yearrange",
            "quarterrange"
          ].includes(e) ? t.componentProps.placeholder = ["请输入", "请输入"] : t.componentProps.placeholder = "请输入", ["date", "daterange"].includes(e) ? (t.componentProps.format = "YYYY-MM-DD", t.componentProps.valueFormat = "YYYY-MM-DD") : ["week", "weekrange"].includes(e) ? (t.componentProps.format = "ww [周]", t.componentProps.valueFormat = "YYYY-MM-DD") : ["month", "monthrange"].includes(e) ? (t.componentProps.format = "YYYY-MM", t.componentProps.valueFormat = "YYYY-MM") : ["quarter", "quarterrange"].includes(e) ? (t.componentProps.format = "YYYY-Q季度", t.componentProps.valueFormat = "YYYY-Q季度") : ["year", '"yearrange"'].includes(e) && (t.componentProps.format = "YYYY", t.componentProps.valueFormat = "YYYY");
        }
      },
      {
        label: "增加时间选择",
        type: "switch",
        field: "componentProps.showTime",
        onChange: ({ value: t, values: e }) => {
          t ? (e.componentProps.valueFormat = "YYYY-MM-DD HH:mm:ss", e.componentProps.format = "YYYY-MM-DD HH:mm:ss") : (e.componentProps.valueFormat = "YYYY-MM-DD", e.componentProps.format = "YYYY-MM-DD");
        },
        show({ values: t }) {
          return ["date", "daterange"].includes(t.componentProps.type);
        }
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder",
        componentProps: {
          placeholder: "请输入"
        },
        show: ({ values: t }) => ![
          "daterange",
          "weekrange",
          "monthrange",
          "yearrange",
          "quarterrange"
        ].includes(t.componentProps.type)
      },
      {
        label: "开始占位符",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.placeholder.0",
        show: ({ values: t }) => [
          "daterange",
          "weekrange",
          "monthrange",
          "yearrange",
          "quarterrange"
        ].includes(t.componentProps.type)
      },
      {
        label: "结束占位符",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.placeholder.1",
        show: ({ values: t }) => [
          "daterange",
          "weekrange",
          "monthrange",
          "yearrange",
          "quarterrange"
        ].includes(t.componentProps.type)
      },
      {
        label: "显示格式",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.format"
      },
      {
        label: "数据格式",
        type: "input",
        componentProps: {
          placeholder: "请输入"
        },
        field: "componentProps.valueFormat"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "弹出框位置",
        type: "select",
        componentProps: {
          options: [
            {
              label: "bottomLeft",
              value: "bottomLeft"
            },
            {
              label: "bottomRight",
              value: "bottomRight"
            },
            {
              label: "topLeft",
              value: "topLeft"
            },
            {
              label: "topRight",
              value: "topRight"
            }
          ],
          placeholder: "请选择"
        },
        field: "componentProps.placement"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "禁止键盘输入",
        type: "switch",
        field: "componentProps.inputReadOnly"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      },
      {
        label: "",
        type: "setRelevance",
        layout: "vertical",
        field: "componentProps.relevance"
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      },
      {
        type: "ok",
        describe: "点击确定按钮时"
      }
    ]
  },
  bindModel: "modelValue"
}, ye = {
  component: async () => (await import("ant-design-vue")).Cascader,
  groupName: "表单",
  icon: "epic-icon-guanlian",
  defaultSchema: {
    label: "级联选择器",
    type: "cascader",
    field: "cascader",
    input: !0,
    componentProps: {
      options: [
        {
          label: "选项1",
          value: "选项1"
        },
        {
          label: "选项2",
          value: "选项2"
        }
      ],
      placeholder: "请选择"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "cascader",
        field: "componentProps.defaultValue"
      },
      {
        label: "占位内容",
        type: "input",
        field: "componentProps.placeholder"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "弹出框位置",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          options: [
            {
              label: "bottomLeft",
              value: "bottomLeft"
            },
            {
              label: "bottomRight",
              value: "bottomRight"
            },
            {
              label: "topLeft",
              value: "topLeft"
            },
            {
              label: "topRight",
              value: "topRight"
            }
          ]
        },
        field: "componentProps.placement"
      },
      {
        label: "可搜索",
        type: "switch",
        field: "componentProps.showSearch"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "多选",
        type: "switch",
        field: "componentProps.multiple"
      },
      {
        label: "标签最大长度",
        type: "number",
        field: "componentProps.maxTagTextLength",
        componentProps: {
          placeholder: "请输入"
        },
        show: ({ values: t }) => t.componentProps.multiple
      },
      {
        label: "标签显示数量",
        type: "number",
        field: "componentProps.maxTagCount",
        componentProps: {
          placeholder: "请输入"
        },
        show: ({ values: t }) => t.componentProps.multiple
      },
      {
        label: "回填方式",
        type: "select",
        componentProps: {
          options: [
            {
              label: "SHOW_PARENT",
              value: "SHOW_PARENT"
            },
            {
              label: "SHOW_CHILD",
              value: "SHOW_CHILD"
            }
          ],
          placeholder: "请选择"
        },
        field: "componentProps.showCheckedStrategy",
        show: ({ values: t }) => t.componentProps.multiple
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "选项管理",
        type: "EOptionsEditor",
        layout: "vertical",
        field: "componentProps.options",
        componentProps: {
          tree: !0
        }
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "array"
        }
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      }
    ]
  },
  bindModel: "value"
}, Pe = {
  component: async () => (await import("ant-design-vue")).Switch,
  groupName: "表单",
  icon: "epic-icon-kaiguan3",
  defaultSchema: {
    label: "开关",
    type: "switch",
    field: "switch",
    input: !0,
    componentProps: {
      defaultValue: !1
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "switch",
        field: "componentProps.defaultValue"
      },
      {
        label: "ON状态值",
        type: "input",
        field: "componentProps.checkedValue",
        componentProps: {
          placeholder: "请输入"
        },
        onChange(t) {
          setTimeout(() => B(t));
        }
      },
      {
        label: "OFF状态值",
        type: "input",
        field: "componentProps.unCheckedValue",
        componentProps: {
          placeholder: "请输入"
        },
        onChange(t) {
          setTimeout(() => B(t));
        }
      },
      {
        label: "ON状态描述",
        type: "input",
        field: "componentProps.checkedChildren",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "OFF状态描述",
        type: "input",
        field: "componentProps.unCheckedChildren",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "default",
              value: "default"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "boolean"
        }
      }
    ],
    event: [
      {
        type: "change",
        describe: "值变化时"
      }
    ]
  },
  bindModel: "checked"
};
function B(t) {
  var g;
  let e = ((g = t.values.componentProps) == null ? void 0 : g.unCheckedValue) || !1;
  t.values.componentProps.unCheckedValue === "" && delete t.values.componentProps.unCheckedValue, t.values.componentProps.checkedValue === "" && delete t.values.componentProps.checkedValue, t.values.componentProps ? t.values.componentProps.defaultValue = e : t.values.componentProps = {
    defaultValue: e
  };
}
const ge = {
  component: () => import("./uploadImage-DNuDqZbY.js"),
  groupName: "表单",
  icon: "epic-icon-image",
  defaultSchema: {
    label: "上传图片",
    type: "upload-image",
    field: "uploadImage",
    input: !0,
    componentProps: {
      action: "https://epic.kcz66.com/static/upload-img.json"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "请求地址",
        type: "input",
        field: "componentProps.action"
      },
      {
        label: "多选",
        type: "switch",
        field: "componentProps.multiple"
      },
      {
        label: "允许上传最大数量",
        type: "number",
        field: "componentProps.maxCount",
        componentProps: {
          min: 0,
          placeholder: "请输入"
        }
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "array"
        }
      }
    ]
  },
  bindModel: "modelValue"
}, ve = {
  component: () => import("./uploadFile-CulAq3PL.js"),
  groupName: "表单",
  icon: "epic-icon-upload",
  defaultSchema: {
    label: "上传文件",
    type: "upload-file",
    field: "uploadFile",
    input: !0,
    componentProps: {
      action: "https://epic.kcz66.com/static/upload-img.json"
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "请求地址",
        type: "input",
        field: "componentProps.action"
      },
      {
        label: "列表样式",
        type: "select",
        field: "componentProps.listType",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "text",
              value: "text"
            },
            {
              label: "picture",
              value: "picture"
            }
          ]
        }
      },
      {
        label: "多选",
        type: "switch",
        field: "componentProps.multiple"
      },
      {
        label: "允许上传最大数量",
        type: "number",
        field: "componentProps.maxCount",
        componentProps: {
          min: 0,
          placeholder: "请输入"
        }
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用",
        componentProps: {
          ruleType: "array"
        }
      }
    ]
  },
  bindModel: "modelValue"
}, we = {
  component: () => import("./card-BHanaCiy.js"),
  groupName: "布局",
  icon: "epic-icon-qiapian",
  defaultSchema: {
    label: "卡片布局",
    type: "card",
    children: [],
    componentProps: {
      placeholder: ""
    }
  },
  config: {
    attribute: [
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "default",
              value: "default"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "鼠标悬停阴影",
        type: "switch",
        field: "componentProps.hoverable"
      },
      // {
      //   label: "加载状态",
      //   type: "switch",
      //   field: "componentProps.loading",
      // },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      }
    ]
  }
}, ke = {
  component: () => import("./row-BX4lrSir.js"),
  groupName: "布局",
  icon: "epic-icon-zhage",
  defaultSchema: {
    label: "栅格布局",
    type: "row",
    children: [
      {
        type: "col",
        children: [],
        componentProps: {
          span: 12
        }
      },
      {
        type: "col",
        children: [],
        componentProps: {
          span: 12
        }
      }
    ]
  },
  editConstraints: {
    childImmovable: !0
  },
  config: {
    attribute: [
      {
        label: "垂直对齐方式",
        type: "select",
        componentProps: {
          style: { width: "100%" },
          options: [
            {
              label: "top",
              value: "top"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "bottom",
              value: "bottom"
            }
          ],
          placeholder: "请选择"
        },
        field: "componentProps.align"
      },
      {
        label: "水平排列方式",
        type: "select",
        componentProps: {
          style: { width: "100%" },
          options: [
            {
              label: "start",
              value: "start"
            },
            {
              label: "end",
              value: "end"
            },
            {
              label: "center",
              value: "center"
            },
            {
              label: "space-around",
              value: "space-around"
            },
            {
              label: "space-between",
              value: "space-between"
            }
          ],
          placeholder: "请选择"
        },
        field: "componentProps.justify"
      },
      {
        label: "栅格间距",
        type: "input",
        field: "componentProps.gutter",
        componentProps: {
          placeholder: "请输入"
        }
      },
      {
        label: "列编辑",
        type: "EColEditor",
        field: "children"
      },
      {
        label: "不自动换行",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.wrap"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      }
    ]
  }
}, Ce = {
  component: () => import("./col-C_cbW1SI.js"),
  defaultSchema: {
    label: "栅格布局-列",
    type: "col",
    children: [],
    componentProps: {
      span: 6
    }
  },
  config: {
    attribute: [
      {
        label: "占位格数",
        type: "number",
        field: "componentProps.span"
      }
    ]
  }
}, W = {
  component: () => import("./form-D9gQkc_S.js"),
  groupName: "表单",
  icon: "epic-icon-daibanshixiang",
  defaultSchema: {
    label: "表单",
    type: "form",
    componentProps: {
      name: "default",
      labelWidth: "100px",
      labelLayout: "fixed",
      layout: "horizontal",
      labelCol: {
        span: 5
      },
      wrapperCol: {
        span: 19
      }
    },
    children: []
  },
  config: {
    attribute: [
      {
        label: "name",
        type: "input",
        field: "componentProps.name"
      },
      {
        label: "标签布局",
        type: "radio",
        field: "componentProps.labelLayout",
        componentProps: {
          options: [
            {
              label: "固定宽度",
              value: "fixed"
            },
            {
              label: "自适应宽度",
              value: "flex"
            }
          ]
        }
      },
      {
        label: "标签宽度",
        type: "EInputSize",
        field: "componentProps.labelWidth",
        show: ({ values: t }) => {
          var e;
          return ((e = t.componentProps) == null ? void 0 : e.labelLayout) === "fixed";
        }
      },
      {
        label: "labelCol",
        type: "input",
        field: "componentProps.labelCol.span",
        show: ({ values: t }) => {
          var e;
          return ((e = t.componentProps) == null ? void 0 : e.labelLayout) === "flex";
        }
      },
      {
        label: "wrapperCol",
        type: "input",
        field: "componentProps.wrapperCol.span",
        show: ({ values: t }) => {
          var e;
          return ((e = t.componentProps) == null ? void 0 : e.labelLayout) === "flex";
        }
      },
      {
        label: "标签对齐",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          optionType: "button",
          options: [
            {
              label: "左",
              value: "left"
            },
            {
              label: "右",
              value: "right"
            }
          ]
        },
        field: "componentProps.labelAlign"
      },
      {
        label: "表单布局",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          optionType: "button",
          options: [
            {
              label: "水平",
              value: "horizontal"
            },
            {
              label: "垂直",
              value: "vertical"
            },
            {
              label: "内联",
              value: "inline"
            }
          ]
        },
        field: "componentProps.layout"
      },
      {
        label: "尺寸",
        type: "select",
        defaultValue: "default",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "隐藏冒号",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.colon"
      },
      {
        label: "隐藏必须标志",
        type: "switch",
        field: "componentProps.hideRequiredMark"
      },
      {
        label: "标签文本换行",
        type: "switch",
        field: "componentProps.labelWrap"
      },
      {
        label: "滚动校验错误处",
        type: "switch",
        field: "componentProps.scrollToFirstError"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "逻辑控制",
        type: "formLogic",
        layout: "vertical",
        field: "componentProps.logicRules",
        describe: "逻辑规则"
      }
    ],
    action: [
      {
        type: "getData",
        describe: "获取表单数据"
      },
      {
        type: "setData",
        describe: "设置表单数据"
      },
      {
        type: "validate",
        describe: "校验表单"
      }
    ]
  }
}, Me = {
  component: () => import("./formItem-Cjqsbpqu.js"),
  defaultSchema: {
    label: "表单项",
    type: "form-item"
  },
  config: {}
}, Se = {
  component: () => import("./formLogic-C6lO3kMJ.js"),
  defaultSchema: {
    label: "表单项",
    type: "formLogic"
  },
  config: {}
}, $e = {
  component: () => import("./button-BbHi0DmU.js"),
  groupName: "表单",
  icon: "epic-icon-button-remove",
  defaultSchema: {
    label: "按钮",
    type: "button",
    field: "input",
    input: !1
  },
  config: {
    attribute: [
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "类型",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          clearable: !0,
          options: [
            {
              label: "primary",
              value: "primary"
            },
            {
              label: "ghost",
              value: "ghost"
            },
            {
              label: "dashed",
              value: "dashed"
            },
            {
              label: "link",
              value: "link"
            },
            {
              label: "text",
              value: "text"
            },
            {
              label: "default",
              value: "default"
            }
          ]
        },
        field: "componentProps.type"
      },
      {
        label: "操作类型",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          clearable: !0,
          options: [
            {
              label: "button",
              value: "button"
            },
            {
              label: "submit",
              value: "submit"
            },
            {
              label: "reset",
              value: "reset"
            }
          ]
        },
        field: "componentProps.htmlType"
      },
      {
        label: "链接",
        type: "input",
        field: "componentProps.href",
        componentProps: {
          allowClear: !0,
          placeholder: "请输入"
        }
      },
      {
        label: "链接打开方式",
        type: "select",
        field: "componentProps.target",
        show: ({ values: t }) => {
          var e;
          return (e = t.componentProps) == null ? void 0 : e.href;
        },
        componentProps: {
          placeholder: "请选择",
          clearable: !0,
          options: [
            {
              label: "blank",
              value: "_blank"
            },
            {
              label: "parent",
              value: "_parent"
            },
            {
              label: "self",
              value: "_self"
            },
            {
              label: "top",
              value: "_top"
            }
          ]
        }
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "default",
              value: "default"
            },
            {
              label: "small",
              value: "small"
            },
            {
              label: "large",
              value: "large"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "形状",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          clearable: !0,
          options: [
            {
              label: "default",
              value: "default"
            },
            {
              label: "circle",
              value: "circle"
            },
            {
              label: "round",
              value: "round"
            }
          ]
        },
        field: "componentProps.shape"
      },
      {
        label: "幽灵按钮",
        type: "switch",
        field: "componentProps.ghost"
      },
      {
        label: "加载状态",
        type: "switch",
        field: "componentProps.loading"
      },
      {
        label: "宽度自适应",
        type: "switch",
        field: "componentProps.block"
      },
      {
        label: "危险按钮",
        type: "switch",
        field: "componentProps.danger"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      }
    ],
    event: [
      {
        type: "click",
        describe: "点击按钮时"
      },
      {
        type: "dblclick",
        describe: "双击按钮时"
      }
    ]
  }
}, Ye = {
  component: () => import("./modal-CZ6qJJMC.js"),
  icon: "epic-icon-xiala",
  defaultSchema: {
    label: "模态框",
    type: "modal",
    children: []
  },
  config: {
    attribute: [
      {
        label: "标题",
        type: "input",
        field: "title"
      }
    ]
  }
}, xe = {
  component: async () => (await import("ant-design-vue")).Input,
  groupName: "表单",
  icon: "epic-icon-yanse",
  defaultSchema: {
    label: "颜色选择器",
    type: "color-picker",
    field: "color-picker",
    input: !0,
    componentProps: {
      type: "color",
      style: {
        width: "80px"
      }
    }
  },
  config: {
    attribute: [
      {
        label: "字段名",
        type: "input",
        field: "field"
      },
      {
        label: "标题",
        type: "input",
        field: "label"
      },
      {
        label: "默认值",
        type: "input",
        field: "componentProps.defaultValue"
      },
      {
        label: "尺寸",
        type: "select",
        componentProps: {
          placeholder: "请选择",
          allowClear: !0,
          options: [
            {
              label: "large",
              value: "large"
            },
            {
              label: "middle",
              value: "middle"
            },
            {
              label: "small",
              value: "small"
            }
          ]
        },
        field: "componentProps.size"
      },
      {
        label: "无边框",
        type: "switch",
        componentProps: {
          checkedValue: !1,
          unCheckedValue: !0
        },
        field: "componentProps.bordered"
      },
      {
        label: "可清空",
        type: "switch",
        field: "componentProps.allowClear"
      },
      {
        label: "禁用",
        type: "switch",
        field: "componentProps.disabled"
      },
      {
        label: "隐藏",
        type: "switch",
        field: "componentProps.hidden"
      },
      {
        label: "表单校验",
        type: "ERuleEditor",
        layout: "vertical",
        field: "rules",
        describe: "校验规则需要配合表单使用"
      }
    ],
    event: [
      {
        type: "change",
        describe: "值修改时"
      },
      {
        type: "focus",
        describe: "获取焦点时"
      },
      {
        type: "blur",
        describe: "失去焦点时"
      }
    ],
    action: []
  },
  bindModel: "value"
};
function Te(t = ee) {
  var Y;
  const e = oe.split("."), g = parseInt(e[0]), v = document.createElement("style");
  g > 3 ? (v.appendChild(document.createTextNode(`
.epic-modal-ant .epic-modal-main {
  padding: 4px 12px 12px;
}
.epic-modal-ant .ant-modal-title {
  padding: 16px 16px 0px;
}
.epic-modal-ant .ant-modal-content {
  padding: 0px;
}`)), document.head.appendChild(v)) : W.config.attribute = (Y = W.config.attribute) == null ? void 0 : Y.filter(
    (f) => f.label !== "禁用"
  ), t.component(
    "Collapse",
    async () => (await import("ant-design-vue")).Collapse
  ), t.component(
    "CollapseItem",
    async () => (await import("ant-design-vue")).CollapsePanel
  ), t.component(
    "Tabs",
    async () => (await import("ant-design-vue")).Tabs
  ), t.component(
    "TabPane",
    async () => (await import("ant-design-vue")).TabPane
  ), [
    // Subform,
    W,
    Me,
    Se,
    re,
    ie,
    ce,
    se,
    de,
    ue,
    me,
    be,
    he,
    fe,
    ye,
    Pe,
    ge,
    ve,
    xe,
    $e,
    we,
    ke,
    Ce,
    Ye
  ].forEach((f) => {
    t.registerComponent(f), t.addBaseComponentTypes(f.defaultSchema.type);
  }), t.setInitialized(!0);
}
function Re(t = "zh-cn") {
  switch (pe.locale(t), t.toLowerCase()) {
    case "az-az":
      import("./az-D8DOvsGm.js").then((e) => e.a);
      break;
    case "bg-bg":
      import("./bg-CbhMMBT9.js").then((e) => e.b);
      break;
    case "bn-bd":
      import("./bn-bd-D0ts2Vqe.js").then((e) => e.b);
      break;
    case "by-by":
      import("./be-BIx3TSZF.js").then((e) => e.b);
      break;
    case "ca-es":
      import("./ca-QhjkSNfY.js").then((e) => e.c);
      break;
    case "cs-cz":
      import("./cs-C2GTcVkN.js").then((e) => e.c);
      break;
    case "da-dk":
      import("./da-D7oWRKXx.js").then((e) => e.d);
      break;
    case "de-de":
      import("./de-CYKXtrbd.js").then((e) => e.d);
      break;
    case "el-gr":
      import("./el-BblAbJvW.js").then((e) => e.e);
      break;
    case "en-gb":
      import("./en-gb-CCqEFk3w.js").then((e) => e.e);
      break;
    case "en-us":
      import("./en-DUEgIzMG.js").then((e) => e.e);
      break;
    case "es-es":
      import("./es-CVEQZvNt.js").then((e) => e.e);
      break;
    case "et-ee":
      import("./et-CsAa6nCK.js").then((e) => e.e);
      break;
    case "fa-ir":
      import("./fa-eEmb5nTq.js").then((e) => e.f);
      break;
    case "fi-fi":
      import("./fi-CY__7S7w.js").then((e) => e.f);
      break;
    case "fr-ca":
      import("./fr-ca-BWBHIC2j.js").then((e) => e.f);
      break;
    case "fr-fr":
      import("./fr-BC_ws0ak.js").then((e) => e.f);
      break;
    case "ga-ie":
      import("./ga-B_jO1yhh.js").then((e) => e.g);
      break;
    case "gl-es":
      import("./gl-CKSKBD1y.js").then((e) => e.g);
      break;
    case "he-il":
      import("./he-seP5ho1L.js").then((e) => e.h);
      break;
    case "hi-in":
      import("./hi-BaP5Bzhb.js").then((e) => e.h);
      break;
    case "hr-hr":
      import("./hr-YxVhitdn.js").then((e) => e.h);
      break;
    case "hu-hu":
      import("./hu-DoOldXgm.js").then((e) => e.h);
      break;
    case "hy-am":
      import("./hy-am--Y6wIKG-.js").then((e) => e.h);
      break;
    case "id-id":
      import("./id-BI3CK_Ov.js").then((e) => e.i);
      break;
    case "is-is":
      import("./is-BDUrhgak.js").then((e) => e.i);
      break;
    case "it-it":
      import("./it-Bzg9regC.js").then((e) => e.i);
      break;
    case "ja-jp":
      import("./ja-CIAVCR_u.js").then((e) => e.j);
      break;
    case "ka-ge":
      import("./ka-BN7F_XyP.js").then((e) => e.k);
      break;
    case "kk-kz":
      import("./kk-DGxRrujA.js").then((e) => e.k);
      break;
    case "km-kh":
      import("./km-DJ7jKyZS.js").then((e) => e.k);
      break;
    case "kmr-iq":
      import("./ku-DQE7iS1Y.js").then((e) => e.k);
      break;
    case "kn-in":
      import("./kn-DvDiusML.js").then((e) => e.k);
      break;
    case "ko-kr":
      import("./ko-CyYjcCs6.js").then((e) => e.k);
      break;
    case "ku-iq":
      import("./ku-DQE7iS1Y.js").then((e) => e.k);
      break;
    case "lt-lt":
      import("./lt-CMf31x7O.js").then((e) => e.l);
      break;
    case "lv-lv":
      import("./lv-CmUpzXvZ.js").then((e) => e.l);
      break;
    case "mk-mk":
      import("./mk-DBMMYDZe.js").then((e) => e.m);
      break;
    case "ml-in":
      import("./ml-DFPx6Q-1.js").then((e) => e.m);
      break;
    case "mn-mn":
      import("./mn-DDxANNI2.js").then((e) => e.m);
      break;
    case "ms-my":
      import("./ms-my-Fk_ayEYa.js").then((e) => e.m);
      break;
    case "nb-no":
      import("./nb-CVA0cH1o.js").then((e) => e.n);
      break;
    case "ne-np":
      import("./ne-BLU1b1yr.js").then((e) => e.n);
      break;
    case "nl-be":
      import("./nl-be--83i1spz.js").then((e) => e.n);
      break;
    case "nl-nl":
      import("./nl-Ce0sdF6I.js").then((e) => e.n);
      break;
    case "pl-pl":
      import("./pl-CSLVsnUc.js").then((e) => e.p);
      break;
    case "pt-br":
      import("./pt-br-DUAnt1GN.js").then((e) => e.p);
      break;
    case "pt-pt":
      import("./pt-DjS0NXvb.js").then((e) => e.p);
      break;
    case "ro-ro":
      import("./ro-DfrVUTg8.js").then((e) => e.r);
      break;
    case "ru-ru":
      import("./ru-BSOX29ci.js").then((e) => e.r);
      break;
    case "sk-sk":
      import("./sk-n6-fnOJt.js").then((e) => e.s);
      break;
    case "sl-si":
      import("./sl-D8N2uQw0.js").then((e) => e.s);
      break;
    case "sr-rs":
      import("./sr-D9HXaaFO.js").then((e) => e.s);
      break;
    case "sv-se":
      import("./sv-B1KffKc6.js").then((e) => e.s);
      break;
    case "ta-in":
      import("./ta-IkmLx-hR.js").then((e) => e.t);
      break;
    case "th-th":
      import("./th-DGRHXuIY.js").then((e) => e.t);
      break;
    case "tr-tr":
      import("./tr-BvGOPM79.js").then((e) => e.t);
      break;
    case "uk-ua":
      import("./uk-DgOZD87K.js").then((e) => e.u);
      break;
    case "ur-pk":
      import("./ur-DtWDrehw.js").then((e) => e.u);
      break;
    case "vi-vn":
      import("./vi-uSAn4_td.js").then((e) => e.v);
      break;
    case "zh-cn":
      import("./zh-cn-CY4-Kj6P.js").then((e) => e.z);
      break;
    case "zh-hk":
      import("./zh-hk-DDeFFXxs.js").then((e) => e.z);
      break;
    case "zh-tw":
      import("./zh-tw-BhkdJ4js.js").then((e) => e.z);
      break;
  }
}
export {
  Re as a,
  ae as r,
  Te as s
};