@react-typed-forms/schemas 12.1.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -4,20 +4,8 @@ export * from "./controlBuilder";
4
4
  export * from "./controlRender";
5
5
  export * from "./util";
6
6
  export * from "./renderers";
7
- export * from "./tailwind";
8
7
  export * from "./validators";
9
8
  export * from "./hooks";
10
9
  export * from "./treeNodes";
11
10
  export * from "./schemaInterface";
12
- export * from "./createDefaultRenderers";
13
11
  export * from "./createFormRenderer";
14
- export * from "./components/DefaultDisplay";
15
- export * from "./components/ControlInput";
16
- export * from "./components/SelectDataRenderer";
17
- export * from "./components/CheckRenderer";
18
- export * from "./components/DefaultLayout";
19
- export * from "./components/DefaultDisplayOnly";
20
- export * from "./components/DefaultVisibility";
21
- export * from "./components/JsonataRenderer";
22
- export * from "./components/NullToggle";
23
- export * from "./components/DefaultArrayRenderer";
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useRef as n,useCallback as t,useMemo as r,useEffect as l,Fragment as o,useState as a}from"react";import i from"clsx";import{useControl as u,useRefState as c,makeChangeTracker as s,addAfterChangesCallback as d,collectChanges as f,trackedValue as p,useComputed as m,useCalculatedControl as y,useValueChangeEffect as v,useValidator as h,useComponentTracking as g,useControlEffect as C,newControl as N,addElement as b,removeElement as x,formControlProps as D,RenderElements as E,RenderArrayElements as T,Fcheckbox as O}from"@react-typed-forms/core";import S from"jsonata";import{v4 as A}from"uuid";var I,L,k,w,V,F,M,q,G,R,H,j,B;function J(e){return e.type===k.Data}function U(e){return e.type===k.Group}function _(e){return e.type===k.Display}function P(e){return e.type===k.Action}function $(e,n,t){switch(e.type){case k.Action:return n.action(e);case k.Data:return n.data(e);case k.Display:return n.display(e);case k.Group:return n.group(e);default:return t(e)}}function Y(e){return e.type===R.Grid}function W(e){return e.type===R.Flex}function z(e){return e.type===q.DisplayOnly}function K(e){return e.type===q.Textfield}function Q(e){return e.type===q.Group}function X(e){return e.type===q.Array}function Z(e,n){return e.find(e=>e.field===n)}function ee(e){return!ne(e)}function ne(e){return e.type===I.Compound}function te(e){return e.type===k.Data}function re(e){return e.type===k.Group}function le(){return le=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},le.apply(null,arguments)}function oe(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 ae(e){return Object.entries(e).map(e=>e[1](e[0]))}function ie(e,n){return se(le({type:I.String,displayName:e},n))}function ue(e,...n){return se({type:I.String,displayName:e,options:n})}function ce(e,n){return t=>le({},n(t),e)}function se(e){return n=>le({},Ce(n,n),e)}function de(e){return n=>le({},Ne(n,n,!1),e)}function fe(e,n){return se(le({type:I.Int,displayName:e},n))}function pe(e,n){return se(le({type:I.Double,displayName:e},n))}function me(e,n){return se(le({type:I.Date,displayName:e},n))}function ye(e,n){return se(le({type:I.Time,displayName:e},n))}function ve(e,n){return se(le({type:I.DateTime,displayName:e},n))}function he(e,n){return se(le({type:I.Bool,displayName:e},n))}function ge(e,n,t){return r=>le({},Ne(r,e,!1),t,{children:n})}function Ce(e,n){return{field:e,displayName:n,type:I.String}}function Ne(e,n,t){return{field:e,displayName:n,type:I.Compound,collection:t,children:[]}}function be(e,n){const t=n.find(n=>n.field===e.field);return t?n.map(n=>n!==t?n:le({},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 xe(e,n,t,r){const l=e.map(e=>e.isTypeField?De(e,n,t):e);return r.map(e=>le({},e,{onlyForTypes:[t]})).reduce((e,n)=>be(n,e),l)}function De(e,n,t){var r;const l=null!=(r=e.options)?r:[];return l.some(e=>e.value===t)?e:le({},e,{options:[...l,{name:n,value:t}]})}function Ee(e){const n={};return Object.keys(e).forEach(function t(r){if(r in n)return n[r];const l=[];return n[r]=l,e[r].forEach(e=>{ne(e)&&e.schemaRef?l.push(le({},e,{children:t(e.schemaRef)})):l.push(e)}),l}),n}function Te(e,n,t){if(!e)return Se(n);if(t&&t.has(e))return e;null!=t||(t=new Set),t.add(e);const r=n.filter(n=>ne(n)||!(n.field in e));if(!r.length)return e;const l=le({},e);return r.forEach(r=>{l[r.field]=r.field in e?Oe(e[r.field],r,n,!1,t):Ae(r)}),l}function Oe(e,n,t,r,l){return n.collection&&!r?(null!=e?e:[]).map(e=>Oe(e,n,t,!0,l)):ne(n)?e||n.required?Te(e,n.treeChildren?t:n.children,l):e:Ae(n)}function Se(e){return Object.fromEntries(e.map(e=>[e.field,Ae(e)]))}function Ae(e,n,t){if(void 0!==e.defaultValue)return e.defaultValue;const r=!(!n&&!e.required);if(ne(e)){if(r){const n=Se(e.children);return e.collection?[n]:n}return e.notNullable||t?e.collection?[]:{}:void 0}return e.collection&&e.notNullable?[]:void 0}function Ie(e){return ne(e)?Se(e.children):e.defaultValue}function Le(e,n){return Z(e,n)}function ke(e,n){return Z(e,n)}function we(e,n){var t;return Boolean(null==(t=e.tags)?void 0:t.includes(n))}function Ve(e){var n;return null!=(n=e.displayName)?n:e.field}function Fe(e){var n,t;return(null!=(n=null==(t=e.options)?void 0:t.length)?n:0)>0}function Me(e){if(ne(e))return{type:k.Data,title:e.displayName,field:e.field,required:e.required,children:e.children.map(Me)};if(ee(e)){var n;const t=null==(n=e.tags)?void 0:n.includes("_HtmlEditor");return{type:k.Data,title:e.displayName,field:e.field,required:e.required,renderOptions:{type:t?q.HtmlEditor:q.Standard}}}throw"Unknown schema field"}function qe(e,n){return J(n)&&e.field===n.field?[n]:U(n)?n.compoundField===e.field?[n]:null!=(t=null==(r=n.children)?void 0:r.flatMap(n=>qe(e,n)))?t:[]:[];var t,r}function Ge(e,n){return Object.fromEntries(e.filter(ne).map(e=>{const t=n.flatMap(n=>qe(e,n));return[e.field,{groups:t.concat(He(t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))),children:Ge(e.children,t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))}]}))}function Re(e,n){if(!n.groups.find(n=>{var t;return null==(t=n.children)?void 0:t.find(n=>J(n)&&n.field===e.field||U(n)&&n.compoundField===e.field)}))return[[e,n]];if(ne(e)){const t=n.children[e.field];return t?e.children.flatMap(e=>Re(e,t)):[[e,n]]}return[]}function He(e){return e.flatMap(e=>{var n;return U(e)&&!e.compoundField?[e,...He(null!=(n=e.children)?n:[])]:[]})}function je(e){var n;return le({},e,{children:null==(n=e.children)?void 0:n.map(je)})}function Be(e,n){const t={children:Ge(e,n=n.map(je)),groups:He([{type:k.Group,children:n}])};return e.filter(e=>!we(e,"_NoControl")).flatMap(e=>Re(e,t)).forEach(([e,n])=>{var t;const r=null==(t=e.tags)?void 0:t.find(e=>e.startsWith("_ControlGroup:"));let l;if(r){const e=r.substring(14);l=n.groups.find(n=>n.title===e)}if(l||(l=n.groups[0]),l){const n=Me(e);l.children?l.children.push(n):l.children=[n]}}),n}function Je(e){const t=n(e);return t.current=e,t}function Ue(e){return te(e)&&!!e.readonly}function _e(e){return te(e)&&!!e.disabled}function Pe(e){return J(e)&&e.renderOptions&&z(e.renderOptions)?e.renderOptions:void 0}function $e(e,n,t){if(!e)return e;const r=n.find(e=>e.isTypeField),l=r?e[r.field]:void 0,o=t?n:n.filter(e=>{var n,t;return ne(e)||(null!=(n=null==(t=e.onlyForTypes)?void 0:t.length)?n:0)>0});if(!o.length)return e;const a=le({},e);return o.forEach(r=>{var o;const i=e[r.field];if(!1===(null==(o=r.onlyForTypes)?void 0:o.includes(l))||!r.notNullable&&(t&&r.defaultValue===i||r.collection&&Array.isArray(i)&&!i.length))delete a[r.field];else if(ne(r)){const e=r.treeChildren?n:r.children;r.collection?Array.isArray(i)&&(a[r.field]=i.map(n=>$e(n,e,t))):a[r.field]=$e(i,e,t)}}),a}function Ye(e,n){var t,r;const l=null==(t=e.children)?void 0:t.flatMap(e=>Ye(e,n)),o=i([e.styleClass,e.layoutClass,e.labelClass,...null!=(r=null==n?void 0:n(e))?r:[]].map(Ke));return l&&!o?l:o?l?[o,...l]:[o]:[]}function We(e,n){let t="";return e.forEach((e,r)=>{var l;"number"==typeof e?t+=null!=(l=null==n?void 0:n(e))?l:"["+e+"]":(r>0&&(t+="."),t+=e)}),t}function ze(e,n){if(Array.isArray(n)){let t=e;return n.forEach(e=>t=t.children[e]),t}return e.children[n]}function Ke(e){return e&&e.startsWith("@ ")?e.substring(2):e}function Qe(e,n){const t=Ke(e);return t===e?i(e,n):t||void 0}function Xe(e,n,t){return{deps:t,state:n,runHook:e}}function Ze(e,n){return e.map(e=>nn(n(e))).join(",")}function en(e){const r=Object.entries(e),l=Ze(r,e=>e[1].deps),o=n({}),a=o.current;return r.forEach(e=>a[e[0]]=e[1].state),t(e=>Object.fromEntries(r.map(([n,t])=>[n,t.runHook(e,o.current[n])])),[l])}function nn(e){return void 0===e?"_":null===e?"~":e.toString()}function tn(e,n,t,r,l){return[null==n||e>n?r:void 0,null==t||e<t?l:void 0]}function rn(e,n){if(!n)return;const t=n.split("/"),r=[];let l=0,o=e;for(;l<t.length&&o;){const e=Z(o,t[l]);if(!e)return;r.push(e),o=ne(e)&&!e.collection?e.children:void 0,l++}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=le({},e);for(const l in n)n.hasOwnProperty(l)&&(r[l]=t(l,e[l],n[l]));return r}function on(e,n,t){return le({type:k.Data,field:e,title:n},t)}function an(e){return n=>le({type:e},n)}function un(e){return n=>le({type:e},n)}function cn(e){return n=>({renderOptions:le({type:e},n)})}!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"}(I||(I={})),function(e){e.NotEmpty="NotEmpty",e.MinLength="MinLength",e.MaxLength="MaxLength",e.NotAfterDate="NotAfterDate",e.NotBeforeDate="NotBeforeDate"}(L||(L={})),function(e){e.Data="Data",e.Group="Group",e.Display="Display",e.Action="Action"}(k||(k={})),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.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(V||(V={})),function(e){e.ControlStart="ControlStart",e.ControlEnd="ControlEnd",e.LabelStart="LabelStart",e.LabelEnd="LabelEnd"}(F||(F={})),function(e){e.Tooltip="Tooltip",e.Accordion="Accordion",e.HelpText="HelpText",e.Icon="Icon",e.SetField="SetField"}(M||(M={})),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"}(q||(q={})),function(e){e.Camel="Camel",e.Snake="Snake",e.Pascal="Pascal"}(G||(G={})),function(e){e.Standard="Standard",e.Grid="Grid",e.Flex="Flex",e.GroupElement="GroupElement"}(R||(R={})),function(e){e.Text="Text",e.Html="Html",e.Icon="Icon",e.Custom="Custom"}(H||(H={})),function(e){e.Jsonata="Jsonata",e.Date="Date",e.Length="Length"}(j||(j={})),function(e){e.NotBefore="NotBefore",e.NotAfter="NotAfter"}(B||(B={}));const sn=cn(q.CheckList),dn=cn(q.Radio),fn=an(j.Length),pn=an(j.Jsonata),mn=an(j.Date),yn=un(M.Accordion),vn=cn(q.Textfield),hn=cn(q.DisplayOnly),gn=cn(q.Jsonata);function Cn(e,n){return le({type:k.Display,displayData:{type:H.Text,text:e}},n)}function Nn(e,n){return le({type:k.Display,displayData:{type:H.Html,html:e}},n)}function bn(e){return{type:w.DefaultValue,expr:e}}function xn(e){return{type:w.Readonly,expr:e}}function Dn(e){return{type:w.Visible,expr:e}}function En(e){return{type:w.Disabled,expr:e}}function Tn(e){return{type:V.Data,field:e}}function On(e,n){return{type:V.DataMatch,field:e,value:n}}function Sn(e){return{type:V.Jsonata,expression:e}}function An(e,n,t){return le({type:k.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function In(e,n,t,r){return le({type:k.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function Ln(e,n,t){return le({type:k.Action,title:e,actionId:n},t)}function kn(e,n,t){return{actionId:e,onClick:n,actionText:null!=t?t:e}}const wn={type:k.Group,children:[],groupOptions:{type:R.Standard,hideTitle:!0}};function Vn(e,n=wn){return r(()=>{var t;return le({},n,{children:Be(e,null!=(t=n.children)?t:[])})},[e,n])}function Fn(e,n){const t=le({},e);return Object.entries(n).forEach(([e,n])=>{t[e]=(Array.isArray(n)?n:[n]).reduce((e,n)=>{var t;return xe(e,n.name,n.value,null!=(t=n.fields)?t:[])},t[e])}),t}function Mn(e,n){return Ee(n.reduce(Fn,e))}const qn={field:"__missing",type:I.Any};function Gn(e,n,t){const r={field:e,getSchema:n.getSchema,parent:t,getChildNode:function(t){if(ne(e)&&!e.schemaRef){const l=e.children.find(e=>e.field===t);return l?Gn(l,n,r):void 0}return l().find(e=>e.field.field===t)},getChildNodes:l};return r;function l(){if(ne(e)){const t=e.schemaRef&&n.getSchema(e.schemaRef);return t?t.getChildNodes():e.children.map(e=>Gn(e,n,r))}return[]}}function Rn(e){const n={getSchema:function(t){const r=e[t];if(r)return et(r,n)}};return n}function Hn(e,n){const t={definition:e,parent:n,getChildNodes:function(){var n,r;return null!=(n=null==(r=e.children)?void 0:r.map(e=>Hn(e,t)))?n:[]}};return t}function jn(e){return{getForm:function n(t){const r=e[t];if(r)return{rootNode:Hn({children:r,type:k.Group}),getForm:n}}}}function Bn(e,n,t,r){const l={schema:e,control:n,parent:t,elementIndex:r,getChild:function(e){var t;const r=n;return r&&r.current.isNull&&(r.value={}),Bn(e,null==r||null==(t=r.fields)?void 0:t[e.field.field],l)},getChildElement:function(t){var r;return Bn(e,null==n||null==(r=n.elements)?void 0:r[t],l,t)}};return l}function Jn(e){const n=U(e)?e.compoundField:J(e)?e.field:void 0;return null==n?void 0:n.split("/")}function Un(e,n){var t;return Yn(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function _n(e,n){var t;return Wn(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function Pn(e,n,t,r){let l=0;for(;l<e.length;){let o=n.getChildNode(e[l]);o||(o=Gn(qn,n,n)),t=r(t,o),n=o,l++}return t}function $n(e,n,t){return Pn(e,n,t,(e,n)=>null==e?void 0:e[n.field.field])}function Yn(e,n){return Pn(e,n.schema,n,(e,n)=>e.getChild(n))}function Wn(e,n){let t=0;for(;t<e.length;){let r=n.getChildNode(e[t]);r||(r=Gn(qn,n,n)),n=r,t++}return n}function zn(e,n,t){let r=[];for(;e&&(null==t||!t(e));)r.push(n(e)),e=e.parent;return r.reverse()}function Kn(e){for(;e.parent;)e=e.parent;return e}function Qn(e){return zn(e,e=>null==e.elementIndex?e.schema.field.field:e.elementIndex,e=>!e.parent)}function Xn(e){return zn(e,e=>e.field,e=>!e.parent)}function Zn(e){return e.getChildNodes().map(e=>e.field)}function et(e,n={getSchema(e){}}){return Gn({type:I.Compound,field:"",children:e},n,void 0)}function nt(e,n,t){if(e)for(const r of e){const e=tt(r,n,t);if(void 0!==e)return e}}function tt(e,n,t){if(n.control&&!n.control.isNull)return $(e,{data:e=>r(e,e.field,e.children),group:e=>r(void 0,e.compoundField,e.children),action:()=>{},display:()=>{}},()=>{});function r(e,r,l){const o=r?n.schema.getChildNode(r):void 0;if(!o)return r?void 0:nt(l,n,t);const a=n.getChild(o),i=e?t(e,a):void 0;if(void 0!==i)return i;const u=ne(o.field);if(o.field.collection){const n=a.control;let r=0;for(const o of null!=(c=n.elements)?c:[]){var c;const n=a.getChildElement(r),o=e?t(e,n):void 0;if(void 0!==o)return o;if(u){const e=nt(l,n,t);if(void 0!==e)return e}r++}}else if(u)return nt(l,a,t)}}function rt(e,n,t){return bt(pt(n,w.Visible,e),(e,{definition:n,overrideDataNode:t})=>m(()=>{const r=null!=t?t:e.dataNode;return!r||yt(r)&&!vt(r,e.schemaInterface,n)}),{definition:n,overrideDataNode:t})}function lt(e,n){return bt(pt(n,w.Readonly,e),(e,{definition:n})=>y(()=>Ue(n)),{definition:n})}function ot(e,n,t){return bt(mt(t,n,e),()=>u(void 0),void 0)}function at(e,n){return bt(mt(n,w.AllowedOptions,e),()=>u([]),void 0)}function it(e,n){return bt(pt(n,w.Disabled,e),e=>m(()=>{var t,r;const l=null==(t=e.dataNode)?void 0:t.control;return!1===(null==l||null==(r=l.meta.nullControl)?void 0:r.value)||_e(n)}),void 0)}function ut(e,n){return mt(n,w.Display,e)}function ct(e,n){return bt(mt(n,w.DefaultValue,e),(e,{definition:n})=>m(function(){var t;const[r,l]=J(n)?[n.required,n.defaultValue]:[!1,void 0],o=null==(t=e.dataNode)?void 0:t.schema.field;return null!=l?l:o?null!=e.dataNode.elementIndex?Ie(o):Ae(o,r,!0):void 0}),{definition:n})}function st(e,n,t){switch(e.type){case V.Jsonata:return gt(e.expression,Kn(n.parentNode).control,Qn(n.parentNode),void 0,t);case V.UUID:return ht(t);case V.Data:return function(e,n,t=e=>e){const r=Un(e.field,n);return y(()=>{var e;return t(null==(e=r.control)?void 0:e.value)})}(e,n.parentNode,t);case V.DataMatch:return function(e,n,t=e=>e){const r=Un(e.field,n);return y(()=>{var n;const l=null==(n=r.control)?void 0:n.value;return t(Array.isArray(l)?l.includes(e.value):l===e.value)})}(e,n.parentNode,t);case V.NotEmpty:return function(e,n,t,r=e=>e){const l=Un(e.field,n);return y(()=>{var e;const n=null==(e=l.control)?void 0:e.value,o=l.schema.field;return r(o&&!t.isEmptyValue(o,n))})}(e,n.parentNode,n.schemaInterface,t);default:return u(void 0)}}const dt=ft(st);function ft(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 pt(e,n,t){return mt(e,n,t,e=>Boolean(e))}function mt(e,n,t,r=e=>e){var l;const o=null==(l=e.dynamic)?void 0:l.find(e=>e.type===n);return t(null==o?void 0:o.expr,r)}function yt(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 l=t.getChild(r).control;return l&&n.includes(l.value)}function vt(e,n,t){var r;const l=Pe(t);return l&&!l.emptyText&&n.isEmptyValue(e.schema.field,null==(r=e.control)?void 0:r.value)}function ht(e=e=>e){return u(()=>e(A()))}function gt(e,t,o,a,i=e=>e){const m=We(o,e=>`#$i[${e}]`),y=m?m+".("+e+")":e,v=r(()=>{try{return S(y)}catch(e){return console.error(e),S("null")}},[y]),h=u(),g=n(),C=n(0),[N]=c(()=>s(()=>{const e=g.current;e&&(g.current=void 0,d(()=>{g.current=e,e()}))}));return l(()=>{async function e(){const[e,n]=N.current;try{C.current++;const n=a?f(e,a):void 0;h.value=i(await v.evaluate(p(t,e),n))}finally{--C.current||n()}}return g.current=e,e(),()=>N.current[1](!0)},[v]),h}function Ct(e,n){return bt(mt(n,w.ActionData,e),()=>u(null),void 0)}function Nt(e,n){return bt(mt(n,w.Label,e),()=>u(null),void 0)}function bt(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(nn).join(),runHook:(t,r)=>{var l;return null!=(l=e.runHook(t,r[0]))?l:n(t,r[1])},state:[e.state,t]}}function xt(e,n=Dt){var r;const l=J(e)?e:void 0,o=Je({dd:l,useValidatorFor:n}),a=Ze(null!=(r=null==l?void 0:l.validators)?r:[],e=>e.type);return t(e=>{var t,r;const l=null==(t=e.dataContext.dataNode)?void 0:t.schema.field,{dd:a}=o.current;if(!a||!l)return;const{control:i,hiddenControl:u,dataContext:{schemaInterface:c}}=e;v(i,()=>i.setError("default","")),h(i,e=>!u.value&&a.required&&c.isEmptyValue(l,e)?c.validationMessageText(l,L.NotEmpty,!1,!0):null,"required",void 0,[a.required]),null==(r=a.validators)||r.forEach((t,r)=>n(t,le({},e,{index:r,field:l,definition:a})))},[!!l,a,n])}function Dt(e,n){switch(e.type){case j.Length:Tt(e,n);break;case j.Jsonata:Et(e,n);break;case j.Date:Ot(e,n)}}function Et(e,n){const t=n.dataContext.parentNode,r=gt(e.expression,Kn(t).control,Qn(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 Tt(e,n){const{control:t,dataContext:{schemaInterface:r},hiddenControl:l,field:o}=n;h(t,n=>{const a=r.controlLength(o,t);if(!l.value)if(null!=e.min&&a<e.min){if(null==o||!o.collection)return r.validationMessageText(o,L.MinLength,a,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&&a>e.max)return r.validationMessageText(o,L.MaxLength,a,e.max)},"length"+n.index)}function Ot(e,n){const{control:t,field:r,index:l,dataContext:{schemaInterface:o}}=n;let a;if(e.fixedDate)a=o.parseToMillis(r,e.fixedDate);else{const n=new Date;a=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()),e.daysFromCurrent&&(a+=864e5*e.daysFromCurrent)}h(t,n=>{if(n){const t=o.parseToMillis(r,n),l=e.comparison===B.NotAfter;if(l?t>a:t<a)return o.validationMessageText(r,l?L.NotAfterDate:L.NotBeforeDate,t,a)}return null},"date"+l)}function St(e){return e||void 0}class At{constructor(e=["No","Yes"]){this.boolStrings=void 0,this.boolStrings=e}parseToMillis(e,n){return Date.parse(n)}validationMessageText(e,n,t,r){switch(n){case L.NotEmpty:return"Please enter a value";case L.MinLength:return"Length must be at least "+r;case L.MaxLength:return"Length must be less than "+r;case L.NotBeforeDate:return`Date must not be before ${new Date(r).toDateString()}`;case L.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 I.String:case I.DateTime:case I.Date:case I.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),l=null==r?void 0:r.find(e=>e.value===n);if(l)return l.name;switch(e.type){case I.Date:return n?new Date(n).toLocaleDateString():void 0;case I.DateTime:return n?new Date(n).toLocaleString():void 0;case I.Time:return n?new Date("1970-01-01T"+n).toLocaleTimeString():void 0;case I.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 I.Date:case I.DateTime:case I.Time:case I.String:return n.localeCompare(t);case I.Bool:return n?t?0:1:-1;case I.Int:case I.Double:return n-t;default:return 0}}}const It=new At,Lt=["definition","control","formOptions","style","allowedOptions","schemaInterface"],kt=0,wt=1e3;var Vt;function Ft(n,r,l,o={}){const a=Je({definition:n,fields:r,renderer:l,options:o});return t(({control:n,parentPath:t})=>/*#__PURE__*/e.createElement(qt,le({},a.current,{control:n,parentPath:t})),[a])}function Mt(n,r,a={},i){var c,s,d;const f=null!=(c=null==a.useDataHook?void 0:a.useDataHook(n))?c:Rt,m=a.elementIndex,v=null!=(s=a.schemaInterface)?s:It,h=null!=(d=a.useEvalExpressionHook)?d:dt;let b;if(null!=m)b=i.getChildElement(m);else{const e=Jn(n);b=e?Yn(e,i):void 0}const x=xt(n,a.useValidationHook),D=en({defaultValueControl:ct(h,n),visibleControl:rt(h,n),readonlyControl:lt(h,n),disabledControl:it(h,n),allowedOptions:at(h,n),labelText:Nt(h,n),actionData:Ct(h,n),customStyle:ot(h,w.Style,n),layoutStyle:ot(h,w.LayoutStyle,n),displayControl:ut(h,n)}),E=Je({options:a,definition:n,elementIndex:m,parentDataNode:i,dataNode:b}),T=t(()=>{const t=g();try{var a,c,s;const{definition:t,options:d,elementIndex:m,parentDataNode:g,dataNode:T}=E.current,O={schemaInterface:v,dataNode:T,parentNode:g},{readonlyControl:S,disabledControl:A,visibleControl:I,displayControl:L,layoutStyle:k,labelText:w,customStyle:V,allowedOptions:F,defaultValueControl:M,actionData:G}=D(O),R=I.current.value,H=u(()=>null!=R?{visible:R,showing:R}:void 0);C(()=>I.value,e=>{null!=e&&H.setValue(n=>({visible:e,showing:n?n.showing:e}))});const j=i.control,B=null==(a=b)?void 0:a.control;C(()=>{var e;return[H.value,M.value,null==B?void 0:B.isNull,J(n)&&n.dontClearHidden,J(n)&&(null==(e=n.renderOptions)?void 0:e.type)==q.NullToggle,j.isNull,d.hidden,S.value]},([e,n,t,r,l,o,a,i])=>{i||(B?e&&e.visible===e.showing&&(a||!e.visible?B.setValue(e=>d.clearHidden&&!r?void 0:null==e&&r&&!l?n:e):l||B.setValue(e=>null!=e?e:n)):o&&j.setValue(e=>null!=e?e:{}))},!0);const U=y(()=>{var e;return{hidden:d.hidden||!(null!=(e=H.fields)&&e.showing.value),readonly:d.readonly||S.value,disabled:d.disabled||A.value}}),_=p(U);x({control:null!=B?B:N(null),hiddenControl:U.fields.hidden,dataContext:O});const P=le({},d,_,{elementIndex:void 0});if(l(()=>{B&&"boolean"==typeof _.disabled&&B.disabled!=_.disabled&&(B.disabled=_.disabled)},[B,_.disabled]),j.isNull)/*#__PURE__*/return e.createElement(e.Fragment,null);const $=null!=(c=null==(s=n.adornments)?void 0:s.map(e=>r.renderAdornment({adornment:e,dataContext:O,useExpr:h})))?c:[],Y=Ht({definition:t,renderer:r,renderChild:(n,t,l)=>{var a,i;if(B&&B.isNull)/*#__PURE__*/return e.createElement(o,{key:n});const u=null!=(a=null!=(i=null==l?void 0:l.parentDataNode)?i:O.dataNode)?a:O.parentNode;/*#__PURE__*/return e.createElement(Gt,{key:n,definition:t,renderer:r,parentDataNode:u,options:l?le({},P,{elementIndex:null==l?void 0:l.elementIndex}):P})},createDataProps:f,formOptions:_,dataContext:O,control:null!=L?L:B,elementIndex:m,schemaInterface:v,labelText:w,displayControl:L,style:V.value,allowedOptions:F,customDisplay:d.customDisplay,actionDataControl:G,actionOnClick:d.actionOnClick,useEvalExpression:h,useChildVisibility:(e,n)=>{var t;const r=Jn(e),l=r?Yn(r,null!=(t=null!=n?n:b)?t:i):void 0;return rt(h,e,l)}}),W=r.renderLayout(le({},Y,{adornments:$,className:t.layoutClass,style:k.value}));return r.renderVisibility(le({visibility:H},W))}finally{t()}},[E,f,x,r,v,D]);return T.displayName="RenderControl",T}function qt({definition:n,fields:t,renderer:r,options:l,control:o}){var a=g();try{const a=Mt(n,r,l,Bn(Rn({"":t}).getSchema(""),o));/*#__PURE__*/return e.createElement(a,null)}finally{a()}}function Gt({definition:n,renderer:t,options:r,parentDataNode:l}){var o=g();try{const o=Mt(n,t,r,l);/*#__PURE__*/return e.createElement(o,null)}finally{o()}}function Rt(e){var n,t,r;let{definition:l,control:o,formOptions:a,style:i,allowedOptions:u,schemaInterface:c=It}=e,s=oe(e,Lt);const d=s.dataContext.dataNode,f=d.schema.field,p=St(l.styleClass),m=!!l.required,y=c.getOptions(f),v=null!=(n=null==u?void 0:u.value)?n:[],h=Array.isArray(v)?v:[v];return le({dataNode:d,definition:l,childDefinitions:null!=(t=l.children)?t:[],control:o,field:f,id:"c"+o.uniqueId,options:h.length>0?h.map(e=>{var n;return"object"==typeof e?e:null!=(n=null==y?void 0:y.find(n=>n.value==e))?n:{name:e.toString(),value:e}}):y,readonly:!!a.readonly,renderOptions:null!=(r=l.renderOptions)?r:{type:"Standard"},required:m,hidden:!!a.hidden,className:p,style:i},s)}function Ht(e){const{definition:n,renderer:t,renderChild:r,control:l,dataContext:o,createDataProps:a,displayControl:i,style:u,labelText:c,useChildVisibility:s,designMode:d,customDisplay:f,useEvalExpression:p}=e;if(J(n))return T(n);var m,y,v,h,g;if(U(n))return n.compoundField?T(on(n.compoundField,n.title,{children:n.children,hideTitle:null==(g=n.groupOptions)?void 0:g.hideTitle})):{processLayout:t.renderGroup({childDefinitions:null!=(m=n.children)?m:[],definition:n,renderChild:r,useEvalExpression:p,dataContext:o,renderOptions:null!=(y=n.groupOptions)?y:{type:"Standard"},className:St(n.styleClass),useChildVisibility:s,style:u,designMode:d}),label:{label:null!=(v=null==c?void 0:c.value)?v:n.title,className:St(n.labelClass),type:Vt.Group,hide:null==(h=n.groupOptions)?void 0:h.hideTitle}};if(P(n)){var C,N,b,x,D;const r=null!=(C=null==(N=e.actionDataControl)?void 0:N.value)?C:n.actionData;return{children:t.renderAction({actionText:null!=(b=null!=(x=null==c?void 0:c.value)?x:n.title)?b:n.actionId,actionId:n.actionId,actionData:r,onClick:null!=(D=null==e.actionOnClick?void 0:e.actionOnClick(n.actionId,r))?D:()=>{},className:St(n.styleClass),style:u})}}if(_(n)){var E;const e=null!=(E=n.displayData)?E:{},r={data:e,className:St(n.styleClass),style:u,display:i,dataContext:o};return e.type===H.Custom&&f?{children:f(e.customId,r)}:{children:t.renderDisplay(r)}}return{};function T(n){var r,o,i;if(!l)return{children:"No control for: "+n.field};const u=a(e),s=n.hideTitle?void 0:Yt(null!=(r=null==c?void 0:c.value)?r:n.title,e.dataContext.dataNode.schema.field);return{processLayout:t.renderData(u),label:{type:(null!=(o=null==(i=n.children)?void 0:i.length)?o:0)>0?Vt.Group:Vt.Control,label:s,forId:u.id,required:n.required,hide:n.hideTitle,className:St(n.labelClass)},errorControl:l}}}function jt(n,t){return r=>r[n]=/*#__PURE__*/e.createElement(e.Fragment,null,r[n],t)}function Bt(e,n){return t=>t[e]=n(t[e])}function Jt(e){switch(e){case F.ControlEnd:return"controlEnd";case F.ControlStart:return"controlStart";case F.LabelStart:return"labelStart";case F.LabelEnd:return"labelEnd"}}function Ut(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function _t(e,n){return jt(Jt(e),n)}function Pt(e,n){return Bt(Jt(e),n)}function $t(e,n){var t;const{className:r,children:l,style:o,errorControl:a,label:i,adornments:u}=null!=(t=null==e.processLayout?void 0:e.processLayout(e))?t:e,c={children:l,errorControl:a,style:o,className:St(r),wrapLayout:e=>e};return(null!=u?u:[]).sort((e,n)=>e.priority-n.priority).forEach(e=>e.apply(c)),c.label=i&&!i.hide?n.renderLabel(i,c.labelStart,c.labelEnd):void 0,c}function Yt(e,n){return e||Ve(n)}function Wt(e){var n;const t=null==(n=e.validators)?void 0:n.find(e=>e.type===j.Length);return{min:null==t?void 0:t.min,max:null==t?void 0:t.max}}function zt(e,n,t){var r;const l=null!=(r=n.displayName)?r:n.field,{addText:o,noAdd:a,removeText:i,noRemove:u,removeActionId:c,addActionId:s}=null!=t?t:{};return{arrayControl:e,addAction:a?void 0:{actionId:s||"add",actionText:o||"Add "+l,onClick:()=>b(e,Ie(n))},removeAction:u?void 0:n=>({actionId:c||"remove",actionText:i||"Remove",onClick:()=>x(e,n)})}}function Kt({arrayControl:e,min:n,max:t,addAction:r,removeAction:l,required:o},a){var i,u;const[c,s]=tn(null!=(i=null==(u=e.elements)?void 0:u.length)?i:0,null==n&&o?1:n,t,!0,!0);return{addAction:a||s?r:void 0,removeAction:a||c?l:void 0,removeDisabled:!c,addDisabled:!s}}function Qt(e){return e.type===M.Icon}function Xt(e){return e.type===M.Accordion}function Zt(e){return e.type===M.SetField}function er(e,n){return le({type:"layout",render:e},n)}function nr(e,n,t){return le({type:"action",actionType:e,render:n},t)}function tr(e,n){return le({type:"array",render:e},n)}function rr(e,n){return le({type:"data",render:e},n)}function lr(e,n){return le({type:"group",render:e},n)}function or(e,n){return le({type:"display",render:e},n)}function ar(e,n){return le({type:"label",render:e},n)}function ir(e,n){return le({type:"visibility",render:e},n)}function ur(e,n){return le({type:"adornment"},n,{render:e})}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(Vt||(Vt={}));const cr={label:{groupLabelClass:"font-bold",requiredElement:/*#__PURE__*/e.createElement("span",{className:"text-red-500"}," *")},array:{removableClass:"grid grid-cols-[1fr_auto] items-center gap-x-2",childClass:"grow my-2",addActionClass:"my-2"},group:{standardClassName:"flex flex-col gap-4",gridClassName:"gap-x-2 gap-y-4",flexClassName:"gap-2"},action:{className:"bg-primary-500 rounded-lg p-3 text-white"},layout:{className:"flex flex-col",errorClass:"text-sm text-danger-500"},data:{displayOnlyClass:"flex flex-row items-center gap-2",checkOptions:{className:"flex items-center gap-4",entryClass:"flex gap-1 items-center"},selectOptions:{emptyText:"<select>"},multilineClass:"border p-2 outline-0 whitespace-pre"},adornment:{accordion:{className:"flex items-center gap-2 my-2",titleClass:"cursor-pointer",iconOpenClass:"fa fa-chevron-up",iconClosedClass:"fa fa-chevron-down"}}},sr=["data","display","className","style"];function dr(n={}){return{render:t=>/*#__PURE__*/e.createElement(fr,le({},n,t)),type:"display"}}function fr(n){var t=g();try{var r;let{data:t,display:l,className:o,style:a}=n,u=oe(n,sr);switch(t.type){case H.Icon:/*#__PURE__*/return e.createElement("i",{style:a,className:i(Ke(o),l?l.value:t.iconClass)});case H.Text:/*#__PURE__*/return e.createElement("div",{style:a,className:Qe(o,u.textClassName)},l?l.value:t.text);case H.Html:/*#__PURE__*/return e.createElement("div",{style:a,className:Qe(o,u.htmlClassName),dangerouslySetInnerHTML:{__html:l?null!=(r=l.value)?r:"":t.html}});case H.Custom:/*#__PURE__*/return e.createElement("div",null,"Custom display placeholder: ",t.customId);default:/*#__PURE__*/return e.createElement("h1",null,"Unknown display type: ",t.type)}}finally{t()}}function pr({errorClass:n,renderError:t=t=>t&&/*#__PURE__*/e.createElement("div",{className:n},t),layout:{controlEnd:r,controlStart:l,label:o,children:a,errorControl:i}}){var u=g();try{/*#__PURE__*/return e.createElement(e.Fragment,null,o,l,a,t(i&&i.touched?i.error:void 0),r)}finally{u()}}function mr(){return ir(n=>/*#__PURE__*/e.createElement(yr,n))}function yr({visibility:n,children:t,className:r,style:o,divRef:a}){var u=g();try{const u=n.value;return l(()=>{u&&n.setValue(e=>({visible:u.visible,showing:u.visible}))},[null==u?void 0:u.visible]),null!=u&&u.visible?/*#__PURE__*/e.createElement("div",{className:i(r),style:o,ref:a},t):/*#__PURE__*/e.createElement(e.Fragment,null)}finally{u()}}const vr=["state","options","className","convert","required","emptyText","requiredText","readonly"];function hr(n={}){return rr((t,r)=>{var l;/*#__PURE__*/return e.createElement(gr,{className:Qe(t.className,n.className),state:t.control,id:t.id,readonly:t.readonly,options:null!=(l=t.options)?l:[],required:t.required,emptyText:n.emptyText,requiredText:n.requiredText,convert:Cr(t.field.type)})},{options:!0})}function gr(n){var t=g();try{let{state:l,options:o,className:i,convert:u,required:c,emptyText:s="N/A",requiredText:d="<please select>",readonly:f}=n,p=oe(n,vr);const{value:m,disabled:y}=l,[v]=a(!c||null==m),h=r(()=>Object.fromEntries(o.map(e=>[u(e.value),e.value])),[o]),C=r(()=>new Set(o.filter(e=>e.group).map(e=>e.group)),[o]);/*#__PURE__*/return e.createElement("select",le({},p,{className:i,onChange:e=>l.value=h[e.target.value],value:u(m),disabled:y||f}),v&&/*#__PURE__*/e.createElement("option",{value:""},c?d:s),[...C.keys()].map(n=>/*#__PURE__*/e.createElement("optgroup",{key:n,label:n},o.filter(e=>e.group===n).map(N))),o.filter(e=>!e.group).map(N));function N(n,t){/*#__PURE__*/return e.createElement("option",{key:t,value:u(n.value),disabled:!!n.disabled},n.name)}}finally{t()}}function Cr(e){switch(e){case I.String:case I.Int:case I.Double:return e=>e;default:return e=>{var n;return null!=(n=null==e?void 0:e.toString())?n:""}}}function Nr({control:n,className:t,emptyText:r,schemaInterface:l,field:o,style:a}){var i=g();try{var u;const i=n.value,c=null!=(u=l.isEmptyValue(o,i)?r:l.textValue(o,i))?u:"";/*#__PURE__*/return e.createElement("div",{style:a,className:Qe(t)},c)}finally{i()}}const br=["control","convert"],xr=["errorText","value","onChange"];function Dr(n){var t=g();try{let{control:r,convert:l}=n,o=oe(n,br);const a=D(r),{value:i}=a,c=oe(a,xr),s=u(()=>d(i));return C(()=>r.value,e=>s.value=d(e)),/*#__PURE__*/e.createElement("input",le({},c,{type:l[0],value:s.value,onChange:e=>{s.value=e.target.value;const n=l[1](e.target.value);void 0!==n&&(r.value=n)}},o));function d(e){return null==e?"":l[2](e)}}finally{t()}}function Er(e){switch(e){case I.String:return["text",e=>e,e=>e];case I.Bool:return["text",e=>"true"===e||"false"!==e&&void 0,e=>{var n;return null!=(n=null==e?void 0:e.toString())?n:""}];case I.Int:return["number",e=>""!==e?parseInt(e):null,e=>null==e?"":e];case I.DateTime:return["datetime-local",e=>e||null,e=>e];case I.Date:return["date",e=>e||null,e=>e];case I.Time:return["time",e=>{const n=e.length;return 5===n?e+":00":8===n?e:void 0},e=>e?e.substring(0,5):""];case I.Double:return["number",e=>""!==e?parseFloat(e):null,e=>null==e?"":e];default:return["text",e=>e,e=>e]}}function Tr(e){return rr(({definition:n,control:t,required:r,field:l,renderChild:o,className:a,style:i,renderOptions:u},c)=>{const{addText:s,noAdd:d,noRemove:f,removeText:p}=ln(X(u)?u:{},e),m=X(u)?u.childOptions:void 0,y=le({},zt(t,l,{addText:s,removeText:p,noAdd:d,noRemove:f}),{required:r,renderElement:e=>{var r,l;return o(null!=(r=null==(l=t.elements)?void 0:l[e].uniqueId)?r:e,{type:k.Data,field:n.field,children:n.children,renderOptions:null!=m?m:{type:q.Standard},hideTitle:!0},{elementIndex:e})},className:St(a),style:i},Wt(n));return c.renderArray(y)},{renderType:q.Array,collection:!0})}function Or(n){return{render:(t,{renderAction:r})=>/*#__PURE__*/e.createElement(Sr,le({},t,n,{renderAction:r})),type:"array"}}function Sr(n){var t=g();try{const{renderElement:t,className:r,removableClass:l,childClass:o,removableChildClass:a,removeActionClass:u,addActionClass:c,arrayControl:s,renderAction:d,style:f}=n,{addAction:p,removeAction:m}=Kt(n);/*#__PURE__*/return e.createElement("div",{style:f},/*#__PURE__*/e.createElement("div",{className:i(r,m&&l)},/*#__PURE__*/e.createElement(E,{control:s},(n,r)=>m?/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("div",{className:i(o,a)},t(r)),/*#__PURE__*/e.createElement("div",{className:u},d(m(r)))):/*#__PURE__*/e.createElement("div",{className:o},t(r)))),p&&/*#__PURE__*/e.createElement("div",{className:c},d(p)))}finally{t()}}function Ar(n={}){return rr(t=>/*#__PURE__*/e.createElement(Lr,le({},n,t,{className:Qe(t.className,n.className),isChecked:(e,n)=>e.value==n.value,setChecked:(e,n)=>e.value=n.value,control:t.control,type:"radio"})),{renderType:q.Radio})}function Ir(n={}){return rr(t=>/*#__PURE__*/e.createElement(Lr,le({},n,t,{className:Qe(t.className,n.className),isChecked:(e,n)=>{const t=e.value;return!!Array.isArray(t)&&t.includes(n.value)},setChecked:(e,n,t)=>{e.setValue(e=>kr(null!=e?e:[],n.value,t))},control:t.control,type:"checkbox"})),{collection:!0,renderType:q.CheckList})}function Lr({control:n,options:t,labelClass:r,checkClass:l,readonly:o,entryClass:a,className:i,id:u,type:c,isChecked:s,setChecked:d}){var f=g();try{const{disabled:f}=n,p="r"+n.uniqueId;/*#__PURE__*/return e.createElement("div",{className:i,id:u},/*#__PURE__*/e.createElement(T,{array:null==t?void 0:t.filter(e=>null!=e.value)},(t,i)=>{const u=m(()=>s(n,t)).value;/*#__PURE__*/return e.createElement("div",{key:i,className:a},/*#__PURE__*/e.createElement("input",{id:p+"_"+i,className:l,type:c,name:p,readOnly:o,disabled:f,checked:u,onChange:e=>{!o&&d(n,t,e.target.checked)}}),/*#__PURE__*/e.createElement("label",{className:r,htmlFor:p+"_"+i},t.name))}))}finally{f()}}function kr(e,n,t){return t===e.includes(n)?e:t?[...e,n]:e.filter(e=>e!==n)}function wr(n={}){return rr((t,r)=>l=>le({},l,{label:void 0,children:/*#__PURE__*/e.createElement("div",{className:Qe(t.className,n.entryClass)},/*#__PURE__*/e.createElement(O,{id:t.id,control:t.control,style:t.style,className:n.checkClass}),l.label&&r.renderLabel(l.label,void 0,void 0))}),{renderType:q.Checkbox})}function Vr({children:n,accordion:t,contentStyle:r,contentClassName:l,designMode:o,iconOpenClass:a,iconClosedClass:c,className:s,renderTitle:d=e=>e,renderToggler:f,renderers:p,titleClass:m}){var y=g();try{const y=u(!!t.defaultExpanded),v=y.value,h=v||o?r:le({},r,{display:"none"}),g=p.renderLabelText(d(t.title,y)),C=f?f(y,g):/*#__PURE__*/e.createElement("button",{className:s,onClick:()=>y.setValue(e=>!e)},/*#__PURE__*/e.createElement("label",{className:m},g),/*#__PURE__*/e.createElement("i",{className:i(v?a:c)}));/*#__PURE__*/return e.createElement(e.Fragment,null,C,/*#__PURE__*/e.createElement("div",{style:h,className:l},n))}finally{y()}}const Fr=["control","field","renderOptions"];function Mr(){return rr((n,t)=>{var r,l;let{control:o,field:a}=n,i=oe(n,Fr);const u=null!=(l=(r=o.meta).nullControl)?l:r.nullControl=N(null!=o.current.value);return n=>{const r=t.renderData(le({},i,{control:u,field:le({},a,{type:I.Bool}),renderOptions:{type:q.Checkbox}}))(n);return le({},r,{children:/*#__PURE__*/e.createElement(qr,{control:o,nullControl:u,children:r.children,readonly:i.readonly,defaultValue:i.definition.defaultValue})})}})}function qr({children:e,nullControl:n,control:t,defaultValue:r,readonly:l}){return C(()=>l,e=>n.disabled=e,!0),C(()=>n.value,e=>{var l;e?t.value=null!=(l=n.meta.nonNullValue)?l:r:(n.meta.nonNullValue=t.value,t.value=null)}),e}function Gr({control:t,className:r}){var l=g();try{const l=n(null);return C(()=>t.value,e=>{const n=l.current;n&&n.textContent!==e&&(n.textContent=e)},!0),/*#__PURE__*/e.createElement("code",{contentEditable:!t.disabled,className:r,onInput:e=>t.value=e.currentTarget.textContent,ref:l})}finally{l()}}function Rr(n){return rr(t=>/*#__PURE__*/e.createElement(Hr,{renderOptions:t.renderOptions,className:Qe(t.className,n),dataContext:t.dataContext,control:t.control,readonly:t.readonly}),{renderType:q.Jsonata})}function Hr({control:n,renderOptions:{expression:t},readonly:r,className:l,dataContext:o}){var a=g();try{const a=o.parentNode,i=gt(t,Kn(a).control,Qn(a),()=>({value:n.value,readonly:r,disabled:n.disabled}),e=>null==e?"":"object"==typeof e?"error: "+JSON.stringify(e):e.toString());/*#__PURE__*/return e.createElement("div",{className:l,dangerouslySetInnerHTML:{__html:i.value}})}finally{a()}}function jr(n,t={}){return nr(n,({onClick:n,actionText:r,className:l,style:o,actionId:a,actionData:i})=>{var u;/*#__PURE__*/return e.createElement("button",{className:Qe(l,t.className),style:o,onClick:n},null!=(u=null==t.renderContent?void 0:t.renderContent(r,a,i))?u:r)})}function Br(n){const{className:t,gridStyles:r=s,defaultGridColumns:l=2,gridClassName:o,standardClassName:a,flexClassName:u,defaultFlexGap:c}=null!=n?n:{};function s({columns:e=l}){return{className:o,style:{display:"grid",gridTemplateColumns:`repeat(${e}, 1fr)`}}}return{type:"group",render:function(n){const{renderChild:l,renderOptions:o,childDefinitions:s}=n,{style:d,className:f}=Y(o)?r(o):W(o)?function(e){return{className:u,style:{display:"flex",gap:e.gap?e.gap:c,flexDirection:e.direction?e.direction:void 0}}}(o):{className:a};return r=>le({},r,{children:/*#__PURE__*/e.createElement("div",{className:Qe(n.className,i(t,f)),style:d},null==s?void 0:s.map((e,n)=>l(n,e)))})}}}const Jr=[{name:"Yes",value:!0},{name:"No",value:!1}];function Ur(n={}){var t,r,l;const o=Rr(n.jsonataClass),a=Mr(),i=(u=n.multilineClass,rr(n=>/*#__PURE__*/e.createElement(Gr,le({},n,{className:Qe(n.className,u)}))));var u;const c=wr(null!=(t=n.checkOptions)?t:n.checkboxOptions),s=hr(n.selectOptions),d=Ar(null!=(r=n.radioOptions)?r:n.checkOptions),f=Ir(null!=(l=n.checkListOptions)?l:n.checkOptions),{inputClass:p,booleanOptions:m,optionRenderer:y,displayOnlyClass:v}=le({optionRenderer:s,booleanOptions:Jr},n),h=Tr(n.arrayOptions);return rr((n,t)=>{const{field:r}=n,l=r.type,u=n.renderOptions;let g=u.type;if(r.collection&&null==n.elementIndex&&(g==q.Standard||g==q.Array))return h.render(n,t);if(l===I.Compound){var C;const e=null!=(C=Q(u)?u.groupOptions:void 0)?C:{type:"Standard",hideTitle:!0};return t.renderGroup(le({},n,{renderOptions:e}))}if(l==I.Any)/*#__PURE__*/return e.createElement(e.Fragment,null,"No control for Any");if(z(u))return t=>le({},t,{className:v,children:/*#__PURE__*/e.createElement(Nr,{field:n.field,schemaInterface:n.dataContext.schemaInterface,control:n.control,className:n.className,style:n.style,emptyText:u.emptyText})});if(null!=m&&l===I.Bool&&null==n.options)return t.renderData(le({},n,{options:m}));if(g===q.Standard&&Fe(n))return y.render(n,t);switch(g){case q.NullToggle:return a.render(n,t);case q.CheckList:return f.render(n,t);case q.Dropdown:return s.render(n,t);case q.Radio:return d.render(n,t);case q.Checkbox:return c.render(n,t);case q.Jsonata:return o.render(n,t)}if(K(u)&&u.multiline)return i.render(n,t);const N=K(u)?u.placeholder:void 0;/*#__PURE__*/return e.createElement(Dr,{className:Qe(n.className,p),style:n.style,id:n.id,readOnly:n.readonly,control:n.control,placeholder:null!=N?N:void 0,convert:Er(n.field.type)})})}function _r(n={}){return{type:"adornment",render:({adornment:r,designMode:l,dataContext:o,useExpr:a},i)=>({apply:u=>{if(Zt(r)&&a){const s=en({value:a(r.expression,e=>e)}),d=t(f,[s]);return Ut(n=>/*#__PURE__*/e.createElement(d,{children:n,parentContext:o,adornment:r}))(u);function f({children:e,adornment:n,parentContext:t}){const{value:r}=s(t),l=Un(n.field,t.parentNode).control,o=!n.defaultOnly;return C(()=>[null==r?void 0:r.value,null==(null==l?void 0:l.value)],([e])=>{null==l||l.setValue(n=>o||null==n?e:n)},!0),e}}var c;return Qt(r)?_t(null!=(c=r.placement)?c:F.ControlStart,/*#__PURE__*/e.createElement("i",{className:r.iconClass}))(u):Xt(r)?Ut(t=>/*#__PURE__*/e.createElement(Vr,le({renderers:i,children:t,accordion:r,contentStyle:u.style,contentClassName:u.className,designMode:l},n.accordion)))(u):void 0},priority:0,adornment:r})}}function Pr(n={}){return er((t,r)=>{const l=$t(le({},t,{className:Qe(t.className,n.className)}),r);return{children:l.wrapLayout(/*#__PURE__*/e.createElement(pr,le({layout:l},n))),className:l.className,style:l.style,divRef:e=>e&&t.errorControl?t.errorControl.meta.scrollElement=e:void 0}})}function $r(n){const{className:t,groupLabelClass:r,controlLabelClass:l,requiredElement:o,labelContainer:a}=le({requiredElement:/*#__PURE__*/e.createElement("span",null," *"),labelContainer:e=>e},n);return{render:(n,u,c,s)=>n.type==Vt.Text?n.label:a(/*#__PURE__*/e.createElement(e.Fragment,null,/*#__PURE__*/e.createElement("label",{htmlFor:n.forId,className:Qe(n.className,i(t,n.type===Vt.Group&&r,n.type===Vt.Control&&l))},u,s.renderLabelText(n.label),n.required&&o),c)),type:"label"}}function Yr(e={}){return{data:Ur(e.data),display:dr(e.display),action:jr(void 0,e.action),array:Or(e.array),group:Br(e.group),label:$r(e.label),adornment:_r(e.adornment),renderLayout:Pr(e.layout),visibility:mr()}}function Wr(e=[],n=function(){return Yr({layout:{className:"control"},group:{className:"group"},array:{className:"control-array"},action:{className:"action"},data:{inputClass:"data"},display:{htmlClassName:"html",textClassName:"text"}})}()){var t;const r=e.filter(Qr),l=e.filter(Xr),o=e.filter(Kr),a=e.filter(rl),i=e.filter(Zr),u=e.filter(ll),c=e.filter(tl),s=e.filter(el),d={renderAction:function(e){var t;return(null!=(t=c.find(n=>zr(n.actionType,e.actionId)))?t:n.action).render(e,d)},renderData:function(e){var t;const{renderOptions:{type:l},field:o}=e,a=Fe(e),i=(null!=(t=r.find(n=>{var t,r,i;return(null!=(t=n.collection)&&t)===(null==e.elementIndex&&null!=(r=o.collection)&&r)&&(null!=(i=n.options)&&i)===a&&(n.schemaType&&l==q.Standard&&zr(n.schemaType,o.type)||n.renderType&&zr(n.renderType,l)||n.match&&n.match(e))}))?t:n.data).render(e,d);return"function"==typeof i?i:e=>le({},e,{children:i})},renderGroup:function(e){var t;const r=e.renderOptions.type,o=(null!=(t=l.find(e=>zr(e.renderType,r)))?t:n.group).render(e,d);return"function"==typeof o?o:e=>le({},e,{children:o})},renderDisplay:function(e){var t;const r=e.data.type;return(null!=(t=a.find(e=>zr(e.renderType,r)))?t:n.display).render(e,d)},renderLabel:f,renderArray:function(e){var t;return(null!=(t=u[0])?t:n.array).render(e,d)},renderAdornment:function(e){var t;return(null!=(t=o.find(n=>zr(n.adornmentType,e.adornment.type)))?t:n.adornment).render(e,d)},renderLayout:function(e){var t;return(null!=(t=s.find(n=>!n.match||n.match(e)))?t:n.renderLayout).render(e,d)},renderVisibility:(null!=(t=e.find(nl))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:Vt.Text},void 0,void 0)}};function f(e,t,r){var l;return(null!=(l=i.find(n=>zr(n.labelType,e.type)))?l:n.label).render(e,t,r,d)}return d}function zr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function Kr(e){return"adornment"===e.type}function Qr(e){return"data"===e.type}function Xr(e){return"group"===e.type}function Zr(e){return"label"===e.type}function el(e){return"layout"===e.type}function nl(e){return"visibility"===e.type}function tl(e){return"action"===e.type}function rl(e){return"display"===e.type}function ll(e){return"array"===e.type}export{F as AdornmentPlacement,kt as AppendAdornmentPriority,Lr as CheckButtons,M as ControlAdornmentType,k as ControlDefinitionType,Dr as ControlInput,qt as ControlRenderer,q as DataRenderType,B as DateComparison,Sr as DefaultArrayRenderer,Jr as DefaultBoolOptions,fr as DefaultDisplay,Nr as DefaultDisplayOnly,pr as DefaultLayout,At as DefaultSchemaInterface,yr as DefaultVisibility,H as DisplayDataType,w as DynamicPropertyType,V as ExpressionType,I as FieldType,R as GroupRenderType,Hr as JsonataRenderer,Vt as LabelType,Gt as NewControlRenderer,gr as SelectDataRenderer,G as SyncTextType,L as ValidationMessageType,j as ValidatorType,wt as WrapAdornmentPriority,yn as accordionOptions,Ln as actionControl,De as addFieldOption,Be as addMissingControls,un as adornmentOptions,jt as appendMarkup,_t as appendMarkupAt,Kt as applyArrayLengthRestrictions,Oe as applyDefaultForField,Te as applyDefaultValues,Fn as applyExtensionToSchema,Mn as applyExtensionsToSchema,tn as applyLengthRestrictions,he as boolField,ae as buildSchema,sn as checkListOptions,$e as cleanDataForSchema,In as compoundControl,ge as compoundField,Yt as controlTitle,kn as createAction,nr as createActionRenderer,ur as createAdornmentRenderer,zt as createArrayActions,tr as createArrayRenderer,jr as createButtonActionRenderer,Ir as createCheckListRenderer,wr as createCheckboxRenderer,rr as createDataRenderer,_r as createDefaultAdornmentRenderer,Tr as createDefaultArrayDataRenderer,Or as createDefaultArrayRenderer,Ur as createDefaultDataRenderer,dr as createDefaultDisplayRenderer,Br as createDefaultGroupRenderer,$r as createDefaultLabelRenderer,Yr as createDefaultRenderers,mr as createDefaultVisibilityRenderer,or as createDisplayRenderer,jn as createFormLookup,Wr as createFormRenderer,lr as createGroupRenderer,Er as createInputConversion,Rr as createJsonataRenderer,ar as createLabelRenderer,er as createLayoutRenderer,Mr as createNullToggleRenderer,Ar as createRadioRenderer,Rn as createSchemaLookup,Cr as createSelectConversion,hr as createSelectRenderer,ir as createVisibilityRenderer,on as dataControl,me as dateField,ve as dateTimeField,mn as dateValidatorOptions,Ne as defaultCompoundField,Me as defaultControlForField,Rt as defaultDataProps,st as defaultEvalHooks,Ce as defaultScalarField,It as defaultSchemaInterface,cr as defaultTailwindTheme,dt as defaultUseEvalExpressionHook,Ae as defaultValueForField,Se as defaultValueForFields,hn as displayOnlyOptions,pe as doubleField,bn as dynamicDefaultValue,En as dynamicDisabled,xn as dynamicReadonly,Dn as dynamicVisibility,Ie as elementValueForField,wn as emptyGroupDefinition,Re as existsInGroups,Ve as fieldDisplayName,On as fieldEqExpr,Tn as fieldExpr,we as fieldHasTag,Jn as fieldPathForDefinition,ze as findChildDefinition,ke as findCompoundField,Ge as findCompoundGroups,qe as findControlsForCompound,Z as findField,rn as findFieldPath,He as findNonDataGroups,Le as findScalarField,Ye as getAllReferencedClasses,Pe as getDisplayOnlyOptions,Qn as getJsonPath,Wt as getLengthRestrictions,Ke as getOverrideClass,Kn as getRootDataNode,Zn as getSchemaFieldList,Xn as getSchemaPath,An as groupedControl,Fe as hasOptions,vt as hideDisplayOnly,Nn as htmlDisplayControl,fe as intField,Xt as isAccordionAdornment,P as isActionControlsDefinition,X as isArrayRenderer,ne as isCompoundField,_e as isControlDisabled,Ue as isControlReadonly,te as isDataControl,J as isDataControlDefinition,Q as isDataGroupRenderer,_ as isDisplayControlsDefinition,z as isDisplayOnlyRenderer,W as isFlexRenderer,Y as isGridRenderer,re as isGroupControl,U as isGroupControlsDefinition,Qt as isIconAdornment,ee as isScalarField,Zt as isSetFieldAdornment,K as isTextfieldRenderer,We as jsonPathString,Sn as jsonataExpr,gn as jsonataOptions,pn as jsonataValidatorOptions,Jt as layoutKeyForPlacement,fn as lengthValidatorOptions,de as makeCompoundField,ft as makeEvalExpressionHook,Xe as makeHook,Ze as makeHookDepString,se as makeScalarField,Bn as makeSchemaDataNode,yt as matchesType,be as mergeField,xe as mergeFields,ln as mergeObjects,dn as radioButtonOptions,Ht as renderControlLayout,$t as renderLayoutParts,cn as renderOptionsFor,Qe as rendererClass,Ee as resolveSchemas,et as rootSchemaNode,Yn as schemaDataForFieldPath,Un as schemaDataForFieldRef,Wn as schemaForFieldPath,_n as schemaForFieldRef,kr as setIncluded,ie as stringField,ue as stringOptionsField,Cn as textDisplayControl,vn as textfieldOptions,ye as timeField,nn as toDepString,$n as traverseData,zn as traverseParents,Pn as traverseSchemaPath,Vn as useControlDefinitionForSchema,Ft as useControlRenderer,Mt as useControlRendererComponent,Ot as useDateValidator,en as useDynamicHooks,Ct as useEvalActionHook,at as useEvalAllowedOptionsHook,ct as useEvalDefaultValueHook,it as useEvalDisabledHook,ut as useEvalDisplayHook,pt as useEvalDynamicBoolHook,mt as useEvalDynamicHook,Nt as useEvalLabelText,lt as useEvalReadonlyHook,ot as useEvalStyleHook,rt as useEvalVisibilityHook,gt as useJsonataExpression,Et as useJsonataValidator,Tt as useLengthValidator,xt as useMakeValidationHook,Je as useUpdatedRef,ht as useUuidExpression,an as validatorOptions,tt as visitControlData,nt as visitControlDataArray,$ as visitControlDefinition,ce as withScalarOptions,Ut as wrapLayout,Bt as wrapMarkup,Pt as wrapMarkupAt};
1
+ import e,{useRef as n,useCallback as t,useMemo as r,useEffect as o,Fragment as i}from"react";import l from"clsx";import{useControl as a,useComputed as u,useRefState as d,makeChangeTracker as c,addAfterChangesCallback as s,trackedValue as f,collectChanges as p,useCalculatedControl as y,useValueChangeEffect as v,useValidator as m,useComponentTracking as h,useControlEffect as g,newControl as D,addElement as C,removeElement as b,RenderArrayElements as N}from"@react-typed-forms/core";import x from"jsonata";import{v4 as T}from"uuid";var S,A,E,O,I,L,w,V,F,M,k,G,H;function R(e){return e.type===E.Data}function q(e){return e.type===E.Group}function j(e){return e.type===E.Display}function B(e){return e.type===E.Action}function J(e,n,t){switch(e.type){case E.Action:return n.action(e);case E.Data:return n.data(e);case E.Display:return n.display(e);case E.Group:return n.group(e);default:return t(e)}}function U(e){return e.type===M.Grid}function P(e){return e.type===M.Flex}function _(e){return e.type===V.DisplayOnly}function $(e){return e.type===V.Textfield}function W(e){return e.type===V.Group}function Y(e){return e.type===V.Array}function z(e,n){return e.find(e=>e.field===n)}function K(e){return!Q(e)}function Q(e){return e.type===S.Compound}function X(e){return e.type===E.Data}function Z(e){return e.type===E.Group}function ee(){return ee=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},ee.apply(null,arguments)}function ne(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 te(e){return Object.entries(e).map(e=>e[1](e[0]))}function re(e,n){return le(ee({type:S.String,displayName:e},n))}function oe(e,...n){return le({type:S.String,displayName:e,options:n})}function ie(e,n){return t=>ee({},n(t),e)}function le(e){return n=>ee({},ve(n,n),e)}function ae(e){return n=>ee({},me(n,n,!1),e)}function ue(e,n){return le(ee({type:S.Int,displayName:e},n))}function de(e,n){return le(ee({type:S.Double,displayName:e},n))}function ce(e,n){return le(ee({type:S.Date,displayName:e},n))}function se(e,n){return le(ee({type:S.Time,displayName:e},n))}function fe(e,n){return le(ee({type:S.DateTime,displayName:e},n))}function pe(e,n){return le(ee({type:S.Bool,displayName:e},n))}function ye(e,n,t){return r=>ee({},me(r,e,!1),t,{children:n})}function ve(e,n){return{field:e,displayName:n,type:S.String}}function me(e,n,t){return{field:e,displayName:n,type:S.Compound,collection:t,children:[]}}function he(e,n){const t=n.find(n=>n.field===e.field);return t?n.map(n=>n!==t?n:ee({},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 ge(e,n,t,r){const o=e.map(e=>e.isTypeField?De(e,n,t):e);return r.map(e=>ee({},e,{onlyForTypes:[t]})).reduce((e,n)=>he(n,e),o)}function De(e,n,t){var r;const o=null!=(r=e.options)?r:[];return o.some(e=>e.value===t)?e:ee({},e,{options:[...o,{name:n,value:t}]})}function Ce(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=>{Q(e)&&e.schemaRef?o.push(ee({},e,{children:t(e.schemaRef)})):o.push(e)}),o}),n}function be(e,n,t){if(!e)return xe(n);if(t&&t.has(e))return e;null!=t||(t=new Set),t.add(e);const r=n.filter(n=>Q(n)||!(n.field in e));if(!r.length)return e;const o=ee({},e);return r.forEach(r=>{o[r.field]=r.field in e?Ne(e[r.field],r,n,!1,t):Te(r)}),o}function Ne(e,n,t,r,o){return n.collection&&!r?(null!=e?e:[]).map(e=>Ne(e,n,t,!0,o)):Q(n)?e||n.required?be(e,n.treeChildren?t:n.children,o):e:Te(n)}function xe(e){return Object.fromEntries(e.map(e=>[e.field,Te(e)]))}function Te(e,n,t){if(void 0!==e.defaultValue)return e.defaultValue;const r=!(!n&&!e.required);if(Q(e)){if(r){const n=xe(e.children);return e.collection?[n]:n}return e.notNullable||t?e.collection?[]:{}:void 0}return e.collection&&e.notNullable?[]:void 0}function Se(e){return Q(e)?xe(e.children):e.defaultValue}function Ae(e,n){return z(e,n)}function Ee(e,n){return z(e,n)}function Oe(e,n){var t;return Boolean(null==(t=e.tags)?void 0:t.includes(n))}function Ie(e){var n;return null!=(n=e.displayName)?n:e.field}function Le(e){var n,t;return(null!=(n=null==(t=e.options)?void 0:t.length)?n:0)>0}function we(e){if(Q(e))return{type:E.Data,title:e.displayName,field:e.field,required:e.required,children:e.children.map(we)};if(K(e)){var n;const t=null==(n=e.tags)?void 0:n.includes("_HtmlEditor");return{type:E.Data,title:e.displayName,field:e.field,required:e.required,renderOptions:{type:t?V.HtmlEditor:V.Standard}}}throw"Unknown schema field"}function Ve(e,n){return R(n)&&e.field===n.field?[n]:q(n)?n.compoundField===e.field?[n]:null!=(t=null==(r=n.children)?void 0:r.flatMap(n=>Ve(e,n)))?t:[]:[];var t,r}function Fe(e,n){return Object.fromEntries(e.filter(Q).map(e=>{const t=n.flatMap(n=>Ve(e,n));return[e.field,{groups:t.concat(ke(t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))),children:Fe(e.children,t.flatMap(e=>{var n;return null!=(n=e.children)?n:[]}))}]}))}function Me(e,n){if(!n.groups.find(n=>{var t;return null==(t=n.children)?void 0:t.find(n=>R(n)&&n.field===e.field||q(n)&&n.compoundField===e.field)}))return[[e,n]];if(Q(e)){const t=n.children[e.field];return t?e.children.flatMap(e=>Me(e,t)):[[e,n]]}return[]}function ke(e){return e.flatMap(e=>{var n;return q(e)&&!e.compoundField?[e,...ke(null!=(n=e.children)?n:[])]:[]})}function Ge(e){var n;return ee({},e,{children:null==(n=e.children)?void 0:n.map(Ge)})}function He(e,n){const t={children:Fe(e,n=n.map(Ge)),groups:ke([{type:E.Group,children:n}])};return e.filter(e=>!Oe(e,"_NoControl")).flatMap(e=>Me(e,t)).forEach(([e,n])=>{var t;const r=null==(t=e.tags)?void 0:t.find(e=>e.startsWith("_ControlGroup:"));let o;if(r){const e=r.substring(14);o=n.groups.find(n=>n.title===e)}if(o||(o=n.groups[0]),o){const n=we(e);o.children?o.children.push(n):o.children=[n]}}),n}function Re(e){const t=n(e);return t.current=e,t}function qe(e){return X(e)&&!!e.readonly}function je(e){return X(e)&&!!e.disabled}function Be(e){return R(e)&&e.renderOptions&&_(e.renderOptions)?e.renderOptions:void 0}function Je(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 Q(e)||(null!=(n=null==(t=e.onlyForTypes)?void 0:t.length)?n:0)>0});if(!i.length)return e;const l=ee({},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(Q(r)){const e=r.treeChildren?n:r.children;r.collection?Array.isArray(a)&&(l[r.field]=a.map(n=>Je(n,e,t))):l[r.field]=Je(a,e,t)}}),l}function Ue(e,n){var t,r;const o=null==(t=e.children)?void 0:t.flatMap(e=>Ue(e,n)),i=l([e.styleClass,e.layoutClass,e.labelClass,...null!=(r=null==n?void 0:n(e))?r:[]].map($e));return o&&!i?o:i?o?[i,...o]:[i]:[]}function Pe(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 _e(e,n){if(Array.isArray(n)){let t=e;return n.forEach(e=>t=t.children[e]),t}return e.children[n]}function $e(e){return e&&e.startsWith("@ ")?e.substring(2):e}function We(e,n){const t=$e(e);return t===e?l(e,n):t||void 0}function Ye(e,n,t){return{deps:t,state:n,runHook:e}}function ze(e,n){return e.map(e=>Qe(n(e))).join(",")}function Ke(e){const r=Object.entries(e),o=ze(r,e=>e[1].deps),i=n({}),l=i.current;return r.forEach(e=>l[e[0]]=e[1].state),t(e=>Object.fromEntries(r.map(([n,t])=>[n,t.runHook(e,i.current[n])])),[o])}function Qe(e){return void 0===e?"_":null===e?"~":e.toString()}function Xe(e,n,t,r,o){return[null==n||e>n?r:void 0,null==t||e<t?o:void 0]}function Ze(e,n){if(!n)return;const t=n.split("/"),r=[];let o=0,i=e;for(;o<t.length&&i;){const e=z(i,t[o]);if(!e)return;r.push(e),i=Q(e)&&!e.collection?e.children:void 0,o++}return r.length===t.length?r:void 0}function en(e,n,t=(e,n,t)=>null!=n?n:t){if(!e)return n;if(!n)return e;const r=ee({},e);for(const o in n)n.hasOwnProperty(o)&&(r[o]=t(o,e[o],n[o]));return r}function nn(e){return null==e?"":"object"==typeof e?"error: "+JSON.stringify(e):e.toString()}function tn(e,n,t){return ee({type:E.Data,field:e,title:n},t)}function rn(e){return n=>ee({type:e},n)}function on(e){return n=>ee({type:e},n)}function ln(e){return n=>({renderOptions:ee({type:e},n)})}!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.Data="Data",e.Group="Group",e.Display="Display",e.Action="Action"}(E||(E={})),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"}(O||(O={})),function(e){e.Jsonata="Jsonata",e.Data="Data",e.DataMatch="FieldValue",e.UserMatch="UserMatch",e.NotEmpty="NotEmpty",e.UUID="UUID"}(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.Jsonata="Jsonata",e.Array="Array"}(V||(V={})),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.GroupElement="GroupElement"}(M||(M={})),function(e){e.Text="Text",e.Html="Html",e.Icon="Icon",e.Custom="Custom"}(k||(k={})),function(e){e.Jsonata="Jsonata",e.Date="Date",e.Length="Length"}(G||(G={})),function(e){e.NotBefore="NotBefore",e.NotAfter="NotAfter"}(H||(H={}));const an=ln(V.CheckList),un=ln(V.Radio),dn=rn(G.Length),cn=rn(G.Jsonata),sn=rn(G.Date),fn=on(w.Accordion),pn=ln(V.Textfield),yn=ln(V.DisplayOnly),vn=ln(V.Jsonata);function mn(e,n){return ee({type:E.Display,displayData:{type:k.Text,text:e}},n)}function hn(e,n){return ee({type:E.Display,displayData:{type:k.Html,html:e}},n)}function gn(e){return{type:O.DefaultValue,expr:e}}function Dn(e){return{type:O.Readonly,expr:e}}function Cn(e){return{type:O.Visible,expr:e}}function bn(e){return{type:O.Disabled,expr:e}}function Nn(e){return{type:I.Data,field:e}}function xn(e,n){return{type:I.DataMatch,field:e,value:n}}function Tn(e){return{type:I.Jsonata,expression:e}}function Sn(e,n,t){return ee({type:E.Group,children:e,title:n,groupOptions:{type:"Standard",hideTitle:!n}},t)}function An(e,n,t,r){return ee({type:E.Data,field:e,children:t,title:n,renderOptions:{type:"Standard"}},r)}function En(e,n,t){return ee({type:E.Action,title:e,actionId:n},t)}function On(e,n,t){return{actionId:e,onClick:n,actionText:null!=t?t:e}}const In={type:E.Group,children:[],groupOptions:{type:M.Standard,hideTitle:!0}};function Ln(e,n=In){return r(()=>{var t;return ee({},n,{children:He(e,null!=(t=n.children)?t:[])})},[e,n])}function wn(e,n){const t=ee({},e);return Object.entries(n).forEach(([e,n])=>{t[e]=(Array.isArray(n)?n:[n]).reduce((e,n)=>{var t;return ge(e,n.name,n.value,null!=(t=n.fields)?t:[])},t[e])}),t}function Vn(e,n){return Ce(n.reduce(wn,e))}const Fn={field:"__missing",type:S.Any};function Mn(e,n,t){const r={field:e,getSchema:n.getSchema,parent:t,getChildNode:function(t){if(Q(e)&&!e.schemaRef){const o=e.children.find(e=>e.field===t);return o?Mn(o,n,r):void 0}return o().find(e=>e.field.field===t)},getChildNodes:o};return r;function o(){if(Q(e)){const t=e.schemaRef&&n.getSchema(e.schemaRef);return t?t.getChildNodes():e.children.map(e=>Mn(e,n,r))}return[]}}function kn(e){const n={getSchema:function(t){const r=e[t];if(r)return Qn(r,n)}};return n}function Gn(e,n){const t={definition:e,parent:n,getChildNodes:function(){var n,r;return null!=(n=null==(r=e.children)?void 0:r.map(e=>Gn(e,t)))?n:[]}};return t}function Hn(e){return{getForm:function n(t){const r=e[t];if(r)return{rootNode:Gn({children:r,type:E.Group}),getForm:n}}}}function Rn(e,n,t,r){const o={schema:e,control:n,parent:t,elementIndex:r,getChild:function(e){var t;const r=n;return r&&r.current.isNull&&(r.value={}),Rn(e,null==r||null==(t=r.fields)?void 0:t[e.field.field],o)},getChildElement:function(t){var r;return Rn(e,null==n||null==(r=n.elements)?void 0:r[t],o,t)}};return o}function qn(e){const n=q(e)?e.compoundField:R(e)?e.field:void 0;return null==n?void 0:n.split("/")}function jn(e,n){var t;return Pn(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function Bn(e,n){var t;return _n(null!=(t=null==e?void 0:e.split("/"))?t:[],n)}function Jn(e,n,t,r){let o=0;for(;o<e.length;){let i=n.getChildNode(e[o]);i||(i=Mn(Fn,n,n)),t=r(t,i),n=i,o++}return t}function Un(e,n,t){return Jn(e,n,t,(e,n)=>null==e?void 0:e[n.field.field])}function Pn(e,n){return Jn(e,n.schema,n,(e,n)=>e.getChild(n))}function _n(e,n){let t=0;for(;t<e.length;){let r=n.getChildNode(e[t]);r||(r=Mn(Fn,n,n)),n=r,t++}return n}function $n(e,n,t){let r=[];for(;e&&(null==t||!t(e));)r.push(n(e)),e=e.parent;return r.reverse()}function Wn(e){for(;e.parent;)e=e.parent;return e}function Yn(e){return $n(e,e=>null==e.elementIndex?e.schema.field.field:e.elementIndex,e=>!e.parent)}function zn(e){return $n(e,e=>e.field,e=>!e.parent)}function Kn(e){return e.getChildNodes().map(e=>e.field)}function Qn(e,n={getSchema(e){}}){return Mn({type:S.Compound,field:"",children:e},n,void 0)}function Xn(e,n,t){if(e)for(const r of e){const e=Zn(r,n,t);if(void 0!==e)return e}}function Zn(e,n,t){if(n.control&&!n.control.isNull)return J(e,{data:e=>r(e,e.field,e.children),group:e=>r(void 0,e.compoundField,e.children),action:()=>{},display:()=>{}},()=>{});function r(e,r,o){const i=r?n.schema.getChildNode(r):void 0;if(!i)return r?void 0:Xn(o,n,t);const l=n.getChild(i),a=e?t(e,l):void 0;if(void 0!==a)return a;const u=Q(i.field);if(i.field.collection){const n=l.control;let r=0;for(const i of null!=(d=n.elements)?d:[]){var d;const n=l.getChildElement(r),i=e?t(e,n):void 0;if(void 0!==i)return i;if(u){const e=Xn(o,n,t);if(void 0!==e)return e}r++}}else if(u)return Xn(o,l,t)}}function et(e,n,t){return gt(ct(n,O.Visible,e),(e,{definition:n,overrideDataNode:t})=>u(()=>{const r=null!=t?t:e.dataNode;return!r||ft(r)&&!pt(r,e.schemaInterface,n)}),{definition:n,overrideDataNode:t})}function nt(e,n){return gt(ct(n,O.Readonly,e),(e,{definition:n})=>y(()=>qe(n)),{definition:n})}function tt(e,n,t){return gt(st(t,n,e),()=>a(void 0),void 0)}function rt(e,n){return gt(st(n,O.AllowedOptions,e),()=>a([]),void 0)}function ot(e,n){return gt(ct(n,O.Disabled,e),e=>u(()=>{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)||je(n)}),void 0)}function it(e,n){return st(n,O.Display,e)}function lt(e,n){return gt(st(n,O.DefaultValue,e),(e,{definition:n})=>u(function(){var t;const[r,o]=R(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?Se(i):Te(i,r,!0):void 0}),{definition:n})}function at(e,n,t){switch(e.type){case I.Jsonata:const r=u(()=>({formData:n.formData}));return vt(e.expression,Wn(n.parentNode).control,Yn(n.parentNode),r,t);case I.UUID:return yt(t);case I.Data:return function(e,n,t=e=>e){const r=jn(e.field,n);return y(()=>{var e;return t(null==(e=r.control)?void 0:e.value)})}(e,n.parentNode,t);case I.DataMatch:return function(e,n,t=e=>e){const r=jn(e.field,n);return y(()=>{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 I.NotEmpty:return function(e,n,t,r=e=>e){const o=jn(e.field,n);return y(()=>{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 a(void 0)}}const ut=dt(at);function dt(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 ct(e,n,t){return st(e,n,t,e=>Boolean(e))}function st(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 ft(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 pt(e,n,t){var r;const o=Be(t);return o&&!o.emptyText&&n.isEmptyValue(e.schema.field,null==(r=e.control)?void 0:r.value)}function yt(e=e=>e){return a(()=>e(T()))}function vt(e,t,i,l,u=e=>e){const y=Pe(i,e=>`#$i[${e}]`),v=y?y+".("+e+")":e,m=r(()=>{try{return x(v)}catch(e){return console.error(e),x("null")}},[v]),h=a(),g=n(),D=n(0),[C]=d(()=>c(()=>{const e=g.current;e&&(g.current=void 0,s(()=>{g.current=e,e()}))}));return o(()=>{async function e(){const[e,n]=C.current;try{D.current++,h.value=u(await m.evaluate(f(t,e),p(e,()=>null==l?void 0:l.value)))}finally{--D.current||n()}}return g.current=e,e(),()=>C.current[1](!0)},[m]),h}function mt(e,n){return gt(st(n,O.ActionData,e),()=>a(null),void 0)}function ht(e,n){return gt(st(n,O.Label,e),()=>a(null),void 0)}function gt(e,n,t,r){return{deps:void 0===r?e.deps:[r,e.deps].map(Qe).join(),runHook:(t,r)=>{var o;return null!=(o=e.runHook(t,r[0]))?o:n(t,r[1])},state:[e.state,t]}}function Dt(e,n=Ct){var r;const o=R(e)?e:void 0,i=Re({dd:o,useValidatorFor:n}),l=o?ze(null!=(r=o.validators)?r:[],e=>e.type):"~";return t(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:S.Any},{control:u,hiddenControl:d,dataContext:{schemaInterface:c}}=e;v(u,()=>u.setError("default","")),m(u,e=>!d.value&&l.required&&c.isEmptyValue(a,e)?c.validationMessageText(a,A.NotEmpty,!1,!0):null,"required",void 0,[l.required]),null==(o=l.validators)||o.forEach((t,r)=>n(t,ee({},e,{index:r,field:a,definition:l})))},[!!o,l,n])}function Ct(e,n){switch(e.type){case G.Length:Nt(e,n);break;case G.Jsonata:bt(e,n);break;case G.Date:xt(e,n)}}function bt(e,n){const t=n.dataContext.parentNode,r=vt(e.expression,Wn(t).control,Yn(t),void 0,e=>null==e?null:"string"==typeof e?e:JSON.stringify(e));m(n.control,()=>n.hiddenControl.value?null:r.value,"jsonata"+n.index)}function Nt(e,n){const{control:t,dataContext:{schemaInterface:r},hiddenControl:o,field:i}=n;m(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,A.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,A.MaxLength,l,e.max)},"length"+n.index)}function xt(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)}m(t,n=>{if(n){const t=i.parseToMillis(r,n),o=e.comparison===H.NotAfter;if(o?t>l:t<l)return i.validationMessageText(r,o?A.NotAfterDate:A.NotBeforeDate,t,l)}return null},"date"+o)}function Tt(e){return e||void 0}class St{constructor(e=["No","Yes"]){this.boolStrings=void 0,this.boolStrings=e}parseToMillis(e,n){return Date.parse(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(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}}}const At=new St,Et=["parentDataNode"],Ot=["definition","control","formOptions","style","allowedOptions","schemaInterface"],It=0,Lt=1e3;var wt;function Vt(n,r,o,i={}){const l=Re({definition:n,fields:r,renderer:o,options:i});return t(({control:n,parentPath:t})=>/*#__PURE__*/e.createElement(Mt,ee({},l.current,{control:n,parentPath:t})),[l])}function Ft(n,r,l={},u){var d,c,s;const p=null!=(d=null==l.useDataHook?void 0:l.useDataHook(n))?d:Gt,v=l.elementIndex,m=null!=(c=l.schemaInterface)?c:At,C=null!=(s=l.useEvalExpressionHook)?s:ut;let b;if(null!=v)b=u.getChildElement(v);else{const e=qn(n);b=e?Pn(e,u):void 0}const N=Dt(n,l.useValidationHook),x=Ke({defaultValueControl:lt(C,n),visibleControl:et(C,n),readonlyControl:nt(C,n),disabledControl:ot(C,n),allowedOptions:rt(C,n),labelText:ht(C,n),actionData:mt(C,n),customStyle:tt(C,O.Style,n),layoutStyle:tt(C,O.LayoutStyle,n),displayControl:it(C,n)}),T=Re({options:l,definition:n,elementIndex:v,parentDataNode:u,dataNode:b}),S=t(()=>{const t=h();try{var l,d,c,s;const{definition:t,options:v,elementIndex:h,parentDataNode:S,dataNode:A}=T.current,E=null!=(l=v.formData)?l:{},O={schemaInterface:m,dataNode:A,parentNode:S,formData:E},{readonlyControl:I,disabledControl:L,visibleControl:w,displayControl:F,layoutStyle:M,labelText:k,customStyle:G,allowedOptions:H,defaultValueControl:q,actionData:j}=x(O),B=w.current.value,J=a(()=>null!=B?{visible:B,showing:B}:void 0);g(()=>w.value,e=>{null!=e&&J.setValue(n=>({visible:e,showing:n?n.showing:e}))});const U=u.control,P=null==(d=b)?void 0:d.control;g(()=>{var e;return[J.value,q.value,null==P?void 0:P.isNull,R(n)&&n.dontClearHidden,R(n)&&(null==(e=n.renderOptions)?void 0:e.type)==V.NullToggle,U.isNull,v.hidden,I.value]},([e,n,t,r,o,i,l,a])=>{a||(P?e&&e.visible===e.showing&&(l||!e.visible?P.setValue(e=>v.clearHidden&&!r?void 0:null==e&&r&&!o?n:e):o||P.setValue(e=>null!=e?e:n)):i&&U.setValue(e=>null!=e?e:{}))},!0);const _=y(()=>{var e;return{hidden:v.hidden||!(null!=(e=J.fields)&&e.showing.value),readonly:v.readonly||I.value,disabled:v.disabled||L.value}}),$=f(_);N({control:null!=P?P:D(null),hiddenControl:_.fields.hidden,dataContext:O});const W=ee({},v,$,{elementIndex:void 0,formData:E});if(o(()=>{P&&"boolean"==typeof $.disabled&&P.disabled!=$.disabled&&(P.disabled=$.disabled)},[P,$.disabled]),U.isNull)/*#__PURE__*/return e.createElement(e.Fragment,null);const Y=null!=(c=null==(s=n.adornments)?void 0:s.map(e=>r.renderAdornment({adornment:e,dataContext:O,useExpr:C})))?c:[],z=Ht({definition:t,renderer:r,renderChild:(n,t,o)=>{var l;if(P&&P.isNull)/*#__PURE__*/return e.createElement(i,{key:n});const a=null!=o?o:{},{parentDataNode:u}=a,d=ne(a,Et),c=null!=(l=null!=u?u:O.dataNode)?l:O.parentNode;/*#__PURE__*/return e.createElement(kt,{key:n,definition:t,renderer:r,parentDataNode:c,options:ee({},W,d)})},createDataProps:p,formOptions:$,dataContext:O,control:null!=F?F:P,elementIndex:h,schemaInterface:m,labelText:k,displayControl:F,style:G.value,allowedOptions:H,customDisplay:v.customDisplay,actionDataControl:j,actionOnClick:v.actionOnClick,useEvalExpression:C,useChildVisibility:(e,n)=>{var t;const r=qn(e),o=r?Pn(r,null!=(t=null!=n?n:b)?t:u):void 0;return et(C,e,o)}}),K=r.renderLayout(ee({},z,{adornments:Y,className:t.layoutClass,style:M.value}));return r.renderVisibility(ee({visibility:J},K))}finally{t()}},[T,p,N,r,m,x]);return S.displayName="RenderControl",S}function Mt({definition:n,fields:t,renderer:r,options:o,control:i}){var l=h();try{const l=Ft(n,r,o,Rn(kn({"":t}).getSchema(""),i));/*#__PURE__*/return e.createElement(l,null)}finally{l()}}function kt({definition:n,renderer:t,options:r,parentDataNode:o}){var i=h();try{const i=Ft(n,t,r,o);/*#__PURE__*/return e.createElement(i,null)}finally{i()}}function Gt(e){var n,t,r;let{definition:o,control:i,formOptions:l,style:a,allowedOptions:u,schemaInterface:d=At}=e,c=ne(e,Ot);const s=c.dataContext.dataNode,f=s.schema.field,p=Tt(o.styleClass),y=!!o.required,v=d.getOptions(f),m=null!=(n=null==u?void 0:u.value)?n:[],h=Array.isArray(m)?m:[m];return ee({dataNode:s,definition:o,childDefinitions:null!=(t=o.children)?t:[],control:i,field:f,id:"c"+i.uniqueId,options:h.length>0?h.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}}):v,readonly:!!l.readonly,renderOptions:null!=(r=o.renderOptions)?r:{type:"Standard"},required:y,hidden:!!l.hidden,className:p,style:a},c)}function Ht(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}=e;if(R(n))return S(n);var y,v,m,h,g;if(q(n))return n.compoundField?S(tn(n.compoundField,n.title,{children:n.children,hideTitle:null==(g=n.groupOptions)?void 0:g.hideTitle})):{processLayout:t.renderGroup({childDefinitions:null!=(y=n.children)?y:[],definition:n,renderChild:r,useEvalExpression:p,dataContext:i,renderOptions:null!=(v=n.groupOptions)?v:{type:"Standard"},className:Tt(n.styleClass),useChildVisibility:c,style:u,designMode:s}),label:{label:null!=(m=null==d?void 0:d.value)?m:n.title,className:Tt(n.labelClass),type:wt.Group,hide:null==(h=n.groupOptions)?void 0:h.hideTitle}};if(B(n)){var D,C,b,N,x;const r=null!=(D=null==(C=e.actionDataControl)?void 0:C.value)?D:n.actionData;return{children:t.renderAction({actionText:null!=(b=null!=(N=null==d?void 0:d.value)?N:n.title)?b:n.actionId,actionId:n.actionId,actionData:r,onClick:null!=(x=null==e.actionOnClick?void 0:e.actionOnClick(n.actionId,r))?x:()=>{},className:Tt(n.styleClass),style:u})}}if(j(n)){var T;const e=null!=(T=n.displayData)?T:{},r={data:e,className:Tt(n.styleClass),style:u,display:a,dataContext:i};return e.type===k.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:_t(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?wt.Group:wt.Control,label:c,forId:u.id,required:n.required,hide:n.hideTitle,className:Tt(n.labelClass)},errorControl:o}}}function Rt(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 jt(e){switch(e){case L.ControlEnd:return"controlEnd";case L.ControlStart:return"controlStart";case L.LabelStart:return"labelStart";case L.LabelEnd:return"labelEnd"}}function Bt(e){return n=>{const t=n.wrapLayout;n.wrapLayout=n=>e(t(n))}}function Jt(e,n){return Rt(jt(e),n)}function Ut(e,n){return qt(jt(e),n)}function Pt(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:Tt(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 _t(e,n){return e||Ie(n)}function $t(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 Wt(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,Se(n)),disabled:s},removeAction:f||u?void 0:n=>({actionId:d||"remove",actionText:a||"Remove",onClick:()=>!p&&b(e,n),disabled:s})}}function Yt({arrayControl:e,min:n,max:t,addAction:r,removeAction:o,required:i},l){var a,u;const[d,c]=Xe(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 zt(n){return(t,r,o)=>/*#__PURE__*/e.createElement(N,{array:n.childDefinitions},(e,r)=>n.renderChild(r,e,{parentDataNode:n.dataContext.parentNode,formData:{option:t,optionSelected:o}}))}function Kt(e){return e.type===w.Icon}function Qt(e){return e.type===w.Accordion}function Xt(e){return e.type===w.SetField}function Zt(e,n){return ee({type:"layout",render:e},n)}function er(e,n,t){return ee({type:"action",actionType:e,render:n},t)}function nr(e,n){return ee({type:"array",render:e},n)}function tr(e,n){return ee({type:"data",render:e},n)}function rr(e,n){return ee({type:"group",render:e},n)}function or(e,n){return ee({type:"display",render:e},n)}function ir(e,n){return ee({type:"label",render:e},n)}function lr(e,n){return ee({type:"visibility",render:e},n)}function ar(e,n){return ee({type:"adornment"},n,{render:e})}function ur(e=[],n){var t;const r=e.filter(sr),o=e.filter(fr),i=e.filter(cr),l=e.filter(hr),a=e.filter(pr),u=e.filter(gr),d=e.filter(mr),c=e.filter(yr),s={renderAction:function(e){var t;return(null!=(t=d.find(n=>dr(n.actionType,e.actionId)))?t:n.action).render(e,s)},renderData:function(e){var t;const{renderOptions:{type:o},field:i}=e,l=Le(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==V.Standard&&dr(n.schemaType,i.type)||n.renderType&&dr(n.renderType,o)||n.match&&n.match(e))}))?t:n.data).render(e,s);return"function"==typeof a?a:e=>ee({},e,{children:a})},renderGroup:function(e){var t;const r=e.renderOptions.type,i=(null!=(t=o.find(e=>dr(e.renderType,r)))?t:n.group).render(e,s);return"function"==typeof i?i:e=>ee({},e,{children:i})},renderDisplay:function(e){var t;const r=e.data.type;return(null!=(t=l.find(e=>dr(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=>dr(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(vr))?t:n.visibility).render,renderLabelText:function(e){return f({label:e,type:wt.Text},void 0,void 0)}};function f(e,t,r){var o;return(null!=(o=a.find(n=>dr(n.labelType,e.type)))?o:n.label).render(e,t,r,s)}return s}function dr(e,n){return null==e||(Array.isArray(e)?e.includes(n):n===e)}function cr(e){return"adornment"===e.type}function sr(e){return"data"===e.type}function fr(e){return"group"===e.type}function pr(e){return"label"===e.type}function yr(e){return"layout"===e.type}function vr(e){return"visibility"===e.type}function mr(e){return"action"===e.type}function hr(e){return"display"===e.type}function gr(e){return"array"===e.type}!function(e){e[e.Control=0]="Control",e[e.Group=1]="Group",e[e.Text=2]="Text"}(wt||(wt={}));export{L as AdornmentPlacement,It as AppendAdornmentPriority,w as ControlAdornmentType,E as ControlDefinitionType,Mt as ControlRenderer,V as DataRenderType,H as DateComparison,St as DefaultSchemaInterface,k as DisplayDataType,O as DynamicPropertyType,I as ExpressionType,S as FieldType,M as GroupRenderType,wt as LabelType,kt as NewControlRenderer,F as SyncTextType,A as ValidationMessageType,G as ValidatorType,Lt as WrapAdornmentPriority,fn as accordionOptions,En as actionControl,De as addFieldOption,He as addMissingControls,on as adornmentOptions,Rt as appendMarkup,Jt as appendMarkupAt,Yt as applyArrayLengthRestrictions,Ne as applyDefaultForField,be as applyDefaultValues,wn as applyExtensionToSchema,Vn as applyExtensionsToSchema,Xe as applyLengthRestrictions,pe as boolField,te as buildSchema,an as checkListOptions,Je as cleanDataForSchema,nn as coerceToString,An as compoundControl,ye as compoundField,_t as controlTitle,On as createAction,er as createActionRenderer,ar as createAdornmentRenderer,Wt as createArrayActions,nr as createArrayRenderer,tr as createDataRenderer,or as createDisplayRenderer,Hn as createFormLookup,ur as createFormRenderer,rr as createGroupRenderer,ir as createLabelRenderer,Zt as createLayoutRenderer,kn as createSchemaLookup,lr as createVisibilityRenderer,tn as dataControl,ce as dateField,fe as dateTimeField,sn as dateValidatorOptions,me as defaultCompoundField,we as defaultControlForField,Gt as defaultDataProps,at as defaultEvalHooks,ve as defaultScalarField,At as defaultSchemaInterface,ut as defaultUseEvalExpressionHook,Te as defaultValueForField,xe as defaultValueForFields,yn as displayOnlyOptions,de as doubleField,gn as dynamicDefaultValue,bn as dynamicDisabled,Dn as dynamicReadonly,Cn as dynamicVisibility,Se as elementValueForField,In as emptyGroupDefinition,Me as existsInGroups,Ie as fieldDisplayName,xn as fieldEqExpr,Nn as fieldExpr,Oe as fieldHasTag,zt as fieldOptionAdornment,qn as fieldPathForDefinition,_e as findChildDefinition,Ee as findCompoundField,Fe as findCompoundGroups,Ve as findControlsForCompound,z as findField,Ze as findFieldPath,ke as findNonDataGroups,Ae as findScalarField,Ue as getAllReferencedClasses,Be as getDisplayOnlyOptions,Yn as getJsonPath,$t as getLengthRestrictions,$e as getOverrideClass,Wn as getRootDataNode,Kn as getSchemaFieldList,zn as getSchemaPath,Sn as groupedControl,Le as hasOptions,pt as hideDisplayOnly,hn as htmlDisplayControl,ue as intField,Qt as isAccordionAdornment,B as isActionControlsDefinition,Y as isArrayRenderer,Q as isCompoundField,je as isControlDisabled,qe as isControlReadonly,X as isDataControl,R as isDataControlDefinition,W as isDataGroupRenderer,j as isDisplayControlsDefinition,_ as isDisplayOnlyRenderer,P as isFlexRenderer,U as isGridRenderer,Z as isGroupControl,q as isGroupControlsDefinition,Kt as isIconAdornment,K as isScalarField,Xt as isSetFieldAdornment,$ as isTextfieldRenderer,Pe as jsonPathString,Tn as jsonataExpr,vn as jsonataOptions,cn as jsonataValidatorOptions,jt as layoutKeyForPlacement,dn as lengthValidatorOptions,ae as makeCompoundField,dt as makeEvalExpressionHook,Ye as makeHook,ze as makeHookDepString,le as makeScalarField,Rn as makeSchemaDataNode,ft as matchesType,he as mergeField,ge as mergeFields,en as mergeObjects,un as radioButtonOptions,Ht as renderControlLayout,Pt as renderLayoutParts,ln as renderOptionsFor,We as rendererClass,Ce as resolveSchemas,Qn as rootSchemaNode,Pn as schemaDataForFieldPath,jn as schemaDataForFieldRef,_n as schemaForFieldPath,Bn as schemaForFieldRef,re as stringField,oe as stringOptionsField,mn as textDisplayControl,pn as textfieldOptions,se as timeField,Qe as toDepString,Un as traverseData,$n as traverseParents,Jn as traverseSchemaPath,Ln as useControlDefinitionForSchema,Vt as useControlRenderer,Ft as useControlRendererComponent,xt as useDateValidator,Ke as useDynamicHooks,mt as useEvalActionHook,rt as useEvalAllowedOptionsHook,lt as useEvalDefaultValueHook,ot as useEvalDisabledHook,it as useEvalDisplayHook,ct as useEvalDynamicBoolHook,st as useEvalDynamicHook,ht as useEvalLabelText,nt as useEvalReadonlyHook,tt as useEvalStyleHook,et as useEvalVisibilityHook,vt as useJsonataExpression,bt as useJsonataValidator,Nt as useLengthValidator,Dt as useMakeValidationHook,Re as useUpdatedRef,yt as useUuidExpression,rn as validatorOptions,Zn as visitControlData,Xn as visitControlDataArray,J as visitControlDefinition,ie as withScalarOptions,Bt as wrapLayout,qt as wrapMarkup,Ut as wrapMarkupAt};
2
2
  //# sourceMappingURL=index.js.map