@golemui/gui-shared 1.1.1-rc.0 → 1.1.1-rc.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.
Files changed (162) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/index.js +23 -366
  3. package/index.umd.cjs +1 -1
  4. package/internals.js +162 -757
  5. package/internals.umd.cjs +1 -1
  6. package/lib/dx/__tests__/helpers.d.ts +1 -1
  7. package/lib/dx/formDef.domain.d.ts +8 -33
  8. package/lib/dx/formDefs.d.ts +7 -0
  9. package/lib/dx/gui.d.ts +281 -52
  10. package/lib/dx/guiDependencyTypes.d.ts +14 -0
  11. package/lib/dx/index.d.ts +12 -11
  12. package/lib/dx/registry.d.ts +26 -0
  13. package/lib/dx/resolveFormInput.d.ts +7 -20
  14. package/lib/dx/shortcuts/accordion/accordion.domain.d.ts +1 -3
  15. package/lib/dx/shortcuts/accordion/guiAccordion.impl.d.ts +1 -1
  16. package/lib/dx/shortcuts/accordion/register.d.ts +4 -2
  17. package/lib/dx/shortcuts/actions/actions.domain.d.ts +1 -2
  18. package/lib/dx/shortcuts/actions/guiActions.impl.d.ts +1 -1
  19. package/lib/dx/shortcuts/actions/register.d.ts +3 -1
  20. package/lib/dx/shortcuts/alert/alert.domain.d.ts +1 -2
  21. package/lib/dx/shortcuts/alert/guiAlert.impl.d.ts +1 -1
  22. package/lib/dx/shortcuts/alert/register.d.ts +4 -2
  23. package/lib/dx/shortcuts/calendar/calendar.domain.d.ts +1 -3
  24. package/lib/dx/shortcuts/calendar/guiCalendar.impl.d.ts +1 -1
  25. package/lib/dx/shortcuts/calendar/register.d.ts +4 -2
  26. package/lib/dx/shortcuts/checkbox/checkbox.domain.d.ts +1 -3
  27. package/lib/dx/shortcuts/checkbox/guiCheckbox.impl.d.ts +1 -1
  28. package/lib/dx/shortcuts/checkbox/register.d.ts +4 -2
  29. package/lib/dx/shortcuts/currency/currency.domain.d.ts +1 -3
  30. package/lib/dx/shortcuts/currency/guiCurrency.impl.d.ts +1 -1
  31. package/lib/dx/shortcuts/currency/register.d.ts +4 -2
  32. package/lib/dx/shortcuts/custom-action/customAction.domain.d.ts +1 -2
  33. package/lib/dx/shortcuts/custom-action/guiCustomAction.impl.d.ts +1 -1
  34. package/lib/dx/shortcuts/custom-action/register.d.ts +4 -2
  35. package/lib/dx/shortcuts/custom-display/customDisplay.domain.d.ts +1 -2
  36. package/lib/dx/shortcuts/custom-display/guiCustomDisplay.impl.d.ts +1 -1
  37. package/lib/dx/shortcuts/custom-display/register.d.ts +4 -2
  38. package/lib/dx/shortcuts/custom-input/customInput.domain.d.ts +1 -2
  39. package/lib/dx/shortcuts/custom-input/guiCustomInput.impl.d.ts +1 -1
  40. package/lib/dx/shortcuts/custom-input/register.d.ts +4 -2
  41. package/lib/dx/shortcuts/custom-layout/customLayout.domain.d.ts +1 -3
  42. package/lib/dx/shortcuts/custom-layout/guiCustomLayout.impl.d.ts +1 -2
  43. package/lib/dx/shortcuts/custom-layout/register.d.ts +4 -2
  44. package/lib/dx/shortcuts/date-input/dateInput.domain.d.ts +1 -3
  45. package/lib/dx/shortcuts/date-input/guiDateInput.impl.d.ts +1 -1
  46. package/lib/dx/shortcuts/date-input/register.d.ts +4 -2
  47. package/lib/dx/shortcuts/date-picker/datePicker.domain.d.ts +1 -3
  48. package/lib/dx/shortcuts/date-picker/guiDatePicker.impl.d.ts +1 -1
  49. package/lib/dx/shortcuts/date-picker/register.d.ts +4 -2
  50. package/lib/dx/shortcuts/date-time-calendar/dateTimeCalendar.domain.d.ts +1 -3
  51. package/lib/dx/shortcuts/date-time-calendar/guiDateTimeCalendar.impl.d.ts +1 -1
  52. package/lib/dx/shortcuts/date-time-calendar/register.d.ts +4 -2
  53. package/lib/dx/shortcuts/date-time-input/dateTimeInput.domain.d.ts +1 -3
  54. package/lib/dx/shortcuts/date-time-input/guiDateTimeInput.impl.d.ts +1 -1
  55. package/lib/dx/shortcuts/date-time-input/register.d.ts +4 -2
  56. package/lib/dx/shortcuts/date-time-picker/dateTimePicker.domain.d.ts +1 -3
  57. package/lib/dx/shortcuts/date-time-picker/guiDateTimePicker.impl.d.ts +1 -1
  58. package/lib/dx/shortcuts/date-time-picker/register.d.ts +4 -2
  59. package/lib/dx/shortcuts/display/display.domain.d.ts +1 -2
  60. package/lib/dx/shortcuts/display/guiDisplay.impl.d.ts +1 -1
  61. package/lib/dx/shortcuts/display/register.d.ts +4 -2
  62. package/lib/dx/shortcuts/dropdown/dropdown.domain.d.ts +1 -2
  63. package/lib/dx/shortcuts/dropdown/guiDropdown.impl.d.ts +1 -1
  64. package/lib/dx/shortcuts/dropdown/register.d.ts +4 -2
  65. package/lib/dx/shortcuts/inputs/gslInputSubtypes.d.ts +3 -3
  66. package/lib/dx/shortcuts/inputs/guiBooleanInput.impl.d.ts +1 -1
  67. package/lib/dx/shortcuts/inputs/guiNumberInput.impl.d.ts +1 -1
  68. package/lib/dx/shortcuts/inputs/guiTextInput.impl.d.ts +1 -1
  69. package/lib/dx/shortcuts/inputs/inputSensibleDefaults.service.d.ts +1 -1
  70. package/lib/dx/shortcuts/inputs/inputs.domain.d.ts +1 -3
  71. package/lib/dx/shortcuts/inputs/register.d.ts +4 -2
  72. package/lib/dx/shortcuts/layouts/guiFlex.impl.d.ts +1 -1
  73. package/lib/dx/shortcuts/layouts/layouts.domain.d.ts +1 -3
  74. package/lib/dx/shortcuts/layouts/register.d.ts +4 -2
  75. package/lib/dx/shortcuts/list/guiList.impl.d.ts +1 -1
  76. package/lib/dx/shortcuts/list/list.domain.d.ts +1 -2
  77. package/lib/dx/shortcuts/list/register.d.ts +4 -2
  78. package/lib/dx/shortcuts/markdown/guiMarkdown.impl.d.ts +1 -1
  79. package/lib/dx/shortcuts/markdown/markdown.domain.d.ts +1 -3
  80. package/lib/dx/shortcuts/markdown/register.d.ts +4 -2
  81. package/lib/dx/shortcuts/markdown-text/guiMarkdownText.impl.d.ts +1 -1
  82. package/lib/dx/shortcuts/markdown-text/markdownText.domain.d.ts +1 -2
  83. package/lib/dx/shortcuts/markdown-text/register.d.ts +4 -2
  84. package/lib/dx/shortcuts/password/guiPassword.impl.d.ts +1 -1
  85. package/lib/dx/shortcuts/password/password.domain.d.ts +1 -3
  86. package/lib/dx/shortcuts/password/register.d.ts +4 -2
  87. package/lib/dx/shortcuts/radiogroup/guiRadiogroup.impl.d.ts +1 -1
  88. package/lib/dx/shortcuts/radiogroup/radiogroup.domain.d.ts +1 -2
  89. package/lib/dx/shortcuts/radiogroup/register.d.ts +4 -2
  90. package/lib/dx/shortcuts/range-calendar/guiRangeCalendar.impl.d.ts +1 -1
  91. package/lib/dx/shortcuts/range-calendar/rangeCalendar.domain.d.ts +1 -3
  92. package/lib/dx/shortcuts/range-calendar/register.d.ts +4 -2
  93. package/lib/dx/shortcuts/range-date-input/guiRangeDateInput.impl.d.ts +1 -1
  94. package/lib/dx/shortcuts/range-date-input/rangeDateInput.domain.d.ts +1 -3
  95. package/lib/dx/shortcuts/range-date-input/register.d.ts +4 -2
  96. package/lib/dx/shortcuts/range-date-picker/guiRangeDatePicker.impl.d.ts +1 -1
  97. package/lib/dx/shortcuts/range-date-picker/rangeDatePicker.domain.d.ts +1 -3
  98. package/lib/dx/shortcuts/range-date-picker/register.d.ts +4 -2
  99. package/lib/dx/shortcuts/range-date-time-calendar/guiRangeDateTimeCalendar.impl.d.ts +1 -1
  100. package/lib/dx/shortcuts/range-date-time-calendar/rangeDateTimeCalendar.domain.d.ts +1 -3
  101. package/lib/dx/shortcuts/range-date-time-calendar/register.d.ts +4 -2
  102. package/lib/dx/shortcuts/range-date-time-input/guiRangeDateTimeInput.impl.d.ts +1 -1
  103. package/lib/dx/shortcuts/range-date-time-input/rangeDateTimeInput.domain.d.ts +1 -3
  104. package/lib/dx/shortcuts/range-date-time-input/register.d.ts +4 -2
  105. package/lib/dx/shortcuts/range-date-time-picker/guiRangeDateTimePicker.impl.d.ts +1 -1
  106. package/lib/dx/shortcuts/range-date-time-picker/rangeDateTimePicker.domain.d.ts +1 -3
  107. package/lib/dx/shortcuts/range-date-time-picker/register.d.ts +4 -2
  108. package/lib/dx/shortcuts/range-time-input/guiRangeTimeInput.impl.d.ts +1 -1
  109. package/lib/dx/shortcuts/range-time-input/rangeTimeInput.domain.d.ts +1 -3
  110. package/lib/dx/shortcuts/range-time-input/register.d.ts +4 -2
  111. package/lib/dx/shortcuts/range-time-picker/guiRangeTimePicker.impl.d.ts +1 -1
  112. package/lib/dx/shortcuts/range-time-picker/rangeTimePicker.domain.d.ts +1 -3
  113. package/lib/dx/shortcuts/range-time-picker/register.d.ts +4 -2
  114. package/lib/dx/shortcuts/repeater/guiRepeater.impl.d.ts +1 -1
  115. package/lib/dx/shortcuts/repeater/register.d.ts +5 -3
  116. package/lib/dx/shortcuts/repeater/repeater.domain.d.ts +1 -4
  117. package/lib/dx/shortcuts/scopes/gslStates.impl.d.ts +1 -1
  118. package/lib/dx/shortcuts/scopes/gslTag.impl.d.ts +1 -1
  119. package/lib/dx/shortcuts/select/guiSelect.impl.d.ts +1 -1
  120. package/lib/dx/shortcuts/select/register.d.ts +4 -2
  121. package/lib/dx/shortcuts/select/select.domain.d.ts +1 -2
  122. package/lib/dx/shortcuts/tabs/guiTabs.impl.d.ts +1 -1
  123. package/lib/dx/shortcuts/tabs/register.d.ts +4 -2
  124. package/lib/dx/shortcuts/tabs/tabs.domain.d.ts +1 -3
  125. package/lib/dx/shortcuts/tags/guiTags.impl.d.ts +1 -1
  126. package/lib/dx/shortcuts/tags/register.d.ts +4 -2
  127. package/lib/dx/shortcuts/tags/tags.domain.d.ts +1 -3
  128. package/lib/dx/shortcuts/textarea/guiTextarea.impl.d.ts +1 -1
  129. package/lib/dx/shortcuts/textarea/register.d.ts +4 -2
  130. package/lib/dx/shortcuts/textarea/textarea.domain.d.ts +1 -3
  131. package/lib/dx/shortcuts/time-input/guiTimeInput.impl.d.ts +1 -1
  132. package/lib/dx/shortcuts/time-input/register.d.ts +4 -2
  133. package/lib/dx/shortcuts/time-input/timeInput.domain.d.ts +1 -3
  134. package/lib/dx/shortcuts/time-picker/guiTimePicker.impl.d.ts +1 -1
  135. package/lib/dx/shortcuts/time-picker/register.d.ts +4 -2
  136. package/lib/dx/shortcuts/time-picker/timePicker.domain.d.ts +1 -3
  137. package/lib/shared.d.ts +3 -0
  138. package/lib/widgets.d.ts +1 -1
  139. package/package.json +7 -3
  140. package/{register-De8Y1vW5.js → resolveFormInput-CsFeoGjz.js} +1402 -1387
  141. package/resolveFormInput-UcmQ-kme.cjs +1 -0
  142. package/lib/dx/core/defineShortcutType.d.ts +0 -39
  143. package/lib/dx/core/dx.domain.d.ts +0 -79
  144. package/lib/dx/core/dxBase.types.d.ts +0 -128
  145. package/lib/dx/core/dxPropsHelper.d.ts +0 -9
  146. package/lib/dx/core/dxUtilityTypes.d.ts +0 -40
  147. package/lib/dx/core/dxValidatorHelper.d.ts +0 -31
  148. package/lib/dx/core/eventWiring.service.d.ts +0 -34
  149. package/lib/dx/core/itemTypeRegistry.d.ts +0 -94
  150. package/lib/dx/core/itemWalker.service.d.ts +0 -31
  151. package/lib/dx/core/selectorNormalizer.service.d.ts +0 -15
  152. package/lib/dx/core/selectorResolver.service.d.ts +0 -11
  153. package/lib/dx/core/sharedSensibleDefaults.service.d.ts +0 -35
  154. package/lib/dx/core/stateExpansion.service.d.ts +0 -31
  155. package/lib/dx/core/widgetMapper.service.d.ts +0 -13
  156. package/lib/dx/core/widgetMerger.service.d.ts +0 -14
  157. package/lib/dx/core/withForm.d.ts +0 -8
  158. package/lib/dx/dx.service.d.ts +0 -36
  159. package/lib/dx/registerAll.d.ts +0 -0
  160. package/lib/dx/shortcuts/scopes/scopeChain.d.ts +0 -132
  161. package/lib/utils/objectUtils.service.d.ts +0 -11
  162. package/register-B3CJMfX9.cjs +0 -1
