@golemui/gui-shared 1.0.3 → 1.1.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 +10 -0
- package/index.d.ts +1 -0
- package/index.js +268 -198
- package/index.umd.cjs +1 -1
- package/internals.d.ts +4 -4
- package/internals.js +339 -298
- package/internals.umd.cjs +1 -1
- package/lib/dx/core/dx.domain.d.ts +6 -1
- package/lib/dx/formDef.domain.d.ts +2 -1
- package/lib/dx/gui.d.ts +20 -0
- package/lib/dx/index.d.ts +30 -0
- package/lib/dx/resolveFormInput.d.ts +9 -1
- package/lib/dx/shortcuts/date-time-calendar/dateTimeCalendar.domain.d.ts +22 -0
- package/lib/dx/shortcuts/date-time-calendar/dateTimeCalendarSensibleDefaults.service.d.ts +6 -0
- package/lib/dx/shortcuts/date-time-calendar/guiDateTimeCalendar.impl.d.ts +6 -0
- package/lib/dx/shortcuts/date-time-calendar/register.d.ts +2 -0
- package/lib/dx/shortcuts/date-time-input/dateTimeInput.domain.d.ts +17 -0
- package/lib/dx/shortcuts/date-time-input/guiDateTimeInput.impl.d.ts +6 -0
- package/lib/dx/shortcuts/date-time-input/register.d.ts +2 -0
- package/lib/dx/shortcuts/date-time-picker/dateTimePicker.domain.d.ts +18 -0
- package/lib/dx/shortcuts/date-time-picker/guiDateTimePicker.impl.d.ts +7 -0
- package/lib/dx/shortcuts/date-time-picker/register.d.ts +2 -0
- package/lib/dx/shortcuts/range-date-time-calendar/guiRangeDateTimeCalendar.impl.d.ts +6 -0
- package/lib/dx/shortcuts/range-date-time-calendar/rangeDateTimeCalendar.domain.d.ts +17 -0
- package/lib/dx/shortcuts/range-date-time-calendar/register.d.ts +2 -0
- package/lib/dx/shortcuts/range-date-time-input/guiRangeDateTimeInput.impl.d.ts +6 -0
- package/lib/dx/shortcuts/range-date-time-input/rangeDateTimeInput.domain.d.ts +17 -0
- package/lib/dx/shortcuts/range-date-time-input/register.d.ts +2 -0
- package/lib/dx/shortcuts/range-date-time-picker/guiRangeDateTimePicker.impl.d.ts +6 -0
- package/lib/dx/shortcuts/range-date-time-picker/rangeDateTimePicker.domain.d.ts +17 -0
- package/lib/dx/shortcuts/range-date-time-picker/register.d.ts +2 -0
- package/lib/dx/shortcuts/range-time-input/guiRangeTimeInput.impl.d.ts +6 -0
- package/lib/dx/shortcuts/range-time-input/rangeTimeInput.domain.d.ts +17 -0
- package/lib/dx/shortcuts/range-time-input/register.d.ts +2 -0
- package/lib/dx/shortcuts/range-time-picker/guiRangeTimePicker.impl.d.ts +6 -0
- package/lib/dx/shortcuts/range-time-picker/rangeTimePicker.domain.d.ts +17 -0
- package/lib/dx/shortcuts/range-time-picker/register.d.ts +2 -0
- package/lib/dx/shortcuts/scopes/scopeChain.d.ts +30 -0
- package/lib/dx/shortcuts/time-input/guiTimeInput.impl.d.ts +6 -0
- package/lib/dx/shortcuts/time-input/register.d.ts +2 -0
- package/lib/dx/shortcuts/time-input/timeInput.domain.d.ts +17 -0
- package/lib/dx/shortcuts/time-picker/guiTimePicker.impl.d.ts +7 -0
- package/lib/dx/shortcuts/time-picker/register.d.ts +2 -0
- package/lib/dx/shortcuts/time-picker/timePicker.domain.d.ts +18 -0
- package/lib/golem-form.d.ts +32 -2
- package/lib/widget.props.d.ts +197 -26
- package/lib/widgets.d.ts +2 -2
- package/package.json +3 -3
- package/{register-BaJnbpMX.js → register-C4dCzlrS.js} +756 -413
- package/register-KU4CGoTQ.cjs +1 -0
- package/register-BHpCnzXI.cjs +0 -1
package/internals.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./register-BHpCnzXI.cjs");require("@golemui/core");require("@golemui/gui-validators");function v(l,...e){return e.map(t=>({...t,targetState:l}))}function M(l,...e){return{kind:"aggregated",matcher:t=>t.tags?.includes(l)??!1,children:e}}const B={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","TAGS"]),ACTIONS:new Set(["ACTIONS","CUSTOM_ACTION"]),DISPLAYS:new Set(["DISPLAYS","ALERTS","MARKDOWN_TEXTS","CUSTOM_DISPLAY"]),LAYOUTS:new Set(["LAYOUTS","TABS","ACCORDION","CUSTOM_LAYOUT"])};function P(l,e){const t=B[l];return t?t.has(e):l===e}class L{resolve(e,t){const r=[];for(const i of t)i.kind==="aggregated"?this.collectFromAggregated(i,e,r):this.collectFromLeaf(i,e,r);const n=this.rollUpSensibleDefaults(r);return{leafSelectors:r,sensibleDefaults:n}}collectFromAggregated(e,t,r){if(e.matcher(t))for(const n of e.children)this.collectFromLeaf(n,t,r)}collectFromLeaf(e,t,r){P(e.selectorType,t.itemType??"")&&e.matcher(t)&&r.push(e)}rollUpSensibleDefaults(e){const t=new Map,r=(i,o)=>{const a=t.get(i)??[];a.push(o),t.set(i,a)};for(const i of e){const o=B[i.selectorType];if(o)for(const a of o)r(a,i);else r(i.selectorType,i)}const n={};for(const[i,o]of t)s.hasItemTypeHandler(i)&&(n[i]=s.getItemTypeHandler(i).rollUpSensibleDefaults(o));return n}}const F=new L;class j{deepMerge(e,t){if(t==null)return e;if(e==null||typeof e!="object"||typeof t!="object"||Array.isArray(e)||Array.isArray(t))return t;const r={...e};for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(typeof t[n]=="object"&&!Array.isArray(t[n])&&t[n]!==null&&typeof e[n]=="object"&&!Array.isArray(e[n])&&e[n]!==null?r[n]=this.deepMerge(e[n],t[n]):r[n]=t[n]);return r}}const N=new j;class W{constructor(e){this.objectUtils=e}merge(e,t,r){let n={},i=null;typeof e=="function"&&(i=e);const o=this.collectDecorators(r);for(const c of o){if(i!=null){i=this.composeRuntimeFunctions(i,c);continue}if(typeof c=="function"){const g=c({...n,...typeof e=="function"?{}:e});if(typeof g=="function"){i=this.createPromotedFunction(n,e,g,t,r);continue}n=this.objectUtils.deepMerge(n,g)}else n=this.objectUtils.deepMerge(n,c)}if(i!=null)return{kind:"dynamic",fn:this.wrapWithSensibleDefaults(i,n,t,r)};const a=this.objectUtils.deepMerge(e,n);return{kind:"static",def:this.applySensibleDefaults({...a},t,r)}}collectDecorators(e){const t=[];for(const r of e.leafSelectors){const n=r.config;n.override!=null&&t.push(n.override)}return t}applySensibleDefaults(e,t,r){if(!s.hasItemTypeHandler(t))return e;const n=r.sensibleDefaults[t]??{};return s.getItemTypeHandler(t).applySensibleDefaults(e,n)}createPromotedFunction(e,t,r,n,i){return o=>{const a=r(o);let u=this.objectUtils.deepMerge(e,a);return u=this.objectUtils.deepMerge(u,t),this.applySensibleDefaults(u,n,i)}}wrapWithSensibleDefaults(e,t,r,n){return i=>{let o=e(i);return Object.keys(t).length>0&&(o=this.objectUtils.deepMerge(t,o)),this.applySensibleDefaults(o,r,n)}}composeRuntimeFunctions(e,t){return typeof t=="function"?r=>{const n=e(r),i=t(n);return typeof i=="function"?i(r):this.objectUtils.deepMerge(i,n)}:r=>{const n=e(r);return this.objectUtils.deepMerge(n,t)}}}const z=new W(N);class G{mapToWidget(e,t){if(e.kind==="dynamic"){const r=e.fn;return(n=>{const i=r(n);return this.mapStaticDef(i,t)})}return this.mapStaticDef(e.def,t)}mapStaticDef(e,t){const r=s.getItemTypeHandler(t).mapToWidget(e);return this.applyBaseWidgetFields(r,e)}applyBaseWidgetFields(e,t){return t.size!=null&&(e.size=t.size),t.defaultValue!=null&&e.kind==="input"&&(e.defaultValue=t.defaultValue),t.on!=null&&(e.on=t.on),t.include!=null&&(e.include=t.include),t.exclude!=null&&(e.exclude=t.exclude),e}}const $=new G;class H{normalizeSelectors(e){const t=Array.isArray(e)?e:[e],r=[],n=[];for(const i of t)i.kind==="leaf"?n.push(i):r.push(i);return n.length>0&&r.unshift({kind:"aggregated",matcher:()=>!0,children:n}),r}extractFormConfig(){return{suppressAutomaticStack:!1}}}const K=new H,V={input:new Set(["disabled","readonly","label","validator","size"]),action:new Set(["disabled","label","size"]),layout:new Set(["size"]),display:new Set([])},T={onChange:"change",onLoad:"load",onFilter:"filter",onClick:"click"};class Y{extractFromMergeResult(e,t){const r={};for(const a of t){const u=a.targetState,c=a.config,g=c.override&&typeof c.override!="function"?c.override:c;r[u]={...r[u]||{},...g}}if(e.kind==="dynamic"){const a=e.fn;return{cleanedResult:{kind:"dynamic",fn:c=>{const g=a(c),{states:d,..._}=g;return _}},stateData:{stateOverrides:r}}}const{states:n,...i}=e.def,o={};for(const[a,u]of Object.entries(r))o[a]={...u};if(n)for(const[a,u]of Object.entries(n))o[a]={...o[a]||{},...u};return{cleanedResult:{kind:"static",def:i},stateData:{stateOverrides:o}}}applyToWidget(e,t,r,n){const{stateOverrides:i}=t;if(Object.keys(i).length===0)return e;const o={...e},a=e.kind,u=V[a]||new Set;e.props&&(o.props={...e.props}),e.on&&(o.on={...e.on});for(const[c,g]of Object.entries(i))for(const[d,_]of Object.entries(g))d==="visible"?this.applyVisibility(o,c,_):T[d]?this.applyStateEvent(o,c,d,_,r,n):u.has(d)?o[`${d}.${c}`]=_:(o.props||(o.props={}),o.props[`${d}.${c}`]=_);return o}hasStateData(e){return Object.keys(e.stateOverrides).length>0}applyVisibility(e,t,r){if(r){const n=e.include?.in||[];e.include={...e.include||{},in:[...n,t]}}else{const n=e.exclude?.from||[];e.exclude={...e.exclude||{},from:[...n,t]}}}applyStateEvent(e,t,r,n,i,o){const a=T[r];if(e.on||(e.on={}),typeof n=="function"){const u=s.probeForHostEventName(n);if(u!=null)e.on[`${a}.${t}`]=u;else{const c=o.next();i.set(c,n),e.on[`${a}.${t}`]=c}}else typeof n=="string"&&(e.on[`${a}.${t}`]=n)}}const X=new Y;function q(){let l=0;return{next:()=>`event_${l++}`}}class J{constructor(e,t,r,n,i){this.resolver=e,this.merger=t,this.mapper=r,this.eventWiring=n,this.stateExpansion=i}walkAndMap(e,t,r){const n=new Map,i=q(),o={value:0},a=new Set;return{widgets:this.walkItems(e,t,n,r,i,o,a),eventRegistry:n}}walkItems(e,t,r,n,i,o,a){return e.flatMap(u=>{if(u.type!=="ITEMS")throw new Error("Unexpected gui shortcut type");return u.items.map(c=>this.processItem(c,u.itemType,u.tags,t,r,n,i,o,a))})}processItem(e,t,r,n,i,o,a,u,c){const g=t,d=s.getItemTypeHandler(t),_=d.parseEntry(e),m=this.buildBaseDef(_),w=this.buildDecoratorForMatching(m,g,r),h=this.resolver.resolve(w,n),x=h.leafSelectors.filter(p=>p.targetState!=null),k={leafSelectors:h.leafSelectors.filter(p=>p.targetState==null),sensibleDefaults:h.sensibleDefaults};let y=this.merger.merge(m,g,k);d.afterMerge&&(y=d.afterMerge(y,{eventRegistry:i,formConfig:o,eventIdGenerator:a})),y=this.eventWiring.wireInputLayoutEvents(y,i,a);const{cleanedResult:U,stateData:S}=this.stateExpansion.extractFromMergeResult(y,x);let f;if(d.buildCustomWidget){const p=this.buildCustomWidgetContext(_.children,n,i,o,a,u,c);f=this.buildCustomWidget(d,U,p)}else f=this.mapper.mapToWidget(U,g);if(typeof f!="function"){const p=f;p.uid||(p.path&&!c.has(p.path)?(p.uid=p.path,c.add(p.path)):p.uid=`dx_${u.value++}`)}if(this.stateExpansion.hasStateData(S))if(typeof f=="function"){const p=f;f=(O=>{const E=p(O);return this.stateExpansion.applyToWidget(E,S,i,a)})}else f=this.stateExpansion.applyToWidget(f,S,i,a);return f}buildCustomWidgetContext(e,t,r,n,i,o,a){return{children:e,mapStaticDef:(u,c)=>this.mapper.mapStaticDef(u,c),walkChildren:u=>this.walkItems(u,t,r,n,i,o,a)}}buildCustomWidget(e,t,r){return e.buildCustomWidget(t,r)}buildBaseDef(e){const t=e.baseDef;return typeof t=="function"?r=>{const n=s.withForm(r),i=t(n);return e.path!=null?{...i,path:e.path}:i}:e.path!=null?{...t,path:e.path}:t}buildDecoratorForMatching(e,t,r){if(typeof e=="function")return{itemType:t,tags:[...r]};const n=[...r,..."tags"in e&&e.tags?e.tags:[]],i="uid"in e?e.uid:void 0,o="type"in e?e.type:void 0;return{itemType:t,tags:n,uid:i,type:o}}}class Q{constructor(e,t){this.selectorNormalizer=e,this.walker=t}processDxFacade(e,t=[],r){const{defs:n,gslSelectors:i,formConfig:o}=this.prepareForm(e,t,r),{widgets:a,eventRegistry:u}=this.walker.walkAndMap(n,i,o),c=a[0];return this.buildResult({form:c},u,o)}prepareForm(e,t,r){const i=(Array.isArray(e)?[...e]:[e]).map(u=>typeof u=="function"?s._guiDisplay(u):u),o=this.selectorNormalizer.normalizeSelectors(t),a={...this.selectorNormalizer.extractFormConfig(),...r};if(!a.suppressAutomaticStack){const u={def:{uid:"#root",direction:"column",widgetName:"flex"},children:i};return{defs:[{type:"ITEMS",itemType:s.GuiItemTypes.LAYOUTS,items:[u],tags:[]}],gslSelectors:o,formConfig:a}}return{defs:i,gslSelectors:o,formConfig:a}}convertStateNames(e){const t={};for(const[r,n]of Object.entries(e))t[r.replace(/\$/g,":")]=n;return t}buildResult(e,t,r){r.states&&Object.keys(r.states).length>0&&(e={...e,states:this.convertStateNames(r.states)});const n={form:e};return t.size>0&&(n.events=i=>{const o=t.get(i.name);if(o){const a=c=>{if(c&&typeof c=="object"&&"path"in c&&!("type"in c)){const{path:g,...d}=c;for(const[_,m]of Object.entries(d))i.callback({type:"OVERRIDE_WIDGET_PROP",payload:{path:g,prop:_,value:m}})}else i.callback(c)},u={...i,callback:a,update:a};o(u)}}),r.dependencies&&(n.dependencies=r.dependencies),r.widgetLoaders&&(n.widgetLoaders=r.widgetLoaders),r.validateOn&&(n.validateOn=r.validateOn),r.itemRenderers&&(n.itemRenderers=r.itemRenderers),n}}const Z=new J(F,z,$,s.eventWiringService,X),R=new Q(K,Z);function D(l){return typeof l=="function"?!0:Array.isArray(l)?l.length===0||l.every(I):I(l)}function I(l){if(typeof l=="function")return!0;if(l===null||typeof l!="object")return!1;const e=l;return e.type==="ITEMS"&&typeof e.itemType=="string"}function ee(l){if(!l||typeof l!="object"||Array.isArray(l))return;const e=l.form;if(D(e))throw new Error("[GolemUI] The gui.* form definition was wrapped in an extra `{ form: ... }` object, so its fields were never resolved. Pass the gui.* array DIRECTLY as formDef (`config={{ formDef: form }}`) and put any named `states` in `formConfig`: `config={{ formDef: form, formConfig: { states } }}`. Do NOT wrap them as a `{ form: [...] }` object.")}const A=Object.freeze({}),te=Object.freeze({}),C=new WeakMap;function b(l,e){return l==null?e:typeof l=="object"?l:{}}function se(l,e,t){if(!D(l))return ee(l),{formDef:l};const r=b(l,A),n=b(e,A),i=b(t,te);let o=C.get(r);o||(o=new WeakMap,C.set(r,o));let a=o.get(n);a||(a=new WeakMap,o.set(n,a));const u=a.get(i);if(u)return u;const c=R.processDxFacade(l,e,t),g={formDef:c.form,formEvent:c.events,dependencies:c.dependencies,widgetLoaders:c.widgetLoaders,validateOn:c.validateOn,itemRenderers:c.itemRenderers};return a.set(i,g),g}class ne{create(e){return{states:e.states,form:{uid:"gui-root-uid",type:"flex",kind:"layout",children:e.form}}}}function re(){return new ne}const ie=l=>l!==null&&typeof l=="object"&&Object.prototype.hasOwnProperty.call(l,"label")&&Object.prototype.hasOwnProperty.call(l,"value");function oe(l,e){if(l!=null&&typeof l=="object"&&"__rid"in l)return l.__rid;const t=e();return Object.defineProperty(l,"__rid",{value:t,enumerable:!1,configurable:!1}),t}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._gslBooleanInputs=s._gslBooleanInputs;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._gslMarkdownTextByUid=s._gslMarkdownTextByUid;exports._gslMarkdownTexts=s._gslMarkdownTexts;exports._gslMarkdowns=s._gslMarkdowns;exports._gslNumberInputs=s._gslNumberInputs;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._gslTags=s._gslTags;exports._gslTagsByUid=s._gslTagsByUid;exports._gslTextInputs=s._gslTextInputs;exports._gslTextareaByUid=s._gslTextareaByUid;exports._gslTextareas=s._gslTextareas;exports._guiAccordion=s._guiAccordion;exports._guiAlert=s._guiAlert;exports._guiBooleanInput=s._guiBooleanInput;exports._guiButton=s._guiButton;exports._guiCalendar=s._guiCalendar;exports._guiCheckbox=s._guiCheckbox;exports._guiCurrency=s._guiCurrency;exports._guiCustomAction=s._guiCustomAction;exports._guiCustomDisplay=s._guiCustomDisplay;exports._guiCustomInput=s._guiCustomInput;exports._guiCustomLayout=s._guiCustomLayout;exports._guiDateInput=s._guiDateInput;exports._guiDatePicker=s._guiDatePicker;exports._guiDisplay=s._guiDisplay;exports._guiDropdown=s._guiDropdown;exports._guiFlex=s._guiFlex;exports._guiGrid=s._guiGrid;exports._guiHorizontalFlex=s._guiHorizontalFlex;exports._guiHorizontalGrid=s._guiHorizontalGrid;exports._guiList=s._guiList;exports._guiMarkdown=s._guiMarkdown;exports._guiMarkdownText=s._guiMarkdownText;exports._guiNumberInput=s._guiNumberInput;exports._guiPassword=s._guiPassword;exports._guiRadiogroup=s._guiRadiogroup;exports._guiRangeCalendar=s._guiRangeCalendar;exports._guiRangeDateInput=s._guiRangeDateInput;exports._guiRangeDatePicker=s._guiRangeDatePicker;exports._guiRepeater=s._guiRepeater;exports._guiSelect=s._guiSelect;exports._guiTabs=s._guiTabs;exports._guiTags=s._guiTags;exports._guiTextInput=s._guiTextInput;exports._guiTextarea=s._guiTextarea;exports._guiVerticalFlex=s._guiVerticalFlex;exports._guiVerticalGrid=s._guiVerticalGrid;exports.createGslSelector=s.createGslSelector;exports.defineShortcutType=s.defineShortcutType;exports.extractWidgetProps=s.extractWidgetProps;exports.processAutoLabel=s.processAutoLabel;exports.processAutoPlaceholder=s.processAutoPlaceholder;exports._gslStates=v;exports._gslTag=M;exports.formDefs=R;exports.getItemKey=oe;exports.golemForm=re;exports.isDxDefinitions=D;exports.isOption=ie;exports.resolveFormInput=se;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./register-KU4CGoTQ.cjs");require("@golemui/core");require("@golemui/gui-validators");function M(o,...e){return e.map(s=>({...s,targetState:o}))}function O(o,...e){return{kind:"aggregated",matcher:s=>s.tags?.includes(o)??!1,children:e}}const A={INPUTS:new Set(["INPUTS","TEXTAREA","PASSWORD","SELECT","DROPDOWN","RADIOGROUP","CHECKBOX","CALENDAR","DATE_TIME_CALENDAR","DATE_TIME_PICKER","DATE_INPUT","DATE_PICKER","RANGE_CALENDAR","RANGE_DATE_INPUT","RANGE_DATE_TIME_INPUT","RANGE_DATE_TIME_CALENDAR","RANGE_DATE_TIME_PICKER","RANGE_TIME_INPUT","RANGE_DATE_PICKER","RANGE_TIME_PICKER","TIME_INPUT","TIME_PICKER","DATE_TIME_INPUT","CURRENCY","MARKDOWN","LIST","CUSTOM_INPUT","REPEATER","TAGS"]),ACTIONS:new Set(["ACTIONS","CUSTOM_ACTION"]),DISPLAYS:new Set(["DISPLAYS","ALERTS","MARKDOWN_TEXTS","CUSTOM_DISPLAY"]),LAYOUTS:new Set(["LAYOUTS","TABS","ACCORDION","CUSTOM_LAYOUT"])};function v(o,e){const s=A[o];return s?s.has(e):o===e}class N{resolve(e,s){const n=[];for(const r of s)r.kind==="aggregated"?this.collectFromAggregated(r,e,n):this.collectFromLeaf(r,e,n);const i=this.rollUpSensibleDefaults(n);return{leafSelectors:n,sensibleDefaults:i}}collectFromAggregated(e,s,n){if(e.matcher(s))for(const i of e.children)this.collectFromLeaf(i,s,n)}collectFromLeaf(e,s,n){v(e.selectorType,s.itemType??"")&&e.matcher(s)&&n.push(e)}rollUpSensibleDefaults(e){const s=new Map,n=(r,a)=>{const l=s.get(r)??[];l.push(a),s.set(r,l)};for(const r of e){const a=A[r.selectorType];if(a)for(const l of a)n(l,r);else n(r.selectorType,r)}const i={};for(const[r,a]of s)t.hasItemTypeHandler(r)&&(i[r]=t.getItemTypeHandler(r).rollUpSensibleDefaults(a));return i}}const L=new N;class F{deepMerge(e,s){if(s==null)return e;if(e==null||typeof e!="object"||typeof s!="object"||Array.isArray(e)||Array.isArray(s))return s;const n={...e};for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&(typeof s[i]=="object"&&!Array.isArray(s[i])&&s[i]!==null&&typeof e[i]=="object"&&!Array.isArray(e[i])&&e[i]!==null?n[i]=this.deepMerge(e[i],s[i]):n[i]=s[i]);return n}}const j=new F;class W{constructor(e){this.objectUtils=e}merge(e,s,n){let i={},r=null;typeof e=="function"&&(r=e);const a=this.collectDecorators(n);for(const u of a){if(r!=null){r=this.composeRuntimeFunctions(r,u);continue}if(typeof u=="function"){const g=u({...i,...typeof e=="function"?{}:e});if(typeof g=="function"){r=this.createPromotedFunction(i,e,g,s,n);continue}i=this.objectUtils.deepMerge(i,g)}else i=this.objectUtils.deepMerge(i,u)}if(r!=null)return{kind:"dynamic",fn:this.wrapWithSensibleDefaults(r,i,s,n)};const l=this.objectUtils.deepMerge(e,i);return{kind:"static",def:this.applySensibleDefaults({...l},s,n)}}collectDecorators(e){const s=[];for(const n of e.leafSelectors){const i=n.config;i.override!=null&&s.push(i.override)}return s}applySensibleDefaults(e,s,n){if(!t.hasItemTypeHandler(s))return e;const i=n.sensibleDefaults[s]??{};return t.getItemTypeHandler(s).applySensibleDefaults(e,i)}createPromotedFunction(e,s,n,i,r){return a=>{const l=n(a);let c=this.objectUtils.deepMerge(e,l);return c=this.objectUtils.deepMerge(c,s),this.applySensibleDefaults(c,i,r)}}wrapWithSensibleDefaults(e,s,n,i){return r=>{let a=e(r);return Object.keys(s).length>0&&(a=this.objectUtils.deepMerge(s,a)),this.applySensibleDefaults(a,n,i)}}composeRuntimeFunctions(e,s){return typeof s=="function"?n=>{const i=e(n),r=s(i);return typeof r=="function"?r(n):this.objectUtils.deepMerge(r,i)}:n=>{const i=e(n);return this.objectUtils.deepMerge(i,s)}}}const G=new W(j);class z{mapToWidget(e,s){if(e.kind==="dynamic"){const n=e.fn;return(i=>{const r=n(i);return this.mapStaticDef(r,s)})}return this.mapStaticDef(e.def,s)}mapStaticDef(e,s){const n=t.getItemTypeHandler(s).mapToWidget(e);return this.applyBaseWidgetFields(n,e)}applyBaseWidgetFields(e,s){return s.size!=null&&(e.size=s.size),s.defaultValue!=null&&e.kind==="input"&&(e.defaultValue=s.defaultValue),s.on!=null&&(e.on=s.on),s.include!=null&&(e.include=s.include),s.exclude!=null&&(e.exclude=s.exclude),e}}const K=new z;class ${normalizeSelectors(e){const s=Array.isArray(e)?e:[e],n=[],i=[];for(const r of s)r.kind==="leaf"?i.push(r):n.push(r);return i.length>0&&n.unshift({kind:"aggregated",matcher:()=>!0,children:i}),n}extractFormConfig(){return{suppressAutomaticStack:!1}}}const H=new $,V={input:new Set(["disabled","readonly","label","validator","size"]),action:new Set(["disabled","label","size"]),layout:new Set(["size"]),display:new Set([])},R={onChange:"change",onLoad:"load",onFilter:"filter",onClick:"click"};class Y{extractFromMergeResult(e,s){const n={};for(const l of s){const c=l.targetState,u=l.config,g=u.override&&typeof u.override!="function"?u.override:u;n[c]={...n[c]||{},...g}}if(e.kind==="dynamic"){const l=e.fn;return{cleanedResult:{kind:"dynamic",fn:u=>{const g=l(u),{states:d,...p}=g;return p}},stateData:{stateOverrides:n}}}const{states:i,...r}=e.def,a={};for(const[l,c]of Object.entries(n))a[l]={...c};if(i)for(const[l,c]of Object.entries(i))a[l]={...a[l]||{},...c};return{cleanedResult:{kind:"static",def:r},stateData:{stateOverrides:a}}}applyToWidget(e,s,n,i){const{stateOverrides:r}=s;if(Object.keys(r).length===0)return e;const a={...e},l=e.kind,c=V[l]||new Set;e.props&&(a.props={...e.props}),e.on&&(a.on={...e.on});for(const[u,g]of Object.entries(r))for(const[d,p]of Object.entries(g))d==="visible"?this.applyVisibility(a,u,p):R[d]?this.applyStateEvent(a,u,d,p,n,i):c.has(d)?a[`${d}.${u}`]=p:(a.props||(a.props={}),a.props[`${d}.${u}`]=p);return a}hasStateData(e){return Object.keys(e.stateOverrides).length>0}applyVisibility(e,s,n){if(n){const i=e.include?.in||[];e.include={...e.include||{},in:[...i,s]}}else{const i=e.exclude?.from||[];e.exclude={...e.exclude||{},from:[...i,s]}}}applyStateEvent(e,s,n,i,r,a){const l=R[n];if(e.on||(e.on={}),typeof i=="function"){const c=t.probeForHostEventName(i);if(c!=null)e.on[`${l}.${s}`]=c;else{const u=a.next();r.set(u,i),e.on[`${l}.${s}`]=u}}else typeof i=="string"&&(e.on[`${l}.${s}`]=i)}}const X=new Y;function q(){let o=0;return{next:()=>`event_${o++}`}}class J{constructor(e,s,n,i,r){this.resolver=e,this.merger=s,this.mapper=n,this.eventWiring=i,this.stateExpansion=r}walkAndMap(e,s,n){const i=new Map,r=q(),a={value:0},l=new Set;return{widgets:this.walkItems(e,s,i,n,r,a,l),eventRegistry:i}}walkItems(e,s,n,i,r,a,l){return e.flatMap(c=>{if(c.type!=="ITEMS")throw new Error("Unexpected gui shortcut type");return c.items.map(u=>this.processItem(u,c.itemType,c.tags,s,n,i,r,a,l))})}processItem(e,s,n,i,r,a,l,c,u){const g=s,d=t.getItemTypeHandler(s),p=d.parseEntry(e),m=this.buildBaseDef(p),k=this.buildDecoratorForMatching(m,g,n),T=this.resolver.resolve(k,i),E=T.leafSelectors.filter(_=>_.targetState!=null),P={leafSelectors:T.leafSelectors.filter(_=>_.targetState==null),sensibleDefaults:T.sensibleDefaults};let f=this.merger.merge(m,g,P);d.afterMerge&&(f=d.afterMerge(f,{eventRegistry:r,formConfig:a,eventIdGenerator:l})),f=this.eventWiring.wireInputLayoutEvents(f,r,l);const{cleanedResult:U,stateData:D}=this.stateExpansion.extractFromMergeResult(f,E);let y;if(d.buildCustomWidget){const _=this.buildCustomWidgetContext(p.children,i,r,a,l,c,u);y=this.buildCustomWidget(d,U,_)}else y=this.mapper.mapToWidget(U,g);if(typeof y!="function"){const _=y;_.uid||(_.path&&!u.has(_.path)?(_.uid=_.path,u.add(_.path)):_.uid=`dx_${c.value++}`)}if(this.stateExpansion.hasStateData(D))if(typeof y=="function"){const _=y;y=(w=>{const x=_(w);return this.stateExpansion.applyToWidget(x,D,r,l)})}else y=this.stateExpansion.applyToWidget(y,D,r,l);return y}buildCustomWidgetContext(e,s,n,i,r,a,l){return{children:e,mapStaticDef:(c,u)=>this.mapper.mapStaticDef(c,u),walkChildren:c=>this.walkItems(c,s,n,i,r,a,l)}}buildCustomWidget(e,s,n){return e.buildCustomWidget(s,n)}buildBaseDef(e){const s=e.baseDef;return typeof s=="function"?n=>{const i=t.withForm(n),r=s(i);return e.path!=null?{...r,path:e.path}:r}:e.path!=null?{...s,path:e.path}:s}buildDecoratorForMatching(e,s,n){if(typeof e=="function")return{itemType:s,tags:[...n]};const i=[...n,..."tags"in e&&e.tags?e.tags:[]],r="uid"in e?e.uid:void 0,a="type"in e?e.type:void 0;return{itemType:s,tags:i,uid:r,type:a}}}class Q{constructor(e,s){this.selectorNormalizer=e,this.walker=s}processDxFacade(e,s=[],n){const{defs:i,gslSelectors:r,formConfig:a}=this.prepareForm(e,s,n),{widgets:l,eventRegistry:c}=this.walker.walkAndMap(i,r,a),u=l[0];return this.buildResult({form:u},c,a)}prepareForm(e,s,n){const r=(Array.isArray(e)?[...e]:[e]).map(c=>typeof c=="function"?t._guiDisplay(c):c),a=this.selectorNormalizer.normalizeSelectors(s),l={...this.selectorNormalizer.extractFormConfig(),...n};if(!l.suppressAutomaticStack){const c={def:{uid:"#root",direction:"column",widgetName:"flex"},children:r};return{defs:[{type:"ITEMS",itemType:t.GuiItemTypes.LAYOUTS,items:[c],tags:[]}],gslSelectors:a,formConfig:l}}return{defs:r,gslSelectors:a,formConfig:l}}convertStateNames(e){const s={};for(const[n,i]of Object.entries(e))s[n.replace(/\$/g,":")]=i;return s}buildResult(e,s,n){n.states&&Object.keys(n.states).length>0&&(e={...e,states:this.convertStateNames(n.states)});const i={form:e};return s.size>0&&(i.events=r=>{const a=s.get(r.name);if(a){const l=u=>{if(u&&typeof u=="object"&&"path"in u&&!("type"in u)){const{path:g,...d}=u;for(const[p,m]of Object.entries(d))r.callback({type:"OVERRIDE_WIDGET_PROP",payload:{path:g,prop:p,value:m}})}else r.callback(u)},c={...r,callback:l,update:l};a(c)}}),n.dependencies&&(i.dependencies=n.dependencies),n.functions&&(i.functions=n.functions),n.widgetLoaders&&(i.widgetLoaders=n.widgetLoaders),n.validateOn&&(i.validateOn=n.validateOn),n.itemRenderers&&(i.itemRenderers=n.itemRenderers),i}}const Z=new J(L,G,K,t.eventWiringService,X),C=new Q(H,Z);function h(o){return typeof o=="function"?!0:Array.isArray(o)?o.length===0||o.every(S):S(o)}function S(o){if(typeof o=="function")return!0;if(o===null||typeof o!="object")return!1;const e=o;return e.type==="ITEMS"&&typeof e.itemType=="string"}function ee(o){if(!o||typeof o!="object"||Array.isArray(o))return;const e=o.form;if(h(e))throw new Error("[GolemUI] The gui.* form definition was wrapped in an extra `{ form: ... }` object, so its fields were never resolved. Pass the gui.* array DIRECTLY as formDef (`config={{ formDef: form }}`) and put any named `states` in `formConfig`: `config={{ formDef: form, formConfig: { states } }}`. Do NOT wrap them as a `{ form: [...] }` object.")}const b=Object.freeze({}),te=Object.freeze({}),B=new WeakMap;function I(o,e){return o==null?e:typeof o=="object"?o:{}}function se(o,e,s){if(!h(o))return ee(o),{formDef:o};const n=I(o,b),i=I(e,b),r=I(s,te);let a=B.get(n);a||(a=new WeakMap,B.set(n,a));let l=a.get(i);l||(l=new WeakMap,a.set(i,l));const c=l.get(r);if(c)return c;const u=C.processDxFacade(o,e,s),g={formDef:u.form,formEvent:u.events,dependencies:u.dependencies,functions:u.functions,widgetLoaders:u.widgetLoaders,validateOn:u.validateOn,itemRenderers:u.itemRenderers};return l.set(r,g),g}class ie{create(e){return{states:e.states,form:{uid:"gui-root-uid",type:"flex",kind:"layout",children:e.form}}}}function ne(){return new ie}const re=o=>o!==null&&typeof o=="object"&&Object.prototype.hasOwnProperty.call(o,"label")&&Object.prototype.hasOwnProperty.call(o,"value");function ae(o,e){if(o!=null&&typeof o=="object"&&"__rid"in o)return o.__rid;const s=e();return Object.defineProperty(o,"__rid",{value:s,enumerable:!1,configurable:!1}),s}exports._gslAccordionByUid=t._gslAccordionByUid;exports._gslAccordions=t._gslAccordions;exports._gslActionByUid=t._gslActionByUid;exports._gslActions=t._gslActions;exports._gslAlertByUid=t._gslAlertByUid;exports._gslAlerts=t._gslAlerts;exports._gslBooleanInputs=t._gslBooleanInputs;exports._gslCalendarByUid=t._gslCalendarByUid;exports._gslCalendars=t._gslCalendars;exports._gslCheckboxByUid=t._gslCheckboxByUid;exports._gslCheckboxes=t._gslCheckboxes;exports._gslCurrencies=t._gslCurrencies;exports._gslCurrencyByUid=t._gslCurrencyByUid;exports._gslCustomActionByUid=t._gslCustomActionByUid;exports._gslCustomActions=t._gslCustomActions;exports._gslCustomDisplayByUid=t._gslCustomDisplayByUid;exports._gslCustomDisplays=t._gslCustomDisplays;exports._gslCustomInputByUid=t._gslCustomInputByUid;exports._gslCustomInputs=t._gslCustomInputs;exports._gslCustomLayoutByUid=t._gslCustomLayoutByUid;exports._gslCustomLayouts=t._gslCustomLayouts;exports._gslDateInputByUid=t._gslDateInputByUid;exports._gslDateInputs=t._gslDateInputs;exports._gslDatePickerByUid=t._gslDatePickerByUid;exports._gslDatePickers=t._gslDatePickers;exports._gslDateTimeCalendarByUid=t._gslDateTimeCalendarByUid;exports._gslDateTimeCalendars=t._gslDateTimeCalendars;exports._gslDateTimeInputByUid=t._gslDateTimeInputByUid;exports._gslDateTimeInputs=t._gslDateTimeInputs;exports._gslDateTimePickerByUid=t._gslDateTimePickerByUid;exports._gslDateTimePickers=t._gslDateTimePickers;exports._gslDisplayByUid=t._gslDisplayByUid;exports._gslDisplays=t._gslDisplays;exports._gslDropdownByUid=t._gslDropdownByUid;exports._gslDropdowns=t._gslDropdowns;exports._gslInputByUid=t._gslInputByUid;exports._gslInputs=t._gslInputs;exports._gslLayoutByUid=t._gslLayoutByUid;exports._gslLayouts=t._gslLayouts;exports._gslListByUid=t._gslListByUid;exports._gslLists=t._gslLists;exports._gslMarkdownByUid=t._gslMarkdownByUid;exports._gslMarkdownTextByUid=t._gslMarkdownTextByUid;exports._gslMarkdownTexts=t._gslMarkdownTexts;exports._gslMarkdowns=t._gslMarkdowns;exports._gslNumberInputs=t._gslNumberInputs;exports._gslPasswordByUid=t._gslPasswordByUid;exports._gslPasswords=t._gslPasswords;exports._gslRadiogroupByUid=t._gslRadiogroupByUid;exports._gslRadiogroups=t._gslRadiogroups;exports._gslRangeCalendarByUid=t._gslRangeCalendarByUid;exports._gslRangeCalendars=t._gslRangeCalendars;exports._gslRangeDateInputByUid=t._gslRangeDateInputByUid;exports._gslRangeDateInputs=t._gslRangeDateInputs;exports._gslRangeDatePickerByUid=t._gslRangeDatePickerByUid;exports._gslRangeDatePickers=t._gslRangeDatePickers;exports._gslRangeDateTimeCalendarByUid=t._gslRangeDateTimeCalendarByUid;exports._gslRangeDateTimeCalendars=t._gslRangeDateTimeCalendars;exports._gslRangeDateTimeInputByUid=t._gslRangeDateTimeInputByUid;exports._gslRangeDateTimeInputs=t._gslRangeDateTimeInputs;exports._gslRangeDateTimePickerByUid=t._gslRangeDateTimePickerByUid;exports._gslRangeDateTimePickers=t._gslRangeDateTimePickers;exports._gslRangeTimeInputByUid=t._gslRangeTimeInputByUid;exports._gslRangeTimeInputs=t._gslRangeTimeInputs;exports._gslRangeTimePickerByUid=t._gslRangeTimePickerByUid;exports._gslRangeTimePickers=t._gslRangeTimePickers;exports._gslRepeaterByUid=t._gslRepeaterByUid;exports._gslRepeaters=t._gslRepeaters;exports._gslSelectByUid=t._gslSelectByUid;exports._gslSelects=t._gslSelects;exports._gslTabs=t._gslTabs;exports._gslTabsByUid=t._gslTabsByUid;exports._gslTags=t._gslTags;exports._gslTagsByUid=t._gslTagsByUid;exports._gslTextInputs=t._gslTextInputs;exports._gslTextareaByUid=t._gslTextareaByUid;exports._gslTextareas=t._gslTextareas;exports._gslTimeInputByUid=t._gslTimeInputByUid;exports._gslTimeInputs=t._gslTimeInputs;exports._gslTimePickerByUid=t._gslTimePickerByUid;exports._gslTimePickers=t._gslTimePickers;exports._guiAccordion=t._guiAccordion;exports._guiAlert=t._guiAlert;exports._guiBooleanInput=t._guiBooleanInput;exports._guiButton=t._guiButton;exports._guiCalendar=t._guiCalendar;exports._guiCheckbox=t._guiCheckbox;exports._guiCurrency=t._guiCurrency;exports._guiCustomAction=t._guiCustomAction;exports._guiCustomDisplay=t._guiCustomDisplay;exports._guiCustomInput=t._guiCustomInput;exports._guiCustomLayout=t._guiCustomLayout;exports._guiDateInput=t._guiDateInput;exports._guiDatePicker=t._guiDatePicker;exports._guiDateTimeCalendar=t._guiDateTimeCalendar;exports._guiDateTimeInput=t._guiDateTimeInput;exports._guiDateTimePicker=t._guiDateTimePicker;exports._guiDisplay=t._guiDisplay;exports._guiDropdown=t._guiDropdown;exports._guiFlex=t._guiFlex;exports._guiGrid=t._guiGrid;exports._guiHorizontalFlex=t._guiHorizontalFlex;exports._guiHorizontalGrid=t._guiHorizontalGrid;exports._guiList=t._guiList;exports._guiMarkdown=t._guiMarkdown;exports._guiMarkdownText=t._guiMarkdownText;exports._guiNumberInput=t._guiNumberInput;exports._guiPassword=t._guiPassword;exports._guiRadiogroup=t._guiRadiogroup;exports._guiRangeCalendar=t._guiRangeCalendar;exports._guiRangeDateInput=t._guiRangeDateInput;exports._guiRangeDatePicker=t._guiRangeDatePicker;exports._guiRangeDateTimeCalendar=t._guiRangeDateTimeCalendar;exports._guiRangeDateTimeInput=t._guiRangeDateTimeInput;exports._guiRangeDateTimePicker=t._guiRangeDateTimePicker;exports._guiRangeTimeInput=t._guiRangeTimeInput;exports._guiRangeTimePicker=t._guiRangeTimePicker;exports._guiRepeater=t._guiRepeater;exports._guiSelect=t._guiSelect;exports._guiTabs=t._guiTabs;exports._guiTags=t._guiTags;exports._guiTextInput=t._guiTextInput;exports._guiTextarea=t._guiTextarea;exports._guiTimeInput=t._guiTimeInput;exports._guiTimePicker=t._guiTimePicker;exports._guiVerticalFlex=t._guiVerticalFlex;exports._guiVerticalGrid=t._guiVerticalGrid;exports.createGslSelector=t.createGslSelector;exports.defineShortcutType=t.defineShortcutType;exports.extractWidgetProps=t.extractWidgetProps;exports.processAutoLabel=t.processAutoLabel;exports.processAutoPlaceholder=t.processAutoPlaceholder;exports._gslStates=M;exports._gslTag=O;exports.formDefs=C;exports.getItemKey=ae;exports.golemForm=ne;exports.isDxDefinitions=h;exports.isOption=re;exports.resolveFormInput=se;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionWidgetParams, ValidateOn } from '@golemui/core';
|
|
1
|
+
import { ExpressionFunctions, FunctionWidgetParams, ValidateOn } from '@golemui/core';
|
|
2
2
|
import { WidgetItemDecorator, GslItemType } from '../formDef.domain';
|
|
3
3
|
import { Dependencies } from '../../shared';
|
|
4
4
|
export type { GslItemType } from '../formDef.domain';
|
|
@@ -34,6 +34,11 @@ export interface GslLeafSelector {
|
|
|
34
34
|
export interface FormConfig {
|
|
35
35
|
suppressAutomaticStack?: boolean;
|
|
36
36
|
dependencies?: Dependencies;
|
|
37
|
+
/**
|
|
38
|
+
* Pure functions callable from reactive expressions under the `$fn` namespace.
|
|
39
|
+
* Functions passed in the wrapper's `config.functions` win on name collisions.
|
|
40
|
+
*/
|
|
41
|
+
functions?: ExpressionFunctions;
|
|
37
42
|
widgetLoaders?: Record<string, () => Promise<unknown>>;
|
|
38
43
|
validateOn?: ValidateOn;
|
|
39
44
|
states?: Record<string, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Form, FormEvent, UiState, ValidateOn } from '@golemui/core';
|
|
1
|
+
import { ExpressionFunctions, Form, FormEvent, UiState, ValidateOn } from '@golemui/core';
|
|
2
2
|
import { ValidGuiShortcut } from './core/dx.domain';
|
|
3
3
|
import { DxCommonFields, DxInternalFields } from './core/dxBase.types';
|
|
4
4
|
import { DxRuntimeParams } from './core/dxUtilityTypes';
|
|
@@ -20,6 +20,7 @@ export interface DxResult<S extends UiState = never, F extends Record<string, an
|
|
|
20
20
|
form: Form<S, F>;
|
|
21
21
|
events?: FormEvents;
|
|
22
22
|
dependencies?: Dependencies;
|
|
23
|
+
functions?: ExpressionFunctions;
|
|
23
24
|
widgetLoaders?: Record<string, () => Promise<unknown>>;
|
|
24
25
|
validateOn?: ValidateOn;
|
|
25
26
|
itemRenderers?: Record<string, unknown>;
|
package/lib/dx/gui.d.ts
CHANGED
|
@@ -11,11 +11,21 @@ import { _guiCurrency } from './shortcuts/currency/guiCurrency.impl';
|
|
|
11
11
|
import { _guiMarkdown } from './shortcuts/markdown/guiMarkdown.impl';
|
|
12
12
|
import { _guiList } from './shortcuts/list/guiList.impl';
|
|
13
13
|
import { _guiCalendar } from './shortcuts/calendar/guiCalendar.impl';
|
|
14
|
+
import { _guiDateTimeCalendar } from './shortcuts/date-time-calendar/guiDateTimeCalendar.impl';
|
|
14
15
|
import { _guiDateInput } from './shortcuts/date-input/guiDateInput.impl';
|
|
15
16
|
import { _guiDatePicker } from './shortcuts/date-picker/guiDatePicker.impl';
|
|
17
|
+
import { _guiDateTimePicker } from './shortcuts/date-time-picker/guiDateTimePicker.impl';
|
|
16
18
|
import { _guiRangeCalendar } from './shortcuts/range-calendar/guiRangeCalendar.impl';
|
|
17
19
|
import { _guiRangeDateInput } from './shortcuts/range-date-input/guiRangeDateInput.impl';
|
|
20
|
+
import { _guiRangeDateTimeInput } from './shortcuts/range-date-time-input/guiRangeDateTimeInput.impl';
|
|
21
|
+
import { _guiRangeDateTimeCalendar } from './shortcuts/range-date-time-calendar/guiRangeDateTimeCalendar.impl';
|
|
22
|
+
import { _guiRangeDateTimePicker } from './shortcuts/range-date-time-picker/guiRangeDateTimePicker.impl';
|
|
23
|
+
import { _guiRangeTimeInput } from './shortcuts/range-time-input/guiRangeTimeInput.impl';
|
|
18
24
|
import { _guiRangeDatePicker } from './shortcuts/range-date-picker/guiRangeDatePicker.impl';
|
|
25
|
+
import { _guiRangeTimePicker } from './shortcuts/range-time-picker/guiRangeTimePicker.impl';
|
|
26
|
+
import { _guiTimeInput } from './shortcuts/time-input/guiTimeInput.impl';
|
|
27
|
+
import { _guiTimePicker } from './shortcuts/time-picker/guiTimePicker.impl';
|
|
28
|
+
import { _guiDateTimeInput } from './shortcuts/date-time-input/guiDateTimeInput.impl';
|
|
19
29
|
import { _guiCustomInput } from './shortcuts/custom-input/guiCustomInput.impl';
|
|
20
30
|
import { _guiButton } from './shortcuts/actions/guiActions.impl';
|
|
21
31
|
import { _guiCustomAction } from './shortcuts/custom-action/guiCustomAction.impl';
|
|
@@ -43,11 +53,21 @@ export declare const gui: {
|
|
|
43
53
|
readonly markdown: typeof _guiMarkdown;
|
|
44
54
|
readonly list: typeof _guiList;
|
|
45
55
|
readonly calendar: typeof _guiCalendar;
|
|
56
|
+
readonly dateTimeCalendar: typeof _guiDateTimeCalendar;
|
|
46
57
|
readonly dateInput: typeof _guiDateInput;
|
|
47
58
|
readonly datePicker: typeof _guiDatePicker;
|
|
59
|
+
readonly dateTimePicker: typeof _guiDateTimePicker;
|
|
60
|
+
readonly timeInput: typeof _guiTimeInput;
|
|
61
|
+
readonly timePicker: typeof _guiTimePicker;
|
|
62
|
+
readonly dateTimeInput: typeof _guiDateTimeInput;
|
|
48
63
|
readonly rangeCalendar: typeof _guiRangeCalendar;
|
|
49
64
|
readonly rangeDateInput: typeof _guiRangeDateInput;
|
|
65
|
+
readonly rangeDateTimeInput: typeof _guiRangeDateTimeInput;
|
|
66
|
+
readonly rangeDateTimeCalendar: typeof _guiRangeDateTimeCalendar;
|
|
67
|
+
readonly rangeDateTimePicker: typeof _guiRangeDateTimePicker;
|
|
68
|
+
readonly rangeTimeInput: typeof _guiRangeTimeInput;
|
|
50
69
|
readonly rangeDatePicker: typeof _guiRangeDatePicker;
|
|
70
|
+
readonly rangeTimePicker: typeof _guiRangeTimePicker;
|
|
51
71
|
readonly repeater: typeof _guiRepeater;
|
|
52
72
|
readonly tags: typeof _guiTags;
|
|
53
73
|
readonly custom: typeof _guiCustomInput;
|
package/lib/dx/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export { _guiAccordion } from './shortcuts/accordion/guiAccordion.impl';
|
|
|
3
3
|
export { _guiButton } from './shortcuts/actions/guiActions.impl';
|
|
4
4
|
export { _guiAlert } from './shortcuts/alert/guiAlert.impl';
|
|
5
5
|
export { _guiCalendar } from './shortcuts/calendar/guiCalendar.impl';
|
|
6
|
+
export { _guiDateTimeCalendar } from './shortcuts/date-time-calendar/guiDateTimeCalendar.impl';
|
|
7
|
+
export { _guiDateTimePicker } from './shortcuts/date-time-picker/guiDateTimePicker.impl';
|
|
6
8
|
export { _guiCheckbox } from './shortcuts/checkbox/guiCheckbox.impl';
|
|
7
9
|
export { _guiCurrency } from './shortcuts/currency/guiCurrency.impl';
|
|
8
10
|
export { _guiCustomAction } from './shortcuts/custom-action/guiCustomAction.impl';
|
|
@@ -11,6 +13,7 @@ export { _guiCustomInput } from './shortcuts/custom-input/guiCustomInput.impl';
|
|
|
11
13
|
export { _guiCustomLayout } from './shortcuts/custom-layout/guiCustomLayout.impl';
|
|
12
14
|
export { _guiDateInput } from './shortcuts/date-input/guiDateInput.impl';
|
|
13
15
|
export { _guiDatePicker } from './shortcuts/date-picker/guiDatePicker.impl';
|
|
16
|
+
export { _guiDateTimeInput } from './shortcuts/date-time-input/guiDateTimeInput.impl';
|
|
14
17
|
export { _guiDisplay } from './shortcuts/display/guiDisplay.impl';
|
|
15
18
|
export { _guiDropdown } from './shortcuts/dropdown/guiDropdown.impl';
|
|
16
19
|
export { _guiBooleanInput } from './shortcuts/inputs/guiBooleanInput.impl';
|
|
@@ -24,16 +27,24 @@ export { _guiPassword } from './shortcuts/password/guiPassword.impl';
|
|
|
24
27
|
export { _guiRadiogroup } from './shortcuts/radiogroup/guiRadiogroup.impl';
|
|
25
28
|
export { _guiRangeCalendar } from './shortcuts/range-calendar/guiRangeCalendar.impl';
|
|
26
29
|
export { _guiRangeDateInput } from './shortcuts/range-date-input/guiRangeDateInput.impl';
|
|
30
|
+
export { _guiRangeDateTimeInput } from './shortcuts/range-date-time-input/guiRangeDateTimeInput.impl';
|
|
31
|
+
export { _guiRangeDateTimeCalendar } from './shortcuts/range-date-time-calendar/guiRangeDateTimeCalendar.impl';
|
|
32
|
+
export { _guiRangeDateTimePicker } from './shortcuts/range-date-time-picker/guiRangeDateTimePicker.impl';
|
|
33
|
+
export { _guiRangeTimeInput } from './shortcuts/range-time-input/guiRangeTimeInput.impl';
|
|
27
34
|
export { _guiRangeDatePicker } from './shortcuts/range-date-picker/guiRangeDatePicker.impl';
|
|
35
|
+
export { _guiRangeTimePicker } from './shortcuts/range-time-picker/guiRangeTimePicker.impl';
|
|
28
36
|
export { _guiRepeater } from './shortcuts/repeater/guiRepeater.impl';
|
|
29
37
|
export { _guiSelect } from './shortcuts/select/guiSelect.impl';
|
|
30
38
|
export { _guiTabs } from './shortcuts/tabs/guiTabs.impl';
|
|
31
39
|
export { _guiTags } from './shortcuts/tags/guiTags.impl';
|
|
32
40
|
export { _guiTextarea } from './shortcuts/textarea/guiTextarea.impl';
|
|
41
|
+
export { _guiTimeInput } from './shortcuts/time-input/guiTimeInput.impl';
|
|
42
|
+
export { _guiTimePicker } from './shortcuts/time-picker/guiTimePicker.impl';
|
|
33
43
|
export { _gslAccordionByUid, _gslAccordions } from './shortcuts/accordion/register';
|
|
34
44
|
export { _gslActionByUid, _gslActions } from './shortcuts/actions/register';
|
|
35
45
|
export { _gslAlertByUid, _gslAlerts } from './shortcuts/alert/register';
|
|
36
46
|
export { _gslCalendarByUid, _gslCalendars } from './shortcuts/calendar/register';
|
|
47
|
+
export { _gslDateTimeCalendarByUid, _gslDateTimeCalendars, } from './shortcuts/date-time-calendar/register';
|
|
37
48
|
export { _gslCheckboxByUid, _gslCheckboxes } from './shortcuts/checkbox/register';
|
|
38
49
|
export { _gslCurrencies, _gslCurrencyByUid } from './shortcuts/currency/register';
|
|
39
50
|
export { _gslCustomActionByUid, _gslCustomActions } from './shortcuts/custom-action/register';
|
|
@@ -42,6 +53,8 @@ export { _gslCustomInputByUid, _gslCustomInputs } from './shortcuts/custom-input
|
|
|
42
53
|
export { _gslCustomLayoutByUid, _gslCustomLayouts } from './shortcuts/custom-layout/register';
|
|
43
54
|
export { _gslDateInputByUid, _gslDateInputs } from './shortcuts/date-input/register';
|
|
44
55
|
export { _gslDatePickerByUid, _gslDatePickers } from './shortcuts/date-picker/register';
|
|
56
|
+
export { _gslDateTimePickerByUid, _gslDateTimePickers, } from './shortcuts/date-time-picker/register';
|
|
57
|
+
export { _gslDateTimeInputByUid, _gslDateTimeInputs } from './shortcuts/date-time-input/register';
|
|
45
58
|
export { _gslDisplayByUid, _gslDisplays } from './shortcuts/display/register';
|
|
46
59
|
export { _gslDropdownByUid, _gslDropdowns } from './shortcuts/dropdown/register';
|
|
47
60
|
export { _gslBooleanInputs, _gslNumberInputs, _gslTextInputs, } from './shortcuts/inputs/gslInputSubtypes';
|
|
@@ -54,12 +67,19 @@ export { _gslPasswordByUid, _gslPasswords } from './shortcuts/password/register'
|
|
|
54
67
|
export { _gslRadiogroupByUid, _gslRadiogroups } from './shortcuts/radiogroup/register';
|
|
55
68
|
export { _gslRangeCalendarByUid, _gslRangeCalendars } from './shortcuts/range-calendar/register';
|
|
56
69
|
export { _gslRangeDateInputByUid, _gslRangeDateInputs, } from './shortcuts/range-date-input/register';
|
|
70
|
+
export { _gslRangeDateTimeInputByUid, _gslRangeDateTimeInputs, } from './shortcuts/range-date-time-input/register';
|
|
71
|
+
export { _gslRangeDateTimeCalendarByUid, _gslRangeDateTimeCalendars, } from './shortcuts/range-date-time-calendar/register';
|
|
72
|
+
export { _gslRangeDateTimePickerByUid, _gslRangeDateTimePickers, } from './shortcuts/range-date-time-picker/register';
|
|
73
|
+
export { _gslRangeTimeInputByUid, _gslRangeTimeInputs, } from './shortcuts/range-time-input/register';
|
|
57
74
|
export { _gslRangeDatePickerByUid, _gslRangeDatePickers, } from './shortcuts/range-date-picker/register';
|
|
75
|
+
export { _gslRangeTimePickerByUid, _gslRangeTimePickers, } from './shortcuts/range-time-picker/register';
|
|
58
76
|
export { _gslRepeaterByUid, _gslRepeaters } from './shortcuts/repeater/register';
|
|
59
77
|
export { _gslSelectByUid, _gslSelects } from './shortcuts/select/register';
|
|
60
78
|
export { _gslTabs, _gslTabsByUid } from './shortcuts/tabs/register';
|
|
61
79
|
export { _gslTags, _gslTagsByUid } from './shortcuts/tags/register';
|
|
62
80
|
export { _gslTextareaByUid, _gslTextareas } from './shortcuts/textarea/register';
|
|
81
|
+
export { _gslTimeInputByUid, _gslTimeInputs } from './shortcuts/time-input/register';
|
|
82
|
+
export { _gslTimePickerByUid, _gslTimePickers } from './shortcuts/time-picker/register';
|
|
63
83
|
export { _gslStates } from './shortcuts/scopes/gslStates.impl';
|
|
64
84
|
export { _gslTag } from './shortcuts/scopes/gslTag.impl';
|
|
65
85
|
export type { DxFormConfig, FormConfig, GslSelectorsInput } from './core/dx.domain';
|
|
@@ -73,6 +93,7 @@ export type { AccordionDecorator, GslAccordionConfig, } from './shortcuts/accord
|
|
|
73
93
|
export type { ActionDecorator, GslActionsConfig } from './shortcuts/actions/actions.domain';
|
|
74
94
|
export type { AlertDecorator, GslAlertsConfig } from './shortcuts/alert/alert.domain';
|
|
75
95
|
export type { CalendarDecorator, GslCalendarConfig } from './shortcuts/calendar/calendar.domain';
|
|
96
|
+
export type { DateTimeCalendarDecorator, GslDateTimeCalendarConfig, } from './shortcuts/date-time-calendar/dateTimeCalendar.domain';
|
|
76
97
|
export type { CheckboxDecorator, GslCheckboxConfig } from './shortcuts/checkbox/checkbox.domain';
|
|
77
98
|
export type { CurrencyDecorator, GslCurrencyConfig } from './shortcuts/currency/currency.domain';
|
|
78
99
|
export type { CustomActionDecorator, GslCustomActionConfig, } from './shortcuts/custom-action/customAction.domain';
|
|
@@ -81,6 +102,8 @@ export type { CustomInputDecorator, GslCustomInputConfig, } from './shortcuts/cu
|
|
|
81
102
|
export type { CustomLayoutDecorator, GslCustomLayoutConfig, } from './shortcuts/custom-layout/customLayout.domain';
|
|
82
103
|
export type { DateInputDecorator, GslDateInputConfig, } from './shortcuts/date-input/dateInput.domain';
|
|
83
104
|
export type { DatePickerDecorator, GslDatePickerConfig, } from './shortcuts/date-picker/datePicker.domain';
|
|
105
|
+
export type { DateTimePickerDecorator, GslDateTimePickerConfig, } from './shortcuts/date-time-picker/dateTimePicker.domain';
|
|
106
|
+
export type { DateTimeInputDecorator, GslDateTimeInputConfig, } from './shortcuts/date-time-input/dateTimeInput.domain';
|
|
84
107
|
export type { DisplayDecorator, GslDisplaysConfig } from './shortcuts/display/display.domain';
|
|
85
108
|
export type { DropdownDecorator, GslDropdownConfig } from './shortcuts/dropdown/dropdown.domain';
|
|
86
109
|
export type { BooleanDataInputDecorator, GslInputsConfig, InputDecorator, InputTags, NumberDataInputDecorator, SimpleFieldDef, TextDataInputDecorator, ValidShortcutType, } from './shortcuts/inputs/inputs.domain';
|
|
@@ -91,12 +114,19 @@ export type { GslPasswordConfig, PasswordDecorator } from './shortcuts/password/
|
|
|
91
114
|
export type { GslRadiogroupConfig, RadiogroupDecorator, } from './shortcuts/radiogroup/radiogroup.domain';
|
|
92
115
|
export type { GslRangeCalendarConfig, RangeCalendarDecorator, } from './shortcuts/range-calendar/rangeCalendar.domain';
|
|
93
116
|
export type { GslRangeDateInputConfig, RangeDateInputDecorator, } from './shortcuts/range-date-input/rangeDateInput.domain';
|
|
117
|
+
export type { GslRangeDateTimeInputConfig, RangeDateTimeInputDecorator, } from './shortcuts/range-date-time-input/rangeDateTimeInput.domain';
|
|
118
|
+
export type { GslRangeDateTimeCalendarConfig, RangeDateTimeCalendarDecorator, } from './shortcuts/range-date-time-calendar/rangeDateTimeCalendar.domain';
|
|
119
|
+
export type { GslRangeDateTimePickerConfig, RangeDateTimePickerDecorator, } from './shortcuts/range-date-time-picker/rangeDateTimePicker.domain';
|
|
120
|
+
export type { GslRangeTimeInputConfig, RangeTimeInputDecorator, } from './shortcuts/range-time-input/rangeTimeInput.domain';
|
|
94
121
|
export type { GslRangeDatePickerConfig, RangeDatePickerDecorator, } from './shortcuts/range-date-picker/rangeDatePicker.domain';
|
|
122
|
+
export type { GslRangeTimePickerConfig, RangeTimePickerDecorator, } from './shortcuts/range-time-picker/rangeTimePicker.domain';
|
|
95
123
|
export type { GslRepeaterConfig, RepeaterDecorator } from './shortcuts/repeater/repeater.domain';
|
|
96
124
|
export type { GslSelectConfig, SelectDecorator } from './shortcuts/select/select.domain';
|
|
97
125
|
export type { GslTabsConfig, TabsDecorator } from './shortcuts/tabs/tabs.domain';
|
|
98
126
|
export type { GslTagsConfig, TagsDecorator } from './shortcuts/tags/tags.domain';
|
|
99
127
|
export type { GslTextareaConfig, TextareaDecorator } from './shortcuts/textarea/textarea.domain';
|
|
128
|
+
export type { GslTimeInputConfig, TimeInputDecorator, } from './shortcuts/time-input/timeInput.domain';
|
|
129
|
+
export type { GslTimePickerConfig, TimePickerDecorator, } from './shortcuts/time-picker/timePicker.domain';
|
|
100
130
|
export { defineShortcutType } from './core/defineShortcutType';
|
|
101
131
|
export type { ShortcutTypeSelectors } from './core/defineShortcutType';
|
|
102
132
|
export type { DxActionBase, DxCommonFields, DxDisplayBase, DxFormEvent, DxInputBase, DxInternalFields, DxLayoutBase, } from './core/dxBase.types';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidateOn, Action, Form, I18nTranslator, Middleware, State } from '@golemui/core';
|
|
1
|
+
import { ExpressionFunctions, ValidateOn, Action, Form, I18nTranslator, Middleware, State } from '@golemui/core';
|
|
2
2
|
import { CustomValidatorSchemas } from '@golemui/gui-validators';
|
|
3
3
|
import { Dependencies } from '../shared';
|
|
4
4
|
import { DxFormConfig, GslSelectorsInput } from './core/dx.domain';
|
|
@@ -17,12 +17,20 @@ export interface GuiFormInitConfig {
|
|
|
17
17
|
itemRenderers?: Record<string, unknown>;
|
|
18
18
|
localization?: I18nTranslator;
|
|
19
19
|
dependencies?: Dependencies;
|
|
20
|
+
/**
|
|
21
|
+
* Pure functions callable from reactive expressions under the `$fn` namespace,
|
|
22
|
+
* e.g. `"text": "Total: {{ $fn.grandTotal($form.lineItems) }}"`.
|
|
23
|
+
* Merged over any functions declared by the DX bundle's `formConfig`;
|
|
24
|
+
* this config wins on name collisions.
|
|
25
|
+
*/
|
|
26
|
+
functions?: ExpressionFunctions;
|
|
20
27
|
formName?: string;
|
|
21
28
|
}
|
|
22
29
|
export interface ResolvedFormInput<FormData extends Record<string, any> = any> {
|
|
23
30
|
formDef: string | Record<string, any> | Form<any, FormData>;
|
|
24
31
|
formEvent?: FormEvents;
|
|
25
32
|
dependencies?: Dependencies;
|
|
33
|
+
functions?: ExpressionFunctions;
|
|
26
34
|
widgetLoaders?: Record<string, () => Promise<unknown>>;
|
|
27
35
|
validateOn?: ValidateOn;
|
|
28
36
|
itemRenderers?: Record<string, unknown>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { StringValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { DateTimeCalendarProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase, DxInternalFields } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface DateTimeCalendarDecorator extends DxInputBase, DxCommonFields, Partial<DateTimeCalendarProps> {
|
|
7
|
+
type: 'dateTimeCalendar';
|
|
8
|
+
validator?: DxValidator<StringValidator>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Full decorator type including pipeline-internal fields.
|
|
12
|
+
* Used by the pipeline only — form authors use DateTimeCalendarDecorator.
|
|
13
|
+
*/
|
|
14
|
+
export type DateTimeCalendarDecoratorFull = DateTimeCalendarDecorator & DxInternalFields;
|
|
15
|
+
export interface DateTimeCalendarSensibleDefaultsConfig {
|
|
16
|
+
suppressAutomaticLabels?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface GslDateTimeCalendarConfig extends GslConfigBase<DateTimeCalendarDecorator> {
|
|
19
|
+
suppressAutomaticLabels?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type DateTimeCalendarEntry = DefOrCallback<DateTimeCalendarDecorator>;
|
|
22
|
+
export type GuiDateTimeCalendarShortcut = GuiShortcutOf<'DATE_TIME_CALENDAR', DateTimeCalendarEntry>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DateTimeCalendarDecorator, DateTimeCalendarSensibleDefaultsConfig } from './dateTimeCalendar.domain';
|
|
2
|
+
export declare class DateTimeCalendarSensibleDefaultsService {
|
|
3
|
+
processAutomaticLabels(item: DateTimeCalendarDecorator, currentConfig: DateTimeCalendarSensibleDefaultsConfig): DateTimeCalendarDecorator;
|
|
4
|
+
}
|
|
5
|
+
declare const dateTimeCalendarSensibleDefaultsService: DateTimeCalendarSensibleDefaultsService;
|
|
6
|
+
export default dateTimeCalendarSensibleDefaultsService;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiDateTimeCalendarShortcut, DateTimeCalendarDecorator } from './dateTimeCalendar.domain';
|
|
3
|
+
export declare function _guiDateTimeCalendar(path: string): GuiDateTimeCalendarShortcut;
|
|
4
|
+
export declare function _guiDateTimeCalendar(path: string, props: Partial<Omit<DateTimeCalendarDecorator, 'type'>>): GuiDateTimeCalendarShortcut;
|
|
5
|
+
export declare function _guiDateTimeCalendar(path: string, props: Partial<Omit<DateTimeCalendarDecorator, 'type'>>, tags: string[]): GuiDateTimeCalendarShortcut;
|
|
6
|
+
export declare function _guiDateTimeCalendar(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<DateTimeCalendarDecorator, 'type'>>, tags?: string[]): GuiDateTimeCalendarShortcut;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DateTimeCalendarDecorator, GslDateTimeCalendarConfig } from './dateTimeCalendar.domain';
|
|
2
|
+
export declare const _gslDateTimeCalendars: (config: GslDateTimeCalendarConfig, matcher?: ((decorator: DateTimeCalendarDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslDateTimeCalendarByUid: (uid: string, config: GslDateTimeCalendarConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StringValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { DateTimeInputProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface DateTimeInputDecorator extends DxInputBase, DxCommonFields, Partial<DateTimeInputProps> {
|
|
7
|
+
type: 'dateTimeInput';
|
|
8
|
+
validator?: DxValidator<StringValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslDateTimeInputConfig extends GslConfigBase<DateTimeInputDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type DateTimeInputEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<DateTimeInputDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiDateTimeInputShortcut = GuiShortcutOf<'DATE_TIME_INPUT', DateTimeInputEntry>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { DateTimeInputDecorator, GuiDateTimeInputShortcut } from './dateTimeInput.domain';
|
|
3
|
+
export declare function _guiDateTimeInput(path: string): GuiDateTimeInputShortcut;
|
|
4
|
+
export declare function _guiDateTimeInput(path: string, props: Partial<Omit<DateTimeInputDecorator, 'type'>>): GuiDateTimeInputShortcut;
|
|
5
|
+
export declare function _guiDateTimeInput(path: string, props: Partial<Omit<DateTimeInputDecorator, 'type'>>, tags: string[]): GuiDateTimeInputShortcut;
|
|
6
|
+
export declare function _guiDateTimeInput(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<DateTimeInputDecorator, 'type'>>, tags?: string[]): GuiDateTimeInputShortcut;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DateTimeInputDecorator, GslDateTimeInputConfig } from './dateTimeInput.domain';
|
|
2
|
+
export declare const _gslDateTimeInputs: (config: GslDateTimeInputConfig, matcher?: ((decorator: DateTimeInputDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslDateTimeInputByUid: (uid: string, config: GslDateTimeInputConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StringValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { DateTimePickerProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface DateTimePickerDecorator extends DxInputBase, DxCommonFields, Partial<DateTimePickerProps> {
|
|
7
|
+
type: 'dateTimePicker';
|
|
8
|
+
validator?: DxValidator<StringValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslDateTimePickerConfig extends GslConfigBase<DateTimePickerDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
suppressAutomaticPlaceholders?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type DateTimePickerEntry = {
|
|
15
|
+
key: string;
|
|
16
|
+
def: DefOrCallback<DateTimePickerDecorator>;
|
|
17
|
+
};
|
|
18
|
+
export type GuiDateTimePickerShortcut = GuiShortcutOf<'DATE_TIME_PICKER', DateTimePickerEntry>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { DateTimePickerDecorator, GuiDateTimePickerShortcut } from './dateTimePicker.domain';
|
|
3
|
+
type DateTimePickerFactoryProps = Omit<DateTimePickerDecorator, 'type'>;
|
|
4
|
+
export declare function _guiDateTimePicker(path: string, props: DateTimePickerFactoryProps): GuiDateTimePickerShortcut;
|
|
5
|
+
export declare function _guiDateTimePicker(path: string, props: DateTimePickerFactoryProps, tags: string[]): GuiDateTimePickerShortcut;
|
|
6
|
+
export declare function _guiDateTimePicker(path: string, callback: (params: DxRuntimeParams) => DateTimePickerFactoryProps, tags?: string[]): GuiDateTimePickerShortcut;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DateTimePickerDecorator, GslDateTimePickerConfig } from './dateTimePicker.domain';
|
|
2
|
+
export declare const _gslDateTimePickers: (config: GslDateTimePickerConfig, matcher?: ((decorator: DateTimePickerDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslDateTimePickerByUid: (uid: string, config: GslDateTimePickerConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiRangeDateTimeCalendarShortcut, RangeDateTimeCalendarDecorator } from './rangeDateTimeCalendar.domain';
|
|
3
|
+
export declare function _guiRangeDateTimeCalendar(path: string): GuiRangeDateTimeCalendarShortcut;
|
|
4
|
+
export declare function _guiRangeDateTimeCalendar(path: string, props: Partial<Omit<RangeDateTimeCalendarDecorator, 'type'>>): GuiRangeDateTimeCalendarShortcut;
|
|
5
|
+
export declare function _guiRangeDateTimeCalendar(path: string, props: Partial<Omit<RangeDateTimeCalendarDecorator, 'type'>>, tags: string[]): GuiRangeDateTimeCalendarShortcut;
|
|
6
|
+
export declare function _guiRangeDateTimeCalendar(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<RangeDateTimeCalendarDecorator, 'type'>>, tags?: string[]): GuiRangeDateTimeCalendarShortcut;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArrayValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { RangeDateTimeCalendarProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface RangeDateTimeCalendarDecorator extends DxInputBase, DxCommonFields, Partial<RangeDateTimeCalendarProps> {
|
|
7
|
+
type: 'rangeDateTimeCalendar';
|
|
8
|
+
validator?: DxValidator<ArrayValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslRangeDateTimeCalendarConfig extends GslConfigBase<RangeDateTimeCalendarDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type RangeDateTimeCalendarEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<RangeDateTimeCalendarDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiRangeDateTimeCalendarShortcut = GuiShortcutOf<'RANGE_DATE_TIME_CALENDAR', RangeDateTimeCalendarEntry>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GslRangeDateTimeCalendarConfig, RangeDateTimeCalendarDecorator } from './rangeDateTimeCalendar.domain';
|
|
2
|
+
export declare const _gslRangeDateTimeCalendars: (config: GslRangeDateTimeCalendarConfig, matcher?: ((decorator: RangeDateTimeCalendarDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslRangeDateTimeCalendarByUid: (uid: string, config: GslRangeDateTimeCalendarConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiRangeDateTimeInputShortcut, RangeDateTimeInputDecorator } from './rangeDateTimeInput.domain';
|
|
3
|
+
export declare function _guiRangeDateTimeInput(path: string): GuiRangeDateTimeInputShortcut;
|
|
4
|
+
export declare function _guiRangeDateTimeInput(path: string, props: Partial<Omit<RangeDateTimeInputDecorator, 'type'>>): GuiRangeDateTimeInputShortcut;
|
|
5
|
+
export declare function _guiRangeDateTimeInput(path: string, props: Partial<Omit<RangeDateTimeInputDecorator, 'type'>>, tags: string[]): GuiRangeDateTimeInputShortcut;
|
|
6
|
+
export declare function _guiRangeDateTimeInput(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<RangeDateTimeInputDecorator, 'type'>>, tags?: string[]): GuiRangeDateTimeInputShortcut;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArrayValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { RangeDateTimeInputProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface RangeDateTimeInputDecorator extends DxInputBase, DxCommonFields, Partial<RangeDateTimeInputProps> {
|
|
7
|
+
type: 'rangeDateTimeInput';
|
|
8
|
+
validator?: DxValidator<ArrayValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslRangeDateTimeInputConfig extends GslConfigBase<RangeDateTimeInputDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type RangeDateTimeInputEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<RangeDateTimeInputDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiRangeDateTimeInputShortcut = GuiShortcutOf<'RANGE_DATE_TIME_INPUT', RangeDateTimeInputEntry>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GslRangeDateTimeInputConfig, RangeDateTimeInputDecorator } from './rangeDateTimeInput.domain';
|
|
2
|
+
export declare const _gslRangeDateTimeInputs: (config: GslRangeDateTimeInputConfig, matcher?: ((decorator: RangeDateTimeInputDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslRangeDateTimeInputByUid: (uid: string, config: GslRangeDateTimeInputConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiRangeDateTimePickerShortcut, RangeDateTimePickerDecorator } from './rangeDateTimePicker.domain';
|
|
3
|
+
export declare function _guiRangeDateTimePicker(path: string): GuiRangeDateTimePickerShortcut;
|
|
4
|
+
export declare function _guiRangeDateTimePicker(path: string, props: Partial<Omit<RangeDateTimePickerDecorator, 'type'>>): GuiRangeDateTimePickerShortcut;
|
|
5
|
+
export declare function _guiRangeDateTimePicker(path: string, props: Partial<Omit<RangeDateTimePickerDecorator, 'type'>>, tags: string[]): GuiRangeDateTimePickerShortcut;
|
|
6
|
+
export declare function _guiRangeDateTimePicker(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<RangeDateTimePickerDecorator, 'type'>>, tags?: string[]): GuiRangeDateTimePickerShortcut;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArrayValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { RangeDateTimePickerProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface RangeDateTimePickerDecorator extends DxInputBase, DxCommonFields, Partial<RangeDateTimePickerProps> {
|
|
7
|
+
type: 'rangeDateTimePicker';
|
|
8
|
+
validator?: DxValidator<ArrayValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslRangeDateTimePickerConfig extends GslConfigBase<RangeDateTimePickerDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type RangeDateTimePickerEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<RangeDateTimePickerDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiRangeDateTimePickerShortcut = GuiShortcutOf<'RANGE_DATE_TIME_PICKER', RangeDateTimePickerEntry>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GslRangeDateTimePickerConfig, RangeDateTimePickerDecorator } from './rangeDateTimePicker.domain';
|
|
2
|
+
export declare const _gslRangeDateTimePickers: (config: GslRangeDateTimePickerConfig, matcher?: ((decorator: RangeDateTimePickerDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslRangeDateTimePickerByUid: (uid: string, config: GslRangeDateTimePickerConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiRangeTimeInputShortcut, RangeTimeInputDecorator } from './rangeTimeInput.domain';
|
|
3
|
+
export declare function _guiRangeTimeInput(path: string): GuiRangeTimeInputShortcut;
|
|
4
|
+
export declare function _guiRangeTimeInput(path: string, props: Partial<Omit<RangeTimeInputDecorator, 'type'>>): GuiRangeTimeInputShortcut;
|
|
5
|
+
export declare function _guiRangeTimeInput(path: string, props: Partial<Omit<RangeTimeInputDecorator, 'type'>>, tags: string[]): GuiRangeTimeInputShortcut;
|
|
6
|
+
export declare function _guiRangeTimeInput(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<RangeTimeInputDecorator, 'type'>>, tags?: string[]): GuiRangeTimeInputShortcut;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArrayValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { RangeTimeInputProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface RangeTimeInputDecorator extends DxInputBase, DxCommonFields, Partial<RangeTimeInputProps> {
|
|
7
|
+
type: 'rangeTimeInput';
|
|
8
|
+
validator?: DxValidator<ArrayValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslRangeTimeInputConfig extends GslConfigBase<RangeTimeInputDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type RangeTimeInputEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<RangeTimeInputDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiRangeTimeInputShortcut = GuiShortcutOf<'RANGE_TIME_INPUT', RangeTimeInputEntry>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GslRangeTimeInputConfig, RangeTimeInputDecorator } from './rangeTimeInput.domain';
|
|
2
|
+
export declare const _gslRangeTimeInputs: (config: GslRangeTimeInputConfig, matcher?: ((decorator: RangeTimeInputDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslRangeTimeInputByUid: (uid: string, config: GslRangeTimeInputConfig) => import('../../core/dx.domain').GslLeafSelector;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DxRuntimeParams } from '../../core/dxUtilityTypes';
|
|
2
|
+
import { GuiRangeTimePickerShortcut, RangeTimePickerDecorator } from './rangeTimePicker.domain';
|
|
3
|
+
export declare function _guiRangeTimePicker(path: string): GuiRangeTimePickerShortcut;
|
|
4
|
+
export declare function _guiRangeTimePicker(path: string, props: Partial<Omit<RangeTimePickerDecorator, 'type'>>): GuiRangeTimePickerShortcut;
|
|
5
|
+
export declare function _guiRangeTimePicker(path: string, props: Partial<Omit<RangeTimePickerDecorator, 'type'>>, tags: string[]): GuiRangeTimePickerShortcut;
|
|
6
|
+
export declare function _guiRangeTimePicker(path: string, callback: (params: DxRuntimeParams) => Partial<Omit<RangeTimePickerDecorator, 'type'>>, tags?: string[]): GuiRangeTimePickerShortcut;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ArrayValidator } from '@golemui/gui-validators';
|
|
2
|
+
import { RangeTimePickerProps } from '../../../widget.props';
|
|
3
|
+
import { DxCommonFields, DxInputBase } from '../../core/dxBase.types';
|
|
4
|
+
import { DefOrCallback, GslConfigBase, GuiShortcutOf } from '../../core/dxUtilityTypes';
|
|
5
|
+
import { DxValidator } from '../../core/dxValidatorHelper';
|
|
6
|
+
export interface RangeTimePickerDecorator extends DxInputBase, DxCommonFields, Partial<RangeTimePickerProps> {
|
|
7
|
+
type: 'rangeTimePicker';
|
|
8
|
+
validator?: DxValidator<ArrayValidator>;
|
|
9
|
+
}
|
|
10
|
+
export interface GslRangeTimePickerConfig extends GslConfigBase<RangeTimePickerDecorator> {
|
|
11
|
+
suppressAutomaticLabels?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export type RangeTimePickerEntry = {
|
|
14
|
+
key: string;
|
|
15
|
+
def: DefOrCallback<RangeTimePickerDecorator>;
|
|
16
|
+
};
|
|
17
|
+
export type GuiRangeTimePickerShortcut = GuiShortcutOf<'RANGE_TIME_PICKER', RangeTimePickerEntry>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { GslRangeTimePickerConfig, RangeTimePickerDecorator } from './rangeTimePicker.domain';
|
|
2
|
+
export declare const _gslRangeTimePickers: (config: GslRangeTimePickerConfig, matcher?: ((decorator: RangeTimePickerDecorator) => boolean) | undefined) => import('../../core/dx.domain').GslLeafSelector, _gslRangeTimePickerByUid: (uid: string, config: GslRangeTimePickerConfig) => import('../../core/dx.domain').GslLeafSelector;
|