UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

365 lines (364 loc) 9.47 kB
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 };