package/internals.umd.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./register-B3CJMfX9.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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resolveFormInput-UcmQ-kme.cjs"),t=require("@golemui/dx");require("@golemui/gui-validators");require("@golemui/core");function a(i,...s){return s.map(g=>({...g,targetState:i}))}function l(i,...s){return{kind:"aggregated",matcher:g=>g.tags?.includes(i)??!1,children:s}}class _{create(s){return{states:s.states,form:{uid:"gui-root-uid",type:"flex",kind:"layout",children:s.form}}}}function u(){return new _}const r=i=>i!==null&&typeof i=="object"&&Object.prototype.hasOwnProperty.call(i,"label")&&Object.prototype.hasOwnProperty.call(i,"value");function n(i,s){if(i!=null&&typeof i=="object"&&"__rid"in i)return i.__rid;const g=s();return Object.defineProperty(i,"__rid",{value:g,enumerable:!1,configurable:!1}),g}exports._gslAccordionByUid=e._gslAccordionByUid;exports._gslAccordions=e._gslAccordions;exports._gslActionByUid=e._gslActionByUid;exports._gslActions=e._gslActions;exports._gslAlertByUid=e._gslAlertByUid;exports._gslAlerts=e._gslAlerts;exports._gslBooleanInputs=e._gslBooleanInputs;exports._gslCalendarByUid=e._gslCalendarByUid;exports._gslCalendars=e._gslCalendars;exports._gslCheckboxByUid=e._gslCheckboxByUid;exports._gslCheckboxes=e._gslCheckboxes;exports._gslCurrencies=e._gslCurrencies;exports._gslCurrencyByUid=e._gslCurrencyByUid;exports._gslCustomActionByUid=e._gslCustomActionByUid;exports._gslCustomActions=e._gslCustomActions;exports._gslCustomDisplayByUid=e._gslCustomDisplayByUid;exports._gslCustomDisplays=e._gslCustomDisplays;exports._gslCustomInputByUid=e._gslCustomInputByUid;exports._gslCustomInputs=e._gslCustomInputs;exports._gslCustomLayoutByUid=e._gslCustomLayoutByUid;exports._gslCustomLayouts=e._gslCustomLayouts;exports._gslDateInputByUid=e._gslDateInputByUid;exports._gslDateInputs=e._gslDateInputs;exports._gslDatePickerByUid=e._gslDatePickerByUid;exports._gslDatePickers=e._gslDatePickers;exports._gslDateTimeCalendarByUid=e._gslDateTimeCalendarByUid;exports._gslDateTimeCalendars=e._gslDateTimeCalendars;exports._gslDateTimeInputByUid=e._gslDateTimeInputByUid;exports._gslDateTimeInputs=e._gslDateTimeInputs;exports._gslDateTimePickerByUid=e._gslDateTimePickerByUid;exports._gslDateTimePickers=e._gslDateTimePickers;exports._gslDisplayByUid=e._gslDisplayByUid;exports._gslDisplays=e._gslDisplays;exports._gslDropdownByUid=e._gslDropdownByUid;exports._gslDropdowns=e._gslDropdowns;exports._gslInputByUid=e._gslInputByUid;exports._gslInputs=e._gslInputs;exports._gslLayoutByUid=e._gslLayoutByUid;exports._gslLayouts=e._gslLayouts;exports._gslListByUid=e._gslListByUid;exports._gslLists=e._gslLists;exports._gslMarkdownByUid=e._gslMarkdownByUid;exports._gslMarkdownTextByUid=e._gslMarkdownTextByUid;exports._gslMarkdownTexts=e._gslMarkdownTexts;exports._gslMarkdowns=e._gslMarkdowns;exports._gslNumberInputs=e._gslNumberInputs;exports._gslPasswordByUid=e._gslPasswordByUid;exports._gslPasswords=e._gslPasswords;exports._gslRadiogroupByUid=e._gslRadiogroupByUid;exports._gslRadiogroups=e._gslRadiogroups;exports._gslRangeCalendarByUid=e._gslRangeCalendarByUid;exports._gslRangeCalendars=e._gslRangeCalendars;exports._gslRangeDateInputByUid=e._gslRangeDateInputByUid;exports._gslRangeDateInputs=e._gslRangeDateInputs;exports._gslRangeDatePickerByUid=e._gslRangeDatePickerByUid;exports._gslRangeDatePickers=e._gslRangeDatePickers;exports._gslRangeDateTimeCalendarByUid=e._gslRangeDateTimeCalendarByUid;exports._gslRangeDateTimeCalendars=e._gslRangeDateTimeCalendars;exports._gslRangeDateTimeInputByUid=e._gslRangeDateTimeInputByUid;exports._gslRangeDateTimeInputs=e._gslRangeDateTimeInputs;exports._gslRangeDateTimePickerByUid=e._gslRangeDateTimePickerByUid;exports._gslRangeDateTimePickers=e._gslRangeDateTimePickers;exports._gslRangeTimeInputByUid=e._gslRangeTimeInputByUid;exports._gslRangeTimeInputs=e._gslRangeTimeInputs;exports._gslRangeTimePickerByUid=e._gslRangeTimePickerByUid;exports._gslRangeTimePickers=e._gslRangeTimePickers;exports._gslRepeaterByUid=e._gslRepeaterByUid;exports._gslRepeaters=e._gslRepeaters;exports._gslSelectByUid=e._gslSelectByUid;exports._gslSelects=e._gslSelects;exports._gslTabs=e._gslTabs;exports._gslTabsByUid=e._gslTabsByUid;exports._gslTags=e._gslTags;exports._gslTagsByUid=e._gslTagsByUid;exports._gslTextInputs=e._gslTextInputs;exports._gslTextareaByUid=e._gslTextareaByUid;exports._gslTextareas=e._gslTextareas;exports._gslTimeInputByUid=e._gslTimeInputByUid;exports._gslTimeInputs=e._gslTimeInputs;exports._gslTimePickerByUid=e._gslTimePickerByUid;exports._gslTimePickers=e._gslTimePickers;exports._guiAccordion=e._guiAccordion;exports._guiAlert=e._guiAlert;exports._guiBooleanInput=e._guiBooleanInput;exports._guiButton=e._guiButton;exports._guiCalendar=e._guiCalendar;exports._guiCheckbox=e._guiCheckbox;exports._guiCurrency=e._guiCurrency;exports._guiCustomAction=e._guiCustomAction;exports._guiCustomDisplay=e._guiCustomDisplay;exports._guiCustomInput=e._guiCustomInput;exports._guiCustomLayout=e._guiCustomLayout;exports._guiDateInput=e._guiDateInput;exports._guiDatePicker=e._guiDatePicker;exports._guiDateTimeCalendar=e._guiDateTimeCalendar;exports._guiDateTimeInput=e._guiDateTimeInput;exports._guiDateTimePicker=e._guiDateTimePicker;exports._guiDisplay=e._guiDisplay;exports._guiDropdown=e._guiDropdown;exports._guiFlex=e._guiFlex;exports._guiGrid=e._guiGrid;exports._guiHorizontalFlex=e._guiHorizontalFlex;exports._guiHorizontalGrid=e._guiHorizontalGrid;exports._guiList=e._guiList;exports._guiMarkdown=e._guiMarkdown;exports._guiMarkdownText=e._guiMarkdownText;exports._guiNumberInput=e._guiNumberInput;exports._guiPassword=e._guiPassword;exports._guiRadiogroup=e._guiRadiogroup;exports._guiRangeCalendar=e._guiRangeCalendar;exports._guiRangeDateInput=e._guiRangeDateInput;exports._guiRangeDatePicker=e._guiRangeDatePicker;exports._guiRangeDateTimeCalendar=e._guiRangeDateTimeCalendar;exports._guiRangeDateTimeInput=e._guiRangeDateTimeInput;exports._guiRangeDateTimePicker=e._guiRangeDateTimePicker;exports._guiRangeTimeInput=e._guiRangeTimeInput;exports._guiRangeTimePicker=e._guiRangeTimePicker;exports._guiRepeater=e._guiRepeater;exports._guiSelect=e._guiSelect;exports._guiTabs=e._guiTabs;exports._guiTags=e._guiTags;exports._guiTextInput=e._guiTextInput;exports._guiTextarea=e._guiTextarea;exports._guiTimeInput=e._guiTimeInput;exports._guiTimePicker=e._guiTimePicker;exports._guiVerticalFlex=e._guiVerticalFlex;exports._guiVerticalGrid=e._guiVerticalGrid;exports.defineShortcutType=e.defineShortcutType;exports.formDefs=e.formDefs;exports.resolveFormInput=e.resolveFormInput;Object.defineProperty(exports,"createGslSelector",{enumerable:!0,get:()=>t.createGslSelector});Object.defineProperty(exports,"extractWidgetProps",{enumerable:!0,get:()=>t.extractWidgetProps});Object.defineProperty(exports,"isDxDefinitions",{enumerable:!0,get:()=>t.isDxDefinitions});Object.defineProperty(exports,"processAutoLabel",{enumerable:!0,get:()=>t.processAutoLabel});Object.defineProperty(exports,"processAutoPlaceholder",{enumerable:!0,get:()=>t.processAutoPlaceholder});exports._gslStates=a;exports._gslTag=l;exports.getItemKey=n;exports.golemForm=u;exports.isOption=r;
@@ -1,6 +1,6 @@
1
1
  import { FormWidget, FunctionWidgetParams, LayoutWidget, NonFunctionWidget } from '@golemui/core';
