@golemui/gui-shared 0.13.1 → 0.13.2

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/index.umd.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./repeater-Ds_WHdl5.cjs");require("@golemui/core");require("@golemui/gui-validators");function f(s,t,e){if(typeof t=="function"){const u=t;return{items:[{key:s,def:o=>({type:"text",...u(o)})}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"text",...t};return{items:[{key:s,def:n}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}function T(s,t,e){if(typeof t=="function"){const u=t;return{items:[{key:s,def:o=>({type:"number",...u(o)})}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"number",...t};return{items:[{key:s,def:n}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}function I(s,t,e){if(typeof t=="function"){const u=t;return{items:[{key:s,def:o=>({type:"boolean",...u(o)})}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"boolean",...t};return{items:[{key:s,def:n}],type:"ITEMS",itemType:i.GuiItemTypes.INPUTS,tags:e??[]}}function U(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"SELECT",items:[{key:s,def:y=>({type:"select",...r(y)})}],tags:e??[]}}const n={type:"select",...t};return{type:"ITEMS",itemType:"SELECT",items:[{key:s,def:n}],tags:e??[]}}function B(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DROPDOWN",items:[{key:s,def:y=>({type:"dropdown",...r(y)})}],tags:e??[]}}const n={type:"dropdown",...t};return{type:"ITEMS",itemType:"DROPDOWN",items:[{key:s,def:n}],tags:e??[]}}function k(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RADIOGROUP",items:[{key:s,def:y=>({type:"radiogroup",...r(y)})}],tags:e??[]}}const n={type:"radiogroup",...t};return{type:"ITEMS",itemType:"RADIOGROUP",items:[{key:s,def:n}],tags:e??[]}}function D(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CHECKBOX",items:[{key:s,def:y=>({type:"checkbox",...r(y)})}],tags:e??[]}}const n={type:"checkbox",...t};return{type:"ITEMS",itemType:"CHECKBOX",items:[{key:s,def:n}],tags:e??[]}}function S(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"TEXTAREA",items:[{key:s,def:y=>({type:"textarea",...r(y)})}],tags:e??[]}}const n={type:"textarea",...t};return{type:"ITEMS",itemType:"TEXTAREA",items:[{key:s,def:n}],tags:e??[]}}function h(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"PASSWORD",items:[{key:s,def:y=>({type:"password",...r(y)})}],tags:e??[]}}const n={type:"password",...t};return{type:"ITEMS",itemType:"PASSWORD",items:[{key:s,def:n}],tags:e??[]}}function E(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CURRENCY",items:[{key:s,def:y=>({type:"currency",...r(y)})}],tags:e??[]}}const n={type:"currency",...t};return{type:"ITEMS",itemType:"CURRENCY",items:[{key:s,def:n}],tags:e??[]}}function A(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"MARKDOWN",items:[{key:s,def:y=>({type:"markdown",...r(y)})}],tags:e??[]}}const n={type:"markdown",...t};return{type:"ITEMS",itemType:"MARKDOWN",items:[{key:s,def:n}],tags:e??[]}}function R(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"LIST",items:[{key:s,def:y=>({type:"list",...r(y)})}],tags:e??[]}}const n={type:"list",...t};return{type:"ITEMS",itemType:"LIST",items:[{key:s,def:n}],tags:e??[]}}function M(s,t,e){if(typeof t=="function"){const u=t;return{items:[o=>({type:"calendar",path:s,...u(o)})],type:"ITEMS",itemType:"CALENDAR",tags:e??[]}}return{items:[{type:"calendar",path:s,...t}],type:"ITEMS",itemType:"CALENDAR",tags:e??[]}}function P(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DATE_INPUT",items:[{key:s,def:y=>({type:"dateInput",...r(y)})}],tags:e??[]}}const n={type:"dateInput",...t};return{type:"ITEMS",itemType:"DATE_INPUT",items:[{key:s,def:n}],tags:e??[]}}function w(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DATE_PICKER",items:[{key:s,def:y=>({type:"datePicker",...r(y)})}],tags:e??[]}}const n={type:"datePicker",...t};return{type:"ITEMS",itemType:"DATE_PICKER",items:[{key:s,def:n}],tags:e??[]}}function x(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_CALENDAR",items:[{key:s,def:y=>({type:"rangeCalendar",...r(y)})}],tags:e??[]}}const n={type:"rangeCalendar",...t};return{type:"ITEMS",itemType:"RANGE_CALENDAR",items:[{key:s,def:n}],tags:e??[]}}function C(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_DATE_INPUT",items:[{key:s,def:y=>({type:"rangeDateInput",...r(y)})}],tags:e??[]}}const n={type:"rangeDateInput",...t};return{type:"ITEMS",itemType:"RANGE_DATE_INPUT",items:[{key:s,def:n}],tags:e??[]}}function b(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_DATE_PICKER",items:[{key:s,def:y=>({type:"rangeDatePicker",...r(y)})}],tags:e??[]}}const n={type:"rangeDatePicker",...t};return{type:"ITEMS",itemType:"RANGE_DATE_PICKER",items:[{key:s,def:n}],tags:e??[]}}function L(s,t,e,n){if(typeof e=="function"){const o=e;return{type:"ITEMS",itemType:"CUSTOM_INPUT",items:[{key:t,def:c=>({customType:s,...o(c)})}],tags:n??[]}}const u={customType:s,...e};return{type:"ITEMS",itemType:"CUSTOM_INPUT",items:[{key:t,def:u}],tags:n??[]}}function N(s,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CUSTOM_ACTION",items:[a=>({customType:s,...r(a)})],tags:e??[]}}return{type:"ITEMS",itemType:"CUSTOM_ACTION",items:[{customType:s,...t}],tags:e??[]}}function G(s,t){return{type:"ITEMS",itemType:"ALERTS",items:[s],tags:t??[]}}function W(s,t,e){if(typeof t=="function"){const a=t;return{type:"ITEMS",itemType:"CUSTOM_DISPLAY",items:[c=>({customType:s,...a(c)})],tags:e??[]}}const{uid:n,...u}=t??{};return{type:"ITEMS",itemType:"CUSTOM_DISPLAY",items:[{customType:s,...n!=null?{uid:n}:{},props:Object.keys(u).length>0?u:void 0}],tags:e??[]}}const l=(s,t,e)=>({type:"ITEMS",itemType:i.GuiItemTypes.LAYOUTS,items:[{def:{widgetName:"flex",...t??{}},children:s}],tags:e??[]}),F=(s,t,e)=>l(s,{direction:"row",...t??{}},e),K=(s,t,e)=>l(s,{direction:"column",...t??{}},e),g=(s,t,e)=>({type:"ITEMS",itemType:i.GuiItemTypes.LAYOUTS,items:[{def:{widgetName:"grid",direction:"row",autoFit:!0,...t??{}},children:s}],tags:e??[]}),Y=(s,t,e)=>g(s,{direction:"row",...t??{}},e),$=(s,t,e)=>g(s,{direction:"column",...t??{}},e);function m(s){return s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function j(s,t,e){const n=s.map(o=>({label:o.label,uid:o.uid??m(o.label)})),u=s.map(o=>({type:"ITEMS",itemType:i.GuiItemTypes.LAYOUTS,items:[{def:{uid:o.uid??m(o.label),direction:"column",widgetName:"flex"},children:o.children}],tags:[]}));return{type:"ITEMS",itemType:"TABS",items:[{def:{tabs:n,...t},children:u}],tags:e??[]}}function _(s){return s.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function z(s,t,e){const n=s.map(o=>({label:o.label,uid:o.uid??_(o.label)})),u=s.map(o=>({type:"ITEMS",itemType:i.GuiItemTypes.LAYOUTS,items:[{def:{uid:o.uid??_(o.label),direction:"column",widgetName:"flex"},children:o.children}],tags:[]}));return{type:"ITEMS",itemType:"ACCORDION",items:[{def:{sections:n,...t},children:u}],tags:e??[]}}function H(s,t,e,n){if(typeof e=="function"){const o=e;return{type:"ITEMS",itemType:"CUSTOM_LAYOUT",items:[{def:c=>({customType:s,...o(c)}),children:t}],tags:n??[]}}return{type:"ITEMS",itemType:"CUSTOM_LAYOUT",items:[{def:{customType:s,...e},children:t}],tags:n??[]}}function v(s,t,e){const{template:n,...u}=t;return{type:"ITEMS",itemType:"REPEATER",items:[{key:s,def:u,children:n}],tags:e??[]}}const V=s=>i._gslInputs(s,t=>t.type==="text"),X=s=>i._gslInputs(s,t=>t.type==="number"),q=s=>i._gslInputs(s,t=>t.type==="boolean");class d{constructor(t){this.conditions=t}static root(){return new d([])}tag(t){return new d([...this.conditions,{kind:"tagsAnd",tags:[t]}])}state(t){return new d([...this.conditions,{kind:"state",name:t}])}tagsAnd(t){return new d([...this.conditions,{kind:"tagsAnd",tags:t}])}tagsOr(t){return new d([...this.conditions,{kind:"tagsOr",tags:t}])}apply(t){if(this.conditions.length===0)return t;const e=this.conditions.find(r=>r.kind==="state"),n=this.conditions.filter(r=>r.kind!=="state"),u=t.matcher;return{...t,matcher:r=>{if(!u(r))return!1;for(const o of n){const a=r.tags??[];if(o.kind==="tagsAnd"){for(const y of o.tags)if(!a.includes(y))return!1}else{if(o.tags.length===0)continue;if(!o.tags.some(y=>a.includes(y)))return!1}}return!0},...e?{targetState:e.name}:{}}}inputs(t){return this.apply(i._gslInputs(t))}inputByUid(t,e){return this.apply(i._gslInputByUid(t,e))}textInputs(t){return this.apply(V(t))}numberInputs(t){return this.apply(X(t))}booleanInputs(t){return this.apply(q(t))}selects(t){return this.apply(i._gslSelects(t))}selectByUid(t,e){return this.apply(i._gslSelectByUid(t,e))}dropdowns(t){return this.apply(i._gslDropdowns(t))}dropdownByUid(t,e){return this.apply(i._gslDropdownByUid(t,e))}radiogroups(t){return this.apply(i._gslRadiogroups(t))}radiogroupByUid(t,e){return this.apply(i._gslRadiogroupByUid(t,e))}checkboxes(t){return this.apply(i._gslCheckboxes(t))}checkboxByUid(t,e){return this.apply(i._gslCheckboxByUid(t,e))}textareas(t){return this.apply(i._gslTextareas(t))}textareaByUid(t,e){return this.apply(i._gslTextareaByUid(t,e))}passwords(t){return this.apply(i._gslPasswords(t))}passwordByUid(t,e){return this.apply(i._gslPasswordByUid(t,e))}currencies(t){return this.apply(i._gslCurrencies(t))}currencyByUid(t,e){return this.apply(i._gslCurrencyByUid(t,e))}markdowns(t){return this.apply(i._gslMarkdowns(t))}markdownByUid(t,e){return this.apply(i._gslMarkdownByUid(t,e))}lists(t){return this.apply(i._gslLists(t))}listByUid(t,e){return this.apply(i._gslListByUid(t,e))}calendars(t){return this.apply(i._gslCalendars(t))}calendarByUid(t,e){return this.apply(i._gslCalendarByUid(t,e))}dateInputs(t){return this.apply(i._gslDateInputs(t))}dateInputByUid(t,e){return this.apply(i._gslDateInputByUid(t,e))}datePickers(t){return this.apply(i._gslDatePickers(t))}datePickerByUid(t,e){return this.apply(i._gslDatePickerByUid(t,e))}rangeCalendars(t){return this.apply(i._gslRangeCalendars(t))}rangeCalendarByUid(t,e){return this.apply(i._gslRangeCalendarByUid(t,e))}rangeDateInputs(t){return this.apply(i._gslRangeDateInputs(t))}rangeDateInputByUid(t,e){return this.apply(i._gslRangeDateInputByUid(t,e))}rangeDatePickers(t){return this.apply(i._gslRangeDatePickers(t))}rangeDatePickerByUid(t,e){return this.apply(i._gslRangeDatePickerByUid(t,e))}repeaters(t){return this.apply(i._gslRepeaters(t))}repeaterByUid(t,e){return this.apply(i._gslRepeaterByUid(t,e))}actions(t){return this.apply(i._gslActions(t))}actionByUid(t,e){return this.apply(i._gslActionByUid(t,e))}layouts(t){return this.apply(i._gslLayouts(t))}layoutByUid(t,e){return this.apply(i._gslLayoutByUid(t,e))}displays(t){return this.apply(i._gslDisplays(t))}displayByUid(t,e){return this.apply(i._gslDisplayByUid(t,e))}alerts(t){return this.apply(i._gslAlerts(t))}alertByUid(t,e){return this.apply(i._gslAlertByUid(t,e))}tabs(t){return this.apply(i._gslTabs(t))}tabsByUid(t,e){return this.apply(i._gslTabsByUid(t,e))}accordions(t){return this.apply(i._gslAccordions(t))}accordionByUid(t,e){return this.apply(i._gslAccordionByUid(t,e))}customInputs(t){return this.apply(i._gslCustomInputs(t))}customInputByUid(t,e){return this.apply(i._gslCustomInputByUid(t,e))}customActions(t){return this.apply(i._gslCustomActions(t))}customActionByUid(t,e){return this.apply(i._gslCustomActionByUid(t,e))}customDisplays(t){return this.apply(i._gslCustomDisplays(t))}customDisplayByUid(t,e){return this.apply(i._gslCustomDisplayByUid(t,e))}customLayouts(t){return this.apply(i._gslCustomLayouts(t))}customLayoutByUid(t,e){return this.apply(i._gslCustomLayoutByUid(t,e))}}const tt={inputs:{textInput:f,numberInput:T,booleanInput:I,select:U,dropdown:B,radiogroup:k,checkbox:D,textarea:S,password:h,currency:E,markdown:A,list:R,calendar:M,dateInput:P,datePicker:w,rangeCalendar:x,rangeDateInput:C,rangeDatePicker:b,repeater:v,custom:L},actions:{button:i._guiButton,submitButton:i._guiSubmitButton,custom:N},displays:{display:i._guiDisplay,alert:G,custom:W},layouts:{flex:l,horizontalFlex:F,verticalFlex:K,grid:g,horizontalGrid:Y,verticalGrid:$,tabs:j,accordion:z,custom:H},selectors:d.root()};function et(s,...t){return t.map(e=>({...e,targetState:s}))}function st(s,...t){return{kind:"aggregated",matcher:e=>e.tags?.includes(s)??!1,children:t}}class it{create(t){return{states:t.states,form:{uid:"gui-root-uid",type:"flex",kind:"layout",children:t.form}}}}function nt(){return new it}const ot=s=>s!==null&&typeof s=="object"&&Object.prototype.hasOwnProperty.call(s,"label")&&Object.prototype.hasOwnProperty.call(s,"value");function rt(s){return typeof s=="object"&&s!==null&&"$ref"in s&&typeof s.$ref=="string"&&Object.keys(s).length===1}async function ut(s,t){const e=new URL(s,t).href,n=await fetch(e);if(!n.ok)throw new Error(`Failed to load form chunk ${e}: ${n.status}`);const{$schema:u,...r}=await n.json();return p(r,e)}async function p(s,t){if(rt(s))return ut(s.$ref,t);const e=s;if(Array.isArray(e.children)){const n=await Promise.all(e.children.map(u=>p(u,t)));return{...e,children:n}}return s}async function yt(s,t){const e=await Promise.all(s.form.map(n=>p(n,t)));return{...s,form:e}}const at={textinput:({config:s,props:t,validator:e})=>({uid:"",kind:"input",type:"textinput",...t&&{props:t},...e&&{validator:e},...s}),password:({config:s,props:t,validator:e})=>({uid:"",kind:"input",type:"password",...t&&{props:t},...e&&{validator:e},...s}),numberinput:({config:s,props:t,validator:e})=>({uid:"",kind:"input",type:"numberinput",...t&&{props:t},...e&&{validator:e},...s}),checkbox:({config:s,props:t,validator:e})=>({uid:"",kind:"input",type:"checkbox",...t&&{props:t},...e&&{validator:e},...s}),select:({config:s,props:t,validator:e})=>({uid:"",kind:"input",type:"select",...t&&{props:t},...e&&{validator:e},...s}),flex:(s,t)=>({uid:"",kind:"layout",type:"flex",...t&&{props:t},...s}),grid:(s,t)=>({uid:"",kind:"layout",type:"grid",...t&&{props:t},...s}),tabs:(s,t)=>({uid:"",kind:"layout",type:"tabs",...t&&{props:t},...s}),alert:(s,t)=>({uid:"",kind:"display",type:"alert",...t&&{props:t},...s}),markdownText:(s,t)=>({uid:"",kind:"display",type:"markdownText",...t&&{props:t},...s})},Q=["calendar","checkbox","currency","dateInput","datePicker","dropdown","list","markdown","number","password","radiogroup","rangeCalendar","rangeDateInput","rangeDatePicker","repeater","select","textarea","textinput","toggle"],Z=["accordion","flex","grid","tabs"],J=["alert","markdownText","renderer"],O=["button"],dt=[...Q,...Z,...J,...O];exports._gslAccordionByUid=i._gslAccordionByUid;exports._gslAccordions=i._gslAccordions;exports._gslActionByUid=i._gslActionByUid;exports._gslActions=i._gslActions;exports._gslAlertByUid=i._gslAlertByUid;exports._gslAlerts=i._gslAlerts;exports._gslCalendarByUid=i._gslCalendarByUid;exports._gslCalendars=i._gslCalendars;exports._gslCheckboxByUid=i._gslCheckboxByUid;exports._gslCheckboxes=i._gslCheckboxes;exports._gslCurrencies=i._gslCurrencies;exports._gslCurrencyByUid=i._gslCurrencyByUid;exports._gslCustomActionByUid=i._gslCustomActionByUid;exports._gslCustomActions=i._gslCustomActions;exports._gslCustomDisplayByUid=i._gslCustomDisplayByUid;exports._gslCustomDisplays=i._gslCustomDisplays;exports._gslCustomInputByUid=i._gslCustomInputByUid;exports._gslCustomInputs=i._gslCustomInputs;exports._gslCustomLayoutByUid=i._gslCustomLayoutByUid;exports._gslCustomLayouts=i._gslCustomLayouts;exports._gslDateInputByUid=i._gslDateInputByUid;exports._gslDateInputs=i._gslDateInputs;exports._gslDatePickerByUid=i._gslDatePickerByUid;exports._gslDatePickers=i._gslDatePickers;exports._gslDisplayByUid=i._gslDisplayByUid;exports._gslDisplays=i._gslDisplays;exports._gslDropdownByUid=i._gslDropdownByUid;exports._gslDropdowns=i._gslDropdowns;exports._gslInputByUid=i._gslInputByUid;exports._gslInputs=i._gslInputs;exports._gslLayoutByUid=i._gslLayoutByUid;exports._gslLayouts=i._gslLayouts;exports._gslListByUid=i._gslListByUid;exports._gslLists=i._gslLists;exports._gslMarkdownByUid=i._gslMarkdownByUid;exports._gslMarkdowns=i._gslMarkdowns;exports._gslPasswordByUid=i._gslPasswordByUid;exports._gslPasswords=i._gslPasswords;exports._gslRadiogroupByUid=i._gslRadiogroupByUid;exports._gslRadiogroups=i._gslRadiogroups;exports._gslRangeCalendarByUid=i._gslRangeCalendarByUid;exports._gslRangeCalendars=i._gslRangeCalendars;exports._gslRangeDateInputByUid=i._gslRangeDateInputByUid;exports._gslRangeDateInputs=i._gslRangeDateInputs;exports._gslRangeDatePickerByUid=i._gslRangeDatePickerByUid;exports._gslRangeDatePickers=i._gslRangeDatePickers;exports._gslRepeaterByUid=i._gslRepeaterByUid;exports._gslRepeaters=i._gslRepeaters;exports._gslSelectByUid=i._gslSelectByUid;exports._gslSelects=i._gslSelects;exports._gslTabs=i._gslTabs;exports._gslTabsByUid=i._gslTabsByUid;exports._gslTextareaByUid=i._gslTextareaByUid;exports._gslTextareas=i._gslTextareas;exports._guiButton=i._guiButton;exports._guiDisplay=i._guiDisplay;exports._guiSubmitButton=i._guiSubmitButton;exports.createGslSelector=i.createGslSelector;exports.defineShortcutType=i.defineShortcutType;exports.extractWidgetProps=i.extractWidgetProps;exports.formDefs=i.formDefs;exports.getItemKey=i.getItemKey;exports.isDxDefinitions=i.isDxDefinitions;exports.processAutoLabel=i.processAutoLabel;exports.processAutoPlaceholder=i.processAutoPlaceholder;exports.resolveFormInput=i.resolveFormInput;exports.GolemWidgets=at;exports._gslBooleanInputs=q;exports._gslNumberInputs=X;exports._gslStates=et;exports._gslTag=st;exports._gslTextInputs=V;exports._guiAccordion=z;exports._guiAlert=G;exports._guiBooleanInput=I;exports._guiCalendar=M;exports._guiCheckbox=D;exports._guiCurrency=E;exports._guiCustomAction=N;exports._guiCustomDisplay=W;exports._guiCustomInput=L;exports._guiCustomLayout=H;exports._guiDateInput=P;exports._guiDatePicker=w;exports._guiDropdown=B;exports._guiFlex=l;exports._guiGrid=g;exports._guiHorizontalFlex=F;exports._guiHorizontalGrid=Y;exports._guiList=R;exports._guiMarkdown=A;exports._guiNumberInput=T;exports._guiPassword=h;exports._guiRadiogroup=k;exports._guiRangeCalendar=x;exports._guiRangeDateInput=C;exports._guiRangeDatePicker=b;exports._guiRepeater=v;exports._guiSelect=U;exports._guiTabs=j;exports._guiTextInput=f;exports._guiTextarea=S;exports._guiVerticalFlex=K;exports._guiVerticalGrid=$;exports.actionWidgets=O;exports.displayWidgets=J;exports.golemForm=nt;exports.golemWidgets=dt;exports.gui=tt;exports.inputWidgets=Q;exports.isOption=ot;exports.layoutWidgets=Z;exports.resolveChunkRefs=yt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./resolveFormInput-C0LCXSox.cjs");require("@golemui/core");require("@golemui/gui-validators");function f(i,t,e){if(typeof t=="function"){const u=t;return{items:[{key:i,def:o=>({type:"text",...u(o)})}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"text",...t};return{items:[{key:i,def:n}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}function T(i,t,e){if(typeof t=="function"){const u=t;return{items:[{key:i,def:o=>({type:"number",...u(o)})}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"number",...t};return{items:[{key:i,def:n}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}function I(i,t,e){if(typeof t=="function"){const u=t;return{items:[{key:i,def:o=>({type:"boolean",...u(o)})}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}const n={type:"boolean",...t};return{items:[{key:i,def:n}],type:"ITEMS",itemType:s.GuiItemTypes.INPUTS,tags:e??[]}}function U(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"SELECT",items:[{key:i,def:y=>({type:"select",...r(y)})}],tags:e??[]}}const n={type:"select",...t};return{type:"ITEMS",itemType:"SELECT",items:[{key:i,def:n}],tags:e??[]}}function B(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DROPDOWN",items:[{key:i,def:y=>({type:"dropdown",...r(y)})}],tags:e??[]}}const n={type:"dropdown",...t};return{type:"ITEMS",itemType:"DROPDOWN",items:[{key:i,def:n}],tags:e??[]}}function D(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RADIOGROUP",items:[{key:i,def:y=>({type:"radiogroup",...r(y)})}],tags:e??[]}}const n={type:"radiogroup",...t};return{type:"ITEMS",itemType:"RADIOGROUP",items:[{key:i,def:n}],tags:e??[]}}function S(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CHECKBOX",items:[{key:i,def:y=>({type:"checkbox",...r(y)})}],tags:e??[]}}const n={type:"checkbox",...t};return{type:"ITEMS",itemType:"CHECKBOX",items:[{key:i,def:n}],tags:e??[]}}function h(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"TEXTAREA",items:[{key:i,def:y=>({type:"textarea",...r(y)})}],tags:e??[]}}const n={type:"textarea",...t};return{type:"ITEMS",itemType:"TEXTAREA",items:[{key:i,def:n}],tags:e??[]}}function E(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"PASSWORD",items:[{key:i,def:y=>({type:"password",...r(y)})}],tags:e??[]}}const n={type:"password",...t};return{type:"ITEMS",itemType:"PASSWORD",items:[{key:i,def:n}],tags:e??[]}}function A(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CURRENCY",items:[{key:i,def:y=>({type:"currency",...r(y)})}],tags:e??[]}}const n={type:"currency",...t};return{type:"ITEMS",itemType:"CURRENCY",items:[{key:i,def:n}],tags:e??[]}}function k(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"MARKDOWN",items:[{key:i,def:y=>({type:"markdown",...r(y)})}],tags:e??[]}}const n={type:"markdown",...t};return{type:"ITEMS",itemType:"MARKDOWN",items:[{key:i,def:n}],tags:e??[]}}function R(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"LIST",items:[{key:i,def:y=>({type:"list",...r(y)})}],tags:e??[]}}const n={type:"list",...t};return{type:"ITEMS",itemType:"LIST",items:[{key:i,def:n}],tags:e??[]}}function M(i,t,e){if(typeof t=="function"){const u=t;return{items:[o=>({type:"calendar",path:i,...u(o)})],type:"ITEMS",itemType:"CALENDAR",tags:e??[]}}return{items:[{type:"calendar",path:i,...t}],type:"ITEMS",itemType:"CALENDAR",tags:e??[]}}function P(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DATE_INPUT",items:[{key:i,def:y=>({type:"dateInput",...r(y)})}],tags:e??[]}}const n={type:"dateInput",...t};return{type:"ITEMS",itemType:"DATE_INPUT",items:[{key:i,def:n}],tags:e??[]}}function w(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"DATE_PICKER",items:[{key:i,def:y=>({type:"datePicker",...r(y)})}],tags:e??[]}}const n={type:"datePicker",...t};return{type:"ITEMS",itemType:"DATE_PICKER",items:[{key:i,def:n}],tags:e??[]}}function C(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_CALENDAR",items:[{key:i,def:y=>({type:"rangeCalendar",...r(y)})}],tags:e??[]}}const n={type:"rangeCalendar",...t};return{type:"ITEMS",itemType:"RANGE_CALENDAR",items:[{key:i,def:n}],tags:e??[]}}function x(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_DATE_INPUT",items:[{key:i,def:y=>({type:"rangeDateInput",...r(y)})}],tags:e??[]}}const n={type:"rangeDateInput",...t};return{type:"ITEMS",itemType:"RANGE_DATE_INPUT",items:[{key:i,def:n}],tags:e??[]}}function L(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"RANGE_DATE_PICKER",items:[{key:i,def:y=>({type:"rangeDatePicker",...r(y)})}],tags:e??[]}}const n={type:"rangeDatePicker",...t};return{type:"ITEMS",itemType:"RANGE_DATE_PICKER",items:[{key:i,def:n}],tags:e??[]}}function b(i,t,e,n){if(typeof e=="function"){const o=e;return{type:"ITEMS",itemType:"CUSTOM_INPUT",items:[{key:t,def:l=>({customType:i,...o(l)})}],tags:n??[]}}const u={customType:i,...e};return{type:"ITEMS",itemType:"CUSTOM_INPUT",items:[{key:t,def:u}],tags:n??[]}}function N(i,t,e){if(typeof t=="function"){const r=t;return{type:"ITEMS",itemType:"CUSTOM_ACTION",items:[a=>({customType:i,...r(a)})],tags:e??[]}}return{type:"ITEMS",itemType:"CUSTOM_ACTION",items:[{customType:i,...t}],tags:e??[]}}function G(i,t){return{type:"ITEMS",itemType:"ALERTS",items:[i],tags:t??[]}}function F(i,t,e){if(typeof t=="function"){const a=t;return{type:"ITEMS",itemType:"CUSTOM_DISPLAY",items:[l=>({customType:i,...a(l)})],tags:e??[]}}const{uid:n,...u}=t??{};return{type:"ITEMS",itemType:"CUSTOM_DISPLAY",items:[{customType:i,...n!=null?{uid:n}:{},props:Object.keys(u).length>0?u:void 0}],tags:e??[]}}const d=(i,t,e)=>({type:"ITEMS",itemType:s.GuiItemTypes.LAYOUTS,items:[{def:{widgetName:"flex",...t??{}},children:i}],tags:e??[]}),v=(i,t,e)=>d(i,{direction:"row",...t??{}},e),Y=(i,t,e)=>d(i,{direction:"column",...t??{}},e),g=(i,t,e)=>({type:"ITEMS",itemType:s.GuiItemTypes.LAYOUTS,items:[{def:{widgetName:"grid",direction:"row",autoFit:!0,...t??{}},children:i}],tags:e??[]}),$=(i,t,e)=>g(i,{direction:"row",...t??{}},e),W=(i,t,e)=>g(i,{direction:"column",...t??{}},e);function m(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function j(i,t,e){const n=i.map(o=>({label:o.label,uid:o.uid??m(o.label)})),u=i.map(o=>({type:"ITEMS",itemType:s.GuiItemTypes.LAYOUTS,items:[{def:{uid:o.uid??m(o.label),direction:"column",widgetName:"flex"},children:o.children}],tags:[]}));return{type:"ITEMS",itemType:"TABS",items:[{def:{tabs:n,...t},children:u}],tags:e??[]}}function _(i){return i.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"")}function z(i,t,e){const n=i.map(o=>({label:o.label,uid:o.uid??_(o.label)})),u=i.map(o=>({type:"ITEMS",itemType:s.GuiItemTypes.LAYOUTS,items:[{def:{uid:o.uid??_(o.label),direction:"column",widgetName:"flex"},children:o.children}],tags:[]}));return{type:"ITEMS",itemType:"ACCORDION",items:[{def:{sections:n,...t},children:u}],tags:e??[]}}function H(i,t,e,n){if(typeof e=="function"){const o=e;return{type:"ITEMS",itemType:"CUSTOM_LAYOUT",items:[{def:l=>({customType:i,...o(l)}),children:t}],tags:n??[]}}return{type:"ITEMS",itemType:"CUSTOM_LAYOUT",items:[{def:{customType:i,...e},children:t}],tags:n??[]}}function K(i,t,e){const{template:n,...u}=t;return{type:"ITEMS",itemType:"REPEATER",items:[{key:i,def:u,children:n}],tags:e??[]}}const V=i=>s._gslInputs(i,t=>t.type==="text"),X=i=>s._gslInputs(i,t=>t.type==="number"),q=i=>s._gslInputs(i,t=>t.type==="boolean");class c{constructor(t){this.conditions=t}static root(){return new c([])}tag(t){return new c([...this.conditions,{kind:"tagsAnd",tags:[t]}])}state(t){return new c([...this.conditions,{kind:"state",name:t}])}tagsAnd(t){return new c([...this.conditions,{kind:"tagsAnd",tags:t}])}tagsOr(t){return new c([...this.conditions,{kind:"tagsOr",tags:t}])}apply(t){if(this.conditions.length===0)return t;const e=this.conditions.find(r=>r.kind==="state"),n=this.conditions.filter(r=>r.kind!=="state"),u=t.matcher;return{...t,matcher:r=>{if(!u(r))return!1;for(const o of n){const a=r.tags??[];if(o.kind==="tagsAnd"){for(const y of o.tags)if(!a.includes(y))return!1}else{if(o.tags.length===0)continue;if(!o.tags.some(y=>a.includes(y)))return!1}}return!0},...e?{targetState:e.name}:{}}}inputs(t){return this.apply(s._gslInputs(t))}inputByUid(t,e){return this.apply(s._gslInputByUid(t,e))}textInputs(t){return this.apply(V(t))}numberInputs(t){return this.apply(X(t))}booleanInputs(t){return this.apply(q(t))}selects(t){return this.apply(s._gslSelects(t))}selectByUid(t,e){return this.apply(s._gslSelectByUid(t,e))}dropdowns(t){return this.apply(s._gslDropdowns(t))}dropdownByUid(t,e){return this.apply(s._gslDropdownByUid(t,e))}radiogroups(t){return this.apply(s._gslRadiogroups(t))}radiogroupByUid(t,e){return this.apply(s._gslRadiogroupByUid(t,e))}checkboxes(t){return this.apply(s._gslCheckboxes(t))}checkboxByUid(t,e){return this.apply(s._gslCheckboxByUid(t,e))}textareas(t){return this.apply(s._gslTextareas(t))}textareaByUid(t,e){return this.apply(s._gslTextareaByUid(t,e))}passwords(t){return this.apply(s._gslPasswords(t))}passwordByUid(t,e){return this.apply(s._gslPasswordByUid(t,e))}currencies(t){return this.apply(s._gslCurrencies(t))}currencyByUid(t,e){return this.apply(s._gslCurrencyByUid(t,e))}markdowns(t){return this.apply(s._gslMarkdowns(t))}markdownByUid(t,e){return this.apply(s._gslMarkdownByUid(t,e))}lists(t){return this.apply(s._gslLists(t))}listByUid(t,e){return this.apply(s._gslListByUid(t,e))}calendars(t){return this.apply(s._gslCalendars(t))}calendarByUid(t,e){return this.apply(s._gslCalendarByUid(t,e))}dateInputs(t){return this.apply(s._gslDateInputs(t))}dateInputByUid(t,e){return this.apply(s._gslDateInputByUid(t,e))}datePickers(t){return this.apply(s._gslDatePickers(t))}datePickerByUid(t,e){return this.apply(s._gslDatePickerByUid(t,e))}rangeCalendars(t){return this.apply(s._gslRangeCalendars(t))}rangeCalendarByUid(t,e){return this.apply(s._gslRangeCalendarByUid(t,e))}rangeDateInputs(t){return this.apply(s._gslRangeDateInputs(t))}rangeDateInputByUid(t,e){return this.apply(s._gslRangeDateInputByUid(t,e))}rangeDatePickers(t){return this.apply(s._gslRangeDatePickers(t))}rangeDatePickerByUid(t,e){return this.apply(s._gslRangeDatePickerByUid(t,e))}repeaters(t){return this.apply(s._gslRepeaters(t))}repeaterByUid(t,e){return this.apply(s._gslRepeaterByUid(t,e))}actions(t){return this.apply(s._gslActions(t))}actionByUid(t,e){return this.apply(s._gslActionByUid(t,e))}layouts(t){return this.apply(s._gslLayouts(t))}layoutByUid(t,e){return this.apply(s._gslLayoutByUid(t,e))}displays(t){return this.apply(s._gslDisplays(t))}displayByUid(t,e){return this.apply(s._gslDisplayByUid(t,e))}alerts(t){return this.apply(s._gslAlerts(t))}alertByUid(t,e){return this.apply(s._gslAlertByUid(t,e))}tabs(t){return this.apply(s._gslTabs(t))}tabsByUid(t,e){return this.apply(s._gslTabsByUid(t,e))}accordions(t){return this.apply(s._gslAccordions(t))}accordionByUid(t,e){return this.apply(s._gslAccordionByUid(t,e))}customInputs(t){return this.apply(s._gslCustomInputs(t))}customInputByUid(t,e){return this.apply(s._gslCustomInputByUid(t,e))}customActions(t){return this.apply(s._gslCustomActions(t))}customActionByUid(t,e){return this.apply(s._gslCustomActionByUid(t,e))}customDisplays(t){return this.apply(s._gslCustomDisplays(t))}customDisplayByUid(t,e){return this.apply(s._gslCustomDisplayByUid(t,e))}customLayouts(t){return this.apply(s._gslCustomLayouts(t))}customLayoutByUid(t,e){return this.apply(s._gslCustomLayoutByUid(t,e))}}const Q={inputs:{textInput:f,numberInput:T,booleanInput:I,select:U,dropdown:B,radiogroup:D,checkbox:S,textarea:h,password:E,currency:A,markdown:k,list:R,calendar:M,dateInput:P,datePicker:w,rangeCalendar:C,rangeDateInput:x,rangeDatePicker:L,repeater:K,custom:b},actions:{button:s._guiButton,submitButton:s._guiSubmitButton,custom:N},displays:{display:s._guiDisplay,alert:G,custom:F},layouts:{flex:d,horizontalFlex:v,verticalFlex:Y,grid:g,horizontalGrid:$,verticalGrid:W,tabs:j,accordion:z,custom:H},selectors:c.root()};function Z(i,...t){return t.map(e=>({...e,targetState:i}))}function J(i,...t){return{kind:"aggregated",matcher:e=>e.tags?.includes(i)??!1,children:t}}class O{create(t){return{states:t.states,form:{uid:"gui-root-uid",type:"flex",kind:"layout",children:t.form}}}}function tt(){return new O}const et=i=>i!==null&&typeof i=="object"&&Object.prototype.hasOwnProperty.call(i,"label")&&Object.prototype.hasOwnProperty.call(i,"value");function st(i){return typeof i=="object"&&i!==null&&"$ref"in i&&typeof i.$ref=="string"&&Object.keys(i).length===1}async function it(i,t){const e=new URL(i,t).href,n=await fetch(e);if(!n.ok)throw new Error(`Failed to load form chunk ${e}: ${n.status}`);const{$schema:u,...r}=await n.json();return p(r,e)}async function p(i,t){if(st(i))return it(i.$ref,t);const e=i;if(Array.isArray(e.children)){const n=await Promise.all(e.children.map(u=>p(u,t)));return{...e,children:n}}return i}async function nt(i,t){const e=await Promise.all(i.form.map(n=>p(n,t)));return{...i,form:e}}exports._gslAccordionByUid=s._gslAccordionByUid;exports._gslAccordions=s._gslAccordions;exports._gslActionByUid=s._gslActionByUid;exports._gslActions=s._gslActions;exports._gslAlertByUid=s._gslAlertByUid;exports._gslAlerts=s._gslAlerts;exports._gslCalendarByUid=s._gslCalendarByUid;exports._gslCalendars=s._gslCalendars;exports._gslCheckboxByUid=s._gslCheckboxByUid;exports._gslCheckboxes=s._gslCheckboxes;exports._gslCurrencies=s._gslCurrencies;exports._gslCurrencyByUid=s._gslCurrencyByUid;exports._gslCustomActionByUid=s._gslCustomActionByUid;exports._gslCustomActions=s._gslCustomActions;exports._gslCustomDisplayByUid=s._gslCustomDisplayByUid;exports._gslCustomDisplays=s._gslCustomDisplays;exports._gslCustomInputByUid=s._gslCustomInputByUid;exports._gslCustomInputs=s._gslCustomInputs;exports._gslCustomLayoutByUid=s._gslCustomLayoutByUid;exports._gslCustomLayouts=s._gslCustomLayouts;exports._gslDateInputByUid=s._gslDateInputByUid;exports._gslDateInputs=s._gslDateInputs;exports._gslDatePickerByUid=s._gslDatePickerByUid;exports._gslDatePickers=s._gslDatePickers;exports._gslDisplayByUid=s._gslDisplayByUid;exports._gslDisplays=s._gslDisplays;exports._gslDropdownByUid=s._gslDropdownByUid;exports._gslDropdowns=s._gslDropdowns;exports._gslInputByUid=s._gslInputByUid;exports._gslInputs=s._gslInputs;exports._gslLayoutByUid=s._gslLayoutByUid;exports._gslLayouts=s._gslLayouts;exports._gslListByUid=s._gslListByUid;exports._gslLists=s._gslLists;exports._gslMarkdownByUid=s._gslMarkdownByUid;exports._gslMarkdowns=s._gslMarkdowns;exports._gslPasswordByUid=s._gslPasswordByUid;exports._gslPasswords=s._gslPasswords;exports._gslRadiogroupByUid=s._gslRadiogroupByUid;exports._gslRadiogroups=s._gslRadiogroups;exports._gslRangeCalendarByUid=s._gslRangeCalendarByUid;exports._gslRangeCalendars=s._gslRangeCalendars;exports._gslRangeDateInputByUid=s._gslRangeDateInputByUid;exports._gslRangeDateInputs=s._gslRangeDateInputs;exports._gslRangeDatePickerByUid=s._gslRangeDatePickerByUid;exports._gslRangeDatePickers=s._gslRangeDatePickers;exports._gslRepeaterByUid=s._gslRepeaterByUid;exports._gslRepeaters=s._gslRepeaters;exports._gslSelectByUid=s._gslSelectByUid;exports._gslSelects=s._gslSelects;exports._gslTabs=s._gslTabs;exports._gslTabsByUid=s._gslTabsByUid;exports._gslTextareaByUid=s._gslTextareaByUid;exports._gslTextareas=s._gslTextareas;exports._guiButton=s._guiButton;exports._guiDisplay=s._guiDisplay;exports._guiSubmitButton=s._guiSubmitButton;exports.createGslSelector=s.createGslSelector;exports.defineShortcutType=s.defineShortcutType;exports.extractWidgetProps=s.extractWidgetProps;exports.formDefs=s.formDefs;exports.isDxDefinitions=s.isDxDefinitions;exports.processAutoLabel=s.processAutoLabel;exports.processAutoPlaceholder=s.processAutoPlaceholder;exports.resolveFormInput=s.resolveFormInput;exports._gslBooleanInputs=q;exports._gslNumberInputs=X;exports._gslStates=Z;exports._gslTag=J;exports._gslTextInputs=V;exports._guiAccordion=z;exports._guiAlert=G;exports._guiBooleanInput=I;exports._guiCalendar=M;exports._guiCheckbox=S;exports._guiCurrency=A;exports._guiCustomAction=N;exports._guiCustomDisplay=F;exports._guiCustomInput=b;exports._guiCustomLayout=H;exports._guiDateInput=P;exports._guiDatePicker=w;exports._guiDropdown=B;exports._guiFlex=d;exports._guiGrid=g;exports._guiHorizontalFlex=v;exports._guiHorizontalGrid=$;exports._guiList=R;exports._guiMarkdown=k;exports._guiNumberInput=T;exports._guiPassword=E;exports._guiRadiogroup=D;exports._guiRangeCalendar=C;exports._guiRangeDateInput=x;exports._guiRangeDatePicker=L;exports._guiRepeater=K;exports._guiSelect=U;exports._guiTabs=j;exports._guiTextInput=f;exports._guiTextarea=h;exports._guiVerticalFlex=Y;exports._guiVerticalGrid=W;exports.golemForm=tt;exports.gui=Q;exports.isOption=et;exports.resolveChunkRefs=nt;
package/internals.js CHANGED
@@ -1,5 +1,15 @@
1
- import { g as o, r as t } from "./repeater-Bq3AKxF4.js";
1
+ import { ab as l } from "./resolveFormInput-CmPoe8iw.js";
2
+ function o(e, n) {
3
+ if (e != null && typeof e == "object" && "__rid" in e)
4
+ return e.__rid;
5
+ const r = n();
6
+ return Object.defineProperty(e, "__rid", {
7
+ value: r,
8
+ enumerable: !1,
9
+ configurable: !1
10
+ }), r;
11
+ }
2
12
  export {
3
13
  o as getItemKey,
4
- t as resolveFormInput
14
+ l as resolveFormInput
5
15
  };
package/internals.umd.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./repeater-Ds_WHdl5.cjs");exports.getItemKey=e.getItemKey;exports.resolveFormInput=e.resolveFormInput;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./resolveFormInput-C0LCXSox.cjs");function n(e,t){if(e!=null&&typeof e=="object"&&"__rid"in e)return e.__rid;const r=t();return Object.defineProperty(e,"__rid",{value:r,enumerable:!1,configurable:!1}),r}exports.resolveFormInput=o.resolveFormInput;exports.getItemKey=n;
package/lib/widgets.d.ts CHANGED
@@ -2,7 +2,7 @@ export declare const inputWidgets: readonly ["calendar", "checkbox", "currency",
2
2
  export declare const layoutWidgets: readonly ["accordion", "flex", "grid", "tabs"];
3
3
  export declare const displayWidgets: readonly ["alert", "markdownText", "renderer"];
4
4
  export declare const actionWidgets: readonly ["button"];
5
- export declare const golemWidgets: ("number" | "flex" | "repeater" | "button" | "password" | "checkbox" | "dateInput" | "currency" | "rangeCalendar" | "select" | "radiogroup" | "tabs" | "list" | "datePicker" | "dropdown" | "markdown" | "rangeDateInput" | "rangeDatePicker" | "textarea" | "calendar" | "grid" | "toggle" | "textinput" | "renderer" | "alert" | "accordion" | "markdownText")[];
5
+ export declare const golemWidgets: ("number" | "repeater" | "flex" | "button" | "password" | "checkbox" | "dateInput" | "currency" | "rangeCalendar" | "select" | "radiogroup" | "tabs" | "list" | "datePicker" | "dropdown" | "markdown" | "rangeDateInput" | "rangeDatePicker" | "textarea" | "calendar" | "grid" | "toggle" | "textinput" | "renderer" | "alert" | "accordion" | "markdownText")[];
6
6
  export type GolemInputWidget = (typeof inputWidgets)[number];
7
7
  export type GolemLayoutWidget = (typeof layoutWidgets)[number];
8
8
  export type GolemDisplayWidget = (typeof displayWidgets)[number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemui/gui-shared",
3
- "version": "0.13.1",
3
+ "version": "0.13.2",
4
4
  "type": "module",
5
5
  "main": "./index.umd.cjs",
6
6
  "module": "./index.js",
@@ -25,11 +25,13 @@
25
25
  "internals.d.ts",
26
26
  "internals.js",
27
27
  "internals.umd.cjs",
28
+ "*.js",
29
+ "*.cjs",
28
30
  "*.md"
29
31
  ],
30
32
  "dependencies": {
31
- "@golemui/core": "0.13.1",
32
- "@golemui/gui-validators": "0.13.1"
33
+ "@golemui/core": "0.13.2",
34
+ "@golemui/gui-validators": "0.13.2"
33
35
  },
34
36
  "repository": {
35
37
  "type": "git",
@@ -0,0 +1 @@
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;