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