2
2
  import { DxDefinitions } from '../formDef.domain';
3
- import { FormConfig, GslSelectorsInput } from '../core/dx.domain';
3
+ import { FormConfig, GslSelectorsInput } from '@golemui/dx';
4
4
  /**
5
5
  * Process a form definition through the full DX pipeline.
6
6
  *
@@ -1,31 +1,6 @@
1
- import { ExpressionFunctions, Form, FormEvent, UiState, ValidateOn } from '@golemui/core';
2
- import { ValidGuiShortcut } from './core/dx.domain';
3
- import { DxCommonFields, DxInternalFields } from './core/dxBase.types';
4
- import { DxRuntimeParams } from './core/dxUtilityTypes';
5
- import { Dependencies } from '../shared';
6
- export type GslItemType = string;
7
- /**
8
- * @deprecated Use DxCommonFields (+ kind-specific DxInputBase/DxActionBase/etc.)
9
- * for public decorator interfaces. Use DxInternalFields & DxCommonFields for
10
- * pipeline-internal code that needs the full set.
11
- *
12
- * This type is kept as an alias for backward compatibility with pipeline internals.
13
- */
14
- export type WidgetItemDecorator = DxInternalFields & DxCommonFields;
15
- export type DxDisplayRenderFn = (params: DxRuntimeParams) => any;
16
- export type DxDefinitionItem = ValidGuiShortcut | DxDisplayRenderFn;
17
- export type DxDefinitions = DxDefinitionItem | DxDefinitionItem[];
18
- export type FormEvents = (event: FormEvent) => void;
19
- export interface DxResult<S extends UiState = never, F extends Record<string, any> = any> {
20
- form: Form<S, F>;
21
- events?: FormEvents;
22
- dependencies?: Dependencies;
23
- functions?: ExpressionFunctions;
24
- widgetLoaders?: Record<string, () => Promise<unknown>>;
25
- validateOn?: ValidateOn;
26
- itemRenderers?: Record<string, unknown>;
27
- }
28
- export type { DxEventHandler, DxInternalFields, DxCommonFields, DxInputBase, DxActionBase, DxLayoutBase, DxDisplayBase, } from './core/dxBase.types';
1
+ export type { GslItemType, WidgetItemDecorator, DxDisplayRenderFn, DxDefinitionItem, DxDefinitions, FormEvents, } from '@golemui/dx';
2
+ export type { DxResult } from './guiDependencyTypes';
3
+ export type { DxEventHandler, DxInternalFields, DxCommonFields, DxInputBase, DxActionBase, DxLayoutBase, DxDisplayBase, } from '@golemui/dx';
29
4
  export type { DataInputDecorator, NumberDataInputValidator, NumberDataInputDecorator, TextDataInputValidator, TextDataInputDecorator, BooleanDataInputDecorator, InputDecorator, ValidShortcutType, DxRuntimeParams, InputTags, } from './shortcuts/inputs/inputs.domain';
