@react-typed-forms/schemas 14.1.0 → 14.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/controlDefinition.d.ts +8 -1
- package/lib/controlRender.d.ts +2 -1
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/renderers.d.ts +2 -1
- package/lib/schemaField.d.ts +5 -3
- package/lib/util.d.ts +10 -1
- package/package.json +3 -3
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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,q,G;function j(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 qe(e){return Object.entries(e).map(e=>e[1](e[0]))}function Ge(e,n){return Be(Ve({type:E.String,displayName:e},n))}function je(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 j(e,n)}function dn(e,n){return j(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=j(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){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),void 0!==t);return null!=t?l:{old:null==(i=n(r))?void 0:i.initialIndex,edit:l}})}if(B(o)){const n=e.schema.getChildNodes(),t=te(o,S.IdField);return Object.fromEntries(n.flatMap(n=>{const r=Rn(e.getChild(n),t===n.field.field);return void 0!==r?[[n.field.field,r]]:[]}))}return r.value}}function qn(e,n){const t=e.control,r=e.schema.field;if(!t.isEqual(t.value,n)&&!r.collection)if(B(r)){if(null==n)return;e.schema.getChildNodes().forEach(t=>{qn(e.getChild(t),n[t.field.field])})}else{var o,i;const e=null!=(i=(o=t.meta).changes)?i:o.changes=[t.value];e.every(e=>!t.isEqual(e,n))&&e.push(n)}}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 Hn(e){return n=>Ve({type:e},n)}function Bn(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"}(q||(q={})),function(e){e.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(G||(G={}));const Un=Bn(F.Autocomplete),Jn=Bn(F.CheckList),Pn=Bn(F.Radio),$n=jn(R.Length),_n=jn(R.Jsonata),Wn=jn(R.Date),Yn=Hn(w.Accordion),zn=Bn(F.Textfield),Kn=Bn(F.DisplayOnly),Qn=Bn(F.Jsonata);function Xn(e,n){return Ve({type:A.Display,displayData:{type:V.Text,text:e}},n)}function Zn(e,n){return Ve({type:A.Display,displayData:{type:V.Html,html:e}},n)}function et(e){return{type:I.DefaultValue,expr:e}}function nt(e){return{type:I.Readonly,expr:e}}function tt(e){return{type:I.Visible,expr:e}}function rt(e){return{type:I.Disabled,expr:e}}function ot(e){return{type:G.Data,field:e}}function it(e,n){return{type:G.DataMatch,field:e,value:n}}function lt(e){return{type:G.Jsonata,expression:e}}function at(e,n,t){return Ve({type:A.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function ut(e,n,t,r){return Ve({type:A.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function dt(e,n,t){return Ve({type:A.Action,title:e,actionId:n},t)}function ct(e,n,t,r){return Ve({actionId:e,onClick:n,actionText:null!=t?t:e},r)}const st={type:A.Group,children:[],groupOptions:{type:M.Standard,hideTitle:!0}};function ft(e,n=st){return C(()=>{var t;return Ve({},n,{children:mn(e,null!=(t=n.children)?t:[])})},[e,n])}function pt(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 yt(e,n){return nn(n.reduce(pt,e))}function ht(e,n,t){return{deps:t,state:n,runHook:e}}function mt(e,n){return e.map(e=>gt(n(e))).join(",")}function vt(e){const n=Object.entries(e),t=mt(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 gt(e){return void 0===e?"_":null===e?"~":e.toString()}function Ct(e,n,t){return qt(It(n,I.Visible,e),(e,{definition:n,overrideDataNode:t})=>r(()=>{const r=null!=t?t:e.dataNode;return!r||wt(r)&&!Ft(r,e.schemaInterface,n)}),{definition:n,overrideDataNode:t})}function Dt(e,n){return qt(It(n,I.Readonly,e),(e,{definition:n})=>d(()=>Cn(n)),{definition:n})}function Nt(e,n,r){return qt(Lt(r,n,e),()=>t(void 0),void 0)}function bt(e,n){return qt(Lt(n,I.AllowedOptions,e),()=>t([]),void 0)}function xt(e,n){return qt(It(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 Tt(e,n){return Lt(n,I.Display,e)}function Et(e,n){return qt(Lt(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 Ot(e,n,o){switch(e.type){case G.Jsonata:const i=r(()=>({formData:n.formData}));return Mt(e.expression,Ie(n.parentNode).control,Le(n.parentNode),i,o);case G.UUID:return kt(o);case G.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 G.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 G.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 St=At(Ot);function At(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 It(e,n,t){return Lt(e,n,t,e=>Boolean(e))}function Lt(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 wt(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 Ft(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 kt(e=e=>e){return t(()=>e(T()))}function Mt(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 Vt(e,n){return qt(Lt(n,I.ActionData,e),()=>t(null),void 0)}function Rt(e,n){return qt(Lt(n,I.Label,e),()=>t(null),void 0)}function qt(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(gt).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?mt(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:Bt(e,n);break;case R.Jsonata:Ht(e,n);break;case R.Date:Ut(e,n)}}function Ht(e,n){const t=n.dataContext.parentNode,r=Mt(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 Bt(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 Ut(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===q.NotAfter;if(o?t>l:t<l)return i.validationMessageText(r,o?O.NotAfterDate:O.NotBeforeDate,t,l)}return null},"date"+o)}class Jt{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 Pt=new Jt,$t=["parentDataNode"],_t=["definition","control","formOptions","style","allowedOptions","schemaInterface","styleClass"],Wt=0,Yt=1e3;var zt;function Kt(e,n,t,r={}){const o=gn({definition:e,fields:n,renderer:t,options:r});return D(({control:e,parentPath:n})=>v.createElement(Xt,Ve({},o.current,{control:e,parentPath:n})),[o])}function Qt(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:er,m=i.elementIndex,g=null!=(d=i.schemaInterface)?d:Pt,C=null!=(c=i.useEvalExpressionHook)?c:St;let b;b=null!=m?l.getChildElement(m):Se(s,l);const x=Gt(s,i.useValidationHook),T=vt({defaultValueControl:Et(C,s),visibleControl:Ct(C,s),readonlyControl:Dt(C,s),disabledControl:xt(C,s),allowedOptions:bt(C,s),labelText:Rt(C,s),actionData:Vt(C,s),customStyle:Nt(C,I.Style,s),layoutStyle:Nt(C,I.LayoutStyle,s),displayControl:Tt(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:q,allowedOptions:G,defaultValueControl:j,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,j.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)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=nr({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,$t),c=null!=(i=null!=u?u:I.dataNode)?i:I.parentNode;return v.createElement(Zt,{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:q.value,allowedOptions:G,customDisplay:f.customDisplay,actionDataControl:H,actionOnClick:f.actionOnClick,styleClass:f.styleClass,labelClass:f.labelClass,useEvalExpression:C,useChildVisibility:(e,n,t)=>{var r;return Ct(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 Xt({definition:e,fields:n,renderer:t,options:r,control:o}){const i=Qt(e,t,r,$(P({"":n}).getSchema(""),o));return v.createElement(i,null)}function Zt({definition:e,renderer:n,options:t,parentDataNode:r}){const o=Qt(e,n,t,r);return v.createElement(o,null)}function er(e){var n,t;let{definition:r,control:o,formOptions:i,style:l,allowedOptions:a,schemaInterface:u=Pt,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 nr(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:zt.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:dr(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?zt.Group:zt.Control,label:c,forId:u.id,required:n.required&&!e.formOptions.displayOnly,hide:n.hideTitle,className:Sn(y,n.labelClass)},errorControl:o}}}function tr(e,n){return t=>t[e]=v.createElement(v.Fragment,null,t[e],n)}function rr(e,n){return t=>t[e]=n(t[e])}function or(e){switch(e){case L.ControlEnd:return"controlEnd";case L.ControlStart:return"controlStart";case L.LabelStart:return"labelStart";case L.LabelEnd:return"labelEnd"}}function ir(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function lr(e,n){return tr(or(e),n)}function ar(e,n){return rr(or(e),n)}function ur(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 dr(e,n){return e||sn(n)}function cr(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 sr(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 fr({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 pr(e){return(n,t,r)=>v.createElement(m,{array:e.formNode.getChildNodes()},(t,o)=>e.renderChild(o,t,{parentDataNode:e.dataContext.parentNode,formData:{option:n,optionSelected:r}}))}function yr(e){return e.type===w.Icon}function hr(e){return e.type===w.Accordion}function mr(e){return e.type===w.SetField}function vr(e,n){return Ve({type:"layout",render:e},n)}function gr(e,n,t){return Ve({type:"action",actionType:e,render:n},t)}function Cr(e,n){return Ve({type:"array",render:e},n)}function Dr(e,n){return Ve({type:"data",render:e},n)}function Nr(e,n){return Ve({type:"group",render:e},n)}function br(e,n){return Ve({type:"display",render:e},n)}function xr(e,n){return Ve({type:"label",render:e},n)}function Tr(e,n){return Ve({type:"visibility",render:e},n)}function Er(e,n){return Ve({type:"adornment"},n,{render:e})}function Or(e=[],n){var t;const r=e.filter(Ir),o=e.filter(Lr),i=e.filter(Ar),l=e.filter(Vr),a=e.filter(wr),u=e.filter(Rr),d=e.filter(Mr),c=e.filter(Fr),s={renderAction:function(e){var t;return(null!=(t=d.find(n=>Sr(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&&Sr(n.schemaType,i.type)||n.renderType&&Sr(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=>Sr(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=>Sr(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=>Sr(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(kr))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:zt.Text},void 0,void 0)}};function f(e,t,r){var o;return(null!=(o=a.find(n=>Sr(n.labelType,e.type)))?o:n.label).render(e,t,r,s)}return s}function Sr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function Ar(e){return"adornment"===e.type}function Ir(e){return"data"===e.type}function Lr(e){return"group"===e.type}function wr(e){return"label"===e.type}function Fr(e){return"layout"===e.type}function kr(e){return"visibility"===e.type}function Mr(e){return"action"===e.type}function Vr(e){return"display"===e.type}function Rr(e){return"array"===e.type}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(zt||(zt={}));export{L as AdornmentPlacement,Wt as AppendAdornmentPriority,w as ControlAdornmentType,A as ControlDefinitionType,Xt as ControlRenderer,F as DataRenderType,q as DateComparison,Jt as DefaultSchemaInterface,V as DisplayDataType,I as DynamicPropertyType,G as ExpressionType,E as FieldType,De as FormNode,M as GroupRenderType,zt as LabelType,Zt as NewControlRenderer,S as SchemaTags,k as SyncTextType,O as ValidationMessageType,R as ValidatorType,Yt as WrapAdornmentPriority,Yn as accordionOptions,dt as actionControl,Vn as actionHandlers,en as addFieldOption,mn as addMissingControls,vn as addMissingControlsForSchema,Hn as adornmentOptions,tr as appendMarkup,lr as appendMarkupAt,fr as applyArrayLengthRestrictions,rn as applyDefaultForField,tn as applyDefaultValues,pt as applyExtensionToSchema,yt as applyExtensionsToSchema,An as applyLengthRestrictions,Un as autocompleteOptions,Ye as boolField,qe as buildSchema,Jn as checkListOptions,bn as cleanDataForSchema,wn as coerceToString,qn as collectDifferences,ut as compoundControl,ze as compoundField,dr as controlTitle,ct as createAction,gr as createActionRenderer,Er as createAdornmentRenderer,sr as createArrayActions,Cr as createArrayRenderer,Dr as createDataRenderer,br as createDisplayRenderer,Ee as createFormLookup,Or as createFormRenderer,Nr as createGroupRenderer,xr as createLabelRenderer,vr as createLayoutRenderer,P as createSchemaLookup,Tr as createVisibilityRenderer,Gn as dataControl,$e as dateField,We as dateTimeField,Wn as dateValidatorOptions,Qe as defaultCompoundField,pn as defaultControlForField,er as defaultDataProps,Ot as defaultEvalHooks,Ke as defaultScalarField,Pt as defaultSchemaInterface,St as defaultUseEvalExpressionHook,ln as defaultValueForField,on as defaultValueForFields,Kn as displayOnlyOptions,Pe as doubleField,et as dynamicDefaultValue,rt as dynamicDisabled,nt as dynamicReadonly,tt as dynamicVisibility,an as elementValueForField,st as emptyGroupDefinition,sn as fieldDisplayName,it as fieldEqExpr,ot as fieldExpr,cn as fieldHasTag,pr as fieldOptionAdornment,Oe as fieldPathForDefinition,En as findChildDefinition,dn as findCompoundField,yn as findControlsForCompound,j 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,cr as getLengthRestrictions,On as getOverrideClass,Ie as getRootDataNode,Fe as getSchemaFieldList,Z as getSchemaNodePath,we as getSchemaPath,te as getTagParam,at as groupedControl,fn as hasOptions,Ft as hideDisplayOnly,Zn as htmlDisplayControl,Je as intField,hr 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,yr as isIconAdornment,H as isScalarField,le as isSelectChildRenderer,mr as isSetFieldAdornment,ae as isTabsRenderer,ce as isTextfieldRenderer,Tn as jsonPathString,lt as jsonataExpr,Qn as jsonataOptions,_n as jsonataValidatorOptions,or as layoutKeyForPlacement,be as legacyFormNode,$n as lengthValidatorOptions,Se as lookupDataNode,Ue as makeCompoundField,At as makeEvalExpressionHook,ht as makeHook,mt as makeHookDepString,re as makeParamTag,Be as makeScalarField,$ as makeSchemaDataNode,wt as matchesType,Xe as mergeField,Ze as mergeFields,Ln as mergeObjects,Ne as nodeForControl,Pn as radioButtonOptions,ne as relativePath,nr as renderControlLayout,ur as renderLayoutParts,Bn as renderOptionsFor,Sn as rendererClass,nn as resolveSchemas,X as rootSchemaNode,K as schemaDataForFieldPath,_ as schemaDataForFieldRef,Q as schemaForFieldPath,W as schemaForFieldRef,Ge as stringField,je as stringOptionsField,Xn as textDisplayControl,zn as textfieldOptions,_e as timeField,gt as toDepString,z as traverseData,Ae as traverseParents,Y as traverseSchemaPath,ft as useControlDefinitionForSchema,Kt as useControlRenderer,Qt as useControlRendererComponent,Ut as useDateValidator,vt as useDynamicHooks,Vt as useEvalActionHook,bt as useEvalAllowedOptionsHook,Et as useEvalDefaultValueHook,xt as useEvalDisabledHook,Tt as useEvalDisplayHook,It as useEvalDynamicBoolHook,Lt as useEvalDynamicHook,Rt as useEvalLabelText,Dt as useEvalReadonlyHook,Nt as useEvalStyleHook,Ct as useEvalVisibilityHook,Mt as useJsonataExpression,Ht as useJsonataValidator,Bt as useLengthValidator,Gt as useMakeValidationHook,gn as useUpdatedRef,kt as useUuidExpression,jn as validatorOptions,Me as visitControlData,ke as visitControlDataArray,oe as visitControlDefinition,He as withScalarOptions,ir as wrapLayout,rr as wrapMarkup,ar 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,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};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|