@react-typed-forms/schemas 14.0.3 → 14.0.4

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