30
5
  export type { ActionDecorator, ActionDefCallback, ActionDefOrCallback, } from './shortcuts/actions/actions.domain';
31
6
  export type { PasswordDecorator } from './shortcuts/password/password.domain';
@@ -45,8 +20,8 @@ export type { RepeaterDecorator } from './shortcuts/repeater/repeater.domain';
45
20
  export type { MarkdownDecorator } from './shortcuts/markdown/markdown.domain';
46
21
  export type { RangeDateInputDecorator } from './shortcuts/range-date-input/rangeDateInput.domain';
47
22
  export type { RangeDatePickerDecorator } from './shortcuts/range-date-picker/rangeDatePicker.domain';
48
- export type { GslDecoratorCallback, DefOrCallback, GslConfigBase, GuiShortcutOf, } from './core/dxUtilityTypes';
49
- export { createGslSelector } from './core/dxUtilityTypes';
50
- export { defineShortcutType } from './core/defineShortcutType';
51
- export type { LabelSensibleDefaultsConfig, PlaceholderSensibleDefaultsConfig, } from './core/sharedSensibleDefaults.service';
52
- export { processAutoLabel, processAutoPlaceholder } from './core/sharedSensibleDefaults.service';
23
+ export type { GslDecoratorCallback, DefOrCallback, GslConfigBase, GuiShortcutOf, } from '@golemui/dx';
24
+ export { createGslSelector } from '@golemui/dx';
25
+ export { defineShortcutType } from './registry';
26
+ export type { LabelSensibleDefaultsConfig, PlaceholderSensibleDefaultsConfig } from '@golemui/dx';
27
+ export { processAutoLabel, processAutoPlaceholder } from '@golemui/dx';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The gui widget set's DX form-definition service: transforms `gui.*` form
3
+ * definitions into fully-fledged core forms. Built by the gui
4
+ * `createImplementation` call in `gui.ts`; re-exported here so the
5
+ * pre-refactor import path keeps working.
6
+ */
7
+ export declare const formDefs: import('@golemui/dx').DxService<import('../shared').Dependencies>;
package/lib/dx/gui.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Dependencies } from '../shared';
1
2
  import { _guiTextInput } from './shortcuts/inputs/guiTextInput.impl';
2
3
  import { _guiNumberInput } from './shortcuts/inputs/guiNumberInput.impl';
3
4
  import { _guiBooleanInput } from './shortcuts/inputs/guiBooleanInput.impl';
@@ -37,61 +38,289 @@ import { _guiAccordion } from './shortcuts/accordion/guiAccordion.impl';
37
38
  import { _guiCustomLayout } from './shortcuts/custom-layout/guiCustomLayout.impl';
38
39
  import { _guiRepeater } from './shortcuts/repeater/guiRepeater.impl';
39
40
  import { _guiTags } from './shortcuts/tags/guiTags.impl';
