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