UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

343 lines (342 loc) 8.79 kB
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 };