@react-typed-forms/schemas 14.1.2 → 14.2.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/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{newControl as e,getElementIndex as n,ensureMetaValue as t,ControlChange as r,useControl as o,useComputed as l,useRefState as i,SubscriptionTracker as a,addAfterChangesCallback as u,trackedValue as d,collectChanges as c,useCalculatedControl as s,useValueChangeEffect as f,useValidator as p,useComponentTracking as y,useControlEffect as h,addElement as v,removeElement as m,RenderArrayElements as g}from"@react-typed-forms/core";import C,{useRef as b,useMemo as D,useCallback as N,useEffect as x}from"react";import T from"clsx";import E from"jsonata";import{v4 as O}from"uuid";var S,A,I,L,w,V,F,k,M,R,q,G,j,H;function B(e,n){return e.find(e=>e.field===n)}function U(e){return!$(e)}function $(e){return e.type===S.Compound}function J(e){return{field:"__missing",type:S.Any,displayName:e}}function P(e,n,t){const r={id:t?t.id+"/"+e.field:e.field,field:e,getSchema:n.getSchema,parent:t,getChildNode:function(t){if($(e)&&!e.schemaRef&&!e.treeChildren){const o=e.children.find(e=>e.field===t);return o?P(o,n,r):void 0}return o(!1,r).find(e=>e.field.field===t)},getChildNodes:o};return r;function o(o,l){if($(e)){if(e.treeChildren)return o?[]:t.getChildNodes(!1,null!=l?l:r);const i=e.schemaRef&&n.getSchema(e.schemaRef);return i?i.getChildNodes(!1,null!=l?l:r):e.children.map(e=>P(e,n,null!=l?l:r))}return[]}}function _(e){const n={getSchema:function(t){const r=e[t];if(r)return ee(r,n)}};return n}function W(e,n,t,r){const o={id:(t?t.id+"/"+e.field.field:e.field.field)+("number"==typeof r?"/"+r:""),schema:e,control:n,parent:t,elementIndex:r,getChild:function(e){const t=n;return t&&t.current.isNull&&(t.value={}),W(e,null==t?void 0:t.fields[e.field.field],o)},getChildElement:function(t){var r;return W(e,null==n||null==(r=n.elements)?void 0:r[t],o,t)}};return o}function Y(e,n){var t;return X(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function z(e,n){var t;return Z(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function K(e,n,t,r){let o=0;for(;o<e.length;){const l=e[o];let i=".."===l?n.parent:n.getChildNode(l);i||(i=P(J(l),n,n)),t=r(t,i),n=i,o++}return t}function Q(e,n,t){return K(e,n,t,(e,n)=>null==e?void 0:e[n.field.field])}function X(n,t){let r=0;for(;r<n.length;){const l=n[r];let i=".."===l?t.parent:o(l);null!=i||(i=W(P(J(l),t.schema,t.schema),e(void 0))),t=i,r++}return t;function o(e){const n=t.schema.getChildNode(e);if(n)return t.getChild(n)}}function Z(e,n){let t=0;for(;t<e.length;){const r=e[t];let o=".."===r?n.parent:n.getChildNode(r);o||(o=P(J(r),n,n)),n=o,t++}return n}function ee(e,n={getSchema(e){}}){return P({type:S.Compound,field:"",children:e},n,void 0)}function ne(e){const n=[];let t=e;for(;t;)n.push(t.field.field),t=t.parent;return n.reverse()}function te(e){return $(e.field)}function re(e,n){if(e.id===n.id)return"";const t=ne(e),r=ne(n);let o=0;for(;o<t.length&&o<r.length&&t[o]===r[o];)o++;const l=t.length-o,i=r.slice(o).join("/");return"../".repeat(l)+i}function oe(e,n){var t;return null==(t=e.tags)||null==(t=t.find(e=>e.startsWith(n)))?void 0:t.substring(n.length)}function le(e,n){return`${e}${n}`}function ie(e,n,t){switch(e.type){case L.Action:return n.action(e);case L.Data:return n.data(e);case L.Display:return n.display(e);case L.Group:return n.group(e);default:return t(e)}}function ae(e){return e.type===R.Grid}function ue(e){return e.type===R.SelectChild}function de(e){return e.type===R.Tabs}function ce(e){return e.type===R.Flex}function se(e){return e.type===k.DisplayOnly}function fe(e){return e.type===k.Textfield}function pe(e){return e.type===k.Autocomplete}function ye(e){return(null==e?void 0:e.type)===k.Autocomplete}function he(e){return(null==e?void 0:e.type)===k.Group}function ve(e){return e.type===k.Array}function me(e){return e.type===L.Data}function ge(e){return e.type===L.Group}function Ce(e){return e.type===L.Action}function be(e){return e.type===L.Display}function De(e){switch(null==e?void 0:e.type){case k.Radio:case k.CheckList:return!0;default:return!1}}!function(e){e.String="String",e.Bool="Bool",e.Int="Int",e.Date="Date",e.DateTime="DateTime",e.Time="Time",e.Double="Double",e.EntityRef="EntityRef",e.Compound="Compound",e.AutoId="AutoId",e.Image="Image",e.Any="Any"}(S||(S={})),function(e){e.NotEmpty="NotEmpty",e.MinLength="MinLength",e.MaxLength="MaxLength",e.NotAfterDate="NotAfterDate",e.NotBeforeDate="NotBeforeDate"}(A||(A={})),function(e){e.NoControl="_NoControl",e.HtmlEditor="_HtmlEditor",e.ControlGroup="_ControlGroup:",e.ControlRef="_ControlRef:",e.IdField="_IdField:"}(I||(I={})),function(e){e.Data="Data",e.Group="Group",e.Display="Display",e.Action="Action"}(L||(L={})),function(e){e.Visible="Visible",e.DefaultValue="DefaultValue",e.Readonly="Readonly",e.Disabled="Disabled",e.Display="Display",e.Style="Style",e.LayoutStyle="LayoutStyle",e.AllowedOptions="AllowedOptions",e.Label="Label",e.ActionData="ActionData"}(w||(w={})),function(e){e.ControlStart="ControlStart",e.ControlEnd="ControlEnd",e.LabelStart="LabelStart",e.LabelEnd="LabelEnd"}(V||(V={})),function(e){e.Tooltip="Tooltip",e.Accordion="Accordion",e.HelpText="HelpText",e.Icon="Icon",e.SetField="SetField",e.Optional="Optional"}(F||(F={})),function(e){e.Standard="Standard",e.Textfield="Textfield",e.Radio="Radio",e.HtmlEditor="HtmlEditor",e.IconList="IconList",e.CheckList="CheckList",e.UserSelection="UserSelection",e.Synchronised="Synchronised",e.IconSelector="IconSelector",e.DateTime="DateTime",e.Checkbox="Checkbox",e.Dropdown="Dropdown",e.DisplayOnly="DisplayOnly",e.Group="Group",e.NullToggle="NullToggle",e.Autocomplete="Autocomplete",e.Jsonata="Jsonata",e.Array="Array"}(k||(k={})),function(e){e.Camel="Camel",e.Snake="Snake",e.Pascal="Pascal"}(M||(M={})),function(e){e.Standard="Standard",e.Grid="Grid",e.Flex="Flex",e.Tabs="Tabs",e.GroupElement="GroupElement",e.SelectChild="SelectChild"}(R||(R={})),function(e){e.Text="Text",e.Html="Html",e.Icon="Icon",e.Custom="Custom"}(q||(q={}));class Ne{constructor(e,n,t,r,o){this.id=void 0,this.definition=void 0,this.tree=void 0,this.parent=void 0,this.overrideChildren=void 0,this.id=e,this.definition=n,this.tree=t,this.parent=r,this.overrideChildren=o,this.id=e,this.definition=n}getChildNodes(){var e,n;if(this.overrideChildren)return this.overrideChildren;let t=this.definition.children;if(this.definition.childRefId){const e=this.tree.controlMap[this.definition.childRefId];t=null==e?void 0:e.children}return null!=(e=null==(n=t)?void 0:n.map((e,n)=>new Ne(this.id+"/"+n,e,this.tree,this)))?e:[]}withOverrideChildren(e){return new Ne(this.id,this.definition,this.tree,this.parent,e.map(e=>xe(e,this.tree)))}}function xe(e,n,t,r){return new Ne(r?r.id+"/"+t:"",e,n,r)}function Te(e){return Se({$legacy:[e]}).getForm("$legacy").rootNode.getChildNodes()[0]}function Ee(e){var n,t;const r=null!=(n=null==(t=e.children)?void 0:t.flatMap(Ee))?n:[];return e.id?[[e.id,e],...r]:r}function Oe(e,n){const t={getForm:n,controlMap:Object.fromEntries(e.flatMap(Ee))};return t.rootNode=xe({children:e,type:L.Group},t),t}function Se(e){const n={getForm:function(e){return t[e]}},t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Oe(t,n)]));return n}function Ae(e){const n=ge(e)?e.compoundField:me(e)?e.field:void 0;return null==n?void 0:n.split("/")}function Ie(e,n){const t=Ae(e);return t?X(t,n):void 0}function Le(e,n,t){let r=[];for(;e&&(null==t||!t(e));)r.push(n(e)),e=e.parent;return r.reverse()}function we(e){for(;e.parent;)e=e.parent;return e}function Ve(e){return Le(e,e=>null==e.elementIndex?e.schema.field.field:e.elementIndex,e=>!e.parent)}function Fe(e){return Le(e,e=>e.field,e=>!e.parent)}function ke(e){return e.getChildNodes().map(e=>e.field)}function Me(e,n,t){if(e)for(const r of e){const e=Re(r,n,t);if(void 0!==e)return e}}function Re(e,n,t){if(n.control&&!n.control.isNull)return ie(e,{data:e=>r(e),group:e=>r(e),action:()=>{},display:()=>{}},()=>{});function r(e){const r=e.children,o=Ie(e,n);if(!o)return Me(r,n,t);const l=me(e)?e:void 0,i=l?t(l,o):void 0;if(void 0!==i)return i;const a=o.schema,u=$(a.field);if(a.field.collection){const e=o.control;let n=0;for(const i of null!=(d=e.elements)?d:[]){var d;const e=o.getChildElement(n),i=l?t(l,e):void 0;if(void 0!==i)return i;if(u){const n=Me(r,e,t);if(void 0!==n)return n}n++}}else if(u)return Me(r,o,t)}}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},qe.apply(null,arguments)}function Ge(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(n.includes(r))continue;t[r]=e[r]}return t}function je(e){return Object.entries(e).map(e=>e[1](e[0]))}function He(e,n){return $e(qe({type:S.String,displayName:e},n))}function Be(e,...n){return $e({type:S.String,displayName:e,options:n})}function Ue(e,n){return t=>qe({},n(t),e)}function $e(e){return n=>qe({},Xe(n,n),e)}function Je(e){return n=>qe({},Ze(n,n,!1),e)}function Pe(e,n){return $e(qe({type:S.Int,displayName:e},n))}function _e(e,n){return $e(qe({type:S.Double,displayName:e},n))}function We(e,n){return $e(qe({type:S.Date,displayName:e},n))}function Ye(e,n){return $e(qe({type:S.Time,displayName:e},n))}function ze(e,n){return $e(qe({type:S.DateTime,displayName:e},n))}function Ke(e,n){return $e(qe({type:S.Bool,displayName:e},n))}function Qe(e,n,t){return r=>qe({},Ze(r,e,!1),t,{children:n})}function Xe(e,n){return{field:e,displayName:n,type:S.String}}function Ze(e,n,t){return{field:e,displayName:n,type:S.Compound,collection:t,children:[]}}function en(e,n){const t=n.find(n=>n.field===e.field);return t?n.map(n=>n!==t?n:qe({},n,{onlyForTypes:r(n.onlyForTypes,e.onlyForTypes)})):[...n,e];function r(e,n){if(!e)return n;if(!n)return e;const t=n.filter(n=>!e.includes(n));return t.length?[...e,...t]:e}}function nn(e,n,t,r){const o=e.map(e=>e.isTypeField?tn(e,n,t):e);return r.map(e=>qe({},e,{onlyForTypes:[t]})).reduce((e,n)=>en(n,e),o)}function tn(e,n,t){var r;const o=null!=(r=e.options)?r:[];return o.some(e=>e.value===t)?e:qe({},e,{options:[...o,{name:n,value:t}]})}function rn(e){const n={};return Object.keys(e).forEach(function t(r){if(r in n)return n[r];const o=[];return n[r]=o,e[r].forEach(e=>{$(e)&&e.schemaRef?o.push(qe({},e,{children:t(e.schemaRef)})):o.push(e)}),o}),n}function on(e,n,t){if(!e)return an(n);if(t&&t.has(e))return e;null!=t||(t=new Set),t.add(e);const r=n.filter(n=>$(n)||!(n.field in e));if(!r.length)return e;const o=qe({},e);return r.forEach(r=>{o[r.field]=r.field in e?ln(e[r.field],r,n,!1,t):un(r)}),o}function ln(e,n,t,r,o){return n.collection&&!r?(null!=e?e:[]).map(e=>ln(e,n,t,!0,o)):$(n)?e||n.required?on(e,n.treeChildren?t:n.children,o):e:un(n)}function an(e){return Object.fromEntries(e.map(e=>[e.field,un(e)]))}function un(e,n){if(void 0!==e.defaultValue)return e.defaultValue;const t=!(!n&&!e.required);if($(e)){if(t){const n=an(e.children);return e.collection?[n]:n}return e.notNullable?e.collection?[]:{}:void 0}return e.collection&&e.notNullable?[]:void 0}function dn(e){return $(e)?an(e.children):e.defaultValue}function cn(e,n){return B(e,n)}function sn(e,n){return B(e,n)}function fn(e,n){var t;return Boolean(null==(t=e.tags)?void 0:t.includes(n))}function pn(e){var n;return null!=(n=e.displayName)?n:e.field}function yn(e){var n,t;return(null!=(n=null==(t=e.options)?void 0:t.length)?n:0)>0}function hn(e,n){if($(e)){const t=oe(e,I.ControlRef);return{type:L.Data,title:e.displayName,field:e.field,required:e.required,childRefId:t,children:n||t?void 0:e.children.filter(e=>!fn(e,I.NoControl)).map(e=>hn(e))}}if(U(e)){const n=fn(e,I.HtmlEditor);return{type:L.Data,title:e.displayName,field:e.field,required:e.required,renderOptions:{type:n?k.HtmlEditor:k.Standard}}}throw"Unknown schema field"}function vn(e,n){return me(n)&&e.field.field===n.field?[n]:ge(n)?n.compoundField===e.field.field?[n]:null!=(t=null==(r=n.children)?void 0:r.flatMap(n=>vn(e,n)))?t:[]:[];var t,r}function mn(e){return e.flatMap(e=>{var n;return ge(e)&&!e.compoundField?[e,...mn(null!=(n=e.children)?n:[])]:[]})}function gn(e,n){return Cn(ee(e),n)}function Cn(e,n){const t={},r={},o=n.map(n=>i(n,e));return l("",{schema:e,children:o}),o.forEach(function e(n){if(n.children.forEach(e),n.control.childRefId){const e=t[n.control.childRefId];if(e)return void e.children.forEach(e=>i(e.control,n.schema,n,!0));console.warn("Missing reference",n.control.childRefId)}}),e.getChildNodes().forEach(function e(n){if(!fn(n.field,I.NoControl)){if(!r[n.id]){const e=function(e){const n=[];let t=e.parent;for(;t&&(n.push(t.id),!t.field.collection);)t.parent||t.getChildNodes(!0).forEach(r),t=t.parent;return n;function r(e){te(e)&&!e.field.collection&&(n.push(e.id),e.getChildNodes(!0).forEach(r))}}(n),l=oe(n.field,I.ControlGroup);let a=l?t[l]:void 0;var o;if(!a&&l&&console.warn("No group '"+l+"' for "+n.id),a&&e.indexOf(a.schema.id)<0&&(console.warn(`Target group '${l}' is not an eligible parent for '${n.id}'`),a=void 0),!a&&e.length&&(a=null==(o=r[e[0]])?void 0:o[0]),a){const e=hn(n.field,!0);e.field=re(a.schema,n),a.children.push(i(e,a.schema,a))}else console.warn("Could not find a parent group for: "+n.id)}n.getChildNodes(!0).forEach(e)}}),o.map(function e(n){const t=n.children.length?n.children.map(e):null;return qe({},n.control,{children:t})});function l(e,n){r[e]||(r[e]=[]),r[e].push(n)}function i(e,n,r,o){var a,u;const d=Ae(e);let c=d?Z(d,n):void 0;ge(e)&&null==c&&(c=n);const s={schema:c,control:e,children:[],parent:r};return s.children=null!=(a=null==(u=e.children)?void 0:u.map(e=>{var t;return i(e,null!=(t=c)?t:n,s,o)}))?a:[],!o&&e.id&&(t[e.id]=s),c&&l(c.id,s),s}}function bn(e){const n=b(e);return n.current=e,n}function Dn(e){return me(e)&&!!e.readonly}function Nn(e){return me(e)&&!!e.disabled}function xn(e){return me(e)&&e.renderOptions&&se(e.renderOptions)?e.renderOptions:void 0}function Tn(e,n,t){if(!e)return e;const r=n.find(e=>e.isTypeField),o=r?e[r.field]:void 0,l=t?n:n.filter(e=>{var n,t;return $(e)||(null!=(n=null==(t=e.onlyForTypes)?void 0:t.length)?n:0)>0});if(!l.length)return e;const i=qe({},e);return l.forEach(r=>{var l;const a=e[r.field];if(!1===(null==(l=r.onlyForTypes)?void 0:l.includes(o))||!r.notNullable&&(t&&r.defaultValue===a||r.collection&&Array.isArray(a)&&!a.length))delete i[r.field];else if($(r)){const e=r.treeChildren?n:r.children;r.collection?Array.isArray(a)&&(i[r.field]=a.map(n=>Tn(n,e,t))):i[r.field]=Tn(a,e,t)}}),i}function En(e,n){var t,r;const o=null==(t=e.children)?void 0:t.flatMap(e=>En(e,n)),l=Mn(e),{entryWrapperClass:i,selectedClass:a,notSelectedClass:u}=me(e)&&De(e.renderOptions)?e.renderOptions:{},{listContainerClass:d,listEntryClass:c,chipContainerClass:s,chipCloseButtonClass:f}=me(e)&&ye(e.renderOptions)?e.renderOptions:{},p=T([e.styleClass,e.layoutClass,e.labelClass,...Object.values(l),...null!=(r=null==n?void 0:n(e))?r:[],i,a,u,d,c,s,f].map(An));return o&&!p?o:p?o?[p,...o]:[p]:[]}function On(e,n){let t="";return e.forEach((e,r)=>{var o;"number"==typeof e?t+=null!=(o=null==n?void 0:n(e))?o:"["+e+"]":(r>0&&(t+="."),t+=e)}),t}function Sn(e,n){if(Array.isArray(n)){let t=e;return n.forEach(e=>t=t.children[e]),t}return e.children[n]}function An(e){return e&&e.startsWith("@ ")?e.substring(2):e}function In(e,n){if(An(n)!==n)return n||void 0;const t=An(e);return t===e?T(e,n):t||void 0}function Ln(e,n,t,r,o){return[null==n||e>n?r:void 0,null==t||e<t?o:void 0]}function wn(e,n){if(!n)return;const t=n.split("/"),r=[];let o=0,l=e;for(;o<t.length&&l;){const e=B(l,t[o]);if(!e)return;r.push(e),l=$(e)&&!e.collection?e.children:void 0,o++}return r.length===t.length?r:void 0}function Vn(e,n,t=(e,n,t)=>null!=n?n:t){if(!e)return n;if(!n)return e;const r=qe({},e);for(const o in n)n.hasOwnProperty(o)&&(r[o]=t(o,e[o],n[o]));return r}function Fn(e){return null==e?"":"object"==typeof e?"error: "+JSON.stringify(e):e.toString()}function kn(e){return ge(e)?e.groupOptions:me(e)&&he(e.renderOptions)?e.renderOptions.groupOptions:void 0}function Mn(e){let n=kn(e);if(!n)return{};const{childLayoutClass:t,childStyleClass:r,childLabelClass:o}=n,l={};return t&&(l.layoutClass=t),r&&(l.styleClass=r),o&&(l.labelClass=o),l}function Rn(e){var n;return Boolean(null==(n=kn(e))?void 0:n.displayOnly)}function qn(...e){return(n,t,r)=>{for(let l=0;l<e.length;l++){var o;const i=null==(o=e[l])?void 0:o.call(e,n,t,r);if(i)return i}}}function Gn(e,t){const r=e.control,o=e.schema.field;if(r.dirty||t){if(r.isNull)return null;if(o.collection&&null==e.elementIndex){const t=oe(o,I.IdField);return r.as().elements.map((r,o)=>{var l;const i=Gn(e.getChildElement(o),void 0!==t);return null!=t?i:{old:null==(l=n(r))?void 0:l.initialIndex,edit:i}})}if($(o)){const n=e.schema.getChildNodes(),t=oe(o,I.IdField);return Object.fromEntries(n.flatMap(n=>{const r=Gn(e.getChild(n),t===n.field.field);return void 0!==r?[[n.field.field,r]]:[]}))}return r.value}}function jn(n){return t(n,"$nullToggler",()=>{const t=Hn(n),o=Bn(n),l=null!=n.current.value;n.disabled=!l;const i=e(l);return l||(n.value=null),a(),o.subscribe(a,r.Value),i.subscribe(()=>{const e=i.current.value;n.value=e?t.current.value:null,n.disabled=!e},r.Value),i;function a(){i.disabled=!1===o.current.value}})}function Hn(n){return t(n,"$lastDefined",()=>{const t=e(n.current.value);return n.subscribe(()=>{const e=n.current.value;null!=e&&(t.value=e)},r.Value),t})}function Bn(n){const o=Hn(n);return t(n,"$willEdit",()=>{const t=e(void 0);return t.subscribe(()=>{const e=t.current.value;void 0!==e&&(n.value=e?o.current.value:n.initialValue)},r.Value),t})}function Un(n){return t(n,"$allValues",()=>e([n.value]))}function $n(e,n){const t=e.control,r=e.schema.field;if(!t.isEqual(t.initialValue,n)&&!r.collection)if($(r)){if(null==n)return;e.schema.getChildNodes().forEach(t=>{$n(e.getChild(t),n[t.field.field])})}else Un(t).setValue(e=>e.every(e=>!t.isEqual(e,n))?[...e,n]:e)}function Jn(e,n){n.forEach((n,t)=>{0==t?e.control.setInitialValue(n):$n(e,n)});const t=[];return function e(n){const r=n.control,o=n.schema.field;if(!o.collection)if($(o)){if(null==r.value)return;n.schema.getChildNodes().forEach(t=>{e(n.getChild(t))})}else t.push(Bn(r)),Un(r).value.length>1&&(r.setInitialValue(void 0),Hn(r).value=null)}(e),()=>{let e=0,n=0;return t.forEach(t=>{const r=t.value;void 0!==r&&(e++,r&&n++)}),{editing:n,editable:e}}}function Pn(e,n,t){return qe({type:L.Data,field:e,title:n},t)}function _n(e){return n=>qe({type:e},n)}function Wn(e){return n=>qe({type:e},n)}function Yn(e){return n=>({renderOptions:qe({type:e},n)})}!function(e){e.Jsonata="Jsonata",e.Date="Date",e.Length="Length"}(G||(G={})),function(e){e.NotBefore="NotBefore",e.NotAfter="NotAfter"}(j||(j={})),function(e){e.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(H||(H={}));const zn=Yn(k.Autocomplete),Kn=Yn(k.CheckList),Qn=Yn(k.Radio),Xn=_n(G.Length),Zn=_n(G.Jsonata),et=_n(G.Date),nt=Wn(F.Accordion),tt=Yn(k.Textfield),rt=Yn(k.DisplayOnly),ot=Yn(k.Jsonata);function lt(e,n){return qe({type:L.Display,displayData:{type:q.Text,text:e}},n)}function it(e,n){return qe({type:L.Display,displayData:{type:q.Html,html:e}},n)}function at(e){return{type:w.DefaultValue,expr:e}}function ut(e){return{type:w.Readonly,expr:e}}function dt(e){return{type:w.Visible,expr:e}}function ct(e){return{type:w.Disabled,expr:e}}function st(e){return{type:H.Data,field:e}}function ft(e,n){return{type:H.DataMatch,field:e,value:n}}function pt(e){return{type:H.Jsonata,expression:e}}function yt(e,n,t){return qe({type:L.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function ht(e,n,t,r){return qe({type:L.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function vt(e,n,t){return qe({type:L.Action,title:e,actionId:n},t)}function mt(e,n,t,r){return qe({actionId:e,onClick:n,actionText:null!=t?t:e},r)}const gt={type:L.Group,children:[],groupOptions:{type:R.Standard,hideTitle:!0}};function Ct(e,n=gt){return D(()=>{var t;return qe({},n,{children:gn(e,null!=(t=n.children)?t:[])})},[e,n])}function bt(e,n){const t=qe({},e);return Object.entries(n).forEach(([e,n])=>{t[e]=(Array.isArray(n)?n:[n]).reduce((e,n)=>{var t;return nn(e,n.name,n.value,null!=(t=n.fields)?t:[])},t[e])}),t}function Dt(e,n){return rn(n.reduce(bt,e))}function Nt(e,n,t){return{deps:t,state:n,runHook:e}}function xt(e,n){return e.map(e=>Et(n(e))).join(",")}function Tt(e){const n=Object.entries(e),t=xt(n,e=>e[1].deps),r=b({}),o=r.current;return n.forEach(e=>o[e[0]]=e[1].state),N(e=>Object.fromEntries(n.map(([n,t])=>[n,t.runHook(e,r.current[n])])),[t])}function Et(e){return void 0===e?"_":null===e?"~":e.toString()}function Ot(e,n,t){return Jt(Rt(n,w.Visible,e),(e,{definition:n,overrideDataNode:t})=>l(()=>{const r=null!=t?t:e.dataNode;return!r||Gt(r)&&!jt(r,e.schemaInterface,n)}),{definition:n,overrideDataNode:t})}function St(e,n){return Jt(Rt(n,w.Readonly,e),(e,{definition:n})=>s(()=>Dn(n)),{definition:n})}function At(e,n,t){return Jt(qt(t,n,e),()=>o(void 0),void 0)}function It(e,n){return Jt(qt(n,w.AllowedOptions,e),()=>o([]),void 0)}function Lt(e,n){return Jt(Rt(n,w.Disabled,e),e=>l(()=>{var t,r;const o=null==(t=e.dataNode)?void 0:t.control;return!1===(null==o||null==(r=o.meta.nullControl)?void 0:r.value)||Nn(n)}),void 0)}function wt(e,n){return qt(n,w.Display,e)}function Vt(e,n){return Jt(qt(n,w.DefaultValue,e),(e,{definition:n})=>l(function(){var t;const[r,o]=me(n)?[n.required,n.defaultValue]:[!1,void 0],l=null==(t=e.dataNode)?void 0:t.schema.field;return null!=o?o:l?null!=e.dataNode.elementIndex?dn(l):un(l,r):void 0}),{definition:n})}function Ft(e,n,t){switch(e.type){case H.Jsonata:const r=l(()=>({formData:n.formData}));return Bt(e.expression,we(n.parentNode).control,Ve(n.parentNode),r,t);case H.UUID:return Ht(t);case H.Data:return function(e,n,t=e=>e){const r=Y(e.field,n);return s(()=>{var e;return t(null==(e=r.control)?void 0:e.value)})}(e,n.parentNode,t);case H.DataMatch:return function(e,n,t=e=>e){const r=Y(e.field,n);return s(()=>{var n;const o=null==(n=r.control)?void 0:n.value;return t(Array.isArray(o)?o.includes(e.value):o===e.value)})}(e,n.parentNode,t);case H.NotEmpty:return function(e,n,t,r=e=>e){const o=Y(e.field,n);return s(()=>{var e;const n=null==(e=o.control)?void 0:e.value,l=o.schema.field;return r(l&&!t.isEmptyValue(l,n))})}(e,n.parentNode,n.schemaInterface,t);default:return o(void 0)}}const kt=Mt(Ft);function Mt(e){return(n,t)=>({deps:null==n?void 0:n.type,state:n&&n.type?n:void 0,runHook:(n,r)=>r?e(r,n,t):void 0})}function Rt(e,n,t){return qt(e,n,t,e=>Boolean(e))}function qt(e,n,t,r=e=>e){var o;const l=null==(o=e.dynamic)?void 0:o.find(e=>e.type===n);return t(null==l?void 0:l.expr,r)}function Gt(e){const n=e.schema.field.onlyForTypes;if(null==n||0===n.length)return!0;const t=e.parent,r=t.schema.getChildNodes().find(e=>e.field.isTypeField);if(null==r)return!0;const o=t.getChild(r).control;return o&&n.includes(o.value)}function jt(e,n,t){var r;const o=xn(t);return o&&!o.emptyText&&n.isEmptyValue(e.schema.field,null==(r=e.control)?void 0:r.value)}function Ht(e=e=>e){return o(()=>e(O()))}function Bt(e,n,t,r,l=e=>e){const s=On(t,e=>`#$i[${e}]`),f=s?s+".("+e+")":e,p=D(()=>{try{return E(e?f:"null")}catch(e){return console.error(e),E("null")}},[f]),y=o(),h=b(),v=b(0),[m]=i(()=>new a(()=>{const e=h.current;e&&(h.current=void 0,u(()=>{h.current=e,e()}))}));return x(()=>{async function e(){const e=m.current;try{v.current++,y.value=l(await p.evaluate(d(n,e.collectUsage),c(e.collectUsage,()=>null==r?void 0:r.value)))}finally{--v.current||e.update()}}h.current=e,e()},[p]),x(()=>()=>{h.current=void 0,m.current.cleanup()},[]),y}function Ut(e,n){return Jt(qt(n,w.ActionData,e),()=>o(null),void 0)}function $t(e,n){return Jt(qt(n,w.Label,e),()=>o(null),void 0)}function Jt(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(Et).join(),runHook:(t,r)=>{var o,l;return null!=(o=null==(l=e.runHook(t,r[0]))?void 0:l.as())?o:n(t,r[1])},state:[e.state,t]}}function Pt(e,n=_t){var t;const r=me(e)?e:void 0,o=bn({dd:r,useValidatorFor:n}),l=r?xt(null!=(t=r.validators)?t:[],e=>e.type):"~";return N(e=>{var t,r,l;const{dd:i}=o.current;if(!i)return;const a=null!=(t=null==(r=e.dataContext.dataNode)?void 0:r.schema.field)?t:{field:"__missing",type:S.Any},{control:u,hiddenControl:d,dataContext:{schemaInterface:c}}=e;f(u,()=>u.setError("default","")),i.required&&p(u,e=>!d.value&&c.isEmptyValue(a,e)?c.validationMessageText(a,A.NotEmpty,!1,!0):null,"required"),null==(l=i.validators)||l.forEach((t,r)=>n(t,qe({},e,{index:r,field:a,definition:i})))},[!!r,null==r?void 0:r.required,l,n])}function _t(e,n){switch(e.type){case G.Length:Yt(e,n);break;case G.Jsonata:Wt(e,n);break;case G.Date:zt(e,n)}}function Wt(e,n){const t=n.dataContext.parentNode,r=Bt(e.expression,we(t).control,Ve(t),void 0,e=>null==e?null:"string"==typeof e?e:JSON.stringify(e));p(n.control,()=>n.hiddenControl.value?null:r.value,"jsonata"+n.index)}function Yt(e,n){const{control:t,dataContext:{schemaInterface:r},hiddenControl:o,field:l}=n;p(t,n=>{const i=r.controlLength(l,t);if(!o.value)if(null!=e.min&&i<e.min){if(null==l||!l.collection)return r.validationMessageText(l,A.MinLength,i,e.min);t.setValue(n=>Array.isArray(n)?n.concat(Array.from({length:e.min-n.length})):Array.from({length:e.min}))}else if(null!=e.max&&i>e.max)return r.validationMessageText(l,A.MaxLength,i,e.max)},"length"+n.index)}function zt(e,n){const{control:t,field:r,index:o,dataContext:{schemaInterface:l}}=n;let i;if(e.fixedDate)i=l.parseToMillis(r,e.fixedDate);else{const n=new Date;i=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()),e.daysFromCurrent&&(i+=864e5*e.daysFromCurrent)}p(t,n=>{if(n){const t=l.parseToMillis(r,n),o=e.comparison===j.NotAfter;if(o?t>i:t<i)return l.validationMessageText(r,o?A.NotAfterDate:A.NotBeforeDate,t,i)}return null},"date"+o)}class Kt{constructor(e=["No","Yes"],n=e=>Date.parse(e)){this.boolStrings=void 0,this.parseDateTime=void 0,this.boolStrings=e,this.parseDateTime=n}parseToMillis(e,n){return this.parseDateTime(n)}validationMessageText(e,n,t,r){switch(n){case A.NotEmpty:return"Please enter a value";case A.MinLength:return"Length must be at least "+r;case A.MaxLength:return"Length must be less than "+r;case A.NotBeforeDate:return`Date must not be before ${new Date(r).toDateString()}`;case A.NotAfterDate:return`Date must not be after ${new Date(r).toDateString()}`;default:return"Unknown error"}}getDataOptions(e){return this.getNodeOptions(e.schema)}getNodeOptions(e){return this.getOptions(e.field)}getOptions({options:e}){return e&&e.length>0?e:null}getFilterOptions(e,n){return this.getNodeOptions(n)}isEmptyValue(e,n){if(e.collection)return Array.isArray(n)?0===n.length:null==n;switch(e.type){case S.String:case S.DateTime:case S.Date:case S.Time:return!n;default:return null==n}}searchText(e,n){var t,r;return null!=(t=null==(r=this.textValue(e,n))?void 0:r.toLowerCase())?t:""}textValue(e,n,t){const r=this.getOptions(e),o=null==r?void 0:r.find(e=>e.value===n);if(o)return o.name;switch(e.type){case S.Date:return n?new Date(n).toLocaleDateString():void 0;case S.DateTime:return n?new Date(this.parseToMillis(e,n)).toLocaleString():void 0;case S.Time:return n?new Date("1970-01-01T"+n).toLocaleTimeString():void 0;case S.Bool:return this.boolStrings[n?1:0];default:return null!=n?n.toString():void 0}}controlLength(e,n){var t,r;return e.collection?null!=(t=null==(r=n.elements)?void 0:r.length)?t:0:this.valueLength(e,n.value)}valueLength(e,n){var t;return null!=(t=n&&(null==n?void 0:n.length))?t:0}compareValue(e,n,t){if(null==n)return null==t?0:1;if(null==t)return-1;switch(e.type){case S.Date:case S.DateTime:case S.Time:case S.String:return n.localeCompare(t);case S.Bool:return n?t?0:1:-1;case S.Int:case S.Double:return n-t;default:return 0}}compoundFieldSetup(e){return e.getChildNodes().map(e=>{const{field:n}=e.field;return[n,this.makeControlSetup(e)]})}compoundFieldEquality(e){return e.getChildNodes().map(e=>{const{field:n}=e.field;return[n,(t,r)=>this.makeEqualityFunc(e)(t[n],r[n])]})}makeEqualityFunc(e,n){if(e.field.collection&&!n){const n=this.makeEqualityFunc(e,!0);return(e,t)=>{if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}}if(e.field.type===S.Compound){const n=this.compoundFieldEquality(e);return(e,t)=>e===t||null!=e&&null!=t&&n.every(n=>n[1](e,t))}return(e,n)=>e===n}makeControlSetup(e,n){let t={equals:this.makeEqualityFunc(e,n)};return e.field.collection&&!n?(t.elems=this.makeControlSetup(e,!0),t):(e.field.type===S.Compound&&(t.fields=Object.fromEntries(this.compoundFieldSetup(e))),t)}}const Qt=new Kt,Xt=["parentDataNode"],Zt=["definition","control","formOptions","style","allowedOptions","schemaInterface","styleClass"],er=0,nr=1e3;var tr;function rr(e,n,t,r={}){const o=bn({definition:e,fields:n,renderer:t,options:r});return N(({control:e,parentPath:n})=>C.createElement(lr,qe({},o.current,{control:e,parentPath:n})),[o])}function or(n,t,r={},i){var a,u,c;const[s,f]=n instanceof Ne?[n.definition,n]:[n,Te(n)],p=null!=(a=null==r.useDataHook?void 0:r.useDataHook(s))?a:ar,v=r.elementIndex,m=null!=(u=r.schemaInterface)?u:Qt,g=null!=(c=r.useEvalExpressionHook)?c:kt;let b;b=null!=v?i.getChildElement(v):Ie(s,i);const D=Pt(s,r.useValidationHook),T=Tt({defaultValueControl:Vt(g,s),visibleControl:Ot(g,s),readonlyControl:St(g,s),disabledControl:Lt(g,s),allowedOptions:It(g,s),labelText:$t(g,s),actionData:Ut(g,s),customStyle:At(g,w.Style,s),layoutStyle:At(g,w.LayoutStyle,s),displayControl:wt(g,s)}),E=bn({options:r,definition:s,elementIndex:v,parentDataNode:i,dataNode:b,formNode:f}),O=N(()=>{const n=y();try{var r,a,u,c,f;const{definition:n,options:y,elementIndex:v,parentDataNode:N,dataNode:O,formNode:S}=E.current,A=null!=(r=y.formData)?r:{},I={schemaInterface:m,dataNode:O,parentNode:N,formData:A},{readonlyControl:L,disabledControl:w,visibleControl:V,displayControl:M,layoutStyle:R,labelText:q,customStyle:G,allowedOptions:j,defaultValueControl:H,actionData:B}=T(I),U=V.current.value,$=o(()=>null!=U?{visible:U,showing:U}:void 0);h(()=>V.value,e=>{null!=e&&$.setValue(n=>({visible:e,showing:n?n.showing:e}))});const J=i.control,P=null==(a=b)?void 0:a.control;h(()=>{var e,n;return[$.value,H.value,null==P?void 0:P.isNull,me(s)&&s.dontClearHidden,(null==(e=s.adornments)?void 0:e.some(e=>e.type===F.Optional))||me(s)&&(null==(n=s.renderOptions)?void 0:n.type)==k.NullToggle,J.isNull,y.hidden,L.value]},([e,n,t,r,o,l,i,a])=>{a||(P?e&&e.visible===e.showing&&(i||!e.visible?P.setValue(e=>y.clearHidden&&!r?void 0:null==e&&r&&!o?n:e):o||P.setValue(e=>null!=e?e:n)):l&&J.setValue(e=>null!=e?e:{}))},!0);const _=l(()=>{var e;return{hidden:y.hidden||!(null!=(e=$.fields)&&e.showing.value),readonly:y.readonly||L.value,disabled:y.disabled||w.value,displayOnly:y.displayOnly||Rn(n)}}),W=d(_);D({control:null!=P?P:e(null),hiddenControl:_.fields.hidden,dataContext:I});const Y=qe({},y,W,{elementIndex:void 0,formData:A});if(x(()=>{P&&"boolean"==typeof W.disabled&&P.disabled!=W.disabled&&(P.disabled=W.disabled)},[P,W.disabled]),J.isNull)return C.createElement(C.Fragment,null);const z=null!=(u=null==(c=s.adornments)?void 0:c.map(e=>t.renderAdornment({adornment:e,dataContext:I,useExpr:g,formOptions:W})))?u:[],K=ur({formNode:S,definition:n,renderer:t,renderChild:(e,r,o)=>{var l;const i=Mn(n),a=null!=o?o:{},{parentDataNode:u}=a,d=Ge(a,Xt),c=null!=(l=null!=u?u:I.dataNode)?l:I.parentNode;return C.createElement(ir,{key:e,definition:r,renderer:t,parentDataNode:c,options:qe({},Y,i,d)})},createDataProps:p,formOptions:W,dataContext:I,control:null!=M?M:P,elementIndex:v,schemaInterface:m,labelText:q,displayControl:M,style:G.value,allowedOptions:j,customDisplay:y.customDisplay,actionDataControl:B,actionOnClick:y.actionOnClick,styleClass:y.styleClass,labelClass:y.labelClass,useEvalExpression:g,useChildVisibility:(e,n,t)=>{var r;return Ot(g,e,t?void 0:Ie(e,null!=(r=null!=n?n:b)?r:i))}}),Q=qe({},K,{adornments:z,className:In(y.layoutClass,n.layoutClass),style:R.value}),X=t.renderLayout(null!=(f=null==y.adjustLayout?void 0:y.adjustLayout(I,Q))?f:Q);return t.renderVisibility(qe({visibility:$},X))}finally{n()}},[E,p,D,t,m,T]);return O.displayName="RenderControl",O}function lr({definition:e,fields:n,renderer:t,options:r,control:o}){const l=or(e,t,r,W(_({"":n}).getSchema(""),o));return C.createElement(l,null)}function ir({definition:e,renderer:n,options:t,parentDataNode:r}){const o=or(e,n,t,r);return C.createElement(o,null)}function ar(e){var n,t;let{definition:r,control:o,formOptions:l,style:i,allowedOptions:a,schemaInterface:u=Qt,styleClass:d}=e,c=Ge(e,Zt);const s=c.dataContext.dataNode,f=s.schema.field,p=In(d,r.styleClass),y=!!l.displayOnly,h=!!r.required&&!y,v=u.getDataOptions(s),m=null!=(n=null==a?void 0:a.value)?n:[],g=Array.isArray(m)?m:[m];return qe({dataNode:s,definition:r,control:o,field:f,id:"c"+o.uniqueId,options:g.length>0?g.map(e=>{var n;return"object"==typeof e?e:null!=(n=null==v?void 0:v.find(n=>n.value==e))?n:{name:e.toString(),value:e}}).filter(e=>null!=e):v,readonly:!!l.readonly,displayOnly:y,renderOptions:null!=(t=r.renderOptions)?t:{type:"Standard"},required:h,hidden:!!l.hidden,className:p,style:i},c)}function ur(e){const{definition:n,renderer:t,renderChild:r,control:o,dataContext:l,createDataProps:i,displayControl:a,style:u,labelText:d,useChildVisibility:c,designMode:s,customDisplay:f,useEvalExpression:p,labelClass:y,styleClass:h,formNode:v}=e;if(me(n))return S(n);var m,g,C,b;if(ge(n))return n.compoundField?S(Pn(n.compoundField,n.title,{children:n.children,hideTitle:null==(b=n.groupOptions)?void 0:b.hideTitle})):{processLayout:t.renderGroup({formNode:v,definition:n,renderChild:r,useEvalExpression:p,dataContext:l,renderOptions:null!=(m=n.groupOptions)?m:{type:"Standard"},className:In(h,n.styleClass),useChildVisibility:c,style:u,designMode:s}),label:{label:null!=(g=null==d?void 0:d.value)?g:n.title,className:In(y,n.labelClass),type:tr.Group,hide:null==(C=n.groupOptions)?void 0:C.hideTitle}};if(Ce(n)){var D,N,x,T,E;const r=null!=(D=null==(N=e.actionDataControl)?void 0:N.value)?D:n.actionData;return{children:t.renderAction({actionText:null!=(x=null!=(T=null==d?void 0:d.value)?T:n.title)?x:n.actionId,actionId:n.actionId,actionData:r,onClick:null!=(E=null==e.actionOnClick?void 0:e.actionOnClick(n.actionId,r,l))?E:()=>{},className:In(h,n.styleClass),style:u})}}if(be(n)){var O;const e=null!=(O=n.displayData)?O:{},r={data:e,className:In(h,n.styleClass),style:u,display:a,dataContext:l};return e.type===q.Custom&&f?{children:f(e.customId,r)}:{children:t.renderDisplay(r)}}return{};function S(n){var r,l,a;if(!o)return{children:"No control for: "+n.field};const u=i(e),c=n.hideTitle?void 0:vr(null!=(r=null==d?void 0:d.value)?r:n.title,e.dataContext.dataNode.schema.field);return{processLayout:t.renderData(u),label:{type:(null!=(l=null==(a=n.children)?void 0:a.length)?l:0)>0?tr.Group:tr.Control,label:c,forId:u.id,required:n.required&&!e.formOptions.displayOnly,hide:n.hideTitle,className:In(y,n.labelClass)},errorControl:o}}}function dr(e,n){return t=>t[e]=C.createElement(C.Fragment,null,t[e],n)}function cr(e,n){return t=>t[e]=n(t[e])}function sr(e){switch(e){case V.ControlEnd:return"controlEnd";case V.ControlStart:return"controlStart";case V.LabelStart:return"labelStart";case V.LabelEnd:return"labelEnd"}}function fr(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function pr(e,n){return dr(sr(e),n)}function yr(e,n){return cr(sr(e),n)}function hr(e,n){var t;const{className:r,children:o,style:l,errorControl:i,label:a,adornments:u}=null!=(t=null==e.processLayout?void 0:e.processLayout(e))?t:e,d={children:o,errorControl:i,style:l,className:r,wrapLayout:e=>e};return(null!=u?u:[]).sort((e,n)=>e.priority-n.priority).forEach(e=>e.apply(d)),d.label=a&&!a.hide?n.renderLabel(a,d.labelStart,d.labelEnd):void 0,d}function vr(e,n){return e||pn(n)}function mr(e){var n;const t=null==(n=e.validators)?void 0:n.find(e=>e.type===G.Length);return{min:null==t?void 0:t.min,max:null==t?void 0:t.max}}function gr(e,n,t){var r;const o=null!=(r=n.displayName)?r:n.field,{addText:l,noAdd:i,removeText:a,noRemove:u,removeActionId:d,addActionId:c,disabled:s,readonly:f,designMode:p}=null!=t?t:{};return{arrayControl:e,addAction:f||i?void 0:{actionId:c||"add",actionText:l||"Add "+o,onClick:()=>!p&&v(e,dn(n)),disabled:s},removeAction:f||u?void 0:n=>({actionId:d||"remove",actionText:a||"Remove",onClick:()=>!p&&m(e,n),disabled:s})}}function Cr({arrayControl:e,min:n,max:t,addAction:r,removeAction:o,required:l},i){var a,u;const[d,c]=Ln(null!=(a=null==(u=e.elements)?void 0:u.length)?a:0,null==n&&l?1:n,t,!0,!0);return{addAction:i||c?r:void 0,removeAction:i||d?o:void 0,removeDisabled:!d,addDisabled:!c}}function br(e){return(n,t,r)=>C.createElement(g,{array:e.formNode.getChildNodes()},(t,o)=>e.renderChild(o,t,{parentDataNode:e.dataContext.parentNode,formData:{option:n,optionSelected:r}}))}function Dr(e){return e.type===F.Icon}function Nr(e){return e.type===F.Accordion}function xr(e){return e.type===F.SetField}function Tr(e){return e.type===F.Optional}function Er(e,n){return qe({type:"layout",render:e},n)}function Or(e,n,t){return qe({type:"action",actionType:e,render:n},t)}function Sr(e,n){return qe({type:"array",render:e},n)}function Ar(e,n){return qe({type:"data",render:e},n)}function Ir(e,n){return qe({type:"group",render:e},n)}function Lr(e,n){return qe({type:"display",render:e},n)}function wr(e,n){return qe({type:"label",render:e},n)}function Vr(e,n){return qe({type:"visibility",render:e},n)}function Fr(e,n){return qe({type:"adornment"},n,{render:e})}function kr(e=[],n){var t;const r=e.filter(qr),o=e.filter(Gr),l=e.filter(Rr),i=e.filter($r),a=e.filter(jr),u=e.filter(Jr),d=e.filter(Ur),c=e.filter(Hr),s={renderAction:function(e){var t;return(null!=(t=d.find(n=>Mr(n.actionType,e.actionId)))?t:n.action).render(e,s)},renderData:function(e){var t;const{renderOptions:{type:o},field:l}=e,i=yn(e),a=(null!=(t=r.find(n=>{var t,r,a;return(null!=(t=n.collection)&&t)===(null==e.elementIndex&&null!=(r=l.collection)&&r)&&(null!=(a=n.options)&&a)===i&&(n.schemaType&&o==k.Standard&&Mr(n.schemaType,l.type)||n.renderType&&Mr(n.renderType,o)||n.match&&n.match(e))}))?t:n.data).render(e,s);return"function"==typeof a?a:e=>qe({},e,{children:a})},renderGroup:function(e){var t;const r=e.renderOptions.type,l=(null!=(t=o.find(e=>Mr(e.renderType,r)))?t:n.group).render(e,s);return"function"==typeof l?l:e=>qe({},e,{children:l})},renderDisplay:function(e){var t;const r=e.data.type;return(null!=(t=i.find(e=>Mr(e.renderType,r)))?t:n.display).render(e,s)},renderLabel:f,renderArray:function(e){var t;return(null!=(t=u[0])?t:n.array).render(e,s)},renderAdornment:function(e){var t;return(null!=(t=l.find(n=>Mr(n.adornmentType,e.adornment.type)))?t:n.adornment).render(e,s)},renderLayout:function(e){var t;return(null!=(t=c.find(n=>!n.match||n.match(e)))?t:n.renderLayout).render(e,s)},renderVisibility:(null!=(t=e.find(Br))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:tr.Text},void 0,void 0)}};function f(e,t,r){var o;return(null!=(o=a.find(n=>Mr(n.labelType,e.type)))?o:n.label).render(e,t,r,s)}return s}function Mr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function Rr(e){return"adornment"===e.type}function qr(e){return"data"===e.type}function Gr(e){return"group"===e.type}function jr(e){return"label"===e.type}function Hr(e){return"layout"===e.type}function Br(e){return"visibility"===e.type}function Ur(e){return"action"===e.type}function $r(e){return"display"===e.type}function Jr(e){return"array"===e.type}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(tr||(tr={}));export{V as AdornmentPlacement,er as AppendAdornmentPriority,F as ControlAdornmentType,L as ControlDefinitionType,lr as ControlRenderer,k as DataRenderType,j as DateComparison,Kt as DefaultSchemaInterface,q as DisplayDataType,w as DynamicPropertyType,H as ExpressionType,S as FieldType,Ne as FormNode,R as GroupRenderType,tr as LabelType,ir as NewControlRenderer,I as SchemaTags,M as SyncTextType,A as ValidationMessageType,G as ValidatorType,nr as WrapAdornmentPriority,nt as accordionOptions,vt as actionControl,qn as actionHandlers,tn as addFieldOption,gn as addMissingControls,Cn as addMissingControlsForSchema,Wn as adornmentOptions,dr as appendMarkup,pr as appendMarkupAt,Cr as applyArrayLengthRestrictions,ln as applyDefaultForField,on as applyDefaultValues,bt as applyExtensionToSchema,Dt as applyExtensionsToSchema,Ln as applyLengthRestrictions,$n as applyValues,zn as autocompleteOptions,Ke as boolField,je as buildSchema,Kn as checkListOptions,Tn as cleanDataForSchema,Fn as coerceToString,Jn as collectDifferences,ht as compoundControl,Qe as compoundField,vr as controlTitle,mt as createAction,Or as createActionRenderer,Fr as createAdornmentRenderer,gr as createArrayActions,Sr as createArrayRenderer,Ar as createDataRenderer,Lr as createDisplayRenderer,Se as createFormLookup,kr as createFormRenderer,Ir as createGroupRenderer,wr as createLabelRenderer,Er as createLayoutRenderer,_ as createSchemaLookup,Vr as createVisibilityRenderer,Pn as dataControl,We as dateField,ze as dateTimeField,et as dateValidatorOptions,Ze as defaultCompoundField,hn as defaultControlForField,ar as defaultDataProps,Ft as defaultEvalHooks,Xe as defaultScalarField,Qt as defaultSchemaInterface,kt as defaultUseEvalExpressionHook,un as defaultValueForField,an as defaultValueForFields,rt as displayOnlyOptions,_e as doubleField,at as dynamicDefaultValue,ct as dynamicDisabled,ut as dynamicReadonly,dt as dynamicVisibility,dn as elementValueForField,gt as emptyGroupDefinition,pn as fieldDisplayName,ft as fieldEqExpr,st as fieldExpr,fn as fieldHasTag,br as fieldOptionAdornment,Ae as fieldPathForDefinition,Sn as findChildDefinition,sn as findCompoundField,vn as findControlsForCompound,B as findField,wn as findFieldPath,mn as findNonDataGroups,cn as findScalarField,En as getAllReferencedClasses,Un as getAllValues,Gn as getDiffObject,xn as getDisplayOnlyOptions,Mn as getGroupClassOverrides,kn as getGroupRendererOptions,Bn as getIsEditing,Ve as getJsonPath,Hn as getLastDefinedValue,mr as getLengthRestrictions,jn as getNullToggler,An as getOverrideClass,we as getRootDataNode,ke as getSchemaFieldList,ne as getSchemaNodePath,Fe as getSchemaPath,oe as getTagParam,yt as groupedControl,yn as hasOptions,jt as hideDisplayOnly,it as htmlDisplayControl,Pe as intField,Nr as isAccordionAdornment,Ce as isActionControl,ve as isArrayRenderer,ye as isAutoCompleteClasses,pe as isAutocompleteRenderer,De as isCheckEntryClasses,$ as isCompoundField,te as isCompoundNode,Nn as isControlDisabled,Rn as isControlDisplayOnly,Dn as isControlReadonly,me as isDataControl,he as isDataGroupRenderer,be as isDisplayControl,se as isDisplayOnlyRenderer,ce as isFlexRenderer,ae as isGridRenderer,ge as isGroupControl,Dr as isIconAdornment,Tr as isOptionalAdornment,U as isScalarField,ue as isSelectChildRenderer,xr as isSetFieldAdornment,de as isTabsRenderer,fe as isTextfieldRenderer,On as jsonPathString,pt as jsonataExpr,ot as jsonataOptions,Zn as jsonataValidatorOptions,sr as layoutKeyForPlacement,Te as legacyFormNode,Xn as lengthValidatorOptions,Ie as lookupDataNode,Je as makeCompoundField,Mt as makeEvalExpressionHook,Nt as makeHook,xt as makeHookDepString,le as makeParamTag,$e as makeScalarField,W as makeSchemaDataNode,Gt as matchesType,en as mergeField,nn as mergeFields,Vn as mergeObjects,xe as nodeForControl,Qn as radioButtonOptions,re as relativePath,ur as renderControlLayout,hr as renderLayoutParts,Yn as renderOptionsFor,In as rendererClass,rn as resolveSchemas,ee as rootSchemaNode,X as schemaDataForFieldPath,Y as schemaDataForFieldRef,Z as schemaForFieldPath,z as schemaForFieldRef,He as stringField,Be as stringOptionsField,lt as textDisplayControl,tt as textfieldOptions,Ye as timeField,Et as toDepString,Q as traverseData,Le as traverseParents,K as traverseSchemaPath,Ct as useControlDefinitionForSchema,rr as useControlRenderer,or as useControlRendererComponent,zt as useDateValidator,Tt as useDynamicHooks,Ut as useEvalActionHook,It as useEvalAllowedOptionsHook,Vt as useEvalDefaultValueHook,Lt as useEvalDisabledHook,wt as useEvalDisplayHook,Rt as useEvalDynamicBoolHook,qt as useEvalDynamicHook,$t as useEvalLabelText,St as useEvalReadonlyHook,At as useEvalStyleHook,Ot as useEvalVisibilityHook,Bt as useJsonataExpression,Wt as useJsonataValidator,Yt as useLengthValidator,Pt as useMakeValidationHook,bn as useUpdatedRef,Ht as useUuidExpression,_n as validatorOptions,Re as visitControlData,Me as visitControlDataArray,ie as visitControlDefinition,Ue as withScalarOptions,fr as wrapLayout,cr as wrapMarkup,yr as wrapMarkupAt};
1
+ import{newControl as e,getElementIndex as n,ensureMetaValue as t,ControlChange as r,useControl as o,useComputed as l,useRefState as i,SubscriptionTracker as a,addAfterChangesCallback as u,trackedValue as d,collectChanges as c,useCalculatedControl as s,useValueChangeEffect as f,useValidator as p,useComponentTracking as y,useControlEffect as h,removeElement as v,RenderArrayElements as m,addElement as g}from"@react-typed-forms/core";import C,{useRef as b,useMemo as D,useCallback as N,useEffect as x}from"react";import T from"clsx";import E from"jsonata";import{v4 as O}from"uuid";var S,A,I,L,w,V,F,k,M,R,q,G,j,H;function B(e,n){return e.find(e=>e.field===n)}function U(e){return!$(e)}function $(e){return e.type===S.Compound}function J(e){return{field:"__missing",type:S.Any,displayName:e}}function P(e,n,t){const r={id:t?t.id+"/"+e.field:e.field,field:e,getSchema:n.getSchema,parent:t,getChildNode:function(t){if($(e)&&!e.schemaRef&&!e.treeChildren){const o=e.children.find(e=>e.field===t);return o?P(o,n,r):void 0}return o(!1,r).find(e=>e.field.field===t)},getChildNodes:o};return r;function o(o,l){if($(e)){if(e.treeChildren)return o?[]:t.getChildNodes(!1,null!=l?l:r);const i=e.schemaRef&&n.getSchema(e.schemaRef);return i?i.getChildNodes(!1,null!=l?l:r):e.children.map(e=>P(e,n,null!=l?l:r))}return[]}}function _(e){const n={getSchema:function(t){const r=e[t];if(r)return ee(r,n)}};return n}function W(e,n,t,r){const o={id:(t?t.id+"/"+e.field.field:e.field.field)+("number"==typeof r?"/"+r:""),schema:e,control:n,parent:t,elementIndex:r,getChild:function(e){const t=n;return t&&t.current.isNull&&(t.value={}),W(e,null==t?void 0:t.fields[e.field.field],o)},getChildElement:function(t){var r;return W(e,null==n||null==(r=n.elements)?void 0:r[t],o,t)}};return o}function Y(e,n){var t;return X(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function z(e,n){var t;return Z(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function K(e,n,t,r){let o=0;for(;o<e.length;){const l=e[o];let i=".."===l?n.parent:n.getChildNode(l);i||(i=P(J(l),n,n)),t=r(t,i),n=i,o++}return t}function Q(e,n,t){return K(e,n,t,(e,n)=>null==e?void 0:e[n.field.field])}function X(n,t){let r=0;for(;r<n.length;){const l=n[r];let i=".."===l?t.parent:o(l);null!=i||(i=W(P(J(l),t.schema,t.schema),e(void 0))),t=i,r++}return t;function o(e){const n=t.schema.getChildNode(e);if(n)return t.getChild(n)}}function Z(e,n){let t=0;for(;t<e.length;){const r=e[t];let o=".."===r?n.parent:n.getChildNode(r);o||(o=P(J(r),n,n)),n=o,t++}return n}function ee(e,n={getSchema(e){}}){return P({type:S.Compound,field:"",children:e},n,void 0)}function ne(e){const n=[];let t=e;for(;t;)n.push(t.field.field),t=t.parent;return n.reverse()}function te(e){return $(e.field)}function re(e,n){if(e.id===n.id)return"";const t=ne(e),r=ne(n);let o=0;for(;o<t.length&&o<r.length&&t[o]===r[o];)o++;const l=t.length-o,i=r.slice(o).join("/");return"../".repeat(l)+i}function oe(e,n){var t;return null==(t=e.tags)||null==(t=t.find(e=>e.startsWith(n)))?void 0:t.substring(n.length)}function le(e,n){return`${e}${n}`}function ie(e,n,t){switch(e.type){case L.Action:return n.action(e);case L.Data:return n.data(e);case L.Display:return n.display(e);case L.Group:return n.group(e);default:return t(e)}}function ae(e){return e.type===R.Grid}function ue(e){return e.type===R.SelectChild}function de(e){return e.type===R.Tabs}function ce(e){return e.type===R.Flex}function se(e){return e.type===k.DisplayOnly}function fe(e){return e.type===k.Textfield}function pe(e){return e.type===k.Autocomplete}function ye(e){return(null==e?void 0:e.type)===k.Autocomplete}function he(e){return(null==e?void 0:e.type)===k.Group}function ve(e){return e.type===k.Array}function me(e){return e.type===L.Data}function ge(e){return e.type===L.Group}function Ce(e){return e.type===L.Action}function be(e){return e.type===L.Display}function De(e){switch(null==e?void 0:e.type){case k.Radio:case k.CheckList:return!0;default:return!1}}!function(e){e.String="String",e.Bool="Bool",e.Int="Int",e.Date="Date",e.DateTime="DateTime",e.Time="Time",e.Double="Double",e.EntityRef="EntityRef",e.Compound="Compound",e.AutoId="AutoId",e.Image="Image",e.Any="Any"}(S||(S={})),function(e){e.NotEmpty="NotEmpty",e.MinLength="MinLength",e.MaxLength="MaxLength",e.NotAfterDate="NotAfterDate",e.NotBeforeDate="NotBeforeDate"}(A||(A={})),function(e){e.NoControl="_NoControl",e.HtmlEditor="_HtmlEditor",e.ControlGroup="_ControlGroup:",e.ControlRef="_ControlRef:",e.IdField="_IdField:"}(I||(I={})),function(e){e.Data="Data",e.Group="Group",e.Display="Display",e.Action="Action"}(L||(L={})),function(e){e.Visible="Visible",e.DefaultValue="DefaultValue",e.Readonly="Readonly",e.Disabled="Disabled",e.Display="Display",e.Style="Style",e.LayoutStyle="LayoutStyle",e.AllowedOptions="AllowedOptions",e.Label="Label",e.ActionData="ActionData"}(w||(w={})),function(e){e.ControlStart="ControlStart",e.ControlEnd="ControlEnd",e.LabelStart="LabelStart",e.LabelEnd="LabelEnd"}(V||(V={})),function(e){e.Tooltip="Tooltip",e.Accordion="Accordion",e.HelpText="HelpText",e.Icon="Icon",e.SetField="SetField",e.Optional="Optional"}(F||(F={})),function(e){e.Standard="Standard",e.Textfield="Textfield",e.Radio="Radio",e.HtmlEditor="HtmlEditor",e.IconList="IconList",e.CheckList="CheckList",e.UserSelection="UserSelection",e.Synchronised="Synchronised",e.IconSelector="IconSelector",e.DateTime="DateTime",e.Checkbox="Checkbox",e.Dropdown="Dropdown",e.DisplayOnly="DisplayOnly",e.Group="Group",e.NullToggle="NullToggle",e.Autocomplete="Autocomplete",e.Jsonata="Jsonata",e.Array="Array",e.ArrayElement="ArrayElement"}(k||(k={})),function(e){e.Camel="Camel",e.Snake="Snake",e.Pascal="Pascal"}(M||(M={})),function(e){e.Standard="Standard",e.Grid="Grid",e.Flex="Flex",e.Tabs="Tabs",e.GroupElement="GroupElement",e.SelectChild="SelectChild"}(R||(R={})),function(e){e.Text="Text",e.Html="Html",e.Icon="Icon",e.Custom="Custom"}(q||(q={}));class Ne{constructor(e,n,t,r,o){this.id=void 0,this.definition=void 0,this.tree=void 0,this.parent=void 0,this.overrideChildren=void 0,this.id=e,this.definition=n,this.tree=t,this.parent=r,this.overrideChildren=o,this.id=e,this.definition=n}getChildNodes(){var e,n;if(this.overrideChildren)return this.overrideChildren;let t=this.definition.children;if(this.definition.childRefId){const e=this.tree.controlMap[this.definition.childRefId];t=null==e?void 0:e.children}return null!=(e=null==(n=t)?void 0:n.map((e,n)=>new Ne(this.id+"/"+n,e,this.tree,this)))?e:[]}withOverrideChildren(e){return new Ne(this.id,this.definition,this.tree,this.parent,e.map(e=>xe(e,this.tree)))}}function xe(e,n,t,r){return new Ne(r?r.id+"/"+t:"",e,n,r)}function Te(e){return Se({$legacy:[e]}).getForm("$legacy").rootNode.getChildNodes()[0]}function Ee(e){var n,t;const r=null!=(n=null==(t=e.children)?void 0:t.flatMap(Ee))?n:[];return e.id?[[e.id,e],...r]:r}function Oe(e,n){const t={getForm:n,controlMap:Object.fromEntries(e.flatMap(Ee))};return t.rootNode=xe({children:e,type:L.Group},t),t}function Se(e){const n={getForm:function(e){return t[e]}},t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Oe(t,n)]));return n}function Ae(e){const n=ge(e)?e.compoundField:me(e)?e.field:void 0;return null==n?void 0:n.split("/")}function Ie(e,n){const t=Ae(e);return t?X(t,n):void 0}function Le(e,n,t){let r=[];for(;e&&(null==t||!t(e));)r.push(n(e)),e=e.parent;return r.reverse()}function we(e){for(;e.parent;)e=e.parent;return e}function Ve(e){return Le(e,e=>null==e.elementIndex?e.schema.field.field:e.elementIndex,e=>!e.parent)}function Fe(e){return Le(e,e=>e.field,e=>!e.parent)}function ke(e){return e.getChildNodes().map(e=>e.field)}function Me(e,n,t){if(e)for(const r of e){const e=Re(r,n,t);if(void 0!==e)return e}}function Re(e,n,t){if(n.control&&!n.control.isNull)return ie(e,{data:e=>r(e),group:e=>r(e),action:()=>{},display:()=>{}},()=>{});function r(e){const r=e.children,o=Ie(e,n);if(!o)return Me(r,n,t);const l=me(e)?e:void 0,i=l?t(l,o):void 0;if(void 0!==i)return i;const a=o.schema,u=$(a.field);if(a.field.collection){const e=o.control;let n=0;for(const i of null!=(d=e.elements)?d:[]){var d;const e=o.getChildElement(n),i=l?t(l,e):void 0;if(void 0!==i)return i;if(u){const n=Me(r,e,t);if(void 0!==n)return n}n++}}else if(u)return Me(r,o,t)}}function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},qe.apply(null,arguments)}function Ge(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(n.includes(r))continue;t[r]=e[r]}return t}function je(e){return Object.entries(e).map(e=>e[1](e[0]))}function He(e,n){return $e(qe({type:S.String,displayName:e},n))}function Be(e,...n){return $e({type:S.String,displayName:e,options:n})}function Ue(e,n){return t=>qe({},n(t),e)}function $e(e){return n=>qe({},Xe(n,n),e)}function Je(e){return n=>qe({},Ze(n,n,!1),e)}function Pe(e,n){return $e(qe({type:S.Int,displayName:e},n))}function _e(e,n){return $e(qe({type:S.Double,displayName:e},n))}function We(e,n){return $e(qe({type:S.Date,displayName:e},n))}function Ye(e,n){return $e(qe({type:S.Time,displayName:e},n))}function ze(e,n){return $e(qe({type:S.DateTime,displayName:e},n))}function Ke(e,n){return $e(qe({type:S.Bool,displayName:e},n))}function Qe(e,n,t){return r=>qe({},Ze(r,e,!1),t,{children:n})}function Xe(e,n){return{field:e,displayName:n,type:S.String}}function Ze(e,n,t){return{field:e,displayName:n,type:S.Compound,collection:t,children:[]}}function en(e,n){const t=n.find(n=>n.field===e.field);return t?n.map(n=>n!==t?n:qe({},n,{onlyForTypes:r(n.onlyForTypes,e.onlyForTypes)})):[...n,e];function r(e,n){if(!e)return n;if(!n)return e;const t=n.filter(n=>!e.includes(n));return t.length?[...e,...t]:e}}function nn(e,n,t,r){const o=e.map(e=>e.isTypeField?tn(e,n,t):e);return r.map(e=>qe({},e,{onlyForTypes:[t]})).reduce((e,n)=>en(n,e),o)}function tn(e,n,t){var r;const o=null!=(r=e.options)?r:[];return o.some(e=>e.value===t)?e:qe({},e,{options:[...o,{name:n,value:t}]})}function rn(e){const n={};return Object.keys(e).forEach(function t(r){if(r in n)return n[r];const o=[];return n[r]=o,e[r].forEach(e=>{$(e)&&e.schemaRef?o.push(qe({},e,{children:t(e.schemaRef)})):o.push(e)}),o}),n}function on(e,n,t){if(!e)return an(n);if(t&&t.has(e))return e;null!=t||(t=new Set),t.add(e);const r=n.filter(n=>$(n)||!(n.field in e));if(!r.length)return e;const o=qe({},e);return r.forEach(r=>{o[r.field]=r.field in e?ln(e[r.field],r,n,!1,t):un(r)}),o}function ln(e,n,t,r,o){return n.collection&&!r?(null!=e?e:[]).map(e=>ln(e,n,t,!0,o)):$(n)?e||n.required?on(e,n.treeChildren?t:n.children,o):e:un(n)}function an(e){return Object.fromEntries(e.map(e=>[e.field,un(e)]))}function un(e,n){if(void 0!==e.defaultValue)return e.defaultValue;const t=!(!n&&!e.required);if($(e)){if(t){const n=an(e.children);return e.collection?[n]:n}return e.notNullable?e.collection?[]:{}:void 0}return e.collection&&e.notNullable?[]:void 0}function dn(e){return $(e)?an(e.children):e.defaultValue}function cn(e,n){return B(e,n)}function sn(e,n){return B(e,n)}function fn(e,n){var t;return Boolean(null==(t=e.tags)?void 0:t.includes(n))}function pn(e){var n;return null!=(n=e.displayName)?n:e.field}function yn(e){var n,t;return(null!=(n=null==(t=e.options)?void 0:t.length)?n:0)>0}function hn(e,n){if($(e)){const t=oe(e,I.ControlRef);return{type:L.Data,title:e.displayName,field:e.field,required:e.required,childRefId:t,children:n||t?void 0:e.children.filter(e=>!fn(e,I.NoControl)).map(e=>hn(e))}}if(U(e)){const n=fn(e,I.HtmlEditor);return{type:L.Data,title:e.displayName,field:e.field,required:e.required,renderOptions:{type:n?k.HtmlEditor:k.Standard}}}throw"Unknown schema field"}function vn(e,n){return me(n)&&e.field.field===n.field?[n]:ge(n)?n.compoundField===e.field.field?[n]:null!=(t=null==(r=n.children)?void 0:r.flatMap(n=>vn(e,n)))?t:[]:[];var t,r}function mn(e){return e.flatMap(e=>{var n;return ge(e)&&!e.compoundField?[e,...mn(null!=(n=e.children)?n:[])]:[]})}function gn(e,n){return Cn(ee(e),n)}function Cn(e,n){const t={},r={},o=n.map(n=>i(n,e));return l("",{schema:e,children:o}),o.forEach(function e(n){if(n.children.forEach(e),n.control.childRefId){const e=t[n.control.childRefId];if(e)return void e.children.forEach(e=>i(e.control,n.schema,n,!0));console.warn("Missing reference",n.control.childRefId)}}),e.getChildNodes().forEach(function e(n){if(!fn(n.field,I.NoControl)){if(!r[n.id]){const e=function(e){const n=[];let t=e.parent;for(;t&&(n.push(t.id),!t.field.collection);)t.parent||t.getChildNodes(!0).forEach(r),t=t.parent;return n;function r(e){te(e)&&!e.field.collection&&(n.push(e.id),e.getChildNodes(!0).forEach(r))}}(n),l=oe(n.field,I.ControlGroup);let a=l?t[l]:void 0;var o;if(!a&&l&&console.warn("No group '"+l+"' for "+n.id),a&&e.indexOf(a.schema.id)<0&&(console.warn(`Target group '${l}' is not an eligible parent for '${n.id}'`),a=void 0),!a&&e.length&&(a=null==(o=r[e[0]])?void 0:o[0]),a){const e=hn(n.field,!0);e.field=re(a.schema,n),a.children.push(i(e,a.schema,a))}else console.warn("Could not find a parent group for: "+n.id)}n.getChildNodes(!0).forEach(e)}}),o.map(function e(n){const t=n.children.length?n.children.map(e):null;return qe({},n.control,{children:t})});function l(e,n){r[e]||(r[e]=[]),r[e].push(n)}function i(e,n,r,o){var a,u;const d=Ae(e);let c=d?Z(d,n):void 0;ge(e)&&null==c&&(c=n);const s={schema:c,control:e,children:[],parent:r};return s.children=null!=(a=null==(u=e.children)?void 0:u.map(e=>{var t;return i(e,null!=(t=c)?t:n,s,o)}))?a:[],!o&&e.id&&(t[e.id]=s),c&&l(c.id,s),s}}function bn(e){const n=b(e);return n.current=e,n}function Dn(e){return me(e)&&!!e.readonly}function Nn(e){return me(e)&&!!e.disabled}function xn(e){return me(e)&&e.renderOptions&&se(e.renderOptions)?e.renderOptions:void 0}function Tn(e,n,t){if(!e)return e;const r=n.find(e=>e.isTypeField),o=r?e[r.field]:void 0,l=t?n:n.filter(e=>{var n,t;return $(e)||(null!=(n=null==(t=e.onlyForTypes)?void 0:t.length)?n:0)>0});if(!l.length)return e;const i=qe({},e);return l.forEach(r=>{var l;const a=e[r.field];if(!1===(null==(l=r.onlyForTypes)?void 0:l.includes(o))||!r.notNullable&&(t&&r.defaultValue===a||r.collection&&Array.isArray(a)&&!a.length))delete i[r.field];else if($(r)){const e=r.treeChildren?n:r.children;r.collection?Array.isArray(a)&&(i[r.field]=a.map(n=>Tn(n,e,t))):i[r.field]=Tn(a,e,t)}}),i}function En(e,n){var t,r;const o=null==(t=e.children)?void 0:t.flatMap(e=>En(e,n)),l=Mn(e),{entryWrapperClass:i,selectedClass:a,notSelectedClass:u}=me(e)&&De(e.renderOptions)?e.renderOptions:{},{listContainerClass:d,listEntryClass:c,chipContainerClass:s,chipCloseButtonClass:f}=me(e)&&ye(e.renderOptions)?e.renderOptions:{},p=T([e.styleClass,e.layoutClass,e.labelClass,...Object.values(l),...null!=(r=null==n?void 0:n(e))?r:[],i,a,u,d,c,s,f].map(An));return o&&!p?o:p?o?[p,...o]:[p]:[]}function On(e,n){let t="";return e.forEach((e,r)=>{var o;"number"==typeof e?t+=null!=(o=null==n?void 0:n(e))?o:"["+e+"]":(r>0&&(t+="."),t+=e)}),t}function Sn(e,n){if(Array.isArray(n)){let t=e;return n.forEach(e=>t=t.children[e]),t}return e.children[n]}function An(e){return e&&e.startsWith("@ ")?e.substring(2):e}function In(e,n){if(An(n)!==n)return n||void 0;const t=An(e);return t===e?T(e,n):t||void 0}function Ln(e,n,t,r,o){return[null==n||e>n?r:void 0,null==t||e<t?o:void 0]}function wn(e,n){if(!n)return;const t=n.split("/"),r=[];let o=0,l=e;for(;o<t.length&&l;){const e=B(l,t[o]);if(!e)return;r.push(e),l=$(e)&&!e.collection?e.children:void 0,o++}return r.length===t.length?r:void 0}function Vn(e,n,t=(e,n,t)=>null!=n?n:t){if(!e)return n;if(!n)return e;const r=qe({},e);for(const o in n)n.hasOwnProperty(o)&&(r[o]=t(o,e[o],n[o]));return r}function Fn(e){return null==e?"":"object"==typeof e?"error: "+JSON.stringify(e):e.toString()}function kn(e){return ge(e)?e.groupOptions:me(e)&&he(e.renderOptions)?e.renderOptions.groupOptions:void 0}function Mn(e){let n=kn(e);if(!n)return{};const{childLayoutClass:t,childStyleClass:r,childLabelClass:o}=n,l={};return t&&(l.layoutClass=t),r&&(l.styleClass=r),o&&(l.labelClass=o),l}function Rn(e){var n;return Boolean(null==(n=kn(e))?void 0:n.displayOnly)}function qn(...e){return(n,t,r)=>{for(let l=0;l<e.length;l++){var o;const i=null==(o=e[l])?void 0:o.call(e,n,t,r);if(i)return i}}}function Gn(e,t){const r=e.control,o=e.schema.field;if(r.dirty||t){if(r.isNull)return null;if(o.collection&&null==e.elementIndex){const t=oe(o,I.IdField);return r.as().elements.map((r,o)=>{var l;const i=Gn(e.getChildElement(o),void 0!==t);return null!=t?i:{old:null==(l=n(r))?void 0:l.initialIndex,edit:i}})}if($(o)){const n=e.schema.getChildNodes(),t=oe(o,I.IdField);return Object.fromEntries(n.flatMap(n=>{const r=Gn(e.getChild(n),t===n.field.field);return void 0!==r?[[n.field.field,r]]:[]}))}return r.value}}function jn(n){return t(n,"$nullToggler",()=>{const t=Bn(n),o=Un(n),l=null!=n.current.value;n.disabled=!l;const i=e(l);return l||(n.value=null),a(),o.subscribe(a,r.Value),i.subscribe(()=>{const e=i.current.value;n.value=e?t.current.value:null,n.disabled=!e},r.Value),i;function a(){i.disabled=!1===o.current.value}})}function Hn(n){return t(n,"$externalEditIndex",()=>e(void 0))}function Bn(n){return t(n,"$lastDefined",()=>{const t=e(n.current.value);return n.subscribe(()=>{const e=n.current.value;null!=e&&(t.value=e)},r.Value),t})}function Un(n){const o=Bn(n);return t(n,"$willEdit",()=>{const t=e(void 0);return t.subscribe(()=>{const e=t.current.value;void 0!==e&&(n.value=e?o.current.value:n.initialValue)},r.Value),t})}function $n(n){return t(n,"$allValues",()=>e([n.value]))}function Jn(e,n){const t=e.control,r=e.schema.field;if(!t.isEqual(t.initialValue,n)&&!r.collection)if($(r)){if(null==n)return;e.schema.getChildNodes().forEach(t=>{Jn(e.getChild(t),n[t.field.field])})}else $n(t).setValue(e=>e.every(e=>!t.isEqual(e,n))?[...e,n]:e)}function Pn(e,n){n.forEach((n,t)=>{0==t?e.control.setInitialValue(n):Jn(e,n)});const t=[];return function e(n){const r=n.control,o=n.schema.field;if(!o.collection)if($(o)){if(null==r.value)return;n.schema.getChildNodes().forEach(t=>{e(n.getChild(t))})}else t.push(Un(r)),$n(r).value.length>1&&(r.setInitialValue(void 0),Bn(r).value=null)}(e),()=>{let e=0,n=0;return t.forEach(t=>{const r=t.value;void 0!==r&&(e++,r&&n++)}),{editing:n,editable:e}}}function _n(e,n,t){return qe({type:L.Data,field:e,title:n},t)}function Wn(e){return n=>qe({type:e},n)}function Yn(e){return n=>qe({type:e},n)}function zn(e){return n=>({renderOptions:qe({type:e},n)})}!function(e){e.Jsonata="Jsonata",e.Date="Date",e.Length="Length"}(G||(G={})),function(e){e.NotBefore="NotBefore",e.NotAfter="NotAfter"}(j||(j={})),function(e){e.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(H||(H={}));const Kn=zn(k.Autocomplete),Qn=zn(k.CheckList),Xn=zn(k.Radio),Zn=Wn(G.Length),et=Wn(G.Jsonata),nt=Wn(G.Date),tt=Yn(F.Accordion),rt=zn(k.Textfield),ot=zn(k.DisplayOnly),lt=zn(k.Jsonata);function it(e,n){return qe({type:L.Display,displayData:{type:q.Text,text:e}},n)}function at(e,n){return qe({type:L.Display,displayData:{type:q.Html,html:e}},n)}function ut(e){return{type:w.DefaultValue,expr:e}}function dt(e){return{type:w.Readonly,expr:e}}function ct(e){return{type:w.Visible,expr:e}}function st(e){return{type:w.Disabled,expr:e}}function ft(e){return{type:H.Data,field:e}}function pt(e,n){return{type:H.DataMatch,field:e,value:n}}function yt(e){return{type:H.Jsonata,expression:e}}function ht(e,n,t){return qe({type:L.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function vt(e,n,t,r){return qe({type:L.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function mt(e,n,t){return qe({type:L.Action,title:e,actionId:n},t)}function gt(e,n,t,r){return qe({actionId:e,onClick:n,actionText:null!=t?t:e},r)}const Ct={type:L.Group,children:[],groupOptions:{type:R.Standard,hideTitle:!0}};function bt(e,n=Ct){return D(()=>{var t;return qe({},n,{children:gn(e,null!=(t=n.children)?t:[])})},[e,n])}function Dt(e,n){const t=qe({},e);return Object.entries(n).forEach(([e,n])=>{t[e]=(Array.isArray(n)?n:[n]).reduce((e,n)=>{var t;return nn(e,n.name,n.value,null!=(t=n.fields)?t:[])},t[e])}),t}function Nt(e,n){return rn(n.reduce(Dt,e))}function xt(e,n,t){return{deps:t,state:n,runHook:e}}function Tt(e,n){return e.map(e=>Ot(n(e))).join(",")}function Et(e){const n=Object.entries(e),t=Tt(n,e=>e[1].deps),r=b({}),o=r.current;return n.forEach(e=>o[e[0]]=e[1].state),N(e=>Object.fromEntries(n.map(([n,t])=>[n,t.runHook(e,r.current[n])])),[t])}function Ot(e){return void 0===e?"_":null===e?"~":e.toString()}function St(e,n,t){return Pt(qt(n,w.Visible,e),(e,{definition:n,overrideDataNode:t})=>l(()=>{const r=null!=t?t:e.dataNode;return!r||jt(r)&&!Ht(r,e.schemaInterface,n)}),{definition:n,overrideDataNode:t})}function At(e,n){return Pt(qt(n,w.Readonly,e),(e,{definition:n})=>s(()=>Dn(n)),{definition:n})}function It(e,n,t){return Pt(Gt(t,n,e),()=>o(void 0),void 0)}function Lt(e,n){return Pt(Gt(n,w.AllowedOptions,e),()=>o([]),void 0)}function wt(e,n){return Pt(qt(n,w.Disabled,e),e=>l(()=>{var t,r;const o=null==(t=e.dataNode)?void 0:t.control;return!1===(null==o||null==(r=o.meta.nullControl)?void 0:r.value)||Nn(n)}),void 0)}function Vt(e,n){return Gt(n,w.Display,e)}function Ft(e,n){return Pt(Gt(n,w.DefaultValue,e),(e,{definition:n})=>l(function(){var t;const[r,o]=me(n)?[n.required,n.defaultValue]:[!1,void 0],l=null==(t=e.dataNode)?void 0:t.schema.field;return null!=o?o:l?null!=e.dataNode.elementIndex?dn(l):un(l,r):void 0}),{definition:n})}function kt(e,n,t){switch(e.type){case H.Jsonata:const r=l(()=>({formData:n.formData}));return Ut(e.expression,we(n.parentNode).control,Ve(n.parentNode),r,t);case H.UUID:return Bt(t);case H.Data:return function(e,n,t=e=>e){const r=Y(e.field,n);return s(()=>{var e;return t(null==(e=r.control)?void 0:e.value)})}(e,n.parentNode,t);case H.DataMatch:return function(e,n,t=e=>e){const r=Y(e.field,n);return s(()=>{var n;const o=null==(n=r.control)?void 0:n.value;return t(Array.isArray(o)?o.includes(e.value):o===e.value)})}(e,n.parentNode,t);case H.NotEmpty:return function(e,n,t,r=e=>e){const o=Y(e.field,n);return s(()=>{var e;const n=null==(e=o.control)?void 0:e.value,l=o.schema.field;return r(l&&!t.isEmptyValue(l,n))})}(e,n.parentNode,n.schemaInterface,t);default:return o(void 0)}}const Mt=Rt(kt);function Rt(e){return(n,t)=>({deps:null==n?void 0:n.type,state:n&&n.type?n:void 0,runHook:(n,r)=>r?e(r,n,t):void 0})}function qt(e,n,t){return Gt(e,n,t,e=>Boolean(e))}function Gt(e,n,t,r=e=>e){var o;const l=null==(o=e.dynamic)?void 0:o.find(e=>e.type===n);return t(null==l?void 0:l.expr,r)}function jt(e){const n=e.schema.field.onlyForTypes;if(null==n||0===n.length)return!0;const t=e.parent,r=t.schema.getChildNodes().find(e=>e.field.isTypeField);if(null==r)return!0;const o=t.getChild(r).control;return o&&n.includes(o.value)}function Ht(e,n,t){var r;const o=xn(t);return o&&!o.emptyText&&n.isEmptyValue(e.schema.field,null==(r=e.control)?void 0:r.value)}function Bt(e=e=>e){return o(()=>e(O()))}function Ut(e,n,t,r,l=e=>e){const s=On(t,e=>`#$i[${e}]`),f=s?s+".("+e+")":e,p=D(()=>{try{return E(e?f:"null")}catch(e){return console.error(e),E("null")}},[f]),y=o(),h=b(),v=b(0),[m]=i(()=>new a(()=>{const e=h.current;e&&(h.current=void 0,u(()=>{h.current=e,e()}))}));return x(()=>{async function e(){const e=m.current;try{v.current++,y.value=l(await p.evaluate(d(n,e.collectUsage),c(e.collectUsage,()=>null==r?void 0:r.value)))}finally{--v.current||e.update()}}h.current=e,e()},[p]),x(()=>()=>{h.current=void 0,m.current.cleanup()},[]),y}function $t(e,n){return Pt(Gt(n,w.ActionData,e),()=>o(null),void 0)}function Jt(e,n){return Pt(Gt(n,w.Label,e),()=>o(null),void 0)}function Pt(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(Ot).join(),runHook:(t,r)=>{var o,l;return null!=(o=null==(l=e.runHook(t,r[0]))?void 0:l.as())?o:n(t,r[1])},state:[e.state,t]}}function _t(e,n=Wt){var t;const r=me(e)?e:void 0,o=bn({dd:r,useValidatorFor:n}),l=r?Tt(null!=(t=r.validators)?t:[],e=>e.type):"~";return N(e=>{var t,r,l;const{dd:i}=o.current;if(!i)return;const a=null!=(t=null==(r=e.dataContext.dataNode)?void 0:r.schema.field)?t:{field:"__missing",type:S.Any},{control:u,hiddenControl:d,dataContext:{schemaInterface:c}}=e;f(u,()=>u.setError("default","")),i.required&&p(u,e=>!d.value&&c.isEmptyValue(a,e)?c.validationMessageText(a,A.NotEmpty,!1,!0):null,"required"),null==(l=i.validators)||l.forEach((t,r)=>n(t,qe({},e,{index:r,field:a,definition:i})))},[!!r,null==r?void 0:r.required,l,n])}function Wt(e,n){switch(e.type){case G.Length:zt(e,n);break;case G.Jsonata:Yt(e,n);break;case G.Date:Kt(e,n)}}function Yt(e,n){const t=n.dataContext.parentNode,r=Ut(e.expression,we(t).control,Ve(t),void 0,e=>null==e?null:"string"==typeof e?e:JSON.stringify(e));p(n.control,()=>n.hiddenControl.value?null:r.value,"jsonata"+n.index)}function zt(e,n){const{control:t,dataContext:{schemaInterface:r},hiddenControl:o,field:l}=n;p(t,n=>{const i=r.controlLength(l,t);if(!o.value)if(null!=e.min&&i<e.min){if(null==l||!l.collection)return r.validationMessageText(l,A.MinLength,i,e.min);t.setValue(n=>Array.isArray(n)?n.concat(Array.from({length:e.min-n.length})):Array.from({length:e.min}))}else if(null!=e.max&&i>e.max)return r.validationMessageText(l,A.MaxLength,i,e.max)},"length"+n.index)}function Kt(e,n){const{control:t,field:r,index:o,dataContext:{schemaInterface:l}}=n;let i;if(e.fixedDate)i=l.parseToMillis(r,e.fixedDate);else{const n=new Date;i=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()),e.daysFromCurrent&&(i+=864e5*e.daysFromCurrent)}p(t,n=>{if(n){const t=l.parseToMillis(r,n),o=e.comparison===j.NotAfter;if(o?t>i:t<i)return l.validationMessageText(r,o?A.NotAfterDate:A.NotBeforeDate,t,i)}return null},"date"+o)}class Qt{constructor(e=["No","Yes"],n=e=>Date.parse(e)){this.boolStrings=void 0,this.parseDateTime=void 0,this.boolStrings=e,this.parseDateTime=n}parseToMillis(e,n){return this.parseDateTime(n)}validationMessageText(e,n,t,r){switch(n){case A.NotEmpty:return"Please enter a value";case A.MinLength:return"Length must be at least "+r;case A.MaxLength:return"Length must be less than "+r;case A.NotBeforeDate:return`Date must not be before ${new Date(r).toDateString()}`;case A.NotAfterDate:return`Date must not be after ${new Date(r).toDateString()}`;default:return"Unknown error"}}getDataOptions(e){return this.getNodeOptions(e.schema)}getNodeOptions(e){return this.getOptions(e.field)}getOptions({options:e}){return e&&e.length>0?e:null}getFilterOptions(e,n){return this.getNodeOptions(n)}isEmptyValue(e,n){if(e.collection)return Array.isArray(n)?0===n.length:null==n;switch(e.type){case S.String:case S.DateTime:case S.Date:case S.Time:return!n;default:return null==n}}searchText(e,n){var t,r;return null!=(t=null==(r=this.textValue(e,n))?void 0:r.toLowerCase())?t:""}textValue(e,n,t){const r=this.getOptions(e),o=null==r?void 0:r.find(e=>e.value===n);if(o)return o.name;switch(e.type){case S.Date:return n?new Date(n).toLocaleDateString():void 0;case S.DateTime:return n?new Date(this.parseToMillis(e,n)).toLocaleString():void 0;case S.Time:return n?new Date("1970-01-01T"+n).toLocaleTimeString():void 0;case S.Bool:return this.boolStrings[n?1:0];default:return null!=n?n.toString():void 0}}controlLength(e,n){var t,r;return e.collection?null!=(t=null==(r=n.elements)?void 0:r.length)?t:0:this.valueLength(e,n.value)}valueLength(e,n){var t;return null!=(t=n&&(null==n?void 0:n.length))?t:0}compareValue(e,n,t){if(null==n)return null==t?0:1;if(null==t)return-1;switch(e.type){case S.Date:case S.DateTime:case S.Time:case S.String:return n.localeCompare(t);case S.Bool:return n?t?0:1:-1;case S.Int:case S.Double:return n-t;default:return 0}}compoundFieldSetup(e){return e.getChildNodes().map(e=>{const{field:n}=e.field;return[n,this.makeControlSetup(e)]})}compoundFieldEquality(e){return e.getChildNodes().map(e=>{const{field:n}=e.field;return[n,(t,r)=>this.makeEqualityFunc(e)(t[n],r[n])]})}makeEqualityFunc(e,n){if(e.field.collection&&!n){const n=this.makeEqualityFunc(e,!0);return(e,t)=>{if(e===t)return!0;if(null==e||null==t)return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}}if(e.field.type===S.Compound){const n=this.compoundFieldEquality(e);return(e,t)=>e===t||null!=e&&null!=t&&n.every(n=>n[1](e,t))}return(e,n)=>e===n}makeControlSetup(e,n){let t={equals:this.makeEqualityFunc(e,n)};return e.field.collection&&!n?(t.elems=this.makeControlSetup(e,!0),t):(e.field.type===S.Compound&&(t.fields=Object.fromEntries(this.compoundFieldSetup(e))),t)}}const Xt=new Qt,Zt=["parentDataNode"],er=["definition","control","formOptions","style","allowedOptions","schemaInterface","styleClass"],nr=0,tr=1e3;var rr;function or(e,n,t,r={}){const o=bn({definition:e,fields:n,renderer:t,options:r});return N(({control:e,parentPath:n})=>C.createElement(ir,qe({},o.current,{control:e,parentPath:n})),[o])}function lr(n,t,r={},i){var a,u,c;const[s,f]=n instanceof Ne?[n.definition,n]:[n,Te(n)],p=null!=(a=null==r.useDataHook?void 0:r.useDataHook(s))?a:ur,v=r.elementIndex,m=null!=(u=r.schemaInterface)?u:Xt,g=null!=(c=r.useEvalExpressionHook)?c:Mt;let b;b=null!=v?i.getChildElement(v):Ie(s,i);const D=_t(s,r.useValidationHook),T=Et({defaultValueControl:Ft(g,s),visibleControl:St(g,s),readonlyControl:At(g,s),disabledControl:wt(g,s),allowedOptions:Lt(g,s),labelText:Jt(g,s),actionData:$t(g,s),customStyle:It(g,w.Style,s),layoutStyle:It(g,w.LayoutStyle,s),displayControl:Vt(g,s)}),E=bn({options:r,definition:s,elementIndex:v,parentDataNode:i,dataNode:b,formNode:f}),O=N(()=>{const n=y();try{var r,a,u,c,f;const{definition:n,options:y,elementIndex:v,parentDataNode:N,dataNode:O,formNode:S}=E.current,A=null!=(r=y.formData)?r:{},I={schemaInterface:m,dataNode:O,parentNode:N,formData:A},{readonlyControl:L,disabledControl:w,visibleControl:V,displayControl:M,layoutStyle:R,labelText:q,customStyle:G,allowedOptions:j,defaultValueControl:H,actionData:B}=T(I),U=V.current.value,$=o(()=>null!=U?{visible:U,showing:U}:void 0);h(()=>V.value,e=>{null!=e&&$.setValue(n=>({visible:e,showing:n?n.showing:e}))});const J=i.control,P=null==(a=b)?void 0:a.control;h(()=>{var e,n;return[$.value,H.value,null==P?void 0:P.isNull,me(s)&&s.dontClearHidden,(null==(e=s.adornments)?void 0:e.some(e=>e.type===F.Optional))||me(s)&&(null==(n=s.renderOptions)?void 0:n.type)==k.NullToggle,J.isNull,y.hidden,L.value]},([e,n,t,r,o,l,i,a])=>{a||(P?e&&e.visible===e.showing&&(i||!e.visible?P.setValue(e=>y.clearHidden&&!r?void 0:null==e&&r&&!o?n:e):o||P.setValue(e=>null!=e?e:n)):l&&J.setValue(e=>null!=e?e:{}))},!0);const _=l(()=>{var e;return{hidden:y.hidden||!(null!=(e=$.fields)&&e.showing.value),readonly:y.readonly||L.value,disabled:y.disabled||w.value,displayOnly:y.displayOnly||Rn(n)}}),W=d(_);D({control:null!=P?P:e(null),hiddenControl:_.fields.hidden,dataContext:I});const Y=qe({},y,W,{elementIndex:void 0,formData:A});if(x(()=>{P&&"boolean"==typeof W.disabled&&P.disabled!=W.disabled&&(P.disabled=W.disabled)},[P,W.disabled]),J.isNull)return C.createElement(C.Fragment,null);const z=null!=(u=null==(c=s.adornments)?void 0:c.map(e=>t.renderAdornment({adornment:e,dataContext:I,useExpr:g,formOptions:W})))?u:[],K=dr({formNode:S,definition:n,renderer:t,renderChild:(e,r,o)=>{var l;const i=Mn(n),a=null!=o?o:{},{parentDataNode:u}=a,d=Ge(a,Zt),c=null!=(l=null!=u?u:I.dataNode)?l:I.parentNode;return C.createElement(ar,{key:e,definition:r,renderer:t,parentDataNode:c,options:qe({},Y,i,d)})},createDataProps:p,formOptions:W,dataContext:I,control:null!=M?M:P,elementIndex:v,schemaInterface:m,labelText:q,displayControl:M,style:G.value,allowedOptions:j,customDisplay:y.customDisplay,actionDataControl:B,actionOnClick:y.actionOnClick,styleClass:y.styleClass,labelClass:y.labelClass,useEvalExpression:g,useChildVisibility:(e,n,t)=>{var r;return St(g,e,t?void 0:Ie(e,null!=(r=null!=n?n:b)?r:i))}}),Q=qe({},K,{adornments:z,className:In(y.layoutClass,n.layoutClass),style:R.value}),X=t.renderLayout(null!=(f=null==y.adjustLayout?void 0:y.adjustLayout(I,Q))?f:Q);return t.renderVisibility(qe({visibility:$},X))}finally{n()}},[E,p,D,t,m,T]);return O.displayName="RenderControl",O}function ir({definition:e,fields:n,renderer:t,options:r,control:o}){const l=lr(e,t,r,W(_({"":n}).getSchema(""),o));return C.createElement(l,null)}function ar({definition:e,renderer:n,options:t,parentDataNode:r}){const o=lr(e,n,t,r);return C.createElement(o,null)}function ur(e){var n,t;let{definition:r,control:o,formOptions:l,style:i,allowedOptions:a,schemaInterface:u=Xt,styleClass:d}=e,c=Ge(e,er);const s=c.dataContext.dataNode,f=s.schema.field,p=In(d,r.styleClass),y=!!l.displayOnly,h=!!r.required&&!y,v=u.getDataOptions(s),m=null!=(n=null==a?void 0:a.value)?n:[],g=Array.isArray(m)?m:[m];return qe({dataNode:s,definition:r,control:o,field:f,id:"c"+o.uniqueId,options:g.length>0?g.map(e=>{var n;return"object"==typeof e?e:null!=(n=null==v?void 0:v.find(n=>n.value==e))?n:{name:e.toString(),value:e}}).filter(e=>null!=e):v,readonly:!!l.readonly,displayOnly:y,renderOptions:null!=(t=r.renderOptions)?t:{type:"Standard"},required:h,hidden:!!l.hidden,className:p,style:i},c)}function dr(e){const{definition:n,renderer:t,renderChild:r,control:o,dataContext:l,createDataProps:i,displayControl:a,style:u,labelText:d,useChildVisibility:c,designMode:s,customDisplay:f,useEvalExpression:p,labelClass:y,styleClass:h,formNode:v}=e;if(me(n))return S(n);var m,g,C,b;if(ge(n))return n.compoundField?S(_n(n.compoundField,n.title,{children:n.children,hideTitle:null==(b=n.groupOptions)?void 0:b.hideTitle})):{processLayout:t.renderGroup({formNode:v,definition:n,renderChild:r,useEvalExpression:p,dataContext:l,renderOptions:null!=(m=n.groupOptions)?m:{type:"Standard"},className:In(h,n.styleClass),useChildVisibility:c,style:u,designMode:s}),label:{label:null!=(g=null==d?void 0:d.value)?g:n.title,className:In(y,n.labelClass),type:rr.Group,hide:null==(C=n.groupOptions)?void 0:C.hideTitle}};if(Ce(n)){var D,N,x,T,E;const r=null!=(D=null==(N=e.actionDataControl)?void 0:N.value)?D:n.actionData;return{children:t.renderAction({actionText:null!=(x=null!=(T=null==d?void 0:d.value)?T:n.title)?x:n.actionId,actionId:n.actionId,actionData:r,onClick:null!=(E=null==e.actionOnClick?void 0:e.actionOnClick(n.actionId,r,l))?E:()=>{},className:In(h,n.styleClass),style:u})}}if(be(n)){var O;const e=null!=(O=n.displayData)?O:{},r={data:e,className:In(h,n.styleClass),style:u,display:a,dataContext:l};return e.type===q.Custom&&f?{children:f(e.customId,r)}:{children:t.renderDisplay(r)}}return{};function S(n){var r,l,a;if(!o)return{children:"No control for: "+n.field};const u=i(e),c=n.hideTitle?void 0:mr(null!=(r=null==d?void 0:d.value)?r:n.title,e.dataContext.dataNode.schema.field);return{processLayout:t.renderData(u),label:{type:(null!=(l=null==(a=n.children)?void 0:a.length)?l:0)>0?rr.Group:rr.Control,label:c,forId:u.id,required:n.required&&!e.formOptions.displayOnly,hide:n.hideTitle,className:In(y,n.labelClass)},errorControl:o}}}function cr(e,n){return t=>t[e]=C.createElement(C.Fragment,null,t[e],n)}function sr(e,n){return t=>t[e]=n(t[e])}function fr(e){switch(e){case V.ControlEnd:return"controlEnd";case V.ControlStart:return"controlStart";case V.LabelStart:return"labelStart";case V.LabelEnd:return"labelEnd"}}function pr(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function yr(e,n){return cr(fr(e),n)}function hr(e,n){return sr(fr(e),n)}function vr(e,n){var t;const{className:r,children:o,style:l,errorControl:i,label:a,adornments:u}=null!=(t=null==e.processLayout?void 0:e.processLayout(e))?t:e,d={children:o,errorControl:i,style:l,className:r,wrapLayout:e=>e};return(null!=u?u:[]).sort((e,n)=>e.priority-n.priority).forEach(e=>e.apply(d)),d.label=a&&!a.hide?n.renderLabel(a,d.labelStart,d.labelEnd):void 0,d}function mr(e,n){return e||pn(n)}function gr(e){var n;const t=null==(n=e.validators)?void 0:n.find(e=>e.type===G.Length);return{min:null==t?void 0:t.min,max:null==t?void 0:t.max}}function Cr(e,n,t){var r;const o=null!=(r=n.displayName)?r:n.field,{addText:l,noAdd:i,removeText:a,noRemove:u,removeActionId:d,addActionId:c,editActionId:s,editText:f,disabled:p,readonly:y,designMode:h,editExternal:m}=null!=t?t:{};return{arrayControl:e,addAction:y||i?void 0:C(()=>{if(!h){const t=dn(n);if(m){const t=Hn(e);t.value={data:[dn(n)],actions:[b(),C(()=>{g(e,t.fields.data.value[0]),t.value=void 0})]}}else g(e,t)}}),editAction:m?n=>({actionId:s||"edit",actionText:f||"Edit",onClick:()=>{if(!h){const t=Hn(e),r=e.as().elements[n];t.value={data:[r.current.value],actions:[b(),{actionId:"apply",actionText:"Apply",onClick:()=>{r.value=t.fields.data.value[0],t.value=void 0}}]}}}}):void 0,removeAction:y||u?void 0:n=>({actionId:d||"remove",actionText:a||"Remove",onClick:()=>{h||v(e,n)},disabled:p})};function C(e){return{actionId:c||"add",actionText:l||"Add "+o,onClick:e,disabled:p}}function b(){return{actionId:"cancel",actionText:"Cancel",onClick:()=>{Hn(e).value=void 0},disabled:p}}}function br({arrayControl:e,min:n,max:t,editAction:r,addAction:o,removeAction:l,required:i},a){var u,d;const[c,s]=Ln(null!=(u=null==(d=e.elements)?void 0:d.length)?u:0,null==n&&i?1:n,t,!0,!0);return{addAction:a||s?o:void 0,removeAction:a||c?l:void 0,removeDisabled:!c,addDisabled:!s,editAction:r}}function Dr(e){return(n,t,r)=>C.createElement(m,{array:e.formNode.getChildNodes()},(t,o)=>e.renderChild(o,t,{parentDataNode:e.dataContext.parentNode,formData:{option:n,optionSelected:r}}))}function Nr(e){return e.type===F.Icon}function xr(e){return e.type===F.Accordion}function Tr(e){return e.type===F.SetField}function Er(e){return e.type===F.Optional}function Or(e,n){return qe({type:"layout",render:e},n)}function Sr(e,n,t){return qe({type:"action",actionType:e,render:n},t)}function Ar(e,n){return qe({type:"array",render:e},n)}function Ir(e,n){return qe({type:"data",render:e},n)}function Lr(e,n){return qe({type:"group",render:e},n)}function wr(e,n){return qe({type:"display",render:e},n)}function Vr(e,n){return qe({type:"label",render:e},n)}function Fr(e,n){return qe({type:"visibility",render:e},n)}function kr(e,n){return qe({type:"adornment"},n,{render:e})}function Mr(e=[],n){var t;const r=e.filter(Gr),o=e.filter(jr),l=e.filter(qr),i=e.filter(Jr),a=e.filter(Hr),u=e.filter(Pr),d=e.filter($r),c=e.filter(Br),s={renderAction:function(e){var t;return(null!=(t=d.find(n=>Rr(n.actionType,e.actionId)))?t:n.action).render(e,s)},renderData:function(e){var t;const{renderOptions:{type:o},field:l}=e,i=yn(e),a=(null!=(t=r.find(n=>{var t,r,a;return(null!=(t=n.collection)&&t)===(null==e.elementIndex&&null!=(r=l.collection)&&r)&&(null!=(a=n.options)&&a)===i&&(n.schemaType&&o==k.Standard&&Rr(n.schemaType,l.type)||n.renderType&&Rr(n.renderType,o)||n.match&&n.match(e))}))?t:n.data).render(e,s);return"function"==typeof a?a:e=>qe({},e,{children:a})},renderGroup:function(e){var t;const r=e.renderOptions.type,l=(null!=(t=o.find(e=>Rr(e.renderType,r)))?t:n.group).render(e,s);return"function"==typeof l?l:e=>qe({},e,{children:l})},renderDisplay:function(e){var t;const r=e.data.type;return(null!=(t=i.find(e=>Rr(e.renderType,r)))?t:n.display).render(e,s)},renderLabel:f,renderArray:function(e){var t;return(null!=(t=u[0])?t:n.array).render(e,s)},renderAdornment:function(e){var t;return(null!=(t=l.find(n=>Rr(n.adornmentType,e.adornment.type)))?t:n.adornment).render(e,s)},renderLayout:function(e){var t;return(null!=(t=c.find(n=>!n.match||n.match(e)))?t:n.renderLayout).render(e,s)},renderVisibility:(null!=(t=e.find(Ur))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:rr.Text},void 0,void 0)}};function f(e,t,r){var o;return(null!=(o=a.find(n=>Rr(n.labelType,e.type)))?o:n.label).render(e,t,r,s)}return s}function Rr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function qr(e){return"adornment"===e.type}function Gr(e){return"data"===e.type}function jr(e){return"group"===e.type}function Hr(e){return"label"===e.type}function Br(e){return"layout"===e.type}function Ur(e){return"visibility"===e.type}function $r(e){return"action"===e.type}function Jr(e){return"display"===e.type}function Pr(e){return"array"===e.type}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(rr||(rr={}));export{V as AdornmentPlacement,nr as AppendAdornmentPriority,F as ControlAdornmentType,L as ControlDefinitionType,ir as ControlRenderer,k as DataRenderType,j as DateComparison,Qt as DefaultSchemaInterface,q as DisplayDataType,w as DynamicPropertyType,H as ExpressionType,S as FieldType,Ne as FormNode,R as GroupRenderType,rr as LabelType,ar as NewControlRenderer,I as SchemaTags,M as SyncTextType,A as ValidationMessageType,G as ValidatorType,tr as WrapAdornmentPriority,tt as accordionOptions,mt as actionControl,qn as actionHandlers,tn as addFieldOption,gn as addMissingControls,Cn as addMissingControlsForSchema,Yn as adornmentOptions,cr as appendMarkup,yr as appendMarkupAt,br as applyArrayLengthRestrictions,ln as applyDefaultForField,on as applyDefaultValues,Dt as applyExtensionToSchema,Nt as applyExtensionsToSchema,Ln as applyLengthRestrictions,Jn as applyValues,Kn as autocompleteOptions,Ke as boolField,je as buildSchema,Qn as checkListOptions,Tn as cleanDataForSchema,Fn as coerceToString,Pn as collectDifferences,vt as compoundControl,Qe as compoundField,mr as controlTitle,gt as createAction,Sr as createActionRenderer,kr as createAdornmentRenderer,Cr as createArrayActions,Ar as createArrayRenderer,Ir as createDataRenderer,wr as createDisplayRenderer,Se as createFormLookup,Mr as createFormRenderer,Lr as createGroupRenderer,Vr as createLabelRenderer,Or as createLayoutRenderer,_ as createSchemaLookup,Fr as createVisibilityRenderer,_n as dataControl,We as dateField,ze as dateTimeField,nt as dateValidatorOptions,Ze as defaultCompoundField,hn as defaultControlForField,ur as defaultDataProps,kt as defaultEvalHooks,Xe as defaultScalarField,Xt as defaultSchemaInterface,Mt as defaultUseEvalExpressionHook,un as defaultValueForField,an as defaultValueForFields,ot as displayOnlyOptions,_e as doubleField,ut as dynamicDefaultValue,st as dynamicDisabled,dt as dynamicReadonly,ct as dynamicVisibility,dn as elementValueForField,Ct as emptyGroupDefinition,pn as fieldDisplayName,pt as fieldEqExpr,ft as fieldExpr,fn as fieldHasTag,Dr as fieldOptionAdornment,Ae as fieldPathForDefinition,Sn as findChildDefinition,sn as findCompoundField,vn as findControlsForCompound,B as findField,wn as findFieldPath,mn as findNonDataGroups,cn as findScalarField,En as getAllReferencedClasses,$n as getAllValues,Gn as getDiffObject,xn as getDisplayOnlyOptions,Hn as getExternalEditData,Mn as getGroupClassOverrides,kn as getGroupRendererOptions,Un as getIsEditing,Ve as getJsonPath,Bn as getLastDefinedValue,gr as getLengthRestrictions,jn as getNullToggler,An as getOverrideClass,we as getRootDataNode,ke as getSchemaFieldList,ne as getSchemaNodePath,Fe as getSchemaPath,oe as getTagParam,ht as groupedControl,yn as hasOptions,Ht as hideDisplayOnly,at as htmlDisplayControl,Pe as intField,xr as isAccordionAdornment,Ce as isActionControl,ve as isArrayRenderer,ye as isAutoCompleteClasses,pe as isAutocompleteRenderer,De as isCheckEntryClasses,$ as isCompoundField,te as isCompoundNode,Nn as isControlDisabled,Rn as isControlDisplayOnly,Dn as isControlReadonly,me as isDataControl,he as isDataGroupRenderer,be as isDisplayControl,se as isDisplayOnlyRenderer,ce as isFlexRenderer,ae as isGridRenderer,ge as isGroupControl,Nr as isIconAdornment,Er as isOptionalAdornment,U as isScalarField,ue as isSelectChildRenderer,Tr as isSetFieldAdornment,de as isTabsRenderer,fe as isTextfieldRenderer,On as jsonPathString,yt as jsonataExpr,lt as jsonataOptions,et as jsonataValidatorOptions,fr as layoutKeyForPlacement,Te as legacyFormNode,Zn as lengthValidatorOptions,Ie as lookupDataNode,Je as makeCompoundField,Rt as makeEvalExpressionHook,xt as makeHook,Tt as makeHookDepString,le as makeParamTag,$e as makeScalarField,W as makeSchemaDataNode,jt as matchesType,en as mergeField,nn as mergeFields,Vn as mergeObjects,xe as nodeForControl,Xn as radioButtonOptions,re as relativePath,dr as renderControlLayout,vr as renderLayoutParts,zn as renderOptionsFor,In as rendererClass,rn as resolveSchemas,ee as rootSchemaNode,X as schemaDataForFieldPath,Y as schemaDataForFieldRef,Z as schemaForFieldPath,z as schemaForFieldRef,He as stringField,Be as stringOptionsField,it as textDisplayControl,rt as textfieldOptions,Ye as timeField,Ot as toDepString,Q as traverseData,Le as traverseParents,K as traverseSchemaPath,bt as useControlDefinitionForSchema,or as useControlRenderer,lr as useControlRendererComponent,Kt as useDateValidator,Et as useDynamicHooks,$t as useEvalActionHook,Lt as useEvalAllowedOptionsHook,Ft as useEvalDefaultValueHook,wt as useEvalDisabledHook,Vt as useEvalDisplayHook,qt as useEvalDynamicBoolHook,Gt as useEvalDynamicHook,Jt as useEvalLabelText,At as useEvalReadonlyHook,It as useEvalStyleHook,St as useEvalVisibilityHook,Ut as useJsonataExpression,Yt as useJsonataValidator,zt as useLengthValidator,_t as useMakeValidationHook,bn as useUpdatedRef,Bt as useUuidExpression,Wn as validatorOptions,Re as visitControlData,Me as visitControlDataArray,ie as visitControlDefinition,Ue as withScalarOptions,pr as wrapLayout,sr as wrapMarkup,hr as wrapMarkupAt};
2
2
  //# sourceMappingURL=index.js.map