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