@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
343 lines (342 loc) • 8.79 kB
JavaScript
import { cloneDeep as h, isPlainObject as R } from "lodash-es";
import "vue";
const b = {}, E = {};
function m(n) {
const { properties: t, title: o, ignore: e } = n, r = e && Array.isArray(e), u = Object.keys(t).reduce((s, c) => ((!r || !e.find((d) => d === c)) && (s[c] = t[c].type === "object" && t[c].properties ? m(t[c]) : h(t[c].default)), s), {});
if (o && (!r || !e.find((s) => s === "id"))) {
const s = o.toLowerCase().replace(/-/g, "_");
u.id = `${s}_${Math.random().toString().slice(2, 6)}`;
}
return u;
}
function O(n) {
const { properties: t, title: o, required: e } = n;
if (e && Array.isArray(e)) {
const r = e.reduce((u, s) => (u[s] = t[s].type === "object" && t[s].properties ? m(t[s]) : h(t[s].default), u), {});
if (o && e.find((u) => u === "id")) {
const u = o.toLowerCase().replace(/-/g, "_");
r.id = `${u}_${Math.random().toString().slice(2, 6)}`;
}
return r;
}
return {
type: o
};
}
function S(n, t = {}, o) {
const e = b[n];
if (e) {
let r = O(e);
const u = E[n];
return r = u ? u({ getSchemaByType: S }, r, t, o) : r, r;
}
return null;
}
function y(n, t) {
const o = m(t);
return Object.keys(o).reduce((e, r) => (Object.prototype.hasOwnProperty.call(n, r) && (e[r] && R(e[r]) && R(n[r] || !n[r]) ? Object.assign(e[r], n[r] || {}) : e[r] = n[r]), e), o), o;
}
function C(n, t) {
return Object.keys(n).filter((e) => n[e] != null).reduce((e, r) => {
if (t.has(r)) {
const u = t.get(r);
if (typeof u == "string")
e[u] = n[r];
else {
const s = u(r, n[r], n);
Object.assign(e, s);
}
} else
e[r] = n[r];
return e;
}, {});
}
function k(n, t, o = /* @__PURE__ */ new Map()) {
const e = y(n, t);
return C(e, o);
}
function $(n) {
var o;
const t = n.type;
if (t) {
const e = b[t];
if (!e)
return n;
const r = y(n, e), u = ((o = n.editor) == null ? void 0 : o.type) || "";
if (u) {
const s = b[u], c = y(n.editor, s);
r.editor = c;
}
return r;
}
return n;
}
function B(n = {}) {
function t(i, l, a, f) {
if (typeof a == "number")
return f[i].length === a;
if (typeof a == "object") {
const p = Object.keys(a)[0], g = a[p];
if (p === "not")
return Number(f[i].length) !== Number(g);
if (p === "moreThan")
return Number(f[i].length) >= Number(g);
if (p === "lessThan")
return Number(f[i].length) <= Number(g);
}
return !1;
}
function o(i, l, a, f) {
return f[i] && f[i].propertyValue && String(f[i].propertyValue.value) === String(a);
}
const e = /* @__PURE__ */ new Map([
["length", t],
["getProperty", o]
]);
Object.keys(n).reduce((i, l) => (i.set(l, n[l]), i), e);
function r(i, l) {
const a = i;
return typeof l == "number" ? [{ target: a, operator: "length", param: null, value: Number(l) }] : typeof l == "boolean" ? [{ target: a, operator: "getProperty", param: i, value: !!l }] : typeof l == "object" ? Object.keys(l).map((f) => {
if (f === "length")
return { target: a, operator: "length", param: null, value: l[f] };
const p = f, g = l[f];
return { target: a, operator: "getProperty", param: p, value: g };
}) : [];
}
function u(i) {
return Object.keys(i).reduce((a, f) => {
const p = r(f, i[f]);
return a.push(...p), a;
}, []);
}
function s(i, l) {
if (e.has(i.operator)) {
const a = e.get(i.operator);
return a && a(i.target, i.param, i.value, l) || !1;
}
return !1;
}
function c(i, l) {
return u(i).reduce((p, g) => p && s(g, l), !0);
}
function d(i, l) {
const a = Object.keys(i), f = a.includes("allOf"), p = a.includes("anyOf"), g = f || p, v = (g ? i[g ? f ? "allOf" : "anyOf" : "allOf"] : [i]).map((P) => c(P, l));
return f ? !v.includes(!1) : v.includes(!0);
}
return { parseValueSchema: d };
}
const T = {}, w = {};
B();
function A(n, t, o = /* @__PURE__ */ new Map(), e = (s, c, d, i) => c, r = {}, u = (s) => s) {
return b[t.title] = t, E[t.title] = e, T[t.title] = r, w[t.title] = u, (s = {}, c = !0) => {
if (!c)
return C(s, o);
const d = k(s, t, o), i = Object.keys(n).reduce((l, a) => (l[a] = n[a].default, l), {});
return Object.assign(i, d);
};
}
function H(n, t) {
return { customClass: t.class, customStyle: t.style };
}
function N(n, t) {
const o = [];
return t == null || t.buttons.map((e) => {
const r = {};
Object.keys(e).map((u) => {
var s;
u === "appearance" ? r.class = ((s = e[u]) == null ? void 0 : s.class) || "" : r[u] = e[u];
}), o.push(r);
}), { buttons: o };
}
function U() {
function n(t, o) {
const { id: e } = t || {}, { field: r } = t.binding || {};
return {
modelValue: o.getValue(e),
"onUpdate:modelValue": (u) => {
o.setValue(e, r, u);
}
};
}
return {
resolve: n
};
}
function x() {
function n(t, o) {
const { id: e } = t || {}, { dataSource: r } = t || {};
return r === void 0 ? {} : {
data: o.getValue(e),
"onUpdate:data": (...u) => {
}
};
}
return {
resolve: n
};
}
function G() {
function n(t, o) {
const { dataSource: e } = t || {};
return e === void 0 ? {} : {};
}
return {
resolve: n
};
}
function L() {
function n(t, o) {
const { path: e } = t.binding || {};
return e ? {
"onUpdate:dataMapping": (...r) => {
}
} : {};
}
return {
resolve: n
};
}
function _() {
return (n, t, o) => {
const e = t.id, { type: r } = t, u = n.emits;
return u ? u.filter((s) => s !== "update:modelValue").reduce((s, c) => {
const d = `on${c.charAt(0).toUpperCase()}${c.slice(1)}`;
return s[d] = (...i) => {
o.dispatch(e, c, r, i);
}, s;
}, {}) : {};
};
}
function q() {
function n(t, o) {
return t.selectItemById(o);
}
return {
selectItemById: n
};
}
function F() {
function n(t, o) {
return t.selectItemById(o);
}
return {
selectItemById: n
};
}
function W() {
function n(t) {
return t.editor;
}
return {
resolve: n
};
}
function z() {
function n(t) {
return Object.prototype.hasOwnProperty.call(t, "visible") ? t.visible : null;
}
return {
resolve: n
};
}
function J() {
function n(t, o) {
const { name: e } = o;
return t[`on${e.charAt(0).toUpperCase()}${e.slice(1)}`] || t[e];
}
return {
resolve: n
};
}
function Q() {
function n(t, o) {
var c;
const e = (c = t.toolbar) == null ? void 0 : c.buttons;
if (!e || e.length < 1)
return null;
const [r, u] = o.payloads, s = e.find((d) => d.id === u);
return s ? s.onClick || s.click : null;
}
return {
resolve: n
};
}
function X() {
function n(t, o) {
const e = t.contents;
if (!e || e.length < 1)
return null;
const r = e.reduce((d, i) => {
const l = i.toolbar && i.toolbar.buttons || [];
return d.push(...l), d;
}, []);
if (!r || r.length < 1)
return;
const [u, s] = o.payloads, c = r.find((d) => d.id === s);
return c ? c.onClick || c.click : null;
}
return {
resolve: n
};
}
function Y() {
function n(t, o) {
const e = t.buttons;
if (!e || e.length < 1)
return null;
const [r, u] = o.payloads, s = e.find((c) => c.id === u);
return s ? s.onClick || s.click : null;
}
return {
resolve: n
};
}
function Z() {
function n(t, o) {
var c;
const e = (c = t.toolbar) == null ? void 0 : c.buttons;
if (!e || e.length < 1)
return null;
const [r, u] = o.payloads, s = e.find((d) => d.id === u);
return s ? s.onClick || s.click : null;
}
return {
resolve: n
};
}
function K() {
function n(t, o) {
const { columns: e } = o;
return t.updateColumns(e);
}
return {
updateColumns: n
};
}
export {
x as createCollectionBindingResolver,
q as createDataGridSelectionItemResolver,
L as createDataMappingBindingResolver,
K as createDataViewUpdateColumnsResolver,
J as createEventHandlerResolver,
_ as createEventsResolver,
U as createFormBindingResolver,
W as createFormGroupEditorResolver,
Q as createPageHeaderEventHandlerResolver,
A as createPropsResolver,
Y as createResponseToolbarEventHandlerResolver,
Z as createSectionEventHandlerResolver,
X as createTabsEventHandlerResolver,
G as createTreeGridBindingResolver,
F as createTreeGridSelectionItemResolver,
z as createVisiblePropResolver,
S as getSchemaByType,
C as mappingSchemaToProps,
T as propertyConfigSchemaMap,
H as resolveAppearance,
k as resolveSchemaToProps,
$ as resolveSchemaWithDefaultValue,
N as resolveToolbar,
b as schemaMap,
E as schemaResolverMap
};