cc-ui-plus
Version:
820 lines (819 loc) • 28.3 kB
JavaScript
import { defineComponent as le, ref as M, provide as $, computed as R, openBlock as Q, createElementBlock as X, normalizeClass as T, renderSlot as ce, inject as L, watch as ie, onMounted as he, unref as V, normalizeStyle as G, createElementVNode as K, toDisplayString as ae, createCommentVNode as me } from "vue";
function pe(n, e) {
return n.install = (t) => {
t.component(e, n);
}, n;
}
const be = /* @__PURE__ */ le({
__name: "form",
props: {
model: null,
rules: null,
labelWidth: { default: "" },
inline: { type: Boolean, default: !1 }
},
setup(n, { expose: e }) {
const t = n, r = M([]), i = (p) => {
r.value.push(p);
};
return e({
validate: (p) => {
if (r.value && r.value.length) {
const g = r.value.map((v) => v.validate());
Promise.all(g).then((v) => {
const m = v.every((h) => h === !0);
p(m);
}).catch(() => p(!1));
}
},
resetFields: () => {
r.value && r.value.length && r.value.forEach((p) => {
p.resetField();
});
},
validateField: (p, g) => {
var v;
if (r.value && r.value.length) {
const m = (v = r.value.find((h) => h.name === p)) == null ? void 0 : v.validate();
Promise.all([m]).then((h) => {
const x = h.every((d) => d === !0);
g(x);
}).catch(() => g(!1));
}
},
clearValidate: (p) => {
r.value && r.value.length && r.value.find((v) => v.name === p).clearValidate();
}
}), $(
"labelWidth",
R(() => t.labelWidth)
), $(
"model",
R(() => t.model)
), $(
"rules",
R(() => t.rules)
), $(
"inline",
R(() => t.inline)
), $("addFiled", i), (p, g) => (Q(), X("div", {
class: T(["w-full", [`${n.inline ? "inline-flex" : ""}`]])
}, [
ce(p.$slots, "default")
], 2));
}
});
function D() {
return D = Object.assign ? Object.assign.bind() : function(n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t)
Object.prototype.hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}, D.apply(this, arguments);
}
function Fe(n, e) {
n.prototype = Object.create(e.prototype), n.prototype.constructor = n, I(n, e);
}
function k(n) {
return k = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
return t.__proto__ || Object.getPrototypeOf(t);
}, k(n);
}
function I(n, e) {
return I = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(r, i) {
return r.__proto__ = i, r;
}, I(n, e);
}
function we() {
if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
return !1;
if (typeof Proxy == "function")
return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
})), !0;
} catch {
return !1;
}
}
function Y(n, e, t) {
return we() ? Y = Reflect.construct.bind() : Y = function(i, f, a) {
var s = [null];
s.push.apply(s, f);
var o = Function.bind.apply(i, s), p = new o();
return a && I(p, a.prototype), p;
}, Y.apply(null, arguments);
}
function qe(n) {
return Function.toString.call(n).indexOf("[native code]") !== -1;
}
function ee(n) {
var e = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
return ee = function(r) {
if (r === null || !qe(r))
return r;
if (typeof r != "function")
throw new TypeError("Super expression must either be null or a function");
if (typeof e < "u") {
if (e.has(r))
return e.get(r);
e.set(r, i);
}
function i() {
return Y(r, arguments, k(this).constructor);
}
return i.prototype = Object.create(r.prototype, {
constructor: {
value: i,
enumerable: !1,
writable: !0,
configurable: !0
}
}), I(i, r);
}, ee(n);
}
var xe = /%[sdj%]/g, ge = function() {
};
typeof process < "u" && process.env && process.env.NODE_ENV !== "production" && typeof window < "u" && typeof document < "u" && (ge = function(e, t) {
typeof console < "u" && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING > "u" && t.every(function(r) {
return typeof r == "string";
}) && console.warn(e, t);
});
function te(n) {
if (!n || !n.length)
return null;
var e = {};
return n.forEach(function(t) {
var r = t.field;
e[r] = e[r] || [], e[r].push(t);
}), e;
}
function E(n) {
for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), r = 1; r < e; r++)
t[r - 1] = arguments[r];
var i = 0, f = t.length;
if (typeof n == "function")
return n.apply(null, t);
if (typeof n == "string") {
var a = n.replace(xe, function(s) {
if (s === "%%")
return "%";
if (i >= f)
return s;
switch (s) {
case "%s":
return String(t[i++]);
case "%d":
return Number(t[i++]);
case "%j":
try {
return JSON.stringify(t[i++]);
} catch {
return "[Circular]";
}
break;
default:
return s;
}
});
return a;
}
return n;
}
function Oe(n) {
return n === "string" || n === "url" || n === "hex" || n === "email" || n === "date" || n === "pattern";
}
function q(n, e) {
return !!(n == null || e === "array" && Array.isArray(n) && !n.length || Oe(e) && typeof n == "string" && !n);
}
function Ae(n, e, t) {
var r = [], i = 0, f = n.length;
function a(s) {
r.push.apply(r, s || []), i++, i === f && t(r);
}
n.forEach(function(s) {
e(s, a);
});
}
function fe(n, e, t) {
var r = 0, i = n.length;
function f(a) {
if (a && a.length) {
t(a);
return;
}
var s = r;
r = r + 1, s < i ? e(n[s], f) : t([]);
}
f([]);
}
function Ee(n) {
var e = [];
return Object.keys(n).forEach(function(t) {
e.push.apply(e, n[t] || []);
}), e;
}
var se = /* @__PURE__ */ function(n) {
Fe(e, n);
function e(t, r) {
var i;
return i = n.call(this, "Async Validation Error") || this, i.errors = t, i.fields = r, i;
}
return e;
}(/* @__PURE__ */ ee(Error));
function Pe(n, e, t, r, i) {
if (e.first) {
var f = new Promise(function(m, h) {
var x = function(u) {
return r(u), u.length ? h(new se(u, te(u))) : m(i);
}, d = Ee(n);
fe(d, t, x);
});
return f.catch(function(m) {
return m;
}), f;
}
var a = e.firstFields === !0 ? Object.keys(n) : e.firstFields || [], s = Object.keys(n), o = s.length, p = 0, g = [], v = new Promise(function(m, h) {
var x = function(b) {
if (g.push.apply(g, b), p++, p === o)
return r(g), g.length ? h(new se(g, te(g))) : m(i);
};
s.length || (r(g), m(i)), s.forEach(function(d) {
var b = n[d];
a.indexOf(d) !== -1 ? fe(b, t, x) : Ae(b, t, x);
});
});
return v.catch(function(m) {
return m;
}), v;
}
function je(n) {
return !!(n && n.message !== void 0);
}
function Ve(n, e) {
for (var t = n, r = 0; r < e.length; r++) {
if (t == null)
return t;
t = t[e[r]];
}
return t;
}
function oe(n, e) {
return function(t) {
var r;
return n.fullFields ? r = Ve(e, n.fullFields) : r = e[t.field || n.fullField], je(t) ? (t.field = t.field || n.fullField, t.fieldValue = r, t) : {
message: typeof t == "function" ? t() : t,
fieldValue: r,
field: t.field || n.fullField
};
};
}
function ue(n, e) {
if (e) {
for (var t in e)
if (e.hasOwnProperty(t)) {
var r = e[t];
typeof r == "object" && typeof n[t] == "object" ? n[t] = D({}, n[t], r) : n[t] = r;
}
}
return n;
}
var ve = function(e, t, r, i, f, a) {
e.required && (!r.hasOwnProperty(e.field) || q(t, a || e.type)) && i.push(E(f.messages.required, e.fullField));
}, _e = function(e, t, r, i, f) {
(/^\s+$/.test(t) || t === "") && i.push(E(f.messages.whitespace, e.fullField));
}, J, Re = function() {
if (J)
return J;
var n = "[a-fA-F\\d:]", e = function(y) {
return y && y.includeBoundaries ? "(?:(?<=\\s|^)(?=" + n + ")|(?<=" + n + ")(?=\\s|$))" : "";
}, t = "(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}", r = "[a-fA-F\\d]{1,4}", i = (`
(?:
(?:` + r + ":){7}(?:" + r + `|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
(?:` + r + ":){6}(?:" + t + "|:" + r + `|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
(?:` + r + ":){5}(?::" + t + "|(?::" + r + `){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
(?:` + r + ":){4}(?:(?::" + r + "){0,1}:" + t + "|(?::" + r + `){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
(?:` + r + ":){3}(?:(?::" + r + "){0,2}:" + t + "|(?::" + r + `){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
(?:` + r + ":){2}(?:(?::" + r + "){0,3}:" + t + "|(?::" + r + `){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
(?:` + r + ":){1}(?:(?::" + r + "){0,4}:" + t + "|(?::" + r + `){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
(?::(?:(?::` + r + "){0,5}:" + t + "|(?::" + r + `){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
`).replace(/\s*\/\/.*$/gm, "").replace(/\n/g, "").trim(), f = new RegExp("(?:^" + t + "$)|(?:^" + i + "$)"), a = new RegExp("^" + t + "$"), s = new RegExp("^" + i + "$"), o = function(y) {
return y && y.exact ? f : new RegExp("(?:" + e(y) + t + e(y) + ")|(?:" + e(y) + i + e(y) + ")", "g");
};
o.v4 = function(l) {
return l && l.exact ? a : new RegExp("" + e(l) + t + e(l), "g");
}, o.v6 = function(l) {
return l && l.exact ? s : new RegExp("" + e(l) + i + e(l), "g");
};
var p = "(?:(?:[a-z]+:)?//)", g = "(?:\\S+(?::\\S*)?@)?", v = o.v4().source, m = o.v6().source, h = "(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)", x = "(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*", d = "(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))", b = "(?::\\d{2,5})?", u = '(?:[/?#][^\\s"]*)?', j = "(?:" + p + "|www\\.)" + g + "(?:localhost|" + v + "|" + m + "|" + h + x + d + ")" + b + u;
return J = new RegExp("(?:^" + j + "$)", "i"), J;
}, de = {
email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,
hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
}, W = {
integer: function(e) {
return W.number(e) && parseInt(e, 10) === e;
},
float: function(e) {
return W.number(e) && !W.integer(e);
},
array: function(e) {
return Array.isArray(e);
},
regexp: function(e) {
if (e instanceof RegExp)
return !0;
try {
return !!new RegExp(e);
} catch {
return !1;
}
},
date: function(e) {
return typeof e.getTime == "function" && typeof e.getMonth == "function" && typeof e.getYear == "function" && !isNaN(e.getTime());
},
number: function(e) {
return isNaN(e) ? !1 : typeof e == "number";
},
object: function(e) {
return typeof e == "object" && !W.array(e);
},
method: function(e) {
return typeof e == "function";
},
email: function(e) {
return typeof e == "string" && e.length <= 320 && !!e.match(de.email);
},
url: function(e) {
return typeof e == "string" && e.length <= 2048 && !!e.match(Re());
},
hex: function(e) {
return typeof e == "string" && !!e.match(de.hex);
}
}, Ne = function(e, t, r, i, f) {
if (e.required && t === void 0) {
ve(e, t, r, i, f);
return;
}
var a = ["integer", "float", "array", "regexp", "object", "method", "email", "number", "date", "url", "hex"], s = e.type;
a.indexOf(s) > -1 ? W[s](t) || i.push(E(f.messages.types[s], e.fullField, e.type)) : s && typeof t !== e.type && i.push(E(f.messages.types[s], e.fullField, e.type));
}, $e = function(e, t, r, i, f) {
var a = typeof e.len == "number", s = typeof e.min == "number", o = typeof e.max == "number", p = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, g = t, v = null, m = typeof t == "number", h = typeof t == "string", x = Array.isArray(t);
if (m ? v = "number" : h ? v = "string" : x && (v = "array"), !v)
return !1;
x && (g = t.length), h && (g = t.replace(p, "_").length), a ? g !== e.len && i.push(E(f.messages[v].len, e.fullField, e.len)) : s && !o && g < e.min ? i.push(E(f.messages[v].min, e.fullField, e.min)) : o && !s && g > e.max ? i.push(E(f.messages[v].max, e.fullField, e.max)) : s && o && (g < e.min || g > e.max) && i.push(E(f.messages[v].range, e.fullField, e.min, e.max));
}, S = "enum", De = function(e, t, r, i, f) {
e[S] = Array.isArray(e[S]) ? e[S] : [], e[S].indexOf(t) === -1 && i.push(E(f.messages[S], e.fullField, e[S].join(", ")));
}, Se = function(e, t, r, i, f) {
if (e.pattern) {
if (e.pattern instanceof RegExp)
e.pattern.lastIndex = 0, e.pattern.test(t) || i.push(E(f.messages.pattern.mismatch, e.fullField, t, e.pattern));
else if (typeof e.pattern == "string") {
var a = new RegExp(e.pattern);
a.test(t) || i.push(E(f.messages.pattern.mismatch, e.fullField, t, e.pattern));
}
}
}, c = {
required: ve,
whitespace: _e,
type: Ne,
range: $e,
enum: De,
pattern: Se
}, Me = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t, "string") && !e.required)
return r();
c.required(e, t, i, a, f, "string"), q(t, "string") || (c.type(e, t, i, a, f), c.range(e, t, i, a, f), c.pattern(e, t, i, a, f), e.whitespace === !0 && c.whitespace(e, t, i, a, f));
}
r(a);
}, Te = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && c.type(e, t, i, a, f);
}
r(a);
}, Be = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (t === "" && (t = void 0), q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && (c.type(e, t, i, a, f), c.range(e, t, i, a, f));
}
r(a);
}, Le = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && c.type(e, t, i, a, f);
}
r(a);
}, We = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), q(t) || c.type(e, t, i, a, f);
}
r(a);
}, Ce = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && (c.type(e, t, i, a, f), c.range(e, t, i, a, f));
}
r(a);
}, Ie = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && (c.type(e, t, i, a, f), c.range(e, t, i, a, f));
}
r(a);
}, Ue = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (t == null && !e.required)
return r();
c.required(e, t, i, a, f, "array"), t != null && (c.type(e, t, i, a, f), c.range(e, t, i, a, f));
}
r(a);
}, ze = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && c.type(e, t, i, a, f);
}
r(a);
}, Je = "enum", Ze = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f), t !== void 0 && c[Je](e, t, i, a, f);
}
r(a);
}, Ye = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t, "string") && !e.required)
return r();
c.required(e, t, i, a, f), q(t, "string") || c.pattern(e, t, i, a, f);
}
r(a);
}, Ge = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t, "date") && !e.required)
return r();
if (c.required(e, t, i, a, f), !q(t, "date")) {
var o;
t instanceof Date ? o = t : o = new Date(t), c.type(e, o, i, a, f), o && c.range(e, o.getTime(), i, a, f);
}
}
r(a);
}, Ke = function(e, t, r, i, f) {
var a = [], s = Array.isArray(t) ? "array" : typeof t;
c.required(e, t, i, a, f, s), r(a);
}, H = function(e, t, r, i, f) {
var a = e.type, s = [], o = e.required || !e.required && i.hasOwnProperty(e.field);
if (o) {
if (q(t, a) && !e.required)
return r();
c.required(e, t, i, s, f, a), q(t, a) || c.type(e, t, i, s, f);
}
r(s);
}, He = function(e, t, r, i, f) {
var a = [], s = e.required || !e.required && i.hasOwnProperty(e.field);
if (s) {
if (q(t) && !e.required)
return r();
c.required(e, t, i, a, f);
}
r(a);
}, C = {
string: Me,
method: Te,
number: Be,
boolean: Le,
regexp: We,
integer: Ce,
float: Ie,
array: Ue,
object: ze,
enum: Ze,
pattern: Ye,
date: Ge,
url: H,
hex: H,
email: H,
required: Ke,
any: He
};
function re() {
return {
default: "Validation error on field %s",
required: "%s is required",
enum: "%s must be one of %s",
whitespace: "%s cannot be empty",
date: {
format: "%s date %s is invalid for format %s",
parse: "%s date could not be parsed, %s is invalid ",
invalid: "%s date %s is invalid"
},
types: {
string: "%s is not a %s",
method: "%s is not a %s (function)",
array: "%s is not an %s",
object: "%s is not an %s",
number: "%s is not a %s",
date: "%s is not a %s",
boolean: "%s is not a %s",
integer: "%s is not an %s",
float: "%s is not a %s",
regexp: "%s is not a valid %s",
email: "%s is not a valid %s",
url: "%s is not a valid %s",
hex: "%s is not a valid %s"
},
string: {
len: "%s must be exactly %s characters",
min: "%s must be at least %s characters",
max: "%s cannot be longer than %s characters",
range: "%s must be between %s and %s characters"
},
number: {
len: "%s must equal %s",
min: "%s cannot be less than %s",
max: "%s cannot be greater than %s",
range: "%s must be between %s and %s"
},
array: {
len: "%s must be exactly %s in length",
min: "%s cannot be less than %s in length",
max: "%s cannot be greater than %s in length",
range: "%s must be between %s and %s in length"
},
pattern: {
mismatch: "%s value %s does not match pattern %s"
},
clone: function() {
var e = JSON.parse(JSON.stringify(this));
return e.clone = this.clone, e;
}
};
}
var ne = re(), U = /* @__PURE__ */ function() {
function n(t) {
this.rules = null, this._messages = ne, this.define(t);
}
var e = n.prototype;
return e.define = function(r) {
var i = this;
if (!r)
throw new Error("Cannot configure a schema with no rules");
if (typeof r != "object" || Array.isArray(r))
throw new Error("Rules must be an object");
this.rules = {}, Object.keys(r).forEach(function(f) {
var a = r[f];
i.rules[f] = Array.isArray(a) ? a : [a];
});
}, e.messages = function(r) {
return r && (this._messages = ue(re(), r)), this._messages;
}, e.validate = function(r, i, f) {
var a = this;
i === void 0 && (i = {}), f === void 0 && (f = function() {
});
var s = r, o = i, p = f;
if (typeof o == "function" && (p = o, o = {}), !this.rules || Object.keys(this.rules).length === 0)
return p && p(null, s), Promise.resolve(s);
function g(d) {
var b = [], u = {};
function j(y) {
if (Array.isArray(y)) {
var O;
b = (O = b).concat.apply(O, y);
} else
b.push(y);
}
for (var l = 0; l < d.length; l++)
j(d[l]);
b.length ? (u = te(b), p(b, u)) : p(null, s);
}
if (o.messages) {
var v = this.messages();
v === ne && (v = re()), ue(v, o.messages), o.messages = v;
} else
o.messages = this.messages();
var m = {}, h = o.keys || Object.keys(this.rules);
h.forEach(function(d) {
var b = a.rules[d], u = s[d];
b.forEach(function(j) {
var l = j;
typeof l.transform == "function" && (s === r && (s = D({}, s)), u = s[d] = l.transform(u)), typeof l == "function" ? l = {
validator: l
} : l = D({}, l), l.validator = a.getValidationMethod(l), l.validator && (l.field = d, l.fullField = l.fullField || d, l.type = a.getType(l), m[d] = m[d] || [], m[d].push({
rule: l,
value: u,
source: s,
field: d
}));
});
});
var x = {};
return Pe(m, o, function(d, b) {
var u = d.rule, j = (u.type === "object" || u.type === "array") && (typeof u.fields == "object" || typeof u.defaultField == "object");
j = j && (u.required || !u.required && d.value), u.field = d.field;
function l(w, F) {
return D({}, F, {
fullField: u.fullField + "." + w,
fullFields: u.fullFields ? [].concat(u.fullFields, [w]) : [w]
});
}
function y(w) {
w === void 0 && (w = []);
var F = Array.isArray(w) ? w : [w];
!o.suppressWarning && F.length && n.warning("async-validator:", F), F.length && u.message !== void 0 && (F = [].concat(u.message));
var P = F.map(oe(u, s));
if (o.first && P.length)
return x[u.field] = 1, b(P);
if (!j)
b(P);
else {
if (u.required && !d.value)
return u.message !== void 0 ? P = [].concat(u.message).map(oe(u, s)) : o.error && (P = [o.error(u, E(o.messages.required, u.field))]), b(P);
var N = {};
u.defaultField && Object.keys(d.value).map(function(A) {
N[A] = u.defaultField;
}), N = D({}, N, d.rule.fields);
var z = {};
Object.keys(N).forEach(function(A) {
var _ = N[A], ye = Array.isArray(_) ? _ : [_];
z[A] = ye.map(l.bind(null, A));
});
var B = new n(z);
B.messages(o.messages), d.rule.options && (d.rule.options.messages = o.messages, d.rule.options.error = o.error), B.validate(d.value, d.rule.options || o, function(A) {
var _ = [];
P && P.length && _.push.apply(_, P), A && A.length && _.push.apply(_, A), b(_.length ? _ : null);
});
}
}
var O;
if (u.asyncValidator)
O = u.asyncValidator(u, d.value, y, d.source, o);
else if (u.validator) {
try {
O = u.validator(u, d.value, y, d.source, o);
} catch (w) {
console.error == null || console.error(w), o.suppressValidatorError || setTimeout(function() {
throw w;
}, 0), y(w.message);
}
O === !0 ? y() : O === !1 ? y(typeof u.message == "function" ? u.message(u.fullField || u.field) : u.message || (u.fullField || u.field) + " fails") : O instanceof Array ? y(O) : O instanceof Error && y(O.message);
}
O && O.then && O.then(function() {
return y();
}, function(w) {
return y(w);
});
}, function(d) {
g(d);
}, s);
}, e.getType = function(r) {
if (r.type === void 0 && r.pattern instanceof RegExp && (r.type = "pattern"), typeof r.validator != "function" && r.type && !C.hasOwnProperty(r.type))
throw new Error(E("Unknown rule type %s", r.type));
return r.type || "string";
}, e.getValidationMethod = function(r) {
if (typeof r.validator == "function")
return r.validator;
var i = Object.keys(r), f = i.indexOf("message");
return f !== -1 && i.splice(f, 1), i.length === 1 && i[0] === "required" ? C.required : C[this.getType(r)] || void 0;
}, n;
}();
U.register = function(e, t) {
if (typeof t != "function")
throw new Error("Cannot register a validator by type, validator is not a function");
C[e] = t;
};
U.warning = ge;
U.messages = ne;
U.validators = C;
function Z(n, e, t) {
let r = n;
return e && (r += `__${e}`), t && (r += `--${t}`), r;
}
function Qe(n) {
const e = `cc-${n}`;
return {
b: () => Z(e),
e: (a) => a ? Z(e, a) : "",
m: (a) => a ? Z(e, "", a) : "",
em: (a, s) => a && s ? Z(e, a, s) : ""
};
}
const Xe = /* @__PURE__ */ le({
__name: "form-item",
props: {
label: { default: "" },
prop: { default: "" },
labelWidth: { default: "" },
required: { type: Boolean, default: !1 },
labelAlign: { default: "left" },
contentAlign: { default: "left" }
},
setup(n) {
const e = n, t = Qe("form-item"), r = M(""), i = M(0), f = M(0), a = M(), s = M(), o = L("labelWidth"), p = L("inline"), g = R(
() => o != null && o.value ? `${o == null ? void 0 : o.value}px` : `${e.labelWidth}px`
), v = (F) => {
f.value = F;
}, m = (F) => {
i.value = F;
}, h = L("model"), x = L("rules");
$("setValidateBlurFlag", v), $("setValidateChangeFlag", m);
const d = L("addFiled"), b = R(() => a.value && a.value.length ? a.value.find((F) => F.required) : !1), u = R(() => e.labelAlign === "left" ? "flex-start" : e.labelAlign === "center" ? "center" : "flex-end"), j = R(() => e.contentAlign === "left" ? "flex-start" : e.contentAlign === "center" ? "center" : "flex-end"), l = () => {
const F = h.value[e.prop], P = x.value[e.prop], N = {
[e.prop]: P
}, z = new U(N);
if (e.prop)
return new Promise((B) => {
z.validate(
{ [e.prop]: F },
{ firstFields: !0 },
(A) => {
A && A.length ? (r.value = A[0].message, B(!1)) : (r.value = "", B(!0));
}
);
});
}, y = () => {
(h == null ? void 0 : h.value)[e.prop] = s.value, r.value = "";
}, O = () => {
r.value = "";
}, w = () => {
a.value = (x == null ? void 0 : x.value)[e.prop], a.value && a.value.length && a.value.forEach((F) => {
Array.isArray(F.trigger) ? (F.trigger.includes("change") && i.value > 0 && l(), F.trigger.includes("blur") && f.value > 0 && l()) : (F.trigger === "blur" && f.value > 0 && l(), F.trigger === "change" && i.value > 0 && l());
});
};
return ie(
() => f.value,
() => {
w();
}
), ie(
() => i.value,
() => {
w();
}
), he(() => {
w(), e.prop && d({
validate: l,
resetField: y,
clearValidate: O,
name: e.prop
}), e.prop && (s.value = h == null ? void 0 : h.value[e.prop]);
}), (F, P) => (Q(), X("div", {
class: T([V(t).b()]),
style: G({
display: V(p) ? "inline-flex" : "flex",
marginRight: V(p) ? "32px" : "0"
})
}, [
n.label ? (Q(), X("div", {
key: 0,
style: G({ width: V(g), justifyContent: V(u) }),
class: T([V(t).e("label")])
}, [
K("div", {
class: T({ "cc-form-item-label-required": n.required || V(b) })
}, ae(n.label), 3)
], 6)) : me("", !0),
K("div", {
class: T([V(t).e("content")]),
style: G({
marginLeft: n.label ? 0 : V(g),
justifyContent: V(j)
})
}, [
ce(F.$slots, "default"),
K("div", {
class: T([V(t).e("error")])
}, ae(r.value), 3)
], 6)
], 6));
}
}), ke = pe(be, "cc-form"), et = pe(Xe, "cc-form-item"), rt = {
Form: ke,
FormItem: et
};
export {
rt as default
};