40
- import { ScopeChain } from './shortcuts/scopes/scopeChain';
41
+ /**
42
+ * The assembled gui widget set: the authoring namespace plus the DX
43
+ * form-definition service and the framework bridge, all bound to the gui
44
+ * registry and adapter. `Dependencies` is the gui widget set's dependency
45
+ * shape, so form authors get its keys typed on `formConfig.dependencies` and
46
+ * on the resolved form input.
47
+ */
48
+ export declare const guiImplementation: import('@golemui/dx').WidgetSetImplementation<{
49
+ inputs: {
50
+ textInput: typeof _guiTextInput;
51
+ numberInput: typeof _guiNumberInput;
52
+ booleanInput: typeof _guiBooleanInput;
53
+ select: typeof _guiSelect;
54
+ dropdown: typeof _guiDropdown;
55
+ radiogroup: typeof _guiRadiogroup;
56
+ checkbox: typeof _guiCheckbox;
57
+ textarea: typeof _guiTextarea;
58
+ password: typeof _guiPassword;
59
+ currency: typeof _guiCurrency;
60
+ markdown: typeof _guiMarkdown;
61
+ list: typeof _guiList;
62
+ calendar: typeof _guiCalendar;
63
+ dateTimeCalendar: typeof _guiDateTimeCalendar;
64
+ dateInput: typeof _guiDateInput;
65
+ datePicker: typeof _guiDatePicker;
66
+ dateTimePicker: typeof _guiDateTimePicker;
67
+ timeInput: typeof _guiTimeInput;
68
+ timePicker: typeof _guiTimePicker;
69
+ dateTimeInput: typeof _guiDateTimeInput;
70
+ rangeCalendar: typeof _guiRangeCalendar;
71
+ rangeDateInput: typeof _guiRangeDateInput;
72
+ rangeDateTimeInput: typeof _guiRangeDateTimeInput;
73
+ rangeDateTimeCalendar: typeof _guiRangeDateTimeCalendar;
74
+ rangeDateTimePicker: typeof _guiRangeDateTimePicker;
75
+ rangeTimeInput: typeof _guiRangeTimeInput;
76
+ rangeDatePicker: typeof _guiRangeDatePicker;
77
+ rangeTimePicker: typeof _guiRangeTimePicker;
78
+ repeater: typeof _guiRepeater;
79
+ tags: typeof _guiTags;
80
+ custom: typeof _guiCustomInput;
81
+ };
82
+ actions: {
83
+ button: typeof _guiButton;
84
+ custom: typeof _guiCustomAction;
85
+ };
86
+ displays: {
87
+ display: (render: (params: import('@golemui/dx').DxRuntimeParams) => any, tags?: string[]) => import('./shortcuts/display/display.domain').GuiDisplayItemsShortcut;
88
+ alert: typeof _guiAlert;
89
+ markdownText: typeof _guiMarkdownText;
90
+ custom: typeof _guiCustomDisplay;
91
+ };
92
+ layouts: {
93
+ flex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
94
+ horizontalFlex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
95
+ verticalFlex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
96
+ grid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').GridFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
97
+ horizontalGrid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
98
+ verticalGrid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
99
+ tabs: typeof _guiTabs;
100
+ accordion: typeof _guiAccordion;
101
+ custom: typeof _guiCustomLayout;
102
+ };
103
+ }, import('@golemui/dx').SelectorChain<{
104
+ inputs: (config: import('.').GslInputsConfig, matcher?: ((decorator: import('./formDef.domain').InputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
105
+ inputByUid: (uid: string, config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
106
+ textInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
107
+ numberInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
108
+ booleanInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
109
+ selects: (config: import('.').GslSelectConfig, matcher?: ((decorator: import('./formDef.domain').SelectDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
110
+ selectByUid: (uid: string, config: import('.').GslSelectConfig) => import('@golemui/dx').GslLeafSelector;
111
+ dropdowns: (config: import('.').GslDropdownConfig, matcher?: ((decorator: import('./formDef.domain').DropdownDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
112
+ dropdownByUid: (uid: string, config: import('.').GslDropdownConfig) => import('@golemui/dx').GslLeafSelector;
113
+ radiogroups: (config: import('.').GslRadiogroupConfig, matcher?: ((decorator: import('./formDef.domain').RadiogroupDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
114
+ radiogroupByUid: (uid: string, config: import('.').GslRadiogroupConfig) => import('@golemui/dx').GslLeafSelector;
115
+ checkboxes: (config: import('.').GslCheckboxConfig, matcher?: ((decorator: import('./formDef.domain').CheckboxDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
116
+ checkboxByUid: (uid: string, config: import('.').GslCheckboxConfig) => import('@golemui/dx').GslLeafSelector;
117
+ textareas: (config: import('.').GslTextareaConfig, matcher?: ((decorator: import('.').TextareaDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
118
+ textareaByUid: (uid: string, config: import('.').GslTextareaConfig) => import('@golemui/dx').GslLeafSelector;
119
+ passwords: (config: import('.').GslPasswordConfig, matcher?: ((decorator: import('./formDef.domain').PasswordDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
120
+ passwordByUid: (uid: string, config: import('.').GslPasswordConfig) => import('@golemui/dx').GslLeafSelector;
121
+ currencies: (config: import('.').GslCurrencyConfig, matcher?: ((decorator: import('./formDef.domain').CurrencyDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
122
+ currencyByUid: (uid: string, config: import('.').GslCurrencyConfig) => import('@golemui/dx').GslLeafSelector;
123
+ markdowns: (config: import('.').GslMarkdownConfig, matcher?: ((decorator: import('./formDef.domain').MarkdownDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
124
+ markdownByUid: (uid: string, config: import('.').GslMarkdownConfig) => import('@golemui/dx').GslLeafSelector;
125
+ lists: (config: import('.').GslListConfig, matcher?: ((decorator: import('./formDef.domain').ListDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
126
+ listByUid: (uid: string, config: import('.').GslListConfig) => import('@golemui/dx').GslLeafSelector;
127
+ calendars: (config: import('.').GslCalendarConfig, matcher?: ((decorator: import('.').CalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
128
+ calendarByUid: (uid: string, config: import('.').GslCalendarConfig) => import('@golemui/dx').GslLeafSelector;
129
+ dateTimeCalendars: (config: import('.').GslDateTimeCalendarConfig, matcher?: ((decorator: import('.').DateTimeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
130
+ dateTimeCalendarByUid: (uid: string, config: import('.').GslDateTimeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
131
+ dateInputs: (config: import('.').GslDateInputConfig, matcher?: ((decorator: import('./formDef.domain').DateInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
132
+ dateInputByUid: (uid: string, config: import('.').GslDateInputConfig) => import('@golemui/dx').GslLeafSelector;
133
+ timeInputs: (config: import('.').GslTimeInputConfig, matcher?: ((decorator: import('.').TimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
134
+ timeInputByUid: (uid: string, config: import('.').GslTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
135
+ timePickers: (config: import('.').GslTimePickerConfig, matcher?: ((decorator: import('.').TimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
136
+ timePickerByUid: (uid: string, config: import('.').GslTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
137
+ dateTimeInputs: (config: import('.').GslDateTimeInputConfig, matcher?: ((decorator: import('.').DateTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
138
+ dateTimeInputByUid: (uid: string, config: import('.').GslDateTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
139
+ datePickers: (config: import('.').GslDatePickerConfig, matcher?: ((decorator: import('./formDef.domain').DatePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
140
+ datePickerByUid: (uid: string, config: import('.').GslDatePickerConfig) => import('@golemui/dx').GslLeafSelector;
141
+ dateTimePickers: (config: import('.').GslDateTimePickerConfig, matcher?: ((decorator: import('.').DateTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
142
+ dateTimePickerByUid: (uid: string, config: import('.').GslDateTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
143
+ rangeCalendars: (config: import('.').GslRangeCalendarConfig, matcher?: ((decorator: import('./formDef.domain').RangeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
144
+ rangeCalendarByUid: (uid: string, config: import('.').GslRangeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
145
+ rangeDateInputs: (config: import('.').GslRangeDateInputConfig, matcher?: ((decorator: import('./formDef.domain').RangeDateInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
146
+ rangeDateInputByUid: (uid: string, config: import('.').GslRangeDateInputConfig) => import('@golemui/dx').GslLeafSelector;
147
+ rangeTimeInputs: (config: import('.').GslRangeTimeInputConfig, matcher?: ((decorator: import('.').RangeTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
148
+ rangeTimeInputByUid: (uid: string, config: import('.').GslRangeTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
149
+ rangeDateTimeInputs: (config: import('.').GslRangeDateTimeInputConfig, matcher?: ((decorator: import('.').RangeDateTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
150
+ rangeDateTimeInputByUid: (uid: string, config: import('.').GslRangeDateTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
151
+ rangeDateTimeCalendars: (config: import('.').GslRangeDateTimeCalendarConfig, matcher?: ((decorator: import('.').RangeDateTimeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
152
+ rangeDateTimeCalendarByUid: (uid: string, config: import('.').GslRangeDateTimeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
153
+ rangeDateTimePickers: (config: import('.').GslRangeDateTimePickerConfig, matcher?: ((decorator: import('.').RangeDateTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
154
+ rangeDateTimePickerByUid: (uid: string, config: import('.').GslRangeDateTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
155
+ rangeDatePickers: (config: import('.').GslRangeDatePickerConfig, matcher?: ((decorator: import('./formDef.domain').RangeDatePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
156
+ rangeDatePickerByUid: (uid: string, config: import('.').GslRangeDatePickerConfig) => import('@golemui/dx').GslLeafSelector;
157
+ rangeTimePickers: (config: import('.').GslRangeTimePickerConfig, matcher?: ((decorator: import('.').RangeTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
158
+ rangeTimePickerByUid: (uid: string, config: import('.').GslRangeTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
159
+ repeaters: (config: import('.').GslRepeaterConfig, matcher?: (decorator: import('./formDef.domain').RepeaterDecorator) => boolean) => import('@golemui/dx').GslLeafSelector;
160
+ repeaterByUid: (id: string, config: import('.').GslRepeaterConfig) => import('@golemui/dx').GslLeafSelector;
161
+ actions: (config: import('.').GslActionsConfig, matcher?: ((decorator: import('./formDef.domain').ActionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
162
+ actionByUid: (uid: string, config: import('.').GslActionsConfig) => import('@golemui/dx').GslLeafSelector;
163
+ layouts: (config: import('./shortcuts/layouts/layouts.domain').GslLayoutsConfig, matcher?: ((decorator: import('./shortcuts/layouts/layouts.domain').LayoutDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
164
+ layoutByUid: (uid: string, config: import('./shortcuts/layouts/layouts.domain').GslLayoutsConfig) => import('@golemui/dx').GslLeafSelector;
165
+ displays: (config: import('.').GslDisplaysConfig, matcher?: ((decorator: import('.').DisplayDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
166
+ displayByUid: (uid: string, config: import('.').GslDisplaysConfig) => import('@golemui/dx').GslLeafSelector;
167
+ alerts: (config: import('.').GslAlertsConfig, matcher?: ((decorator: import('./formDef.domain').AlertDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
168
+ alertByUid: (uid: string, config: import('.').GslAlertsConfig) => import('@golemui/dx').GslLeafSelector;
169
+ markdownTexts: (config: import('./shortcuts/markdown-text/markdownText.domain').GslMarkdownTextsConfig, matcher?: ((decorator: import('./shortcuts/markdown-text/markdownText.domain').MarkdownTextDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
170
+ markdownTextByUid: (uid: string, config: import('./shortcuts/markdown-text/markdownText.domain').GslMarkdownTextsConfig) => import('@golemui/dx').GslLeafSelector;
171
+ tabs: (config: import('.').GslTabsConfig, matcher?: ((decorator: import('./formDef.domain').TabsDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
172
+ tabsByUid: (uid: string, config: import('.').GslTabsConfig) => import('@golemui/dx').GslLeafSelector;
173
+ accordions: (config: import('.').GslAccordionConfig, matcher?: ((decorator: import('./formDef.domain').AccordionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
174
+ accordionByUid: (uid: string, config: import('.').GslAccordionConfig) => import('@golemui/dx').GslLeafSelector;
175
+ customInputs: (config: import('.').GslCustomInputConfig, matcher?: ((decorator: import('.').CustomInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
176
+ customInputByUid: (uid: string, config: import('.').GslCustomInputConfig) => import('@golemui/dx').GslLeafSelector;
177
+ customActions: (config: import('.').GslCustomActionConfig, matcher?: ((decorator: import('.').CustomActionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
178
+ customActionByUid: (uid: string, config: import('.').GslCustomActionConfig) => import('@golemui/dx').GslLeafSelector;
179
+ customDisplays: (config: import('.').GslCustomDisplayConfig, matcher?: ((decorator: import('.').CustomDisplayDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
180
+ customDisplayByUid: (uid: string, config: import('.').GslCustomDisplayConfig) => import('@golemui/dx').GslLeafSelector;
181
+ customLayouts: (config: import('.').GslCustomLayoutConfig, matcher?: ((decorator: import('.').CustomLayoutDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
182
+ customLayoutByUid: (uid: string, config: import('.').GslCustomLayoutConfig) => import('@golemui/dx').GslLeafSelector;
183
+ }>, Dependencies>;
184
+ /**
185
+ * The public gui authoring namespace: the shortcut factory groups
186
+ * (`gui.inputs.textInput(...)`, etc.) plus the selector chain root
187
+ * (`gui.selectors.tag('billing').inputs({...})`).
188
+ */
41
189
  export declare const gui: {
42
- readonly inputs: {
43
- readonly textInput: typeof _guiTextInput;
44
- readonly numberInput: typeof _guiNumberInput;
45
- readonly booleanInput: typeof _guiBooleanInput;
46
- readonly select: typeof _guiSelect;
47
- readonly dropdown: typeof _guiDropdown;
48
- readonly radiogroup: typeof _guiRadiogroup;
49
- readonly checkbox: typeof _guiCheckbox;
50
- readonly textarea: typeof _guiTextarea;
51
- readonly password: typeof _guiPassword;
52
- readonly currency: typeof _guiCurrency;
53
- readonly markdown: typeof _guiMarkdown;
54
- readonly list: typeof _guiList;
55
- readonly calendar: typeof _guiCalendar;
56
- readonly dateTimeCalendar: typeof _guiDateTimeCalendar;
57
- readonly dateInput: typeof _guiDateInput;
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;
63
- readonly rangeCalendar: typeof _guiRangeCalendar;
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;
69
- readonly rangeDatePicker: typeof _guiRangeDatePicker;
70
- readonly rangeTimePicker: typeof _guiRangeTimePicker;
71
- readonly repeater: typeof _guiRepeater;
72
- readonly tags: typeof _guiTags;
73
- readonly custom: typeof _guiCustomInput;
190
+ inputs: {
191
+ textInput: typeof _guiTextInput;
192
+ numberInput: typeof _guiNumberInput;
193
+ booleanInput: typeof _guiBooleanInput;
194
+ select: typeof _guiSelect;
195
+ dropdown: typeof _guiDropdown;
196
+ radiogroup: typeof _guiRadiogroup;
197
+ checkbox: typeof _guiCheckbox;
198
+ textarea: typeof _guiTextarea;
199
+ password: typeof _guiPassword;
200
+ currency: typeof _guiCurrency;
201
+ markdown: typeof _guiMarkdown;
202
+ list: typeof _guiList;
203
+ calendar: typeof _guiCalendar;
204
+ dateTimeCalendar: typeof _guiDateTimeCalendar;
205
+ dateInput: typeof _guiDateInput;
206
+ datePicker: typeof _guiDatePicker;
207
+ dateTimePicker: typeof _guiDateTimePicker;
208
+ timeInput: typeof _guiTimeInput;
209
+ timePicker: typeof _guiTimePicker;
210
+ dateTimeInput: typeof _guiDateTimeInput;
211
+ rangeCalendar: typeof _guiRangeCalendar;
212
+ rangeDateInput: typeof _guiRangeDateInput;
213
+ rangeDateTimeInput: typeof _guiRangeDateTimeInput;
214
+ rangeDateTimeCalendar: typeof _guiRangeDateTimeCalendar;
215
+ rangeDateTimePicker: typeof _guiRangeDateTimePicker;
216
+ rangeTimeInput: typeof _guiRangeTimeInput;
217
+ rangeDatePicker: typeof _guiRangeDatePicker;
218
+ rangeTimePicker: typeof _guiRangeTimePicker;
219
+ repeater: typeof _guiRepeater;
220
+ tags: typeof _guiTags;
221
+ custom: typeof _guiCustomInput;
74
222
  };
75
- readonly actions: {
76
- readonly button: typeof _guiButton;
77
- readonly custom: typeof _guiCustomAction;
223
+ actions: {
224
+ button: typeof _guiButton;
225
+ custom: typeof _guiCustomAction;
78
226
  };
79
- readonly displays: {
80
- readonly display: (render: (params: import('./formDef.domain').DxRuntimeParams) => any, tags?: string[]) => import('./shortcuts/display/display.domain').GuiDisplayItemsShortcut;
81
- readonly alert: typeof _guiAlert;
82
- readonly markdownText: typeof _guiMarkdownText;
83
- readonly custom: typeof _guiCustomDisplay;
227
+ displays: {
228
+ display: (render: (params: import('@golemui/dx').DxRuntimeParams) => any, tags?: string[]) => import('./shortcuts/display/display.domain').GuiDisplayItemsShortcut;
229
+ alert: typeof _guiAlert;
230
+ markdownText: typeof _guiMarkdownText;
231
+ custom: typeof _guiCustomDisplay;
84
232
  };
85
- readonly layouts: {
86
- readonly flex: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
87
- readonly horizontalFlex: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
88
- readonly verticalFlex: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
89
- readonly grid: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').GridFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
90
- readonly horizontalGrid: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
91
- readonly verticalGrid: (children: import('./core/dx.domain').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
92
- readonly tabs: typeof _guiTabs;
93
- readonly accordion: typeof _guiAccordion;
94
- readonly custom: typeof _guiCustomLayout;
233
+ layouts: {
234
+ flex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
235
+ horizontalFlex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
236
+ verticalFlex: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').FlexFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
237
+ grid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: import('./shortcuts/layouts/layouts.domain').GridFamilyProps, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
238
+ horizontalGrid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
239
+ verticalGrid: (children: import('@golemui/dx').ValidGuiShortcut[], props?: Omit<import('./shortcuts/layouts/layouts.domain').GridFamilyProps, "direction">, tags?: string[]) => import('./shortcuts/layouts/layouts.domain').GuiLayoutItemsShortcut;
240
+ tabs: typeof _guiTabs;
241
+ accordion: typeof _guiAccordion;
242
+ custom: typeof _guiCustomLayout;
95
243
  };
96
- readonly selectors: ScopeChain;
244
+ } & {
245
+ selectors: import('@golemui/dx').SelectorChain<{
246
+ inputs: (config: import('.').GslInputsConfig, matcher?: ((decorator: import('./formDef.domain').InputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
247
+ inputByUid: (uid: string, config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
248
+ textInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
249
+ numberInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
250
+ booleanInputs: (config: import('.').GslInputsConfig) => import('@golemui/dx').GslLeafSelector;
251
+ selects: (config: import('.').GslSelectConfig, matcher?: ((decorator: import('./formDef.domain').SelectDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
252
+ selectByUid: (uid: string, config: import('.').GslSelectConfig) => import('@golemui/dx').GslLeafSelector;
253
+ dropdowns: (config: import('.').GslDropdownConfig, matcher?: ((decorator: import('./formDef.domain').DropdownDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
254
+ dropdownByUid: (uid: string, config: import('.').GslDropdownConfig) => import('@golemui/dx').GslLeafSelector;
255
+ radiogroups: (config: import('.').GslRadiogroupConfig, matcher?: ((decorator: import('./formDef.domain').RadiogroupDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
256
+ radiogroupByUid: (uid: string, config: import('.').GslRadiogroupConfig) => import('@golemui/dx').GslLeafSelector;
257
+ checkboxes: (config: import('.').GslCheckboxConfig, matcher?: ((decorator: import('./formDef.domain').CheckboxDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
258
+ checkboxByUid: (uid: string, config: import('.').GslCheckboxConfig) => import('@golemui/dx').GslLeafSelector;
259
+ textareas: (config: import('.').GslTextareaConfig, matcher?: ((decorator: import('.').TextareaDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
260
+ textareaByUid: (uid: string, config: import('.').GslTextareaConfig) => import('@golemui/dx').GslLeafSelector;
261
+ passwords: (config: import('.').GslPasswordConfig, matcher?: ((decorator: import('./formDef.domain').PasswordDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
262
+ passwordByUid: (uid: string, config: import('.').GslPasswordConfig) => import('@golemui/dx').GslLeafSelector;
263
+ currencies: (config: import('.').GslCurrencyConfig, matcher?: ((decorator: import('./formDef.domain').CurrencyDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
264
+ currencyByUid: (uid: string, config: import('.').GslCurrencyConfig) => import('@golemui/dx').GslLeafSelector;
265
+ markdowns: (config: import('.').GslMarkdownConfig, matcher?: ((decorator: import('./formDef.domain').MarkdownDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
266
+ markdownByUid: (uid: string, config: import('.').GslMarkdownConfig) => import('@golemui/dx').GslLeafSelector;
267
+ lists: (config: import('.').GslListConfig, matcher?: ((decorator: import('./formDef.domain').ListDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
268
+ listByUid: (uid: string, config: import('.').GslListConfig) => import('@golemui/dx').GslLeafSelector;
269
+ calendars: (config: import('.').GslCalendarConfig, matcher?: ((decorator: import('.').CalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
270
+ calendarByUid: (uid: string, config: import('.').GslCalendarConfig) => import('@golemui/dx').GslLeafSelector;
271
+ dateTimeCalendars: (config: import('.').GslDateTimeCalendarConfig, matcher?: ((decorator: import('.').DateTimeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
272
+ dateTimeCalendarByUid: (uid: string, config: import('.').GslDateTimeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
273
+ dateInputs: (config: import('.').GslDateInputConfig, matcher?: ((decorator: import('./formDef.domain').DateInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
274
+ dateInputByUid: (uid: string, config: import('.').GslDateInputConfig) => import('@golemui/dx').GslLeafSelector;
275
+ timeInputs: (config: import('.').GslTimeInputConfig, matcher?: ((decorator: import('.').TimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
276
+ timeInputByUid: (uid: string, config: import('.').GslTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
277
+ timePickers: (config: import('.').GslTimePickerConfig, matcher?: ((decorator: import('.').TimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
278
+ timePickerByUid: (uid: string, config: import('.').GslTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
279
+ dateTimeInputs: (config: import('.').GslDateTimeInputConfig, matcher?: ((decorator: import('.').DateTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
280
+ dateTimeInputByUid: (uid: string, config: import('.').GslDateTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
281
+ datePickers: (config: import('.').GslDatePickerConfig, matcher?: ((decorator: import('./formDef.domain').DatePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
282
+ datePickerByUid: (uid: string, config: import('.').GslDatePickerConfig) => import('@golemui/dx').GslLeafSelector;
283
+ dateTimePickers: (config: import('.').GslDateTimePickerConfig, matcher?: ((decorator: import('.').DateTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
284
+ dateTimePickerByUid: (uid: string, config: import('.').GslDateTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
285
+ rangeCalendars: (config: import('.').GslRangeCalendarConfig, matcher?: ((decorator: import('./formDef.domain').RangeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
286
+ rangeCalendarByUid: (uid: string, config: import('.').GslRangeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
287
+ rangeDateInputs: (config: import('.').GslRangeDateInputConfig, matcher?: ((decorator: import('./formDef.domain').RangeDateInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
288
+ rangeDateInputByUid: (uid: string, config: import('.').GslRangeDateInputConfig) => import('@golemui/dx').GslLeafSelector;
289
+ rangeTimeInputs: (config: import('.').GslRangeTimeInputConfig, matcher?: ((decorator: import('.').RangeTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
290
+ rangeTimeInputByUid: (uid: string, config: import('.').GslRangeTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
291
+ rangeDateTimeInputs: (config: import('.').GslRangeDateTimeInputConfig, matcher?: ((decorator: import('.').RangeDateTimeInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
292
+ rangeDateTimeInputByUid: (uid: string, config: import('.').GslRangeDateTimeInputConfig) => import('@golemui/dx').GslLeafSelector;
293
+ rangeDateTimeCalendars: (config: import('.').GslRangeDateTimeCalendarConfig, matcher?: ((decorator: import('.').RangeDateTimeCalendarDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
294
+ rangeDateTimeCalendarByUid: (uid: string, config: import('.').GslRangeDateTimeCalendarConfig) => import('@golemui/dx').GslLeafSelector;
295
+ rangeDateTimePickers: (config: import('.').GslRangeDateTimePickerConfig, matcher?: ((decorator: import('.').RangeDateTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
296
+ rangeDateTimePickerByUid: (uid: string, config: import('.').GslRangeDateTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
297
+ rangeDatePickers: (config: import('.').GslRangeDatePickerConfig, matcher?: ((decorator: import('./formDef.domain').RangeDatePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
298
+ rangeDatePickerByUid: (uid: string, config: import('.').GslRangeDatePickerConfig) => import('@golemui/dx').GslLeafSelector;
299
+ rangeTimePickers: (config: import('.').GslRangeTimePickerConfig, matcher?: ((decorator: import('.').RangeTimePickerDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
300
+ rangeTimePickerByUid: (uid: string, config: import('.').GslRangeTimePickerConfig) => import('@golemui/dx').GslLeafSelector;
301
+ repeaters: (config: import('.').GslRepeaterConfig, matcher?: (decorator: import('./formDef.domain').RepeaterDecorator) => boolean) => import('@golemui/dx').GslLeafSelector;
302
+ repeaterByUid: (id: string, config: import('.').GslRepeaterConfig) => import('@golemui/dx').GslLeafSelector;
303
+ actions: (config: import('.').GslActionsConfig, matcher?: ((decorator: import('./formDef.domain').ActionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
304
+ actionByUid: (uid: string, config: import('.').GslActionsConfig) => import('@golemui/dx').GslLeafSelector;
305
+ layouts: (config: import('./shortcuts/layouts/layouts.domain').GslLayoutsConfig, matcher?: ((decorator: import('./shortcuts/layouts/layouts.domain').LayoutDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
306
+ layoutByUid: (uid: string, config: import('./shortcuts/layouts/layouts.domain').GslLayoutsConfig) => import('@golemui/dx').GslLeafSelector;
307
+ displays: (config: import('.').GslDisplaysConfig, matcher?: ((decorator: import('.').DisplayDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
308
+ displayByUid: (uid: string, config: import('.').GslDisplaysConfig) => import('@golemui/dx').GslLeafSelector;
309
+ alerts: (config: import('.').GslAlertsConfig, matcher?: ((decorator: import('./formDef.domain').AlertDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
310
+ alertByUid: (uid: string, config: import('.').GslAlertsConfig) => import('@golemui/dx').GslLeafSelector;
311
+ markdownTexts: (config: import('./shortcuts/markdown-text/markdownText.domain').GslMarkdownTextsConfig, matcher?: ((decorator: import('./shortcuts/markdown-text/markdownText.domain').MarkdownTextDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
312
+ markdownTextByUid: (uid: string, config: import('./shortcuts/markdown-text/markdownText.domain').GslMarkdownTextsConfig) => import('@golemui/dx').GslLeafSelector;
313
+ tabs: (config: import('.').GslTabsConfig, matcher?: ((decorator: import('./formDef.domain').TabsDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
314
+ tabsByUid: (uid: string, config: import('.').GslTabsConfig) => import('@golemui/dx').GslLeafSelector;
315
+ accordions: (config: import('.').GslAccordionConfig, matcher?: ((decorator: import('./formDef.domain').AccordionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
316
+ accordionByUid: (uid: string, config: import('.').GslAccordionConfig) => import('@golemui/dx').GslLeafSelector;
317
+ customInputs: (config: import('.').GslCustomInputConfig, matcher?: ((decorator: import('.').CustomInputDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
318
+ customInputByUid: (uid: string, config: import('.').GslCustomInputConfig) => import('@golemui/dx').GslLeafSelector;
319
+ customActions: (config: import('.').GslCustomActionConfig, matcher?: ((decorator: import('.').CustomActionDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
320
+ customActionByUid: (uid: string, config: import('.').GslCustomActionConfig) => import('@golemui/dx').GslLeafSelector;
321
+ customDisplays: (config: import('.').GslCustomDisplayConfig, matcher?: ((decorator: import('.').CustomDisplayDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
322
+ customDisplayByUid: (uid: string, config: import('.').GslCustomDisplayConfig) => import('@golemui/dx').GslLeafSelector;
323
+ customLayouts: (config: import('.').GslCustomLayoutConfig, matcher?: ((decorator: import('.').CustomLayoutDecorator) => boolean) | undefined) => import('@golemui/dx').GslLeafSelector;
324
+ customLayoutByUid: (uid: string, config: import('.').GslCustomLayoutConfig) => import('@golemui/dx').GslLeafSelector;
325
+ }>;
97
326
  };
@@ -0,0 +1,14 @@
1
+ import { UiState } from '@golemui/core';
2
+ import { DxFormConfig as DxFormConfigOf, DxResult as DxResultOf, FormConfig as FormConfigOf, ResolvedFormInput as ResolvedFormInputOf } from '@golemui/dx';
3
+ import { Dependencies } from '../shared';
4
+ /** Form-level settings, with the gui dependency keys typed. */
5
+ export type FormConfig = FormConfigOf<Dependencies>;
6
+ /**
7
+ * Form-level settings for `processDxFacade`'s third argument, generic over the
8
+ * declared state names, with the gui dependency keys typed.
9
+ */
10
+ export type DxFormConfig<S extends string = string> = DxFormConfigOf<S, Dependencies>;
11
+ /** The DX pipeline output, with the gui dependency keys typed. */
12
+ export type DxResult<S extends UiState = never, F extends Record<string, any> = any> = DxResultOf<S, F, Dependencies>;
13
+ /** The resolved framework form input, with the gui dependency keys typed. */
14
+ export type ResolvedFormInput<FormData extends Record<string, any> = any> = ResolvedFormInputOf<FormData, Dependencies>;
package/lib/dx/index.d.ts CHANGED
@@ -82,10 +82,11 @@ export { _gslTimeInputByUid, _gslTimeInputs } from './shortcuts/time-input/regis
82
82
  export { _gslTimePickerByUid, _gslTimePickers } from './shortcuts/time-picker/register';
83
83
  export { _gslStates } from './shortcuts/scopes/gslStates.impl';
84
84
  export { _gslTag } from './shortcuts/scopes/gslTag.impl';
85
- export type { DxFormConfig, FormConfig, GslSelectorsInput } from './core/dx.domain';
86
- export type { DxRuntimeParams } from './core/dxUtilityTypes';
87
- export type { DxValidator } from './core/dxValidatorHelper';
88
- export { formDefs } from './dx.service';
85
+ export type { GslSelectorsInput } from '@golemui/dx';
86
+ export type { DxFormConfig, FormConfig } from './guiDependencyTypes';
87
+ export type { DxRuntimeParams } from '@golemui/dx';
88
+ export type { DxValidator } from '@golemui/dx';
89
+ export { formDefs } from './formDefs';
89
90
  export type { DxDefinitionItem, DxDefinitions, DxDisplayRenderFn, DxResult, FormEvents, } from './formDef.domain';
90
91
  export { isDxDefinitions, resolveFormInput } from './resolveFormInput';
91
92
  export type { FormInput, GuiFormInitConfig, ResolvedFormInput } from './resolveFormInput';
@@ -127,10 +128,10 @@ export type { GslTagsConfig, TagsDecorator } from './shortcuts/tags/tags.domain'
127
128
  export type { GslTextareaConfig, TextareaDecorator } from './shortcuts/textarea/textarea.domain';
128
129
  export type { GslTimeInputConfig, TimeInputDecorator, } from './shortcuts/time-input/timeInput.domain';
129
130
  export type { GslTimePickerConfig, TimePickerDecorator, } from './shortcuts/time-picker/timePicker.domain';
130
- export { defineShortcutType } from './core/defineShortcutType';
131
- export type { ShortcutTypeSelectors } from './core/defineShortcutType';
132
- export type { DxActionBase, DxCommonFields, DxDisplayBase, DxFormEvent, DxInputBase, DxInternalFields, DxLayoutBase, } from './core/dxBase.types';
133
- export { extractWidgetProps } from './core/dxPropsHelper';
134
- export { createGslSelector } from './core/dxUtilityTypes';
135
- export type { DefOrCallback, GslConfigBase, GslDecoratorCallback, GuiShortcutOf, } from './core/dxUtilityTypes';
136
- export { processAutoLabel, processAutoPlaceholder } from './core/sharedSensibleDefaults.service';
131
+ export { defineShortcutType, guiRegistry } from './registry';
132
+ export type { ShortcutTypeSelectors } from '@golemui/dx';
133
+ export type { DxActionBase, DxCommonFields, DxDisplayBase, DxFormEvent, DxInputBase, DxInternalFields, DxLayoutBase, } from '@golemui/dx';
134
+ export { extractWidgetProps } from '@golemui/dx';
135
+ export { createGslSelector } from '@golemui/dx';
136
+ export type { DefOrCallback, GslConfigBase, GslDecoratorCallback, GuiShortcutOf, } from '@golemui/dx';
137
+ export { processAutoLabel, processAutoPlaceholder } from '@golemui/dx';
@@ -0,0 +1,26 @@
1
+ import { DxCommonFields, GslConfigBase, ShortcutItemKind, ShortcutTypeConfig, ShortcutTypeSelectors } from '@golemui/dx';
2
+ /**
3
+ * The item type registry of the gui widget set. Holds one handler per gui
4
+ * shortcut type; the DX pipeline in `formDefs` resolves item types against it.
5
+ */
6
+ export declare const guiRegistry: import('@golemui/dx').ItemTypeRegistry;
7
+ /**
8
+ * Legacy shortcut-type config: same shape as the `@golemui/dx` config, but
9
+ * `kind` stays optional because this signature predates widget kinds.
10
+ */
11
+ type GuiShortcutTypeConfig<TEntry, TDecorator, TConfig> = Omit<ShortcutTypeConfig<TEntry, TDecorator, TConfig>, 'kind'> & {
12
+ kind?: ShortcutItemKind;
13
+ };
14
+ /**
15
+ * Registers a new custom widget type into the gui widget set's DX pipeline.
16
+ *
17
+ * Compatibility wrapper around the `@golemui/dx` `defineShortcutType`, bound to
18
+ * the gui registry. `kind` is optional here for backward compatibility; a type
19
+ * registered without a kind never matches the umbrella selectors
20
+ * (`inputs`, `actions`, `displays`, `layouts`), only selectors naming it exactly.
21
+ *
22
+ * Returns GSL selector factories (`gsl`, `gslByUid`) for styling/configuring
23
+ * widgets of this type.
24
+ */
25
+ export declare function defineShortcutType<TEntry, TDecorator extends DxCommonFields, TConfig extends GslConfigBase<TDecorator> = GslConfigBase<TDecorator>>(config: GuiShortcutTypeConfig<TEntry, TDecorator, TConfig>): ShortcutTypeSelectors<TDecorator, TConfig>;
26
+ export {};