@golemui/gui-shared 0.13.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/index.js +210 -195
- package/index.umd.cjs +1 -1
- package/internals.js +2 -2
- package/internals.umd.cjs +1 -1
- package/lib/dx/__tests__/helpers.d.ts +0 -2
- package/lib/dx/core/dx.domain.d.ts +0 -1
- package/lib/dx/core/eventWiring.service.d.ts +1 -2
- package/lib/dx/dx.service.d.ts +2 -6
- package/package.json +3 -3
- package/{resolveFormInput-CmPoe8iw.js → resolveFormInput-B3y_InQZ.js} +489 -528
- package/resolveFormInput-CyAWrNF6.cjs +1 -0
- package/resolveFormInput-C0LCXSox.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("@golemui/core");const O={INPUTS:"INPUTS",ACTIONS:"ACTIONS",LAYOUTS:"LAYOUTS",DISPLAYS:"DISPLAYS"};function B(e){return function(t,s=()=>!0){return{kind:"leaf",selectorType:e,matcher:s,config:t}}}function h(e,t){return typeof e=="function"?e:{type:t,...e??{}}}class q{deepMerge(t,s){if(s==null)return t;if(t==null||typeof t!="object"||typeof s!="object"||Array.isArray(t)||Array.isArray(s))return s;const n={...t};for(const l in s)Object.prototype.hasOwnProperty.call(s,l)&&(typeof s[l]=="object"&&!Array.isArray(s[l])&&s[l]!==null&&typeof t[l]=="object"&&!Array.isArray(t[l])&&t[l]!==null?n[l]=this.deepMerge(t[l],s[l]):n[l]=s[l]);return n}}const x=new q,F=(e,t)=>({type:"ITEMS",itemType:O.DISPLAYS,items:[{render:e}],tags:t??[]}),C=new Map;function j(e,t){if(C.has(e))throw new Error(`Item type "${e}" is already registered.`);C.set(e,t)}function v(e){const t=C.get(e);if(!t)throw new Error(`No handler registered for item type "${e}". Did you forget to import the registration module?`);return t}function $(e){return C.has(e)}function d(e){const t=o=>{if(!e.sensibleDefaults)return{};let r={...e.sensibleDefaults.base};for(const u of o){const p=u.config;for(const y of e.sensibleDefaults.fields){const c=y;p[c]!=null&&(r={...r,[c]:p[c]})}}return r},s=(o,r)=>e.sensibleDefaults?e.sensibleDefaults.apply(o,r):o,n=o=>{switch(e.entryShape){case"bare":return{baseDef:o};case"keyed":{const r=o;return{baseDef:r.def,path:r.key}}case"compound":{const r=o;return{baseDef:r.def,children:r.children}}}},l={rollUpSensibleDefaults:t,applySensibleDefaults:s,mapToWidget:e.mapToWidget,parseEntry:n,...e.afterMerge?{afterMerge:e.afterMerge}:{},...e.buildCustomWidget?{buildCustomWidget:e.buildCustomWidget}:{},...e.getChildren?{getChildren:e.getChildren}:{}};j(e.itemType,l);const a=B(e.itemType);return{gsl:a,gslByUid:(o,r)=>a(r,(u=>u.uid===o))}}function b(e){const{uid:t,path:s,label:n,disabled:l,readonly:a,defaultValue:i,tags:o,type:r,size:u,onLoad:p,onChange:y,onFilter:c,on:_,states:k,include:U,exclude:P,validator:I,...A}=e;return A}function Z(e){return e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,t=>t.toUpperCase()):""}function g(e,t){return e.label!=null||t.suppressAutomaticLabels||!e.path?e:{...e,label:Z(e.path)}}function S(e,t){return e.placeholder!=null||t.suppressAutomaticPlaceholders||!e.path?e:{...e,placeholder:e.path}}function J(e){switch(e.type){case"text":return ee(e);case"number":return te(e);case"boolean":return Q(e);default:throw new Error(`Unsupported field type "${e.type}"`)}}function Q(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"toggle",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"boolean")}:{},props:t}}function ee(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"textinput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},props:{placeholder:t.placeholder??"",...t},validator:h(e.validator,"string")}}function te(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"number",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},props:{placeholder:t.placeholder??"",...t},validator:h(e.validator,"number")}}const{gsl:se,gslByUid:le}=d({itemType:"INPUTS",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>{let s=g(e,t);return s=S(s,t),s}},mapToWidget:J}),{gsl:ne,gslByUid:ae}=d({itemType:"SELECT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"select",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:ie,gslByUid:re}=d({itemType:"DROPDOWN",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"dropdown",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:oe,gslByUid:ue}=d({itemType:"RADIOGROUP",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"radiogroup",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:pe,gslByUid:de}=d({itemType:"CHECKBOX",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"checkbox",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"boolean")}:{},props:b(e)})}),{gsl:ce,gslByUid:ye}=d({itemType:"TEXTAREA",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"textarea",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:be,gslByUid:ge}=d({itemType:"PASSWORD",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"password",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:me,gslByUid:he}=d({itemType:"CURRENCY",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"currency",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"number")}:{},props:b(e)})}),{gsl:_e,gslByUid:Te}=d({itemType:"MARKDOWN",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"markdown",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:Se,gslByUid:Ae}=d({itemType:"LIST",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"list",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:ke,gslByUid:Ue}=d({itemType:"CALENDAR",entryShape:"bare",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"calendar",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:Ce,gslByUid:ve}=d({itemType:"DATE_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"dateInput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:fe,gslByUid:De}=d({itemType:"DATE_PICKER",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"datePicker",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:Le,gslByUid:Oe}=d({itemType:"RANGE_CALENDAR",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeCalendar",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})}),{gsl:Be,gslByUid:Ee}=d({itemType:"RANGE_DATE_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeDateInput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})}),{gsl:Pe,gslByUid:Ie}=d({itemType:"RANGE_DATE_PICKER",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>S(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeDatePicker",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})});function we(e){const t={};return e.addLabel!=null&&(t.addLabel=e.addLabel),e.removeLabel!=null&&(t.removeLabel=e.removeLabel),e.limit!=null&&(t.limit=e.limit),e.title!=null&&(t.title=e.title),e.addButtonIcon!=null&&(t.addButtonIcon=e.addButtonIcon),e.removeButtonIcon!=null&&(t.removeButtonIcon=e.removeButtonIcon),t}function We(e){return{uid:e.uid??"",kind:"input",type:"repeater",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:{...we(e),template:{kind:"layout",type:"flex",children:[],props:{direction:"column"}}}}}function L(e,t){for(const s of e){if(typeof s=="function")continue;const n=s;typeof n.path=="string"&&n.path&&(n.path=t+n.path),"children"in n&&Array.isArray(n.children)&&L(n.children,t);const l=n.props;l?.template?.children&&Array.isArray(l.template.children)&&L(l.template.children,t)}}function Re(e,t){const s=t.walkChildren(t.children??[]),n=e.kind==="static"?e.def.path??"":e.fn({})?.path??"";n&&L(s,n+".items.");const l={kind:"layout",type:"flex",uid:"",children:s,props:{direction:"column"}};if(e.kind==="static"){const i=t.mapStaticDef(e.def,"REPEATER");return{...i,props:{...i.props,template:l}}}const a=e.fn;return(i=>{const o=a(i),r=t.mapStaticDef(o,"REPEATER");return{...r,props:{...r.props,template:l}}})}function Me(e){return{baseDef:e.def,path:e.key,children:e.children}}function Ne(e){return e.children}const xe={parseEntry:Me,rollUpSensibleDefaults:()=>({}),applySensibleDefaults:e=>e,mapToWidget:We,buildCustomWidget:Re,getChildren:Ne};j("REPEATER",xe);const Y=B("REPEATER"),Fe=(e,t)=>Y(t,(s=>s.uid===e)),z={onLoad:"load",onChange:"change",onFilter:"filter",onBlur:"blur"},je=Object.keys(z);class $e{extractOnClickFromMergeResult(t,s,n,l){if(t.kind==="dynamic"){const o=t.fn;return{kind:"dynamic",fn:u=>{const p=o(u);return this.wireOnClick(p,s,n,l)}}}const a=t.def;return{kind:"static",def:this.wireOnClick(a,s,n,l)}}wireOnClick(t,s,n,l){const a=t.uid==="#submit"||t.onClick==="submit",i=a?"#submit":l.next(),o=a?"submit":i,r=t.onClick,p=(typeof r=="function"?r:void 0)??(a?n.onSubmit:void 0);if(p){s.set(o,_=>p(_.data));const{onClick:y,...c}=t;return{...c,uid:i,on:{click:o}}}if(a){const{onClick:y,...c}=t;return{...c,uid:i,on:{click:"submit"}}}if(typeof r=="string"){const{onClick:y,...c}=t;return{...c,uid:i,on:{click:r}}}return{...t,uid:i}}wireInputLayoutEvents(t,s,n){if(t.kind==="dynamic"){const a=t.fn;return{kind:"dynamic",fn:o=>{const r=a(o);return this.wireEventProperties(r,s,n)}}}return{kind:"static",def:this.wireEventProperties(t.def,s,n)}}wireEventProperties(t,s,n){const l={...t.on||{}};let a=!1;const i={...t};for(const o of je){const r=t[o];if(r==null)continue;const u=z[o];if(typeof r=="function"){const p=n.next();s.set(p,r),l[u]=p,a=!0}else typeof r=="string"&&(l[u]=r,a=!0);delete i[o]}return a&&(i.on=l),i}}const E=new $e;function Ye(e){const{uid:t,label:s,disabled:n,on:l,onClick:a,data:i,type:o,tags:r,size:u,include:p,exclude:y,states:c,..._}=e;return{uid:t??"",kind:"action",type:"button",disabled:n,label:s,...l!=null?{on:l}:{},props:_}}const{gsl:ze,gslByUid:Ke}=d({itemType:"ACTIONS",entryShape:"bare",mapToWidget:Ye,afterMerge:(e,t)=>E.extractOnClickFromMergeResult(e,t.eventRegistry,t.formConfig,t.eventIdGenerator)});function Ve(e){const{uid:t,widgetName:s,tags:n,size:l,onChange:a,include:i,exclude:o,...r}=e,{on:u,...p}=r;return{uid:t??"",kind:"layout",type:s??"flex",props:{direction:p.direction??"column",...p},children:[]}}function Ge(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"LAYOUTS"),children:s};const n=e.fn;return(l=>{const a=n(l);return{...t.mapStaticDef(a,"LAYOUTS"),children:s}})}function Xe(e){return e.children}const{gsl:He,gslByUid:qe}=d({itemType:"LAYOUTS",entryShape:"compound",mapToWidget:Ve,buildCustomWidget:Ge,getChildren:Xe});function Ze(e){return{uid:"",kind:"display",type:"renderer",props:{render:e.render}}}function Je(e,t){if(e.kind==="static"){const n=e.def;return(l=>({uid:"",kind:"display",type:"renderer",...n.include!=null?{include:n.include}:{},...n.exclude!=null?{exclude:n.exclude}:{},props:{render:n.render(l??{})}}))}const s=e.fn;return(n=>{const l=s(n);return{uid:"",kind:"display",type:"renderer",...l.include!=null?{include:l.include}:{},...l.exclude!=null?{exclude:l.exclude}:{},props:{render:l.render(n??{})}}})}const{gsl:Qe,gslByUid:et}=d({itemType:"DISPLAYS",entryShape:"bare",mapToWidget:Ze,buildCustomWidget:Je}),{gsl:tt,gslByUid:st}=d({itemType:"ALERTS",entryShape:"bare",mapToWidget:e=>({uid:e.uid??"",kind:"display",type:"alert",props:{text:e.text,...e.level!=null?{level:e.level}:{}}})});function lt(e){return{uid:e.uid??"",kind:"layout",type:"tabs",props:{tabs:e.tabs,renderMode:e.renderMode??"all",...e.defaultOpen!=null?{defaultOpen:e.defaultOpen}:{}},children:[]}}function nt(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"TABS"),children:s};const n=e.fn;return(l=>{const a=n(l);return{...t.mapStaticDef(a,"TABS"),children:s}})}function at(e){return e.children}const{gsl:it,gslByUid:rt}=d({itemType:"TABS",entryShape:"compound",mapToWidget:lt,buildCustomWidget:nt,getChildren:at});function ot(e){return{uid:e.uid??"",kind:"layout",type:"accordion",props:{sections:e.sections,renderMode:e.renderMode??"all",...e.singleOpen!=null?{singleOpen:e.singleOpen}:{},...e.defaultOpen!=null?{defaultOpen:e.defaultOpen}:{}},children:[]}}function ut(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"ACCORDION"),children:s};const n=e.fn;return(l=>{const a=n(l);return{...t.mapStaticDef(a,"ACCORDION"),children:s}})}function pt(e){return e.children}const{gsl:dt,gslByUid:ct}=d({itemType:"ACCORDION",entryShape:"compound",mapToWidget:ot,buildCustomWidget:ut,getChildren:pt}),{gsl:yt,gslByUid:bt}=d({itemType:"CUSTOM_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:e.customType,path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.defaultValue!=null?{defaultValue:e.defaultValue}:{},...e.validator!=null?{validator:e.validator}:{},props:e.props??{}})}),{gsl:gt,gslByUid:mt}=d({itemType:"CUSTOM_ACTION",entryShape:"bare",mapToWidget:e=>{const{uid:t,label:s,disabled:n,on:l,onClick:a,data:i,customType:o,tags:r,size:u,include:p,exclude:y,states:c,props:_,...k}=e;return{uid:t??"",kind:"action",type:e.customType,label:s,disabled:n,...l!=null?{on:l}:{},props:{..._,...k}}},afterMerge:(e,t)=>E.extractOnClickFromMergeResult(e,t.eventRegistry,t.formConfig,t.eventIdGenerator)}),{gsl:ht,gslByUid:_t}=d({itemType:"CUSTOM_DISPLAY",entryShape:"bare",mapToWidget:e=>({uid:e.uid??"",kind:"display",type:e.customType,props:e.props??{}})});function Tt(e){return{uid:e.uid??"",kind:"layout",type:e.customType,props:e.props??{},children:[]}}function St(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"CUSTOM_LAYOUT"),children:s};const n=e.fn;return(l=>{const a=n(l);return{...t.mapStaticDef(a,"CUSTOM_LAYOUT"),children:s}})}function At(e){return e.children}const{gsl:kt,gslByUid:Ut}=d({itemType:"CUSTOM_LAYOUT",entryShape:"compound",mapToWidget:Tt,buildCustomWidget:St,getChildren:At}),K={INPUTS:new Set(["INPUTS","TEXTAREA","PASSWORD","SELECT","DROPDOWN","RADIOGROUP","CHECKBOX","CALENDAR","DATE_INPUT","DATE_PICKER","RANGE_CALENDAR","RANGE_DATE_INPUT","RANGE_DATE_PICKER","CURRENCY","MARKDOWN","LIST","CUSTOM_INPUT","REPEATER"]),ACTIONS:new Set(["ACTIONS","CUSTOM_ACTION"]),DISPLAYS:new Set(["DISPLAYS","ALERTS","CUSTOM_DISPLAY"]),LAYOUTS:new Set(["LAYOUTS","TABS","ACCORDION","CUSTOM_LAYOUT"])};function Ct(e,t){const s=K[e];return s?s.has(t):e===t}class vt{resolve(t,s){const n=[];for(const a of s)a.kind==="aggregated"?this.collectFromAggregated(a,t,n):this.collectFromLeaf(a,t,n);const l=this.rollUpSensibleDefaults(n);return{leafSelectors:n,sensibleDefaults:l}}collectFromAggregated(t,s,n){if(t.matcher(s))for(const l of t.children)this.collectFromLeaf(l,s,n)}collectFromLeaf(t,s,n){Ct(t.selectorType,s.itemType??"")&&t.matcher(s)&&n.push(t)}rollUpSensibleDefaults(t){const s=new Map,n=(a,i)=>{const o=s.get(a)??[];o.push(i),s.set(a,o)};for(const a of t){const i=K[a.selectorType];if(i)for(const o of i)n(o,a);else n(a.selectorType,a)}const l={};for(const[a,i]of s)$(a)&&(l[a]=v(a).rollUpSensibleDefaults(i));return l}}const ft=new vt;class Dt{constructor(t){this.objectUtils=t}merge(t,s,n){let l={},a=null;typeof t=="function"&&(a=t);const i=this.collectDecorators(n);for(const u of i){if(a!=null){a=this.composeRuntimeFunctions(a,u);continue}if(typeof u=="function"){const p=u({...l,...typeof t=="function"?{}:t});if(typeof p=="function"){a=this.createPromotedFunction(l,t,p,s,n);continue}l=this.objectUtils.deepMerge(l,p)}else l=this.objectUtils.deepMerge(l,u)}if(a!=null)return{kind:"dynamic",fn:this.wrapWithSensibleDefaults(a,l,s,n)};const o=this.objectUtils.deepMerge(t,l);return{kind:"static",def:this.applySensibleDefaults({...o},s,n)}}collectDecorators(t){const s=[];for(const n of t.leafSelectors){const l=n.config;l.override!=null&&s.push(l.override)}return s}applySensibleDefaults(t,s,n){if(!$(s))return t;const l=n.sensibleDefaults[s]??{};return v(s).applySensibleDefaults(t,l)}createPromotedFunction(t,s,n,l,a){return i=>{const o=n(i);let r=this.objectUtils.deepMerge(t,o);return r=this.objectUtils.deepMerge(r,s),this.applySensibleDefaults(r,l,a)}}wrapWithSensibleDefaults(t,s,n,l){return a=>{let i=t(a);return Object.keys(s).length>0&&(i=this.objectUtils.deepMerge(s,i)),this.applySensibleDefaults(i,n,l)}}composeRuntimeFunctions(t,s){return typeof s=="function"?n=>{const l=t(n),a=s(l);return typeof a=="function"?a(n):this.objectUtils.deepMerge(a,l)}:n=>{const l=t(n);return this.objectUtils.deepMerge(l,s)}}}const Lt=new Dt(x);class Ot{mapToWidget(t,s){if(t.kind==="dynamic"){const n=t.fn;return(l=>{const a=n(l);return this.mapStaticDef(a,s)})}return this.mapStaticDef(t.def,s)}mapStaticDef(t,s){const n=v(s).mapToWidget(t);return this.applyBaseWidgetFields(n,t)}applyBaseWidgetFields(t,s){return s.size!=null&&(t.size=s.size),s.defaultValue!=null&&t.kind==="input"&&(t.defaultValue=s.defaultValue),s.on!=null&&(t.on=s.on),s.include!=null&&(t.include=s.include),s.exclude!=null&&(t.exclude=s.exclude),t}}const Bt=new Ot;class Et{normalizeSelectors(t){const s=Array.isArray(t)?t:[t],n=[],l=[];for(const a of s)a.kind==="leaf"?l.push(a):n.push(a);return l.length>0&&n.unshift({kind:"aggregated",matcher:()=>!0,children:l}),n}extractFormConfig(){return{suppressAutomaticStack:!1,onSubmit:t=>console.log("Form submitted:",t)}}}const Pt=new Et,It={input:new Set(["disabled","readonly","label","validator","size"]),action:new Set(["disabled","label","size"]),layout:new Set(["size"]),display:new Set([])},W={onChange:"change",onLoad:"load",onFilter:"filter",onClick:"click"};class wt{extractFromMergeResult(t,s){const n={};for(const o of s){const r=o.targetState,u=o.config,p=u.override&&typeof u.override!="function"?u.override:u;n[r]={...n[r]||{},...p}}if(t.kind==="dynamic"){const o=t.fn;return{cleanedResult:{kind:"dynamic",fn:u=>{const p=o(u),{states:y,...c}=p;return c}},stateData:{stateOverrides:n}}}const{states:l,...a}=t.def,i={};for(const[o,r]of Object.entries(n))i[o]={...r};if(l)for(const[o,r]of Object.entries(l))i[o]={...i[o]||{},...r};return{cleanedResult:{kind:"static",def:a},stateData:{stateOverrides:i}}}applyToWidget(t,s,n,l){const{stateOverrides:a}=s;if(Object.keys(a).length===0)return t;const i={...t},o=t.kind,r=It[o]||new Set;t.props&&(i.props={...t.props}),t.on&&(i.on={...t.on});for(const[u,p]of Object.entries(a))for(const[y,c]of Object.entries(p))y==="visible"?this.applyVisibility(i,u,c):W[y]?this.applyStateEvent(i,u,y,c,n,l):r.has(y)?i[`${y}.${u}`]=c:(i.props||(i.props={}),i.props[`${y}.${u}`]=c);return i}hasStateData(t){return Object.keys(t.stateOverrides).length>0}applyVisibility(t,s,n){if(n){const l=t.include?.in||[];t.include={...t.include||{},in:[...l,s]}}else{const l=t.exclude?.from||[];t.exclude={...t.exclude||{},from:[...l,s]}}}applyStateEvent(t,s,n,l,a,i){const o=W[n];if(t.on||(t.on={}),typeof l=="function"){const r=i.next();a.set(r,l),t.on[`${o}.${s}`]=r}else typeof l=="string"&&(t.on[`${o}.${s}`]=l)}}const Wt=new wt;function Rt(){let e=0;return{next:()=>`event_${e++}`}}class Mt{constructor(t,s,n,l,a){this.resolver=t,this.merger=s,this.mapper=n,this.eventWiring=l,this.stateExpansion=a}walkAndMap(t,s,n){const l=new Map,a=Rt(),i={value:0},o=new Set;return{widgets:this.walkItems(t,s,l,n,a,i,o),eventRegistry:l}}walkItems(t,s,n,l,a,i,o){return t.flatMap(r=>{if(r.type!=="ITEMS")throw new Error("Unexpected gui shortcut type");return r.items.map(u=>this.processItem(u,r.itemType,r.tags,s,n,l,a,i,o))})}processItem(t,s,n,l,a,i,o,r,u){const p=s,y=v(s),c=y.parseEntry(t),_=this.buildBaseDef(c),k=this.buildDecoratorForMatching(_,p,n),U=this.resolver.resolve(k,l),P=U.leafSelectors.filter(m=>m.targetState!=null),I={leafSelectors:U.leafSelectors.filter(m=>m.targetState==null),sensibleDefaults:U.sensibleDefaults};let A=this.merger.merge(_,p,I);y.afterMerge&&(A=y.afterMerge(A,{eventRegistry:a,formConfig:i,eventIdGenerator:o})),A=this.eventWiring.wireInputLayoutEvents(A,a,o);const{cleanedResult:w,stateData:f}=this.stateExpansion.extractFromMergeResult(A,P);let T;if(y.buildCustomWidget){const m=this.buildCustomWidgetContext(c.children,l,a,i,o,r,u);T=this.buildCustomWidget(y,w,m)}else T=this.mapper.mapToWidget(w,p);if(typeof T!="function"){const m=T;m.uid||(m.path&&!u.has(m.path)?(m.uid=m.path,u.add(m.path)):m.uid=`dx_${r.value++}`)}if(this.stateExpansion.hasStateData(f))if(typeof T=="function"){const m=T;T=(X=>{const H=m(X);return this.stateExpansion.applyToWidget(H,f,a,o)})}else T=this.stateExpansion.applyToWidget(T,f,a,o);return T}buildCustomWidgetContext(t,s,n,l,a,i,o){return{children:t,mapStaticDef:(r,u)=>this.mapper.mapStaticDef(r,u),walkChildren:r=>this.walkItems(r,s,n,l,a,i,o)}}buildCustomWidget(t,s,n){return t.buildCustomWidget(s,n)}buildBaseDef(t){const s=t.baseDef;return typeof s=="function"?n=>{const a=s(n??{});return t.path!=null?{...a,path:t.path}:a}:t.path!=null?{...s,path:t.path}:s}buildDecoratorForMatching(t,s,n){if(typeof t=="function")return{itemType:s,tags:[...n]};const l=[...n,..."tags"in t&&t.tags?t.tags:[]],a="uid"in t?t.uid:void 0,i="type"in t?t.type:void 0;return{itemType:s,tags:l,uid:a,type:i}}}class Nt{constructor(t,s){this.selectorNormalizer=t,this.walker=s}processDxFacade(t,s=[],n){const{defs:l,gslSelectors:a,formConfig:i}=this.prepareForm(t,s,n),{widgets:o,eventRegistry:r}=this.walker.walkAndMap(l,a,i),u=o[0];return this.buildResult({form:u},r,i)}prepareForm(t,s,n){const a=(Array.isArray(t)?[...t]:[t]).map(r=>typeof r=="function"?F(r):r),i=this.selectorNormalizer.normalizeSelectors(s),o={...this.selectorNormalizer.extractFormConfig(),...n};if(!o.suppressAutomaticStack){const r={def:{uid:"#root",direction:"column",widgetName:"flex"},children:a};return{defs:[{type:"ITEMS",itemType:O.LAYOUTS,items:[r],tags:[]}],gslSelectors:i,formConfig:o}}return{defs:a,gslSelectors:i,formConfig:o}}convertStateNames(t){const s={};for(const[n,l]of Object.entries(t))s[n.replace(/\$/g,":")]=l;return s}buildResult(t,s,n){n.states&&Object.keys(n.states).length>0&&(t={...t,states:this.convertStateNames(n.states)});const l={form:t};return s.size>0&&(l.events=a=>{const i=s.get(a.name);if(i){const o=u=>{if(u&&typeof u=="object"&&"path"in u&&!("type"in u)){const{path:p,...y}=u;for(const[c,_]of Object.entries(y))a.callback({type:"OVERRIDE_WIDGET_PROP",payload:{path:p,prop:c,value:_}})}else a.callback(u)},r={...a,callback:o,update:o};i(r)}}),n.dependencies&&(l.dependencies=n.dependencies),n.widgetLoaders&&(l.widgetLoaders=n.widgetLoaders),n.validateOn&&(l.validateOn=n.validateOn),n.itemRenderers&&(l.itemRenderers=n.itemRenderers),l}}const xt=new Mt(ft,Lt,Bt,E,Wt),V=new Nt(Pt,xt);function G(e){return typeof e=="function"?!0:Array.isArray(e)?e.length===0||e.every(R):R(e)}function R(e){if(typeof e=="function")return!0;if(e===null||typeof e!="object")return!1;const t=e;return t.type==="ITEMS"&&typeof t.itemType=="string"}const M=Object.freeze({}),Ft=Object.freeze({}),N=new WeakMap;function D(e,t){return e==null?t:typeof e=="object"?e:{}}function jt(e,t,s){if(!G(e))return{formDef:e};const n=D(e,M),l=D(t,M),a=D(s,Ft);let i=N.get(n);i||(i=new WeakMap,N.set(n,i));let o=i.get(l);o||(o=new WeakMap,i.set(l,o));const r=o.get(a);if(r)return r;const u=V.processDxFacade(e,t,s),p={formDef:u.form,formEvent:u.events,dependencies:u.dependencies,widgetLoaders:u.widgetLoaders,validateOn:u.validateOn,itemRenderers:u.itemRenderers};return o.set(a,p),p}exports.GuiItemTypes=O;exports._gslAccordionByUid=ct;exports._gslAccordions=dt;exports._gslActionByUid=Ke;exports._gslActions=ze;exports._gslAlertByUid=st;exports._gslAlerts=tt;exports._gslCalendarByUid=Ue;exports._gslCalendars=ke;exports._gslCheckboxByUid=de;exports._gslCheckboxes=pe;exports._gslCurrencies=me;exports._gslCurrencyByUid=he;exports._gslCustomActionByUid=mt;exports._gslCustomActions=gt;exports._gslCustomDisplayByUid=_t;exports._gslCustomDisplays=ht;exports._gslCustomInputByUid=bt;exports._gslCustomInputs=yt;exports._gslCustomLayoutByUid=Ut;exports._gslCustomLayouts=kt;exports._gslDateInputByUid=ve;exports._gslDateInputs=Ce;exports._gslDatePickerByUid=De;exports._gslDatePickers=fe;exports._gslDisplayByUid=et;exports._gslDisplays=Qe;exports._gslDropdownByUid=re;exports._gslDropdowns=ie;exports._gslInputByUid=le;exports._gslInputs=se;exports._gslLayoutByUid=qe;exports._gslLayouts=He;exports._gslListByUid=Ae;exports._gslLists=Se;exports._gslMarkdownByUid=Te;exports._gslMarkdowns=_e;exports._gslPasswordByUid=ge;exports._gslPasswords=be;exports._gslRadiogroupByUid=ue;exports._gslRadiogroups=oe;exports._gslRangeCalendarByUid=Oe;exports._gslRangeCalendars=Le;exports._gslRangeDateInputByUid=Ee;exports._gslRangeDateInputs=Be;exports._gslRangeDatePickerByUid=Ie;exports._gslRangeDatePickers=Pe;exports._gslRepeaterByUid=Fe;exports._gslRepeaters=Y;exports._gslSelectByUid=ae;exports._gslSelects=ne;exports._gslTabs=it;exports._gslTabsByUid=rt;exports._gslTextareaByUid=ye;exports._gslTextareas=ce;exports._guiDisplay=F;exports.createGslSelector=B;exports.defineShortcutType=d;exports.extractWidgetProps=b;exports.formDefs=V;exports.isDxDefinitions=G;exports.objectUtils=x;exports.processAutoLabel=g;exports.processAutoPlaceholder=S;exports.resolveFormInput=jt;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("@golemui/core");const k={INPUTS:"INPUTS",ACTIONS:"ACTIONS",LAYOUTS:"LAYOUTS",DISPLAYS:"DISPLAYS"};function E(e){return function(t,s=()=>!0){return{kind:"leaf",selectorType:e,matcher:s,config:t}}}function h(e,t){return typeof e=="function"?e:{type:t,...e??{}}}class J{deepMerge(t,s){if(s==null)return t;if(t==null||typeof t!="object"||typeof s!="object"||Array.isArray(t)||Array.isArray(s))return s;const l={...t};for(const n in s)Object.prototype.hasOwnProperty.call(s,n)&&(typeof s[n]=="object"&&!Array.isArray(s[n])&&s[n]!==null&&typeof t[n]=="object"&&!Array.isArray(t[n])&&t[n]!==null?l[n]=this.deepMerge(t[n],s[n]):l[n]=s[n]);return l}}const x=new J;function F(e,t){return{items:[e],type:"ITEMS",itemType:k.ACTIONS,tags:t??[]}}const j=e=>{const t={uid:"#submit",label:"Submit"},s=e!=null?x.deepMerge(t,e):t;return F(s)},$=(e,t)=>({type:"ITEMS",itemType:k.DISPLAYS,items:[{render:e}],tags:t??[]}),v=new Map;function Y(e,t){if(v.has(e))throw new Error(`Item type "${e}" is already registered.`);v.set(e,t)}function C(e){const t=v.get(e);if(!t)throw new Error(`No handler registered for item type "${e}". Did you forget to import the registration module?`);return t}function z(e){return v.has(e)}function c(e){const t=r=>{if(!e.sensibleDefaults)return{};let o={...e.sensibleDefaults.base};for(const u of r){const p=u.config;for(const y of e.sensibleDefaults.fields){const d=y;p[d]!=null&&(o={...o,[d]:p[d]})}}return o},s=(r,o)=>e.sensibleDefaults?e.sensibleDefaults.apply(r,o):r,l=r=>{switch(e.entryShape){case"bare":return{baseDef:r};case"keyed":{const o=r;return{baseDef:o.def,path:o.key}}case"compound":{const o=r;return{baseDef:o.def,children:o.children}}}},n={rollUpSensibleDefaults:t,applySensibleDefaults:s,mapToWidget:e.mapToWidget,parseEntry:l,...e.afterMerge?{afterMerge:e.afterMerge}:{},...e.buildCustomWidget?{buildCustomWidget:e.buildCustomWidget}:{},...e.getChildren?{getChildren:e.getChildren}:{}};Y(e.itemType,n);const a=E(e.itemType);return{gsl:a,gslByUid:(r,o)=>a(o,(u=>u.uid===r))}}function b(e){const{uid:t,path:s,label:l,disabled:n,readonly:a,defaultValue:i,tags:r,type:o,size:u,onLoad:p,onChange:y,onFilter:d,on:_,states:f,include:U,exclude:I,validator:P,...A}=e;return A}function Q(e){return e?e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,t=>t.toUpperCase()):""}function g(e,t){return e.label!=null||t.suppressAutomaticLabels||!e.path?e:{...e,label:Q(e.path)}}function T(e,t){return e.placeholder!=null||t.suppressAutomaticPlaceholders||!e.path?e:{...e,placeholder:e.path}}function ee(e){switch(e.type){case"text":return se(e);case"number":return le(e);case"boolean":return te(e);default:throw new Error(`Unsupported field type "${e.type}"`)}}function te(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"toggle",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"boolean")}:{},props:t}}function se(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"textinput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},props:{placeholder:t.placeholder??"",...t},validator:h(e.validator,"string")}}function le(e){const t=b(e);return{uid:e.uid??"",kind:"input",type:"number",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},props:{placeholder:t.placeholder??"",...t},validator:h(e.validator,"number")}}const{gsl:ne,gslByUid:ae}=c({itemType:"INPUTS",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>{let s=g(e,t);return s=T(s,t),s}},mapToWidget:ee}),{gsl:ie,gslByUid:re}=c({itemType:"SELECT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"select",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:oe,gslByUid:ue}=c({itemType:"DROPDOWN",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"dropdown",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:pe,gslByUid:ce}=c({itemType:"RADIOGROUP",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"radiogroup",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:de,gslByUid:ye}=c({itemType:"CHECKBOX",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"checkbox",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"boolean")}:{},props:b(e)})}),{gsl:be,gslByUid:ge}=c({itemType:"TEXTAREA",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"textarea",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:me,gslByUid:he}=c({itemType:"PASSWORD",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"password",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:_e,gslByUid:Se}=c({itemType:"CURRENCY",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"currency",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"number")}:{},props:b(e)})}),{gsl:Te,gslByUid:Ae}=c({itemType:"MARKDOWN",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"markdown",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:ke,gslByUid:Ce}=c({itemType:"LIST",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"list",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:e.validator}:{},props:b(e)})}),{gsl:fe,gslByUid:Ue}=c({itemType:"CALENDAR",entryShape:"bare",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"calendar",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:ve,gslByUid:De}=c({itemType:"DATE_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"dateInput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:Le,gslByUid:Be}=c({itemType:"DATE_PICKER",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"datePicker",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"string")}:{},props:b(e)})}),{gsl:Oe,gslByUid:Ee}=c({itemType:"RANGE_CALENDAR",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeCalendar",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})}),{gsl:Ie,gslByUid:Pe}=c({itemType:"RANGE_DATE_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeDateInput",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})}),{gsl:we,gslByUid:We}=c({itemType:"RANGE_DATE_PICKER",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1,suppressAutomaticPlaceholders:!1},fields:["suppressAutomaticLabels","suppressAutomaticPlaceholders"],apply:(e,t)=>T(g(e,t),t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:"rangeDatePicker",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:b(e)})});function Re(e){const t={};return e.addLabel!=null&&(t.addLabel=e.addLabel),e.removeLabel!=null&&(t.removeLabel=e.removeLabel),e.limit!=null&&(t.limit=e.limit),e.title!=null&&(t.title=e.title),e.addButtonIcon!=null&&(t.addButtonIcon=e.addButtonIcon),e.removeButtonIcon!=null&&(t.removeButtonIcon=e.removeButtonIcon),t}function Me(e){return{uid:e.uid??"",kind:"input",type:"repeater",path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.validator!=null?{validator:h(e.validator,"array")}:{},props:{...Re(e),template:{kind:"layout",type:"flex",children:[],props:{direction:"column"}}}}}function O(e,t){for(const s of e){if(typeof s=="function")continue;const l=s;typeof l.path=="string"&&l.path&&(l.path=t+l.path),"children"in l&&Array.isArray(l.children)&&O(l.children,t);const n=l.props;n?.template?.children&&Array.isArray(n.template.children)&&O(n.template.children,t)}}function Ne(e,t){const s=t.walkChildren(t.children??[]),l=e.kind==="static"?e.def.path??"":e.fn({})?.path??"";l&&O(s,l+".items.");const n={kind:"layout",type:"flex",uid:"",children:s,props:{direction:"column"}};if(e.kind==="static"){const i=t.mapStaticDef(e.def,"REPEATER");return{...i,props:{...i.props,template:n}}}const a=e.fn;return(i=>{const r=a(i),o=t.mapStaticDef(r,"REPEATER");return{...o,props:{...o.props,template:n}}})}function xe(e){return{baseDef:e.def,path:e.key,children:e.children}}function Fe(e){return e.children}const je={parseEntry:xe,rollUpSensibleDefaults:()=>({}),applySensibleDefaults:e=>e,mapToWidget:Me,buildCustomWidget:Ne,getChildren:Fe};Y("REPEATER",je);const K=E("REPEATER"),$e=(e,t)=>K(t,(s=>s.uid===e)),V={onLoad:"load",onChange:"change",onFilter:"filter",onBlur:"blur"},Ye=Object.keys(V);class ze{extractOnClickFromMergeResult(t,s,l,n){if(t.kind==="dynamic"){const r=t.fn;return{kind:"dynamic",fn:u=>{const p=r(u);return this.wireOnClick(p,s,l,n)}}}const a=t.def;return{kind:"static",def:this.wireOnClick(a,s,l,n)}}countSubmitButtons(t){let s=0;for(const l of t){if(l.type!=="ITEMS")continue;const n=C(l.itemType);for(const a of l.items){const i=n.getChildren?.(a);if(i&&(s+=this.countSubmitButtons(i)),l.itemType===k.ACTIONS){if(typeof a=="function")continue;const r=a;(r.uid==="#submit"||r.onClick==="submit")&&s++}}}return s}wireOnClick(t,s,l,n){const a=t.uid==="#submit"||t.onClick==="submit",i=a?"#submit":n.next(),r=a?"submit":i,o=t.onClick,p=(typeof o=="function"?o:void 0)??(a?l.onSubmit:void 0);if(p){s.set(r,_=>p(_.data));const{onClick:y,...d}=t;return{...d,uid:i,on:{click:r}}}if(a){const{onClick:y,...d}=t;return{...d,uid:i,on:{click:"submit"}}}if(typeof o=="string"){const{onClick:y,...d}=t;return{...d,uid:i,on:{click:o}}}return{...t,uid:i}}wireInputLayoutEvents(t,s,l){if(t.kind==="dynamic"){const a=t.fn;return{kind:"dynamic",fn:r=>{const o=a(r);return this.wireEventProperties(o,s,l)}}}return{kind:"static",def:this.wireEventProperties(t.def,s,l)}}wireEventProperties(t,s,l){const n={...t.on||{}};let a=!1;const i={...t};for(const r of Ye){const o=t[r];if(o==null)continue;const u=V[r];if(typeof o=="function"){const p=l.next();s.set(p,o),n[u]=p,a=!0}else typeof o=="string"&&(n[u]=o,a=!0);delete i[r]}return a&&(i.on=n),i}}const D=new ze;function Ke(e){const{uid:t,label:s,disabled:l,on:n,onClick:a,data:i,type:r,tags:o,size:u,include:p,exclude:y,states:d,..._}=e;return{uid:t??"",kind:"action",type:"button",disabled:l,label:s,...n!=null?{on:n}:{},props:_}}const{gsl:Ve,gslByUid:Ge}=c({itemType:"ACTIONS",entryShape:"bare",mapToWidget:Ke,afterMerge:(e,t)=>D.extractOnClickFromMergeResult(e,t.eventRegistry,t.formConfig,t.eventIdGenerator)});function Xe(e){const{uid:t,widgetName:s,tags:l,size:n,onChange:a,include:i,exclude:r,...o}=e,{on:u,...p}=o;return{uid:t??"",kind:"layout",type:s??"flex",props:{direction:p.direction??"column",...p},children:[]}}function He(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"LAYOUTS"),children:s};const l=e.fn;return(n=>{const a=l(n);return{...t.mapStaticDef(a,"LAYOUTS"),children:s}})}function qe(e){return e.children}const{gsl:Ze,gslByUid:Je}=c({itemType:"LAYOUTS",entryShape:"compound",mapToWidget:Xe,buildCustomWidget:He,getChildren:qe});function Qe(e){return{uid:"",kind:"display",type:"renderer",props:{render:e.render}}}function et(e,t){if(e.kind==="static"){const l=e.def;return(n=>({uid:"",kind:"display",type:"renderer",...l.include!=null?{include:l.include}:{},...l.exclude!=null?{exclude:l.exclude}:{},props:{render:l.render(n??{})}}))}const s=e.fn;return(l=>{const n=s(l);return{uid:"",kind:"display",type:"renderer",...n.include!=null?{include:n.include}:{},...n.exclude!=null?{exclude:n.exclude}:{},props:{render:n.render(l??{})}}})}const{gsl:tt,gslByUid:st}=c({itemType:"DISPLAYS",entryShape:"bare",mapToWidget:Qe,buildCustomWidget:et}),{gsl:lt,gslByUid:nt}=c({itemType:"ALERTS",entryShape:"bare",mapToWidget:e=>({uid:e.uid??"",kind:"display",type:"alert",props:{text:e.text,...e.level!=null?{level:e.level}:{}}})});function at(e){return{uid:e.uid??"",kind:"layout",type:"tabs",props:{tabs:e.tabs,renderMode:e.renderMode??"all",...e.defaultOpen!=null?{defaultOpen:e.defaultOpen}:{}},children:[]}}function it(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"TABS"),children:s};const l=e.fn;return(n=>{const a=l(n);return{...t.mapStaticDef(a,"TABS"),children:s}})}function rt(e){return e.children}const{gsl:ot,gslByUid:ut}=c({itemType:"TABS",entryShape:"compound",mapToWidget:at,buildCustomWidget:it,getChildren:rt});function pt(e){return{uid:e.uid??"",kind:"layout",type:"accordion",props:{sections:e.sections,renderMode:e.renderMode??"all",...e.singleOpen!=null?{singleOpen:e.singleOpen}:{},...e.defaultOpen!=null?{defaultOpen:e.defaultOpen}:{}},children:[]}}function ct(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"ACCORDION"),children:s};const l=e.fn;return(n=>{const a=l(n);return{...t.mapStaticDef(a,"ACCORDION"),children:s}})}function dt(e){return e.children}const{gsl:yt,gslByUid:bt}=c({itemType:"ACCORDION",entryShape:"compound",mapToWidget:pt,buildCustomWidget:ct,getChildren:dt}),{gsl:gt,gslByUid:mt}=c({itemType:"CUSTOM_INPUT",entryShape:"keyed",sensibleDefaults:{base:{suppressAutomaticLabels:!1},fields:["suppressAutomaticLabels"],apply:(e,t)=>g(e,t)},mapToWidget:e=>({uid:e.uid??"",kind:"input",type:e.customType,path:e.path??"",...e.label!=null?{label:e.label}:{},...e.disabled!=null?{disabled:e.disabled}:{},...e.readonly!=null?{readonly:e.readonly}:{},...e.defaultValue!=null?{defaultValue:e.defaultValue}:{},...e.validator!=null?{validator:e.validator}:{},props:e.props??{}})}),{gsl:ht,gslByUid:_t}=c({itemType:"CUSTOM_ACTION",entryShape:"bare",mapToWidget:e=>{const{uid:t,label:s,disabled:l,on:n,onClick:a,data:i,customType:r,tags:o,size:u,include:p,exclude:y,states:d,props:_,...f}=e;return{uid:t??"",kind:"action",type:e.customType,label:s,disabled:l,...n!=null?{on:n}:{},props:{..._,...f}}},afterMerge:(e,t)=>D.extractOnClickFromMergeResult(e,t.eventRegistry,t.formConfig,t.eventIdGenerator)}),{gsl:St,gslByUid:Tt}=c({itemType:"CUSTOM_DISPLAY",entryShape:"bare",mapToWidget:e=>({uid:e.uid??"",kind:"display",type:e.customType,props:e.props??{}})});function At(e){return{uid:e.uid??"",kind:"layout",type:e.customType,props:e.props??{},children:[]}}function kt(e,t){const s=t.walkChildren(t.children??[]);if(e.kind==="static")return{...t.mapStaticDef(e.def,"CUSTOM_LAYOUT"),children:s};const l=e.fn;return(n=>{const a=l(n);return{...t.mapStaticDef(a,"CUSTOM_LAYOUT"),children:s}})}function Ct(e){return e.children}const{gsl:ft,gslByUid:Ut}=c({itemType:"CUSTOM_LAYOUT",entryShape:"compound",mapToWidget:At,buildCustomWidget:kt,getChildren:Ct}),G={INPUTS:new Set(["INPUTS","TEXTAREA","PASSWORD","SELECT","DROPDOWN","RADIOGROUP","CHECKBOX","CALENDAR","DATE_INPUT","DATE_PICKER","RANGE_CALENDAR","RANGE_DATE_INPUT","RANGE_DATE_PICKER","CURRENCY","MARKDOWN","LIST","CUSTOM_INPUT","REPEATER"]),ACTIONS:new Set(["ACTIONS","CUSTOM_ACTION"]),DISPLAYS:new Set(["DISPLAYS","ALERTS","CUSTOM_DISPLAY"]),LAYOUTS:new Set(["LAYOUTS","TABS","ACCORDION","CUSTOM_LAYOUT"])};function vt(e,t){const s=G[e];return s?s.has(t):e===t}class Dt{resolve(t,s){const l=[];for(const a of s)a.kind==="aggregated"?this.collectFromAggregated(a,t,l):this.collectFromLeaf(a,t,l);const n=this.rollUpSensibleDefaults(l);return{leafSelectors:l,sensibleDefaults:n}}collectFromAggregated(t,s,l){if(t.matcher(s))for(const n of t.children)this.collectFromLeaf(n,s,l)}collectFromLeaf(t,s,l){vt(t.selectorType,s.itemType??"")&&t.matcher(s)&&l.push(t)}rollUpSensibleDefaults(t){const s=new Map,l=(a,i)=>{const r=s.get(a)??[];r.push(i),s.set(a,r)};for(const a of t){const i=G[a.selectorType];if(i)for(const r of i)l(r,a);else l(a.selectorType,a)}const n={};for(const[a,i]of s)z(a)&&(n[a]=C(a).rollUpSensibleDefaults(i));return n}}const Lt=new Dt;class Bt{constructor(t){this.objectUtils=t}merge(t,s,l){let n={},a=null;typeof t=="function"&&(a=t);const i=this.collectDecorators(l);for(const u of i){if(a!=null){a=this.composeRuntimeFunctions(a,u);continue}if(typeof u=="function"){const p=u({...n,...typeof t=="function"?{}:t});if(typeof p=="function"){a=this.createPromotedFunction(n,t,p,s,l);continue}n=this.objectUtils.deepMerge(n,p)}else n=this.objectUtils.deepMerge(n,u)}if(a!=null)return{kind:"dynamic",fn:this.wrapWithSensibleDefaults(a,n,s,l)};const r=this.objectUtils.deepMerge(t,n);return{kind:"static",def:this.applySensibleDefaults({...r},s,l)}}collectDecorators(t){const s=[];for(const l of t.leafSelectors){const n=l.config;n.override!=null&&s.push(n.override)}return s}applySensibleDefaults(t,s,l){if(!z(s))return t;const n=l.sensibleDefaults[s]??{};return C(s).applySensibleDefaults(t,n)}createPromotedFunction(t,s,l,n,a){return i=>{const r=l(i);let o=this.objectUtils.deepMerge(t,r);return o=this.objectUtils.deepMerge(o,s),this.applySensibleDefaults(o,n,a)}}wrapWithSensibleDefaults(t,s,l,n){return a=>{let i=t(a);return Object.keys(s).length>0&&(i=this.objectUtils.deepMerge(s,i)),this.applySensibleDefaults(i,l,n)}}composeRuntimeFunctions(t,s){return typeof s=="function"?l=>{const n=t(l),a=s(n);return typeof a=="function"?a(l):this.objectUtils.deepMerge(a,n)}:l=>{const n=t(l);return this.objectUtils.deepMerge(n,s)}}}const Ot=new Bt(x);class Et{mapToWidget(t,s){if(t.kind==="dynamic"){const l=t.fn;return(n=>{const a=l(n);return this.mapStaticDef(a,s)})}return this.mapStaticDef(t.def,s)}mapStaticDef(t,s){const l=C(s).mapToWidget(t);return this.applyBaseWidgetFields(l,t)}applyBaseWidgetFields(t,s){return s.size!=null&&(t.size=s.size),s.defaultValue!=null&&t.kind==="input"&&(t.defaultValue=s.defaultValue),s.on!=null&&(t.on=s.on),s.include!=null&&(t.include=s.include),s.exclude!=null&&(t.exclude=s.exclude),t}}const It=new Et;class Pt{normalizeSelectors(t){const s=Array.isArray(t)?t:[t],l=[],n=[];for(const a of s)a.kind==="leaf"?n.push(a):l.push(a);return n.length>0&&l.unshift({kind:"aggregated",matcher:()=>!0,children:n}),l}extractFormConfig(){return{suppressAutomaticStack:!1,suppressAutomaticSubmit:!1,onSubmit:t=>console.log("Form submitted:",t)}}}const wt=new Pt,Wt={input:new Set(["disabled","readonly","label","validator","size"]),action:new Set(["disabled","label","size"]),layout:new Set(["size"]),display:new Set([])},W={onChange:"change",onLoad:"load",onFilter:"filter",onClick:"click"};class Rt{extractFromMergeResult(t,s){const l={};for(const r of s){const o=r.targetState,u=r.config,p=u.override&&typeof u.override!="function"?u.override:u;l[o]={...l[o]||{},...p}}if(t.kind==="dynamic"){const r=t.fn;return{cleanedResult:{kind:"dynamic",fn:u=>{const p=r(u),{states:y,...d}=p;return d}},stateData:{stateOverrides:l}}}const{states:n,...a}=t.def,i={};for(const[r,o]of Object.entries(l))i[r]={...o};if(n)for(const[r,o]of Object.entries(n))i[r]={...i[r]||{},...o};return{cleanedResult:{kind:"static",def:a},stateData:{stateOverrides:i}}}applyToWidget(t,s,l,n){const{stateOverrides:a}=s;if(Object.keys(a).length===0)return t;const i={...t},r=t.kind,o=Wt[r]||new Set;t.props&&(i.props={...t.props}),t.on&&(i.on={...t.on});for(const[u,p]of Object.entries(a))for(const[y,d]of Object.entries(p))y==="visible"?this.applyVisibility(i,u,d):W[y]?this.applyStateEvent(i,u,y,d,l,n):o.has(y)?i[`${y}.${u}`]=d:(i.props||(i.props={}),i.props[`${y}.${u}`]=d);return i}hasStateData(t){return Object.keys(t.stateOverrides).length>0}applyVisibility(t,s,l){if(l){const n=t.include?.in||[];t.include={...t.include||{},in:[...n,s]}}else{const n=t.exclude?.from||[];t.exclude={...t.exclude||{},from:[...n,s]}}}applyStateEvent(t,s,l,n,a,i){const r=W[l];if(t.on||(t.on={}),typeof n=="function"){const o=i.next();a.set(o,n),t.on[`${r}.${s}`]=o}else typeof n=="string"&&(t.on[`${r}.${s}`]=n)}}const Mt=new Rt;function Nt(){let e=0;return{next:()=>`event_${e++}`}}class xt{constructor(t,s,l,n,a){this.resolver=t,this.merger=s,this.mapper=l,this.eventWiring=n,this.stateExpansion=a}walkAndMap(t,s,l){const n=new Map,a=Nt(),i={value:0},r=new Set;return{widgets:this.walkItems(t,s,n,l,a,i,r),eventRegistry:n}}walkItems(t,s,l,n,a,i,r){return t.flatMap(o=>{if(o.type!=="ITEMS")throw new Error("Unexpected gui shortcut type");return o.items.map(u=>this.processItem(u,o.itemType,o.tags,s,l,n,a,i,r))})}processItem(t,s,l,n,a,i,r,o,u){const p=s,y=C(s),d=y.parseEntry(t),_=this.buildBaseDef(d),f=this.buildDecoratorForMatching(_,p,l),U=this.resolver.resolve(f,n),I=U.leafSelectors.filter(m=>m.targetState!=null),P={leafSelectors:U.leafSelectors.filter(m=>m.targetState==null),sensibleDefaults:U.sensibleDefaults};let A=this.merger.merge(_,p,P);y.afterMerge&&(A=y.afterMerge(A,{eventRegistry:a,formConfig:i,eventIdGenerator:r})),A=this.eventWiring.wireInputLayoutEvents(A,a,r);const{cleanedResult:w,stateData:L}=this.stateExpansion.extractFromMergeResult(A,I);let S;if(y.buildCustomWidget){const m=this.buildCustomWidgetContext(d.children,n,a,i,r,o,u);S=this.buildCustomWidget(y,w,m)}else S=this.mapper.mapToWidget(w,p);if(typeof S!="function"){const m=S;m.uid||(m.path&&!u.has(m.path)?(m.uid=m.path,u.add(m.path)):m.uid=`dx_${o.value++}`)}if(this.stateExpansion.hasStateData(L))if(typeof S=="function"){const m=S;S=(q=>{const Z=m(q);return this.stateExpansion.applyToWidget(Z,L,a,r)})}else S=this.stateExpansion.applyToWidget(S,L,a,r);return S}buildCustomWidgetContext(t,s,l,n,a,i,r){return{children:t,mapStaticDef:(o,u)=>this.mapper.mapStaticDef(o,u),walkChildren:o=>this.walkItems(o,s,l,n,a,i,r)}}buildCustomWidget(t,s,l){return t.buildCustomWidget(s,l)}buildBaseDef(t){const s=t.baseDef;return typeof s=="function"?l=>{const a=s(l??{});return t.path!=null?{...a,path:t.path}:a}:t.path!=null?{...s,path:t.path}:s}buildDecoratorForMatching(t,s,l){if(typeof t=="function")return{itemType:s,tags:[...l]};const n=[...l,..."tags"in t&&t.tags?t.tags:[]],a="uid"in t?t.uid:void 0,i="type"in t?t.type:void 0;return{itemType:s,tags:n,uid:a,type:i}}}class Ft{constructor(t,s,l){this.selectorNormalizer=t,this.eventWiring=s,this.walker=l}processDxFacade(t,s=[],l){const{defs:n,gslSelectors:a,formConfig:i}=this.prepareForm(t,s,l),{widgets:r,eventRegistry:o}=this.walker.walkAndMap(n,a,i),u=r[0];return this.buildResult({form:u},o,i)}prepareForm(t,s,l){const a=(Array.isArray(t)?[...t]:[t]).map(u=>typeof u=="function"?$(u):u),i=this.selectorNormalizer.normalizeSelectors(s),r={...this.selectorNormalizer.extractFormConfig(),...l},o=this.eventWiring.countSubmitButtons(a);if(o>1)throw new Error(`Only one submit button is allowed per form, but ${o} were found. A button is a submit button if it has uid: '#submit' or onClick: 'submit'.`);if(!r.suppressAutomaticSubmit&&o===0&&a.push(j()),!r.suppressAutomaticStack){const u={def:{uid:"#root",direction:"column",widgetName:"flex"},children:a};return{defs:[{type:"ITEMS",itemType:k.LAYOUTS,items:[u],tags:[]}],gslSelectors:i,formConfig:r}}return{defs:a,gslSelectors:i,formConfig:r}}convertStateNames(t){const s={};for(const[l,n]of Object.entries(t))s[l.replace(/\$/g,":")]=n;return s}buildResult(t,s,l){l.states&&Object.keys(l.states).length>0&&(t={...t,states:this.convertStateNames(l.states)});const n={form:t};return s.size>0&&(n.events=a=>{const i=s.get(a.name);if(i){const r=u=>{if(u&&typeof u=="object"&&"path"in u&&!("type"in u)){const{path:p,...y}=u;for(const[d,_]of Object.entries(y))a.callback({type:"OVERRIDE_WIDGET_PROP",payload:{path:p,prop:d,value:_}})}else a.callback(u)},o={...a,callback:r,update:r};i(o)}}),l.dependencies&&(n.dependencies=l.dependencies),l.widgetLoaders&&(n.widgetLoaders=l.widgetLoaders),l.validateOn&&(n.validateOn=l.validateOn),l.itemRenderers&&(n.itemRenderers=l.itemRenderers),n}}const jt=new xt(Lt,Ot,It,D,Mt),X=new Ft(wt,D,jt);function H(e){return typeof e=="function"?!0:Array.isArray(e)?e.length===0||e.every(R):R(e)}function R(e){if(typeof e=="function")return!0;if(e===null||typeof e!="object")return!1;const t=e;return t.type==="ITEMS"&&typeof t.itemType=="string"}const M=Object.freeze({}),$t=Object.freeze({}),N=new WeakMap;function B(e,t){return e==null?t:typeof e=="object"?e:{}}function Yt(e,t,s){if(!H(e))return{formDef:e};const l=B(e,M),n=B(t,M),a=B(s,$t);let i=N.get(l);i||(i=new WeakMap,N.set(l,i));let r=i.get(n);r||(r=new WeakMap,i.set(n,r));const o=r.get(a);if(o)return o;const u=X.processDxFacade(e,t,s),p={formDef:u.form,formEvent:u.events,dependencies:u.dependencies,widgetLoaders:u.widgetLoaders,validateOn:u.validateOn,itemRenderers:u.itemRenderers};return r.set(a,p),p}exports.GuiItemTypes=k;exports._gslAccordionByUid=bt;exports._gslAccordions=yt;exports._gslActionByUid=Ge;exports._gslActions=Ve;exports._gslAlertByUid=nt;exports._gslAlerts=lt;exports._gslCalendarByUid=Ue;exports._gslCalendars=fe;exports._gslCheckboxByUid=ye;exports._gslCheckboxes=de;exports._gslCurrencies=_e;exports._gslCurrencyByUid=Se;exports._gslCustomActionByUid=_t;exports._gslCustomActions=ht;exports._gslCustomDisplayByUid=Tt;exports._gslCustomDisplays=St;exports._gslCustomInputByUid=mt;exports._gslCustomInputs=gt;exports._gslCustomLayoutByUid=Ut;exports._gslCustomLayouts=ft;exports._gslDateInputByUid=De;exports._gslDateInputs=ve;exports._gslDatePickerByUid=Be;exports._gslDatePickers=Le;exports._gslDisplayByUid=st;exports._gslDisplays=tt;exports._gslDropdownByUid=ue;exports._gslDropdowns=oe;exports._gslInputByUid=ae;exports._gslInputs=ne;exports._gslLayoutByUid=Je;exports._gslLayouts=Ze;exports._gslListByUid=Ce;exports._gslLists=ke;exports._gslMarkdownByUid=Ae;exports._gslMarkdowns=Te;exports._gslPasswordByUid=he;exports._gslPasswords=me;exports._gslRadiogroupByUid=ce;exports._gslRadiogroups=pe;exports._gslRangeCalendarByUid=Ee;exports._gslRangeCalendars=Oe;exports._gslRangeDateInputByUid=Pe;exports._gslRangeDateInputs=Ie;exports._gslRangeDatePickerByUid=We;exports._gslRangeDatePickers=we;exports._gslRepeaterByUid=$e;exports._gslRepeaters=K;exports._gslSelectByUid=re;exports._gslSelects=ie;exports._gslTabs=ot;exports._gslTabsByUid=ut;exports._gslTextareaByUid=ge;exports._gslTextareas=be;exports._guiButton=F;exports._guiDisplay=$;exports._guiSubmitButton=j;exports.createGslSelector=E;exports.defineShortcutType=c;exports.extractWidgetProps=b;exports.formDefs=X;exports.isDxDefinitions=H;exports.processAutoLabel=g;exports.processAutoPlaceholder=T;exports.resolveFormInput=Yt;
|