@dartech/arsenal-ui 0.3.9 → 0.3.11

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/index.js CHANGED
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import n from"@mui/material/Button";import a from"@mui/material/Dialog";import l from"@mui/material/DialogActions";import i from"@mui/material/DialogContent";import o from"@mui/material/DialogContentText";import s from"@mui/material/DialogTitle";import c from"@mui/material/Box";import d from"@mui/material/CircularProgress";import{__rest as u,__awaiter as p}from"tslib";import{useController as m,useWatch as g,useFormContext as h,useFieldArray as b}from"react-hook-form";import f from"@mui/material/TextField";import y,{useRef as v,useEffect as O,useState as E,useCallback as T,useMemo as C,createElement as N,forwardRef as x,createContext as j,useContext as S,memo as I}from"react";import w from"@mui/material/MenuItem";import k from"@mui/icons-material/Clear";import{InputAdornment as P,IconButton as V,FormHelperText as M,Box as A}from"@mui/material";import $ from"@mui/material/FormControl";import q from"@mui/material/FormControlLabel";import R from"@mui/material/FormHelperText";import L from"@mui/material/Checkbox";import D from"@mui/material/Radio";import F from"@mui/material/RadioGroup";import z from"@mui/material/FormLabel";import B from"@mui/material/Autocomplete";import{useQuery as G}from"react-query";import J from"qs";import _ from"@mui/icons-material/FileCopyOutlined";import Y from"@mui/material/Tooltip";import W from"@mui/material/IconButton";import H from"@mui/icons-material/ArrowBack";import{useNavigate as K,useLocation as U,Link as X,useSearchParams as Q}from"react-router-dom";import Z from"react-ace";import ee from"@mui/material/Typography";import re from"@mui/material/Switch";import{DatePicker as te}from"@mui/x-date-pickers/DatePicker";import{format as ne,isMatch as ae,isValid as le,parse as ie}from"date-fns";import{DateTimePicker as oe}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as se}from"@mui/x-date-pickers/TimePicker";import ce from"@mui/material/Pagination";import de from"@mui/material/TablePagination";import{useGridApiContext as ue,useGridSelector as pe,gridPageSelector as me,gridPageCountSelector as ge,gridRowCountSelector as he,gridPageSizeSelector as be,GridColumnMenuContainer as fe,GridFilterMenuItem as ye,DataGrid as ve,GridActionsCellItem as Oe}from"@mui/x-data-grid";import{makeStyles as Ee}from"tss-react/mui";import Te from"@mui/material/Paper";import Ce from"@mui/material/Tab";import Ne from"@mui/material/Tabs";import xe from"@mui/material/Unstable_Grid2";import je from"@mui/material/Accordion";import Se from"@mui/material/AccordionSummary";import Ie from"@mui/material/AccordionDetails";import we from"@mui/material/AccordionActions";import ke from"@mui/icons-material/ExpandMore";import Pe from"@mui/icons-material/Delete";import Ve from"@mui/material/Stepper";import Me from"@mui/material/Step";import Ae from"@mui/material/StepLabel";import $e from"@mui/material/StepContent";import qe from"@mui/material/StepConnector";import Re from"@mui/material/Chip";import Le from"@mui/icons-material/Add";import De from"@mui/material/Select";import Fe from"@mui/material/InputLabel";import ze from"@mui/icons-material/Close";import Be from"@mui/material/Table";import Ge from"@mui/material/TableBody";import Je from"@mui/material/TableRow";import _e from"@mui/material/TableCell";import Ye from"@mui/icons-material/CheckCircle";import We from"classnames";import{toast as He}from"react-toastify";import Ke from"@mui/icons-material/NotInterested";import Ue from"@mui/icons-material/Fullscreen";var Xe;!function(e){e.STRING="STRING",e.INTEGER="INTEGER",e.BIG_INTEGER="BIG_INTEGER",e.BIG_DECIMAL="BIG_DECIMAL",e.FLOAT="FLOAT",e.LONG="LONG",e.DOUBLE="DOUBLE",e.BOOLEAN="BOOLEAN",e.ENTITY_REFERENCE="ENTITY_REFERENCE",e.ENTITY="ENTITY",e.JSON="JSON",e.DATE="DATE",e.TIME="TIME",e.DATE_TIME="DATE_TIME",e.ANY="ANY"}(Xe||(Xe={}));const Qe="yyyy-MM-dd",Ze="HH:mm:ss",er="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var rr;!function(e){e.UP="UP",e.DOWN="DOWN",e.CEILING="CEILING",e.FLOOR="FLOOR",e.HALF_UP="HALF_UP",e.HALF_DOWN="HALF_DOWN",e.HALF_EVEN="HALF_EVEN",e.UNNECESSARY="UNNECESSARY"}(rr||(rr={}));const tr=({transparent:r,position:t})=>e(c,Object.assign({position:null!=t?t:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:r?"none":"rgba(255, 255, 255, .3)",zIndex:10},{children:e(d,{})})),nr=({open:t,title:d,description:u,closeButtonTitle:p="Close",onClose:m,confirmButtonTitle:g="Confirm",confirmButtonDisabled:h=!1,onConfirm:b,children:f,dialogProps:y,loading:v,maxWidth:O="xs"})=>e("div",{children:r(a,Object.assign({open:t,onClose:m,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:O},y,{children:[v&&e(tr,{}),e(s,Object.assign({id:"alert-dialog-title"},{children:d})),r(i,{children:[u&&e(o,Object.assign({id:"alert-dialog-description"},{children:u})),e(c,Object.assign({maxWidth:"100%",overflow:"hidden"},{children:f}))]}),r(l,{children:[e(n,Object.assign({onClick:m,color:"primary",variant:"contained"},{children:p})),g&&b?e(n,Object.assign({onClick:b,color:"secondary",variant:"contained",autoFocus:!0,disabled:h},{children:g})):null]})]}))}),ar=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!p&&(null==O?void 0:O.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=E?E:"",onChange:h||v},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))};function lr(e,r){const t=v();O((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...n)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),r)}}const ir=()=>{const[e,r]=E(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},or=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),[x,j]=E("");O((()=>{!x&&N&&j(N)}),[x,N]);const S=lr((e=>{v(e)}),200),I=T((e=>{j(e.target.value),S(e.target.value)}),[S]);return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!C,helperText:!p&&(null==C?void 0:C.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=x?x:"",onChange:I},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""})}))},sr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p,labelKey:h,valueKey:b,options:y=[]}=r,v=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options"]);const{field:{ref:O,onChange:E},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),x=T((e=>"string"==typeof e?e:b?e[b]:e.value),[b]),j=T((e=>"string"==typeof e?e:h?e[h]:e.label),[h]),S=T((()=>{E(null)}),[E]);return e(f,Object.assign({select:!0,fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:O,name:l,label:i,error:!!C,helperText:!d&&(null==C?void 0:C.message),disabled:c,value:null!=N?N:"",onChange:p||E},v,{inputProps:Object.assign(Object.assign({},null!==(t=null==v?void 0:v.inputProps)&&void 0!==t?t:{}),{value:null!=N?N:""}),InputProps:Object.assign({endAdornment:!o&&N?e(P,Object.assign({position:"end",sx:{mr:2}},{children:e(V,Object.assign({onClick:S,size:"small"},{children:e(k,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(w,Object.assign({value:x(r)},{children:j(r)}),t)))}))},cr=t=>{var{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p}=t,h=u(t,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange"]);const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:l,control:n,defaultValue:s}),v=g({control:n,name:l}),O=C((()=>{if("boolean"==typeof v)return v;if("string"==typeof v){if("false"===v)return f(!1),!1;if("true"===v)return f(!0),!0}return!1}),[v,f]);return r($,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e(q,{control:e(L,Object.assign({checked:O,onChange:p||f,name:l,inputRef:b,disabled:c},h)),label:i}),!d&&(null==y?void 0:y.message)&&e(R,{children:y.message})]}))},dr=({name:t,label:n,values:a=[],control:l,required:i,defaultValue:o,disabled:s,hideErrorMessage:c,labelKey:d,valueKey:u,validate:p,onChange:h})=>{const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:t,control:l,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:p}}),v=g({control:l,name:t}),O=T((e=>"string"==typeof e?e:u?e[u]:e.value),[u]),E=T((e=>"string"==typeof e?e:d?e[d]:e.label),[d]);return r($,Object.assign({disabled:s,error:!!y},{children:[e(z,Object.assign({id:"radio-buttons-group"},{children:n})),e(F,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:h||f},{children:a.map((r=>e(q,{value:O(r),control:e(D,{}),label:E(r)})))})),!c&&(null==y?void 0:y.message)&&e(M,{children:y.message})]}))};var ur=({valueKey:e,labelKey:r})=>{const t=T(((r,t)=>{if(r&&t){if("string"==typeof r)return r===t;if(e)return r[e]===t[e]||r[e]===t;if(r.value)return r.value===t.value||r.value===t}return!1}),[e]),n=T((e=>e?"string"==typeof e?e:r&&e[r]?e[r]+"":e.label+""||e.name+""||e.value+""||e.code+""||"--no label--":""),[r]),a=T(((e,r)=>N(A,Object.assign({},e,{component:"li",key:e.id}),n(r))),[n]);return{isOptionEqualToValue:t,getOptionLabel:n,renderOption:a}};const pr=r=>{var{control:t,validate:n,name:a="",label:l="",required:i=!1,defaultValue:o="",disabled:s=!1,hideErrorMessage:c=!1,onChange:d,labelKey:p,valueKey:h,options:b=[],multiple:y,textFieldProps:v={},disableCloseOnSelect:O}=r,E=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options","multiple","textFieldProps","disableCloseOnSelect"]);const{field:{ref:T,onChange:C},fieldState:{error:N}}=m({name:a,control:t,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:n}}),x=g({control:t,name:a,defaultValue:y?[]:null}),{getOptionLabel:j,isOptionEqualToValue:S,renderOption:I}=ur({valueKey:h,labelKey:p});return e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:b,multiple:y,getOptionLabel:j,isOptionEqualToValue:S,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:x,onChange:d||((e,r)=>{C(r)}),renderOption:I,renderInput:r=>e(f,Object.assign({},r,{variant:"outlined",name:a,label:l,error:!!N,inputRef:T,helperText:!c&&(null==N?void 0:N.message)},v))},E))};function mr(t){var{name:n,label:a,control:l,required:i=!1,searchBy:o,labelKey:s,multiple:c=!1,disabled:p,valueKey:h,sortBy:b="",hideErrorMessage:v,disableCloseOnSelect:C,textFieldProps:N,onChange:x,queryFunction:j,validate:S,itemQueryFunction:I}=t,w=u(t,["name","label","control","required","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction","validate","itemQueryFunction"]);const{field:{ref:k,onChange:P},fieldState:{error:V,isDirty:M}}=m({control:l,name:n,rules:{required:i&&"Please, fill this field",validate:S}}),A=g({control:l,name:n,defaultValue:c?[]:null}),{getOptionLabel:$,isOptionEqualToValue:q,renderOption:R}=ur({valueKey:h,labelKey:s}),[L,D]=E(!1),[F,z]=E(""),[_,Y]=E(""),[W,H]=E(0),[K,U]=E(0),[X,Q]=E([]),Z=lr((e=>{U(0),Y(e),Q([])}),500),ee=T(((e,r)=>{z(r),Z(r)}),[Z]),re=T(((e,r)=>{P(r),x&&x(e,r)}),[P,x]);O((()=>{if(!M&&A&&I){let e=A;"object"==typeof A&&h in A&&(e=A[h]),I(e).then((e=>{P(e),z(e[s])})).catch()}}),[A,M,h,s,I,P]);const te=T((e=>{const r=e.currentTarget;r.scrollHeight-r.scrollTop-r.clientHeight<=1&&X.length<W&&U((e=>e+1))}),[W,X]),{data:ne,isFetching:ae}=G(["options",K,_],(()=>{const e=J.parse(Object.assign({page:`${K}`,size:"20",sort:b},_?{[o]:_}:{}),{ignoreQueryPrefix:!0});return j(e)}));return O((()=>{ne&&(Q((e=>[...e,...ne.collection])),H(ne.totalItems))}),[ne]),e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:p,options:X,multiple:c,getOptionLabel:$,isOptionEqualToValue:q,disableCloseOnSelect:C||c,filterSelectedOptions:c,inputValue:F,value:A,onChange:re,loading:ae,clearOnBlur:!1,open:L,filterOptions:e=>e,onOpen:()=>{D(!0)},onClose:()=>{D(!1),Y("")},onInputChange:ee,ListboxProps:{onScroll:te},renderOption:R,renderInput:t=>e(f,Object.assign({},t,{label:a,variant:"outlined",error:!!V,inputRef:k,helperText:!v&&(null==V?void 0:V.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(y.Fragment,{children:[ae?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},N))},w))}const gr=({copyText:r,helpText:t="Copy"})=>{const[n,a]=E(t);return n?e(Y,Object.assign({title:n,placement:"top"},{children:e(W,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),a("Copied!"),setTimeout((()=>{a(t)}),1e3)}},{children:e(_,{fontSize:"small"})}))})):null},hr=({text:r,buttonProps:t={}})=>{const a=K(),{state:l}=U(),i=C((()=>null==l?void 0:l.from),[l]),o=T((()=>{a(i||-1)}),[a,i]);return e(c,Object.assign({mr:2},{children:r?e(n,Object.assign({color:"inherit",onClick:i?null:o,component:X,to:null!=i?i:""},t,{children:r})):e(W,Object.assign({onClick:o},{children:e(H,{})}))}))},br=x(((n,a)=>{var{control:l,name:i,mode:o="json",label:s,width:d="100%",height:p="200px",theme:b="monokai",readOnly:f,required:y=!1,validateJson:v=!1,fontSize:O=16,validate:E=!0,parseValue:T}=n,C=u(n,["control","name","mode","label","width","height","theme","readOnly","required","validateJson","fontSize","validate","parseValue"]);const{setError:N,clearErrors:x}=h(),{field:{onChange:j},fieldState:{error:S}}=m({control:l,name:i}),I=g({control:l,name:i});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:s&&e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:s}))}),r(t,{children:[e(Z,Object.assign({ref:a,focus:!0,wrapEnabled:!0,width:d,height:p,showPrintMargin:!1,theme:b,fontSize:O,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,enableSnippets:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:f,value:"json"===o&&"string"!=typeof I?null===I?"":JSON.stringify(I):I,onChange:e=>{if(!e&&y?N(i,{message:"Required field"}):x(i),v)try{JSON.parse(e),x(i)}catch(e){N(i,{message:"Invalid JSON"})}if(T)try{const r=JSON.parse(e);console.log("parsed val:",r),j(r)}catch(r){j(e)}else j(e)},mode:o,onLoad:e=>{E&&v||e.getSession().setUseWorker(!1)}},C)),S&&e(R,Object.assign({error:!0},{children:S.message}))]})]}))})),fr=(e,r)=>{const t=[...e];return t.splice(r,1),t},yr=e=>{try{JSON.parse(e)}catch(e){return!1}return!0};function vr(e){return e.replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))}const Or=(e,r,t,n="asc")=>{const a=e[t],l=r[t];return a<l?"asc"===n?-1:1:a>l?"asc"===n?1:-1:0},Er=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},Tr=e=>{try{return JSON.parse(e)}catch(e){return null}},Cr=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=Cr(r[e])})),r}catch(r){return e}},Nr=({value:r,height:t="200px"})=>{const n=C((()=>{if("string"==typeof r)return r;if("object"==typeof r)try{return JSON.stringify(r,null,"\t")}catch(e){return"Failed to parse JSON"}return null}),[r]);return e(Z,{readOnly:!0,value:n,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},xr=({open:t,onClose:o,value:s})=>r(a,Object.assign({disableEscapeKeyDown:!0,open:t,onClose:o,fullWidth:!0,maxWidth:"md",style:{width:800,left:"30%"}},{children:[e(i,{children:e(Z,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(l,{children:[e(gr,{copyText:s}),e(n,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var jr=({value:t,copyButton:n=!1,textField:a=!1})=>{const{open:l,onOpen:i,onClose:o}=ir();return r(c,Object.assign({width:"100%"},{children:[r(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:[n&&e(gr,{copyText:Er(t)}),e(Y,Object.assign({title:"Open",placement:"top"},{children:e(W,Object.assign({size:"small",onClick:()=>i()},{children:e(Ue,{fontSize:"small"})}))}))]})),a?e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t})):e(Nr,{value:t}),e(xr,{open:l,value:Er(t),onClose:o})]}))};const Sr=({value:t,type:n,copyText:a,status:l})=>{switch(n){case"JSON_copy":return e(jr,{value:t,copyButton:!0});case"JSON":return e(jr,{value:t});case"JSON_text":return e(jr,{value:t,textField:!0});case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(gr,{copyText:a||t})]}));case"boolean":return t?e(Ye,{color:"primary",fontSize:"small"}):e(Ke,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:ne(new Date(t),"dd.MM.yyyy")}),e("div",{children:ne(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(tn,{text:t,status:l});case"array":return e(c,{children:t.map(((r,t)=>e(c,{children:r},t)))});default:return e("div",{children:t})}},Ir=new RegExp("^[-+]?[0-9]+$"),wr=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),kr=e=>"string"==typeof e&&e.includes("$("),Pr=e=>e===Xe.DATE||e===Xe.DATE_TIME||e===Xe.TIME,Vr=e=>!e&&0!==e&&!1!==e,Mr=(e,r,t)=>{if(null==r&&e!==Xe.BOOLEAN)return null;let n=r;switch(e){case Xe.BOOLEAN:n=!!r;break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n=Number(r);break;case Xe.DATE:case Xe.DATE_TIME:case Xe.TIME:n=ne(new Date(r.toString()),t.formatText);break;case Xe.JSON:case Xe.ANY:try{"string"!=typeof r&&(n=JSON.stringify(r)),n=JSON.parse(n)}catch(e){console.log(e),n=null}break;case Xe.ENTITY:n=Ar(t.properties,r)}return n},Ar=(e,r)=>{if(r){const t={};return e.forEach((e=>{const{key:n,propertyType:a}=e,l=r[n];Array.isArray(l)?t[n]=l.map((r=>Mr(a,r,{formatText:e.format,properties:e.properties}))):t[n]=Mr(a,l,{formatText:e.format,properties:e.properties})})),t}return null},$r=(e,r)=>{const t={};return e.forEach((e=>{const{key:n,name:a,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,uiSettings:c,validationNode:d}=e,u="string"==typeof e.propertyType?e.propertyType:e.propertyType.value,p=Object.assign({name:a,propertyType:u,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,validationNode:d,uiSettings:c},((e,r)=>{const t={};let n,a="";return r?e.isMultiple?(a="values",n=e.value):(a="value",n=e.value):e.isMultiple?(a="defaultValues",n=e.defaultValue):(a="defaultValue",n=e.defaultValue),Array.isArray(n)?t[a]=n.map((r=>Mr(e.propertyType,r,{formatText:e.format,properties:e.properties}))):t[a]=Mr(e.propertyType,n,{formatText:e.format,properties:e.properties}),t})(Object.assign(Object.assign({},e),{propertyType:u}),r));if("isViewableInList"in e&&(p.isViewableInList=e.isViewableInList),c)try{p.uiSettings=JSON.parse(c)}catch(e){console.log(e)}else p.uiSettings=null;u===Xe.BIG_DECIMAL&&(p.precisionScale=e.precisionScale,p.roundingMode=e.roundingMode),u!==Xe.DATE&&u!==Xe.TIME&&u!==Xe.DATE_TIME||(p.format=e.format),u===Xe.STRING&&(p.restrictedValues=e.restrictedValues),u===Xe.ENTITY_REFERENCE&&(p.definitionCode=e.definitionCode,p.definitionVersion=e.definitionVersion,p.labelPropertyCode=e.labelPropertyCode,p.valuePropertyCode=e.valuePropertyCode),u===Xe.ENTITY&&(p.properties=$r(e.properties,r)),t[n]=p})),t};function qr(e,r){return Object.keys(e).map((t=>{const n=Object.assign(Object.assign({key:t},e[t]),r||{});if(n.propertyType===Xe.ENTITY&&(n.properties=qr(n.properties,r)),n.propertyType===Xe.JSON)try{null==n.defaultValue?n.defaultValue="":n.defaultValue=JSON.stringify(n.defaultValue,null,2)}catch(e){n.defaultValue=""}if(n.uiSettings)try{n.uiSettings=JSON.stringify(n.uiSettings,null,2)}catch(e){n.uiSettings=""}return n.isMultiple&&("defaultValues"in n&&(n.defaultValue=n.defaultValues),"values"in n&&(n.value=n.values)),n})).sort(((e,r)=>Or(e,r,"sortOrder")))}const Rr=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return ne(new Date,e),e}catch(r){return console.error("Incorrect format",r),e}return e},Lr=e=>{let r=[];return r=Array.isArray(e.properties)?e.properties:qr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===Xe.ENTITY?t[r.key]=Lr(r):t[r.key]=r.propertyType,t}),{})},Dr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Fill array (widget)",sortOrder:1}];return t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e!==Xe.JSON&&e!==Xe.ANY&&e!==Xe.ENTITY||n.push({value:"json_valid",label:"JSON editor",sortOrder:2}),n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},Fr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Widget",sortOrder:1}];switch(t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e){case Xe.STRING:n[0].label="Text input";break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n[0].label="Number input";break;case Xe.BOOLEAN:n[0].label="Switch";break;case Xe.ENTITY_REFERENCE:n[0].label="Entity reference fields";break;case Xe.JSON:n[0].label="JSON editor";break;case Xe.DATE:n[0].label="Date picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.DATE_TIME:n[0].label="Date & Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.TIME:n[0].label="Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.ANY:n[0].label="Textarea"}return n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},zr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s,disabled:c=!1,hideErrorMessage:d=!1,onChange:p,decimal:h=!1}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","decimal"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:e=>h&&!wr.test(e)?"Not valid number":!(!h&&!Ir.test(e))||"Not valid integer"}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!d&&(null==O?void 0:O.message),disabled:c,value:null!=E?E:""},b,{onChange:e=>{const r=e.nativeEvent.data||e.target.value;(!isNaN(r)||h&&"."===r||"-"===r||"+"===r)&&(p?p(e):v(e.target.value))},inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))},Br=r=>{var{control:t,name:n,label:a}=r,l=u(r,["control","name","label"]);const{field:{ref:i,onChange:o}}=m({control:t,name:n}),s=g({control:t,name:n}),c=C((()=>{if("boolean"==typeof s)return s;if("string"==typeof s){if("false"===s)return o(!1),!1;if("true"===s)return o(!0),!0}return!1}),[s,o]);O((()=>{null===s&&o(!1)}),[s,o]);return e(q,{label:a,name:n,control:e(re,Object.assign({color:"primary",size:"small",inputRef:i,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},l))})},Gr=({control:r,name:t,required:n,label:a,format:l=Qe,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(te,{mask:"",label:a,inputRef:s,inputFormat:l,value:d||null,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},Jr=({control:r,name:t,required:n,label:a,format:l=er,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(oe,{mask:"",ampm:!1,inputRef:s,label:a,value:d||null,inputFormat:l,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},_r=({control:r,name:t,required:n,label:a,format:l=Ze,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t}),[u,p]=E(null);return O((()=>{if(d&&l){let e=ie(d,l,new Date);le(e)||(e=ie(d,"HH:mm:ss.SSS",new Date)),p(e)}}),[d,l]),e(se,{mask:"",inputRef:s,label:a,ampm:!1,value:u,inputFormat:l,onChange:e=>{p(e),o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})};var Yr=()=>{const t=ue(),n=pe(t,me),a=pe(t,ge),l=pe(t,he),i=pe(t,be),o=e=>t.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(de,{component:"div",page:n,count:l,rowsPerPage:i,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>o(r),onRowsPerPageChange:e=>t.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:void 0}),e(ce,{count:a,page:n+1,onChange:(e,r)=>o(r-1)})]}))};var Wr=r=>{var{hideMenu:t,currentColumn:n,onUnsort:a}=r,l=u(r,["hideMenu","currentColumn","onUnsort"]);return e(fe,Object.assign({hideMenu:t,currentColumn:n},l,{children:e(ye,{onClick:t,column:n})}))};var Hr=({mode:e})=>{const[r,t]=Q(),n=+r.get("page")||0,a=+r.get("size")||10;return O((()=>{"server"===e&&(r.has("page")||r.set("page","0"),r.has("size")||r.set("size","10"),t(r,{replace:!0}))}),[e,r,t]),{page:n,size:a,onPageChange:e=>{r.set("page",`${e}`),t(r,{replace:!0})},onSizeChange:e=>{r.set("size",`${e}`),t(r,{replace:!0})}}};var Kr=()=>{const[e,r]=Q(),t=e.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:t})=>{let n=!1;const a=e.getAll("sort");e.delete("sort"),a.forEach((r=>{const[a,l]=r.split(",");a===t?(n=!0,"asc"===l&&e.append("sort",`${a},desc`)):e.append("sort",`${a},${l}`)})),n||e.append("sort",`${t},asc`),r(e,{replace:!0})},getSortedColumns:e=>e.map((e=>{const r=t.find((r=>r[0]===e.field));return e.headerClassName=r?`Sorted --${r[1]} `:"",e}))}};var Ur=e=>{const[r,t]=E(10);O((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},Xr=Ee()({root:{width:"100%","& .MuiDataGrid-virtualScrollerContent":{height:"auto !important",minHeight:"56px !important"},"& .MuiDataGrid-virtualScrollerRenderZone":{position:"static"},"& .MuiDataGrid-renderingZone":{maxHeight:"none !important"},"& .MuiDataGrid-cell":{maxHeight:"none !important",lineHeight:"unset !important",textOverflow:"ellipsis",wordBreak:"break-all","& .MuiDataGrid-actionsCell":{width:"100%",gridGap:"4px",flexWrap:"wrap",'& > button[aria-label="more"]':{marginLeft:"auto"}}},"& .MuiDataGrid-row":{maxHeight:"none !important"},"& .Sorted":{"& .MuiDataGrid-iconButtonContainer":{visibility:"visible",width:"auto","& svg":{opacity:"1 !important"}},"&.--desc":{"& svg":{transform:"rotate(180deg)"}}}}});const Qr=({columns:r,rows:t,rowCount:n,loading:a,disableMargin:l,mode:i="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const{classes:u}=Xr(),{page:p,size:m,onPageChange:g,onSizeChange:h}=Hr({mode:i}),{onColumnHeaderClick:b,getSortedColumns:f}=Kr(),{pageSize:y,handlePageSizeChange:v}=Ur(o),O={sortingMode:i,paginationMode:i,pageSize:"server"===i?m:s?y:n,onPageSizeChange:"server"===i?h:v,components:{Pagination:Yr}};return"server"===i&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=p,O.onPageChange=g,O.components.ColumnMenu=Wr),e(c,Object.assign({mt:l?0:2},{children:e(ve,Object.assign({autoHeight:!0,hideFooterPagination:!s,hideFooter:!s,disableSelectionOnClick:!0,showColumnRightBorder:!0,showCellRightBorder:!0,className:u.root,loading:a,rows:t,columns:f(r),rowCount:n,rowsPerPageOptions:[10,20,50,100],onCellClick:d},O))}))},Zr=({icon:r,label:t,showInMenu:n,onClick:a,location:l})=>l?e(W,Object.assign({component:X,to:l,size:"small"},{children:e(Y,Object.assign({title:t,arrow:!0},{children:y.cloneElement(r,{fontSize:"small"})}))})):e(Oe,{nonce:"",onResize:void 0,onResizeCapture:void 0,icon:e(Y,Object.assign({title:t,arrow:!0},{children:r})),onClick:a,label:t,showInMenu:n}),et=r=>{const{children:t,value:n,index:a}=r,l=u(r,["children","value","index"]);return e("div",Object.assign({role:"tabpanel",hidden:n!==a,id:`simple-tabpanel-${a}`,"aria-labelledby":`simple-tab-${a}`},l,{children:n===a?t:null}))},rt=t=>{var n;const{tabs:a}=t,l=K(),i=U(),o=C((()=>new URLSearchParams(i.search)),[i.search]),s=o.get("tab");return r(c,{children:[e(Te,{children:e(Ne,Object.assign({value:s||(null===(n=a[0])||void 0===n?void 0:n.name),indicatorColor:"primary",textColor:"primary",onChange:(e,r)=>{o.set("tab",r),l({pathname:i.pathname,search:o.toString()},{replace:!0})}},{children:a.map((r=>e(Ce,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:a.map((r=>{var t;return e(et,Object.assign({value:s||(null===(t=a[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})};var tt=Ee()((()=>({container:{paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const nt=({title:t,text:n,json:a})=>{const{classes:l}=tt();return r("div",Object.assign({className:l.container},{children:[e("div",Object.assign({className:l.title},{children:t})),n&&e("div",Object.assign({className:l.text},{children:n})),a&&e(Z,{readOnly:!0,value:a,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},at=Object.values(rr).sort(((e,r)=>e.localeCompare(r)));var lt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(zr,{required:!0,control:a,defaultValue:2,name:`${n}.precisionScale`,label:"Precision Scale"})}),e(xe,{children:e(sr,{required:!0,control:a,name:`${n}.roundingMode`,label:"Rounding Mode",defaultValue:rr.HALF_UP,options:at})})]})};var it=({propertyFieldName:r,defaultValue:t=""})=>{const{control:n}=h();return e(xe,{children:e(ar,{required:!0,control:n,defaultValue:t,name:`${r}.format`,label:"Format"})})};const ot=Ee()((()=>({content:{marginLeft:"4px"},connector:{marginLeft:"4px"},stepper:{padding:"12px"},label:{display:"flex",alignItems:"flex-start"}}))),st=()=>e("div",{style:{display:"inline-block",width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#536DFE",marginTop:"5px"}}),ct=({data:t})=>{const{classes:n}=ot();return r(Ve,Object.assign({nonLinear:!0,orientation:"vertical",className:n.stepper,connector:e(qe,{className:n.connector})},{children:[t.filter(Boolean).map(((t,a)=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,Object.assign({className:n.label,StepIconComponent:st,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e($e,Object.assign({className:n.content},{children:t.content}))]}),a))),e(Me,{})]}))},dt=({properties:t=[]})=>{const n=C((()=>t?t.map((t=>{const n="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",n]})]})),content:"ENTITY"===t.propertyType&&e(dt,{properties:t.properties})}})):[]),[t]);return e(ct,{data:n})};var ut=dt;const pt={key:"",propertyType:"",name:"",defaultValue:"",isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0};var mt=({parentPropertyFieldName:o,entityDefinition:c=!1,globalParameter:d=!1})=>{const{control:u,setValue:m,getValues:b,trigger:f}=h(),y=g({control:u,name:`${o}.properties`,defaultValue:b(`${o}.properties`)||[]}),v=g({control:u,name:`${o}.name`}),O=ir(),[C,N]=E(0),x=T((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,pt),N(e)}else m(`${o}.properties`,[pt])}),[y,o,m]),j=()=>p(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&O.onClose()}));return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Properties"}))}),e(xe,{children:e(ut,{properties:y})}),e(xe,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:O.onOpen},{children:"Edit properties"}))}),r(a,Object.assign({disableEscapeKeyDown:!0,open:O.open,onClose:j,fullWidth:!0,maxWidth:"md"},{children:[r(s,{children:[v||"Entity"," Properties"]}),e(i,Object.assign({style:{height:"500px",overflow:"hidden"}},{children:r(xe,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(xe,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(Ve,Object.assign({nonLinear:!0,activeStep:C,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,n)=>r(Me,Object.assign({onClick:()=>(e=>N(e))(n),style:{cursor:"pointer"}},{children:[e(Ae,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e($e,{})]}),n)))})),e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))]})),e(xe,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(Bt,{hideAddButton:!0,parentFieldName:o,focusOnIndex:C,entityDefinition:c,globalParameter:d})}))]}))})),e(l,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:j},{children:"Ok"}))})]}))]})};var gt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionCode`,label:"Definition Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionVersion`,label:"Definition Version"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.labelPropertyCode`,label:"Label Property Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.valuePropertyCode`,label:"Value Property Code"})})]})};var ht=({propertyFieldName:n})=>{const a=C((()=>`${n}.restrictedValues`),[n]),{control:l,setValue:i,getValues:o}=h(),s=g({control:l,name:a,defaultValue:o(`${n}.restrictedValues`)||[]}),[d,u]=E(""),[p,m]=E(""),b=T((e=>{i(a,fr(s,e))}),[s,a,i]),y=()=>{d&&(i(a,[...s,d]),u(""))};return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),!!(null==s?void 0:s.length)&&e(xe,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:s.map(((r,t)=>e(Re,{sx:{mr:1},variant:"outlined",label:r,onDelete:()=>b(t)},t)))}))}),e(xe,{children:e(f,{fullWidth:!0,variant:"outlined",size:"small",label:"Add restricted value",value:d,onChange:e=>{const{value:r}=e.target;u(r),s.includes(r)?m("This value already exists"):m("")},error:!!p,helperText:p,name:"restrictedValues",inputProps:{onKeyDown:e=>{"Enter"===e.key&&y()}},InputProps:{endAdornment:e(W,Object.assign({size:"small",onClick:y,disabled:!!p},{children:e(Le,{})}))}})})]})};const bt=({propertyType:r,propertyFieldName:t,entityDefinition:n=!1,globalParameter:a=!1})=>{switch(r){case Xe.STRING:return e(ht,{propertyFieldName:t});case Xe.BIG_DECIMAL:return e(lt,{propertyFieldName:t});case Xe.DATE:return e(it,{propertyFieldName:t,defaultValue:Qe});case Xe.TIME:return e(it,{propertyFieldName:t,defaultValue:Ze});case Xe.DATE_TIME:return e(it,{propertyFieldName:t,defaultValue:er});case Xe.ENTITY_REFERENCE:return e(gt,{propertyFieldName:t});case Xe.ENTITY:return e(mt,{parentPropertyFieldName:t,globalParameter:a,entityDefinition:n});default:return null}};var ft=({validate:r=!1,name:t,inputRef:n})=>{const{control:a,setValue:l,setError:i,clearErrors:o}=h(),s=g({control:a,name:t});return e(Z,{wrapEnabled:!0,width:"100%",height:"200px",theme:"monokai",fontSize:14,showPrintMargin:!1,style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,showLineNumbers:!0,tabSize:2},ref:n,name:t,value:"string"!=typeof s?null===s?"":JSON.stringify(s):s,onChange:e=>{if(l(t,e),r)try{JSON.parse(e),o(t)}catch(e){i(t,{message:"Invalid JSON"})}},mode:"json",onLoad:e=>{r||e.getSession().setUseWorker(!1)}})};var yt=({name:t,label:n,required:a,restrictedValues:l})=>{const{control:i}=h(),{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:i,name:t,rules:{required:a&&(Array.isArray(l)&&l.length?"Please, select a value":"Please, fill this field")}}),d=g({control:i,name:t});return Array.isArray(l)&&l.length?r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Fe,Object.assign({htmlFor:"type-select"},{children:n})),e(De,Object.assign({labelId:"type-select",label:n,value:d||"",onChange:o,ref:s},{children:l.map((r=>e(w,Object.assign({value:r},{children:r}),r)))}))]})):e(ar,{hideErrorMessage:!0,required:a,control:i,name:t,label:n})};const vt=({property:r,name:t,label:n,useExpression:a,inputRef:l})=>{const{control:i}=h();switch(C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.DOUBLE:return e(zr,{decimal:!0,required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.LONG:return e(zr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.BOOLEAN:return e(Br,{control:i,name:t});case Xe.DATE:return e(Gr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.TIME:return e(_r,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.DATE_TIME:return e(Jr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.JSON:return e(ft,{validate:!0,name:t,inputRef:l});case Xe.STRING:return e(yt,{required:!0,name:t,label:n,restrictedValues:r.restrictedValues});case Xe.ENTITY_REFERENCE:return e(ar,{required:!0,hideErrorMessage:!0,name:t,label:n,control:i});case Xe.ANY:return e(ft,{name:t,inputRef:l});case Xe.ENTITY:return e(Xt,{properties:r.properties,dataFieldName:t,useExpression:a});default:return e("div",{children:"No widget"})}};var Ot=({value:e,property:r,label:t,isDirty:n,required:a=!1,useExpression:l=!1,multipleOptions:i=!1})=>{const o=C((()=>t?`${t} (value)`:`${r.name} (value)`),[t,r]),s=C((()=>t?`${t} (widget)`:`${r.name} (widget)`),[t,r]),c=C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r]),[d,u]=E(null),p=C((()=>i?Dr({propertyType:c,required:a,useExpression:l}):Fr({propertyType:c,required:a,useExpression:l})),[l,a,c,i]);return O((()=>{d?n||(kr(e)&&"expression"!==d?u("expression"):null==e||kr(e)||"widget"===d||u("widget")):Vr(e)&&(null==p?void 0:p.length)?u(p[0].value):l&&kr(e)?u("expression"):u("widget")}),[e,d,p,l,n]),{propertyType:c,valueLabel:o,fillOptionLabel:s,fillOption:d,fillOptions:p,setFillOption:u}};var Et=Ee()((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const Tt=({property:t,name:n,useExpression:a,label:l,required:i,title:o})=>{const{control:s,clearErrors:d,register:u}=h(),{field:{ref:p,onChange:b},fieldState:{error:f,isDirty:y}}=m({name:n}),v=g({control:s,name:n}),{propertyType:E,valueLabel:T,fillOptionLabel:C,fillOption:N,fillOptions:x,setFillOption:j}=Ot({value:v,property:t,isDirty:y,label:l,required:i,useExpression:a});O((()=>{void 0===v&&b(null)}),[v,b]);const{classes:S}=Et();return r(xe,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:C})),e(De,Object.assign({labelId:"type-select",label:C,value:N||"",onChange:e=>{const r=e.target.value;"null"===r?u(n,{value:null}):"widget"===r?b(null):"expression"!==r&&"string"!==r||b(""),j(r),d(n)}},{children:x.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===N&&(E===Xe.JSON||E===Xe.ENTITY||E===Xe.ANY?e(ft,{name:n,inputRef:p}):e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0})),"string"===N&&e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0}),"json_notvalid"===N&&e(ft,{name:n,inputRef:p}),"widget"===N&&e(vt,{property:t,name:n,useExpression:a,label:T,inputRef:p,required:i}),f&&e(ee,Object.assign({color:"secondary"},{children:f.message}))]}))};var Ct=({name:t,property:a,useExpression:l,required:i,label:o})=>{const{control:s,setValue:d,clearErrors:u}=h();m({control:s,name:t,rules:{validate:e=>!(!e||Array.isArray(e)&&!e.length)||"Please, fill array"}});const p=g({control:s,name:t}),b=T((()=>{p&&Array.isArray(p)?d(`${t}.${p.length}`,null):d(t,[null]),u(t)}),[t,p,d,u]),f=T((e=>{d(t,fr(p,e))}),[t,p,d]);return r(xe,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[p&&Array.isArray(p)?p.map(((n,s)=>e(xe,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(Tt,{required:i,property:a,useExpression:l,name:`${t}.${s}`,label:`${o||a.name} (${s+1})`}),e(c,Object.assign({mt:"8px",ml:"4px"},{children:e(W,Object.assign({size:"small",onClick:()=>f(s)},{children:e(ze,{fontSize:"small"})}))}))]}))}),s))):null,e(xe,{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const Nt=({property:t,name:n,useExpression:a,required:l,label:i,title:o})=>{const{control:s,clearErrors:d}=h(),{field:{ref:u,onChange:p},fieldState:{error:b,isDirty:f}}=m({control:s,name:n,rules:{validate:e=>!(l&&!e)||"Please, fill this field"}}),y=g({control:s,name:n}),{propertyType:v,valueLabel:E,fillOptionLabel:T,fillOption:C,fillOptions:N,setFillOption:x}=Ot({property:t,value:y,isDirty:f,label:i,required:l,useExpression:a,multipleOptions:!0});O((()=>{void 0===y&&p(null)}),[y,p]);const{classes:j}=Et();return r(xe,{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),N?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:j.inputLabel},{children:T})),e(De,Object.assign({labelId:"type-select",label:T,value:C||"",onChange:e=>{const r=e.target.value;"null"===r?p(null):"expression"===r||"json_valid"===r||"json_notvalid"===r?p(""):"widget"===r&&p([]),x(r),d(n)}},{children:N.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===C&&(v===Xe.JSON||v===Xe.ENTITY||v===Xe.ANY?e(ft,{name:n,inputRef:u}):e(ar,{required:!0,hideErrorMessage:!0,control:s,name:n,label:E})),"json_valid"===C&&e(ft,{validate:!0,name:n,inputRef:u}),"widget"===C&&e(Ct,{property:t,name:n,useExpression:a,required:l,label:i}),b&&e(ee,Object.assign({color:"secondary"},{children:b.message}))]})},xt=({propertyFieldName:r,name:t,label:n="",required:a})=>{const{control:l}=h(),i=g({control:l,name:`${r}.propertyType`}),o=g({control:l,name:`${r}.isMultiple`}),s=g({control:l,name:`${r}.format`}),c=g({control:l,name:`${r}.restrictedValues`}),d=g({control:l,name:`${r}.properties`}),u=g({control:l,name:`${r}.isRequired`}),p=C((()=>{const e="string"==typeof i?i:i.value;return{name:n,isRequired:u,isMultiple:o,format:s,restrictedValues:c,properties:d,propertyType:e,defaultValue:null,defaultValues:[],sortOrder:0,isEnabled:!0,uiSettings:null,validationNode:null}}),[i,s,c,o,n,u,d]);return e(o?Nt:Tt,{name:t,property:p,title:n,required:a})};var jt=({name:t})=>{const a=C((()=>({type:""})),[]),{control:l}=h(),{fields:i,append:o,remove:s}=b({control:l,name:t});return r(c,Object.assign({mt:2},{children:[e(n,Object.assign({variant:"outlined",size:"small",onClick:()=>o(a)},{children:"Add node"})),i.map((({id:r},n)=>e($t,{removeHandle:()=>s(n),name:`${t}.${n}`},r)))]}))};const St=j(""),It=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.minimumLength`,label:"Minimum Length",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximumLength`,label:"Maximum Length",type:"number"})}))]}),wt=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.multipleOf`,label:"Multiple Of",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.minimum`,label:"Minimum",type:"number"})})),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximum`,label:"Maximum",type:"number"})})),r(c,Object.assign({mt:2},{children:[e(cr,{control:a,name:`${n}.exclusiveMinimum`,label:"Exclusive Minimum",defaultValue:"false"}),e(cr,{control:a,name:`${n}.exclusiveMaximum`,label:"Exclusive Maximum",defaultValue:"false"})]}))]}),kt=["STRING_REGEX","JSON_SCHEMA"],Pt=new Set([Xe.INTEGER,Xe.FLOAT,Xe.DOUBLE,Xe.BIG_DECIMAL,Xe.BIG_INTEGER,Xe.LONG]);var Vt=({name:n})=>{const{control:a,setValue:l}=h(),i=S(St),o=g({control:a,name:`${n}.type`}),s=C((()=>{if("STRING_REGEX"===o)return e(ar,{control:a,name:`${n}.pattern`,label:"Pattern"});if("JSON_SCHEMA"===o)switch(!0){case i===Xe.STRING:return e(It,{name:`${n}.node`,control:a});case Pt.has(i):return e(wt,{name:`${n}.node`,control:a});case i===Xe.JSON:return e(br,{label:"Properties",control:a,name:`${n}.properties`,validateJson:!0,parseValue:!0});default:return"Not available for type "+i}return null}),[i,o,a,n]);return O((()=>{Pt.has(i)&&"JSON_SCHEMA"===o&&(l(`${n}.node.exclusiveMinimum`,!1),l(`${n}.node.exclusiveMaximum`,!1))}),[i,o,l,n]),e(ct,{data:[{label:"Validator",content:r(t,{children:[e(c,{children:e(sr,{control:a,name:`${n}.type`,label:"Type",options:kt,onChange:e=>{l(n,{}),l(`${n}.type`,e.target.value)}})}),e(c,Object.assign({mt:2},{children:s}))]})}]})};const Mt=["AND","OR","NOT","NODE"],At=({name:n,removeHandle:a})=>{const{control:l}=h(),i=g({control:l,name:`${n}.type`}),o=C((()=>({AND:e(jt,{name:`${n}.nodes`}),OR:e(jt,{name:`${n}.nodes`}),NODE:e(Vt,{name:`${n}.validator`}),NOT:e(At,{name:`${n}.node`})})),[n]);return e(ct,{data:[{label:"Node Type",content:r(t,{children:[r(c,Object.assign({display:"flex",alignItems:"center"},{children:[e(sr,{required:!0,control:l,name:`${n}.type`,label:"Type",options:Mt}),a&&e(c,Object.assign({ml:2},{children:e(W,Object.assign({onClick:a,color:"primary"},{children:e(Pe,{})}))}))]})),e(c,{children:o[i]})]})}]})};var $t=At;const qt=({name:n})=>{const[a,l]=E(!1),{setValue:i,getValues:o}=h(),s=T((e=>{l(e.target.checked),e.target.checked||i(n,null)}),[i,n]);return O((()=>{o(n)&&l(!0)}),[n,o]),r(t,{children:[r(c,Object.assign({display:"flex",justifyContent:"space-between"},{children:[e(ee,Object.assign({variant:"h6"},{children:"Validator"})),e(q,{label:"Enable",control:e(L,{color:"primary",checked:a,onChange:s})})]})),a&&e($t,{name:n})]})};var Rt=({name:r,label:t="",propertyFieldName:n,type:a,decimal:l=!1,options:i=[],required:o=!1})=>{const{control:s}=h(),c=C((()=>`${n}.${r}`),[r,n]);switch(a){case"text":return e(ar,{control:s,name:c,label:t,required:o});case"number":return e(zr,{control:s,name:c,label:t,decimal:l,required:o});case"select":return e(sr,{control:s,name:c,label:t,options:i,required:o});case"autocomplete":return e(pr,{control:s,name:c,label:t,options:i,required:o});case"json":return e(br,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var Lt=e=>({customCheckboxes:C((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:C((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const Dt=Object.values(Xe).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var Ft=({propertyFieldName:n,entityDefinition:a=!1,globalParameter:l=!1,customPropertyFields:i=[]})=>{var o;const{control:s,setValue:c}=h(),d=g({control:s,name:`${n}.propertyType`}),u=g({control:s,name:`${n}.isMultiple`}),p=g({control:s,name:`${n}.isRequired`}),{customCheckboxes:m,customFields:b}=Lt(i),f=C((()=>{let e=l?"Value":"Default Value";return u&&(e+="s"),e}),[l,u]);return O((()=>{d&&"string"==typeof d&&c(`${n}.propertyType`,Dt.find((e=>e.value===d)))}),[d,c,n]),r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(xe,{children:e(or,{required:!0,control:s,name:`${n}.key`,label:"Key"})}),e(xe,{children:e(or,{required:!0,control:s,name:`${n}.name`,label:"Name"})}),e(xe,{children:e(pr,{required:!0,control:s,name:`${n}.propertyType`,label:"Type",options:Dt,onChange:(e,r)=>{const t=`${n}.propertyType`,a=`${n}.${l?"value":"defaultValue"}`;c(a,u?[]:null),c(t,r)}})}),e(xe,{children:e(zr,{required:!0,control:s,name:`${n}.sortOrder`,label:"Sort Order"})}),e(xe,{children:e(br,{control:s,name:`${n}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(xe,{children:[e(cr,{control:s,name:`${n}.isMultiple`,label:"Multiple"}),e(cr,{control:s,name:`${n}.isEnabled`,label:"Enabled"}),e(cr,{control:s,name:`${n}.isRequired`,label:"Required"}),a&&e(cr,{control:s,name:`${n}.isViewableInList`,label:"Is viewable in list"}),m.length?e(t,{children:m.map(((r,t)=>e(cr,{control:s,name:`${n}.${r.name}`,label:r.label},t)))}):null]}),d&&r(t,{children:[e(xe,{children:e(St.Provider,Object.assign({value:null!==(o=d.value)&&void 0!==o?o:d},{children:e(qt,{name:`${n}.validationNode`})}))}),e(bt,{propertyType:"string"==typeof d?d:d.value,propertyFieldName:n,globalParameter:l,entityDefinition:a}),e(xt,{propertyFieldName:n,name:`${n}.${l?"value":"defaultValue"}`,label:f,required:!!l&&p})]}),b.length?e(t,{children:b.map(((r,t)=>e(xe,{children:e(Rt,Object.assign({},r,{propertyFieldName:n}))},t)))}):null]}))};const zt={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},Bt=({parentFieldName:a,hideAddButton:l,focusOnIndex:i,required:o,entityDefinition:s=!1,globalParameter:c=!1,customPropertyFields:d=[]})=>{const u=C((()=>a?`${a}.properties`:"properties"),[a]),{setValue:p,clearErrors:b,control:f}=h(),{fieldState:{error:y}}=m({control:f,name:u,rules:{required:o&&"Please, add properties"}}),E=g({control:f,name:u}),N=v([]);O((()=>{"number"==typeof i&&N.current[i]&&N.current[i].scrollIntoView({behavior:"smooth",block:"start"})}),[i,N]);const x=T((()=>{E?p(`${u}.${E.length}`,zt):p(u,[zt]),b(u)}),[E,u,b,p]),j=T((e=>{p(`${u}`,fr(E,e))}),[E,u,p]);return r(t,{children:[y&&y.message&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ee,Object.assign({color:"secondary"},{children:y.message}))})),E&&E.map(((t,a)=>e(xe,Object.assign({sm:12,md:8,lg:6,ref:e=>N.current[a]=e},{children:r(je,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({color:y&&y[a]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${a+1}`}))})),e(Ie,{children:e(Ft,{propertyFieldName:`${u}.${a}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(we,{children:e(n,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>j(a)},{children:"Remove"}))})]}))}),a))),!l&&e(xe,Object.assign({xs:12},{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))}))]})},Gt=({definitionFieldName:t,title:n,hideCodeField:a,hideVersionField:l,hideNameField:i,required:o=!1})=>{const{control:s}=h();return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[n&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(ee,Object.assign({variant:"h4"},{children:n}))}))})),!i&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!a&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!l&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(zr,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(Bt,{required:o,parentFieldName:t})]}))},Jt={name:"Name",key:"Key",propertyType:"Property Type",defaultValue:"Default Value",defaultValues:"Default Values",sortOrder:"Sort Order",isRequired:"Required",isMultiple:"Multiple",isEnabled:"Enabled",isViewableInList:"Is Viewable In List",precisionScale:"Precision Scale",roundingMode:"Rounding Mode",format:"Format",definitionCode:"Definition Code",definitionVersion:"Definition Version",labelPropertyCode:"Label Property Code",valuePropertyCode:"Value Property Code",restrictedValues:"Restricted Values",value:"Value",values:"Values",uiSettings:"UI Settings",validationNode:"Validation Node"},_t=({value:r,type:t})=>t!==Xe.JSON&&t!==Xe.ENTITY&&t!==Xe.ANY||!r?e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(Nr,{value:r}),Yt=(t,n,a)=>{switch(n){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return t?e(Ye,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return t?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:t.map((r=>e(Re,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(_t,{value:t,type:a});case"values":case"defaultValues":return Array.isArray(t)&&a!==Xe.ENTITY&&a!==Xe.JSON&&a!==Xe.ANY?r("div",{children:["[",null==t?void 0:t.map(((r,t)=>e("div",{children:e(_t,{value:r,type:a})},t))),"]"]}):e(Nr,{value:t});case"uiSettings":case"validationNode":return t?e(Nr,{value:t}):null;default:return e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:t}))}};var Wt=({property:t})=>{const n=C((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(Be,Object.assign({size:"small"},{children:e(Ge,{children:Object.keys(Jt).map((t=>t in n?r(Je,{children:[e(_e,Object.assign({width:"30%"},{children:e(ee,{children:Jt[t]})})),e(_e,{children:Yt(n[t],t,n.propertyType)})]},t):null))})}))};var Ht=I((({properties:t,parentNames:n=[]})=>{const a=C((()=>{let e=!1;return t.every((r=>r.propertyType!==Xe.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(ee,Object.assign({variant:"h6"},{children:"Properties"})),r(Ve,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,{StepIconProps:{icon:"",completed:!1,active:!0}}),e($e,{children:e(Kt,{property:t,parentNames:[...n],defaultExpanded:!1})})]}),t.key))),a&&e(Me,{})]}))]}))}));const Kt=({property:t,parentNames:n=[],defaultExpanded:a=!0})=>{const[l,i]=E(!0);return O((()=>{i(a)}),[a]),r(je,Object.assign({elevation:3,style:{backgroundColor:n.length%2==1?"#f1f1f1":"#fff"},expanded:l,onChange:()=>i((e=>!e))},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(Ie,{children:r(c,Object.assign({width:"100%"},{children:[e(Wt,{property:t}),t.propertyType===Xe.ENTITY&&e(Ht,{properties:qr(t.properties),parentNames:[...n,t.name]})]}))})]}))},Ut=({properties:r,expandAll:t=!0})=>{const n=C((()=>Array.isArray(r)?r:r?qr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:n.length?n.map((r=>e(Kt,{property:r,defaultExpanded:t},r.key))):e(ee,{children:"No properties"})}))},Xt=({properties:t,dataFieldName:n,useExpression:a=!1,title:l})=>{const i=C((()=>t?t.map((t=>{const l="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",l]})]})),content:t.isMultiple?e(Nt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired}):e(Tt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired})}})):[]),[t,n,a]);return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[l&&e(xe,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:l}))})),e(ct,{data:i})]}))},Qt=({property:r,data:t,properties:n})=>{const a=r=>e(c,Object.assign({style:{backgroundColor:"#fff",border:"1px solid #ccc",borderRadius:"4px",padding:"4px"}},{children:null===r?"null":null==r?void 0:r.toString()}));if(kr(t))return a(t);switch(r.propertyType){case Xe.JSON:return e(Nr,{value:t});case Xe.ENTITY:return e(en,{properties:n,data:t});case Xe.ANY:return"object"==typeof t?e(Nr,{value:t}):a(t);default:return a(t)}};var Zt=({property:r,data:t,hasBackground:n=!1})=>{const a=C((()=>r.propertyType===Xe.ENTITY?Array.isArray(r.properties)?r.properties:qr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:n?"#f1f1f1":"none"}},{children:e(Qt,{property:r,data:t,properties:a})}))};const en=({properties:n,data:a})=>{const l=C((()=>n&&a?n.map((n=>{var l;const{key:i,name:o,isMultiple:s,propertyType:d}=n,u=null!==(l=a[n.key])&&void 0!==l?l:a;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[e("b",{children:o}),r("span",{children:[i," | ",s?"multiple":"single"," | ",d]})]})),content:s&&Array.isArray(u)&&n.propertyType!==Xe.ANY?e(t,{children:u.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(Zt,{property:n,data:r,hasBackground:!0})}),t)))}):e(Zt,{property:n,data:u})}})):[]),[n,a]);return e(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:e(ct,{data:l})}))};var rn=Ee()((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px",width:"fit-content","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const tn=({text:r,status:t="default"})=>{const{classes:n}=rn();return e("div",Object.assign({className:We(n.root,{[t]:!0})},{children:r}))},nn=Ee()((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),an=({properties:t,parentKey:n="",activePath:a="",prefix:l="",onClick:i})=>{const{classes:o}=nn();return e(Ve,Object.assign({orientation:"vertical",onClick:e=>e.stopPropagation()},{children:t&&t.map((t=>{var s;const c=n?`${n}.${t.key}`:t.key,d=null!==(s=t.propertyType.value)&&void 0!==s?s:t.propertyType;return r(Me,Object.assign({expanded:!0,onClick:()=>{return e=c,void i(l?`${l}.${e}`:e);var e}},{children:[e(Ae,Object.assign({StepIconProps:{icon:"",completed:!1,active:a===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e($e,{children:e("div",{children:d===Xe.ENTITY&&e(an,{onClick:i,activePath:a,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var ln=an;const on=({open:t=!1,onClose:o,onPaste:c,properties:d})=>{const[u,p]=E("");return r(a,Object.assign({open:t,onClose:o,fullWidth:!0,maxWidth:"md"},{children:[e(s,{children:"JSON path picker"}),r(i,{children:[(null==d?void 0:d.length)?d.map(((t,n)=>r("div",{children:[e(ee,Object.assign({variant:"h6"},{children:t.title})),e(ln,{properties:t.properties,prefix:t.pathPrefix,onClick:p,activePath:u})]},n))):e(ee,{children:"Please, add properties"}),u&&r(ee,Object.assign({variant:"h6",gutterBottom:!0},{children:["Selected path : $(",u,")"]}))]}),r(l,{children:[e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{navigator.clipboard.writeText(`$(${u})`),He.success("Copied!")}},{children:"Copy"})),e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${u})`),He.success("Pasted!")}},{children:"Paste"})),e(n,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))};export{nr as AlertDialog,hr as BackButton,br as ControlAceEditor,pr as ControlAutocomplete,cr as ControlCheckbox,Gr as ControlDate,Jr as ControlDateTime,or as ControlDebouncedInput,ar as ControlInput,zr as ControlNumberInput,mr as ControlQueryAutocomplete,dr as ControlRadio,sr as ControlSelect,Br as ControlSwitch,_r as ControlTime,gr as CopyButton,Gt as CreateDefinition,Bt as CreatePropertiesList,Qe as DATE_DEFAULT_FORMAT,er as DATE_TIME_DEFAULT_FORMAT,Xt as DefinitionFiller,en as DefinitionValueView,nt as InfoItem,xr as JsonModalView,on as JsonPathPicker,Nr as JsonView,tr as Loader,Nt as MultiplePropertyFiller,Tt as PropertyFiller,Xe as PropertyType,xt as PropertyValueField,rr as RoundingMode,rt as RouteTabs,tn as Status,ct as StepperView,Ze as TIME_DEFAULT_FORMAT,et as TabPanel,Qr as Table,Zr as TableAction,Ut as ViewPropertiesList,Kt as ViewProperty,vr as capitalize,Cr as deepParseJson,Ir as digitsOnly,wr as floatsOnly,Ar as formatDefinitionData,Sr as formatTableRowValue,Rr as getDemPropertyDateFormat,Lr as getEntityStarterValue,Er as getJsonStringValue,Dr as getMultiplePropertyFillOptions,Fr as getSinglePropertyFillOptions,Pr as isDateType,kr as isExpression,Vr as isPropertyValueEmpty,$r as propertiesArrayToObject,qr as propertiesObjectToArray,fr as removeArrayItem,Tr as safeParseJson,Or as sortArrayOfObjects,lr as useDebounce,ir as useToggle,yr as validateJson};
1
+ import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import n from"@mui/material/Button";import a from"@mui/material/Dialog";import l from"@mui/material/DialogActions";import i from"@mui/material/DialogContent";import o from"@mui/material/DialogContentText";import s from"@mui/material/DialogTitle";import c from"@mui/material/Box";import d from"@mui/material/CircularProgress";import{__rest as u,__awaiter as p}from"tslib";import{useController as m,useWatch as g,useFormContext as h,useFieldArray as b}from"react-hook-form";import f from"@mui/material/TextField";import y,{useRef as v,useEffect as O,useState as E,useCallback as T,useMemo as C,createElement as N,forwardRef as x,createContext as j,useContext as S,memo as I}from"react";import w from"@mui/material/MenuItem";import k from"@mui/icons-material/Clear";import{InputAdornment as P,IconButton as V,FormHelperText as M,Box as A}from"@mui/material";import $ from"@mui/material/FormControl";import q from"@mui/material/FormControlLabel";import R from"@mui/material/FormHelperText";import L from"@mui/material/Checkbox";import D from"@mui/material/Radio";import F from"@mui/material/RadioGroup";import z from"@mui/material/FormLabel";import B from"@mui/material/Autocomplete";import{useQuery as G}from"@tanstack/react-query";import J from"qs";import _ from"@mui/icons-material/FileCopyOutlined";import Y from"@mui/material/Tooltip";import W from"@mui/material/IconButton";import H from"@mui/icons-material/ArrowBack";import{useNavigate as K,useLocation as U,Link as X,useSearchParams as Q}from"react-router-dom";import Z from"react-ace";import ee from"@mui/material/Typography";import re from"@mui/material/Switch";import{DatePicker as te}from"@mui/x-date-pickers/DatePicker";import{format as ne,isMatch as ae,isValid as le,parse as ie}from"date-fns";import{DateTimePicker as oe}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as se}from"@mui/x-date-pickers/TimePicker";import ce from"@mui/material/Pagination";import de from"@mui/material/TablePagination";import{useGridApiContext as ue,useGridSelector as pe,gridPageSelector as me,gridPageCountSelector as ge,gridRowCountSelector as he,gridPageSizeSelector as be,GridColumnMenuContainer as fe,GridFilterMenuItem as ye,DataGrid as ve,GridActionsCellItem as Oe}from"@mui/x-data-grid";import{makeStyles as Ee}from"tss-react/mui";import Te from"@mui/material/Paper";import Ce from"@mui/material/Tab";import Ne from"@mui/material/Tabs";import xe from"@mui/material/Unstable_Grid2";import je from"@mui/material/Accordion";import Se from"@mui/material/AccordionSummary";import Ie from"@mui/material/AccordionDetails";import we from"@mui/material/AccordionActions";import ke from"@mui/icons-material/ExpandMore";import Pe from"@mui/icons-material/Delete";import Ve from"@mui/material/Stepper";import Me from"@mui/material/Step";import Ae from"@mui/material/StepLabel";import $e from"@mui/material/StepContent";import qe from"@mui/material/StepConnector";import Re from"@mui/material/Chip";import Le from"@mui/icons-material/Add";import De from"@mui/material/Select";import Fe from"@mui/material/InputLabel";import ze from"@mui/icons-material/Close";import Be from"@mui/material/Table";import Ge from"@mui/material/TableBody";import Je from"@mui/material/TableRow";import _e from"@mui/material/TableCell";import Ye from"@mui/icons-material/CheckCircle";import We from"classnames";import{toast as He}from"react-toastify";import Ke from"@mui/icons-material/NotInterested";import Ue from"@mui/icons-material/Fullscreen";var Xe;!function(e){e.STRING="STRING",e.INTEGER="INTEGER",e.BIG_INTEGER="BIG_INTEGER",e.BIG_DECIMAL="BIG_DECIMAL",e.FLOAT="FLOAT",e.LONG="LONG",e.DOUBLE="DOUBLE",e.BOOLEAN="BOOLEAN",e.ENTITY_REFERENCE="ENTITY_REFERENCE",e.ENTITY="ENTITY",e.JSON="JSON",e.DATE="DATE",e.TIME="TIME",e.DATE_TIME="DATE_TIME",e.ANY="ANY"}(Xe||(Xe={}));const Qe="yyyy-MM-dd",Ze="HH:mm:ss",er="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var rr;!function(e){e.UP="UP",e.DOWN="DOWN",e.CEILING="CEILING",e.FLOOR="FLOOR",e.HALF_UP="HALF_UP",e.HALF_DOWN="HALF_DOWN",e.HALF_EVEN="HALF_EVEN",e.UNNECESSARY="UNNECESSARY"}(rr||(rr={}));const tr=({transparent:r,position:t})=>e(c,Object.assign({position:null!=t?t:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:r?"none":"rgba(255, 255, 255, .3)",zIndex:10},{children:e(d,{})})),nr=({open:t,title:d,description:u,closeButtonTitle:p="Close",onClose:m,confirmButtonTitle:g="Confirm",confirmButtonDisabled:h=!1,onConfirm:b,children:f,dialogProps:y,loading:v,maxWidth:O="xs"})=>e("div",{children:r(a,Object.assign({open:t,onClose:m,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:O},y,{children:[v&&e(tr,{}),e(s,Object.assign({id:"alert-dialog-title"},{children:d})),r(i,{children:[u&&e(o,Object.assign({id:"alert-dialog-description"},{children:u})),e(c,Object.assign({maxWidth:"100%",overflow:"hidden"},{children:f}))]}),r(l,{children:[e(n,Object.assign({onClick:m,color:"primary",variant:"contained"},{children:p})),g&&b?e(n,Object.assign({onClick:b,color:"secondary",variant:"contained",autoFocus:!0,disabled:h},{children:g})):null]})]}))}),ar=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!p&&(null==O?void 0:O.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=E?E:"",onChange:h||v},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))};function lr(e,r){const t=v();O((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...n)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),r)}}const ir=()=>{const[e,r]=E(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},or=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),[x,j]=E("");O((()=>{!x&&N&&j(N)}),[x,N]);const S=lr((e=>{v(e)}),200),I=T((e=>{j(e.target.value),S(e.target.value)}),[S]);return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!C,helperText:!p&&(null==C?void 0:C.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=x?x:"",onChange:I},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""})}))},sr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p,labelKey:h,valueKey:b,options:y=[]}=r,v=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options"]);const{field:{ref:O,onChange:E},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),x=T((e=>"string"==typeof e?e:b?e[b]:e.value),[b]),j=T((e=>"string"==typeof e?e:h?e[h]:e.label),[h]),S=T((()=>{E(null)}),[E]);return e(f,Object.assign({select:!0,fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:O,name:l,label:i,error:!!C,helperText:!d&&(null==C?void 0:C.message),disabled:c,value:null!=N?N:"",onChange:p||E},v,{inputProps:Object.assign(Object.assign({},null!==(t=null==v?void 0:v.inputProps)&&void 0!==t?t:{}),{value:null!=N?N:""}),InputProps:Object.assign({endAdornment:!o&&N?e(P,Object.assign({position:"end",sx:{mr:2}},{children:e(V,Object.assign({onClick:S,size:"small"},{children:e(k,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(w,Object.assign({value:x(r)},{children:j(r)}),t)))}))},cr=t=>{var{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p}=t,h=u(t,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange"]);const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:l,control:n,defaultValue:s}),v=g({control:n,name:l}),O=C((()=>{if("boolean"==typeof v)return v;if("string"==typeof v){if("false"===v)return f(!1),!1;if("true"===v)return f(!0),!0}return!1}),[v,f]);return r($,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e(q,{control:e(L,Object.assign({checked:O,onChange:p||f,name:l,inputRef:b,disabled:c},h)),label:i}),!d&&(null==y?void 0:y.message)&&e(R,{children:y.message})]}))},dr=({name:t,label:n,values:a=[],control:l,required:i,defaultValue:o,disabled:s,hideErrorMessage:c,labelKey:d,valueKey:u,validate:p,onChange:h})=>{const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:t,control:l,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:p}}),v=g({control:l,name:t}),O=T((e=>"string"==typeof e?e:u?e[u]:e.value),[u]),E=T((e=>"string"==typeof e?e:d?e[d]:e.label),[d]);return r($,Object.assign({disabled:s,error:!!y},{children:[e(z,Object.assign({id:"radio-buttons-group"},{children:n})),e(F,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:h||f},{children:a.map((r=>e(q,{value:O(r),control:e(D,{}),label:E(r)})))})),!c&&(null==y?void 0:y.message)&&e(M,{children:y.message})]}))};var ur=({valueKey:e,labelKey:r})=>{const t=T(((r,t)=>{if(r&&t){if("string"==typeof r)return r===t;if(e)return r[e]===t[e]||r[e]===t;if(r.value)return r.value===t.value||r.value===t}return!1}),[e]),n=T((e=>e?"string"==typeof e?e:r&&e[r]?e[r]+"":e.label+""||e.name+""||e.value+""||e.code+""||"--no label--":""),[r]),a=T(((e,r)=>N(A,Object.assign({},e,{component:"li",key:e.id}),n(r))),[n]);return{isOptionEqualToValue:t,getOptionLabel:n,renderOption:a}};const pr=r=>{var{control:t,validate:n,name:a="",label:l="",required:i=!1,defaultValue:o="",disabled:s=!1,hideErrorMessage:c=!1,onChange:d,labelKey:p,valueKey:h,options:b=[],multiple:y,textFieldProps:v={},disableCloseOnSelect:O}=r,E=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options","multiple","textFieldProps","disableCloseOnSelect"]);const{field:{ref:T,onChange:C},fieldState:{error:N}}=m({name:a,control:t,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:n}}),x=g({control:t,name:a,defaultValue:y?[]:null}),{getOptionLabel:j,isOptionEqualToValue:S,renderOption:I}=ur({valueKey:h,labelKey:p});return e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:b,multiple:y,getOptionLabel:j,isOptionEqualToValue:S,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:x,onChange:d||((e,r)=>{C(r)}),renderOption:I,renderInput:r=>e(f,Object.assign({},r,{variant:"outlined",name:a,label:l,error:!!N,inputRef:T,helperText:!c&&(null==N?void 0:N.message)},v))},E))};function mr(t){var{name:n,label:a,control:l,required:i=!1,searchBy:o,labelKey:s,multiple:c=!1,disabled:p,valueKey:h,sortBy:b="",hideErrorMessage:v,disableCloseOnSelect:C,textFieldProps:N,onChange:x,queryFunction:j,validate:S,itemQueryFunction:I}=t,w=u(t,["name","label","control","required","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction","validate","itemQueryFunction"]);const{field:{ref:k,onChange:P},fieldState:{error:V,isDirty:M}}=m({control:l,name:n,rules:{required:i&&"Please, fill this field",validate:S}}),A=g({control:l,name:n,defaultValue:c?[]:null}),{getOptionLabel:$,isOptionEqualToValue:q,renderOption:R}=ur({valueKey:h,labelKey:s}),[L,D]=E(!1),[F,z]=E(""),[_,Y]=E(""),[W,H]=E(0),[K,U]=E(0),[X,Q]=E([]),Z=lr((e=>{U(0),Y(e),Q([])}),500),ee=T(((e,r)=>{z(r),Z(r)}),[Z]),re=T(((e,r)=>{P(r),x&&x(e,r)}),[P,x]);O((()=>{if(!M&&A&&I){let e=A;"object"==typeof A&&h in A&&(e=A[h]),I(e).then((e=>{P(e),z(e[s])})).catch()}}),[A,M,h,s,I,P]);const te=T((e=>{const r=e.currentTarget;r.scrollHeight-r.scrollTop-r.clientHeight<=1&&X.length<W&&U((e=>e+1))}),[W,X]),{data:ne,isFetching:ae}=G(["options",K,_],(()=>{const e=J.parse(Object.assign({page:`${K}`,size:"20",sort:b},_?{[o]:_}:{}),{ignoreQueryPrefix:!0});return j(e)}));return O((()=>{ne&&(Q((e=>[...e,...ne.collection])),H(ne.totalItems))}),[ne]),e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:p,options:X,multiple:c,getOptionLabel:$,isOptionEqualToValue:q,disableCloseOnSelect:C||c,filterSelectedOptions:c,inputValue:F,value:A,onChange:re,loading:ae,clearOnBlur:!1,open:L,filterOptions:e=>e,onOpen:()=>{D(!0)},onClose:()=>{D(!1),Y("")},onInputChange:ee,ListboxProps:{onScroll:te},renderOption:R,renderInput:t=>e(f,Object.assign({},t,{label:a,variant:"outlined",error:!!V,inputRef:k,helperText:!v&&(null==V?void 0:V.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(y.Fragment,{children:[ae?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},N))},w))}const gr=({copyText:r,helpText:t="Copy"})=>{const[n,a]=E(t);return n?e(Y,Object.assign({title:n,placement:"top"},{children:e(W,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),a("Copied!"),setTimeout((()=>{a(t)}),1e3)}},{children:e(_,{fontSize:"small"})}))})):null},hr=({text:r,buttonProps:t={}})=>{const a=K(),{state:l}=U(),i=C((()=>null==l?void 0:l.from),[l]),o=T((()=>{a(i||-1)}),[a,i]);return e(c,Object.assign({mr:2},{children:r?e(n,Object.assign({color:"inherit",onClick:i?null:o,component:X,to:null!=i?i:""},t,{children:r})):e(W,Object.assign({onClick:o},{children:e(H,{})}))}))},br=x(((n,a)=>{var{control:l,name:i,mode:o="json",label:s,width:d="100%",height:p="200px",theme:b="monokai",readOnly:f,required:y=!1,validateJson:v=!1,fontSize:O=16,validate:E=!0,parseValue:T}=n,C=u(n,["control","name","mode","label","width","height","theme","readOnly","required","validateJson","fontSize","validate","parseValue"]);const{setError:N,clearErrors:x}=h(),{field:{onChange:j},fieldState:{error:S}}=m({control:l,name:i}),I=g({control:l,name:i});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:s&&e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:s}))}),r(t,{children:[e(Z,Object.assign({ref:a,focus:!0,wrapEnabled:!0,width:d,height:p,showPrintMargin:!1,theme:b,fontSize:O,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,enableSnippets:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:f,value:"json"===o&&"string"!=typeof I?null===I?"":JSON.stringify(I):I,onChange:e=>{if(!e&&y?N(i,{message:"Required field"}):x(i),v)try{JSON.parse(e),x(i)}catch(e){N(i,{message:"Invalid JSON"})}if(T)try{const r=JSON.parse(e);console.log("parsed val:",r),j(r)}catch(r){j(e)}else j(e)},mode:o,onLoad:e=>{E&&v||e.getSession().setUseWorker(!1)}},C)),S&&e(R,Object.assign({error:!0},{children:S.message}))]})]}))})),fr=(e,r)=>{const t=[...e];return t.splice(r,1),t},yr=e=>{try{JSON.parse(e)}catch(e){return!1}return!0};function vr(e){return e.replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))}const Or=(e,r,t,n="asc")=>{const a=e[t],l=r[t];return a<l?"asc"===n?-1:1:a>l?"asc"===n?1:-1:0},Er=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},Tr=e=>{try{return JSON.parse(e)}catch(e){return null}},Cr=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=Cr(r[e])})),r}catch(r){return e}},Nr=({value:r,height:t="200px"})=>{const n=C((()=>{if("string"==typeof r)return r;if("object"==typeof r)try{return JSON.stringify(r,null,"\t")}catch(e){return"Failed to parse JSON"}return null}),[r]);return e(Z,{readOnly:!0,value:n,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},xr=({open:t,onClose:o,value:s})=>r(a,Object.assign({disableEscapeKeyDown:!0,open:t,onClose:o,fullWidth:!0,maxWidth:"md",style:{width:800,left:"30%"}},{children:[e(i,{children:e(Z,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(l,{children:[e(gr,{copyText:s}),e(n,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var jr=({value:t,copyButton:n=!1,textField:a=!1})=>{const{open:l,onOpen:i,onClose:o}=ir();return r(c,Object.assign({width:"100%"},{children:[r(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:[n&&e(gr,{copyText:Er(t)}),e(Y,Object.assign({title:"Open",placement:"top"},{children:e(W,Object.assign({size:"small",onClick:()=>i()},{children:e(Ue,{fontSize:"small"})}))}))]})),a?e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t})):e(Nr,{value:t}),e(xr,{open:l,value:Er(t),onClose:o})]}))};const Sr=({value:t,type:n,copyText:a,status:l})=>{switch(n){case"JSON_copy":return e(jr,{value:t,copyButton:!0});case"JSON":return e(jr,{value:t});case"JSON_text":return e(jr,{value:t,textField:!0});case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(gr,{copyText:a||t})]}));case"boolean":return t?e(Ye,{color:"primary",fontSize:"small"}):e(Ke,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:ne(new Date(t),"dd.MM.yyyy")}),e("div",{children:ne(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(tn,{text:t,status:l});case"array":return e(c,{children:t.map(((r,t)=>e(c,{children:r},t)))});default:return e("div",{children:t})}},Ir=new RegExp("^[-+]?[0-9]+$"),wr=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),kr=e=>"string"==typeof e&&e.includes("$("),Pr=e=>e===Xe.DATE||e===Xe.DATE_TIME||e===Xe.TIME,Vr=e=>!e&&0!==e&&!1!==e,Mr=(e,r,t)=>{if(null==r&&e!==Xe.BOOLEAN)return null;let n=r;switch(e){case Xe.BOOLEAN:n=!!r;break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n=Number(r);break;case Xe.DATE:case Xe.DATE_TIME:case Xe.TIME:n=ne(new Date(r.toString()),t.formatText);break;case Xe.JSON:case Xe.ANY:try{"string"!=typeof r&&(n=JSON.stringify(r)),n=JSON.parse(n)}catch(e){console.log(e),n=null}break;case Xe.ENTITY:n=Ar(t.properties,r)}return n},Ar=(e,r)=>{if(r){const t={};return e.forEach((e=>{const{key:n,propertyType:a}=e,l=r[n];Array.isArray(l)?t[n]=l.map((r=>Mr(a,r,{formatText:e.format,properties:e.properties}))):t[n]=Mr(a,l,{formatText:e.format,properties:e.properties})})),t}return null},$r=(e,r)=>{const t={};return e.forEach((e=>{const{key:n,name:a,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,uiSettings:c,validationNode:d}=e,u="string"==typeof e.propertyType?e.propertyType:e.propertyType.value,p=Object.assign({name:a,propertyType:u,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,validationNode:d,uiSettings:c},((e,r)=>{const t={};let n,a="";return r?e.isMultiple?(a="values",n=e.value):(a="value",n=e.value):e.isMultiple?(a="defaultValues",n=e.defaultValue):(a="defaultValue",n=e.defaultValue),Array.isArray(n)?t[a]=n.map((r=>Mr(e.propertyType,r,{formatText:e.format,properties:e.properties}))):t[a]=Mr(e.propertyType,n,{formatText:e.format,properties:e.properties}),t})(Object.assign(Object.assign({},e),{propertyType:u}),r));if("isViewableInList"in e&&(p.isViewableInList=e.isViewableInList),c)try{p.uiSettings=JSON.parse(c)}catch(e){console.log(e)}else p.uiSettings=null;u===Xe.BIG_DECIMAL&&(p.precisionScale=e.precisionScale,p.roundingMode=e.roundingMode),u!==Xe.DATE&&u!==Xe.TIME&&u!==Xe.DATE_TIME||(p.format=e.format),u===Xe.STRING&&(p.restrictedValues=e.restrictedValues),u===Xe.ENTITY_REFERENCE&&(p.definitionCode=e.definitionCode,p.definitionVersion=e.definitionVersion,p.labelPropertyCode=e.labelPropertyCode,p.valuePropertyCode=e.valuePropertyCode),u===Xe.ENTITY&&(p.properties=$r(e.properties,r)),t[n]=p})),t};function qr(e,r){return Object.keys(e).map((t=>{const n=Object.assign(Object.assign({key:t},e[t]),r||{});if(n.propertyType===Xe.ENTITY&&(n.properties=qr(n.properties,r)),n.propertyType===Xe.JSON)try{null==n.defaultValue?n.defaultValue="":n.defaultValue=JSON.stringify(n.defaultValue,null,2)}catch(e){n.defaultValue=""}if(n.uiSettings)try{n.uiSettings=JSON.stringify(n.uiSettings,null,2)}catch(e){n.uiSettings=""}return n.isMultiple&&("defaultValues"in n&&(n.defaultValue=n.defaultValues),"values"in n&&(n.value=n.values)),n})).sort(((e,r)=>Or(e,r,"sortOrder")))}const Rr=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return ne(new Date,e),e}catch(r){return console.error("Incorrect format",r),e}return e},Lr=e=>{let r=[];return r=Array.isArray(e.properties)?e.properties:qr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===Xe.ENTITY?t[r.key]=Lr(r):t[r.key]=r.propertyType,t}),{})},Dr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Fill array (widget)",sortOrder:1}];return t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e!==Xe.JSON&&e!==Xe.ANY&&e!==Xe.ENTITY||n.push({value:"json_valid",label:"JSON editor",sortOrder:2}),n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},Fr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Widget",sortOrder:1}];switch(t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e){case Xe.STRING:n[0].label="Text input";break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n[0].label="Number input";break;case Xe.BOOLEAN:n[0].label="Switch";break;case Xe.ENTITY_REFERENCE:n[0].label="Entity reference fields";break;case Xe.JSON:n[0].label="JSON editor";break;case Xe.DATE:n[0].label="Date picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.DATE_TIME:n[0].label="Date & Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.TIME:n[0].label="Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.ANY:n[0].label="Textarea"}return n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},zr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s,disabled:c=!1,hideErrorMessage:d=!1,onChange:p,decimal:h=!1}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","decimal"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:e=>h&&!wr.test(e)?"Not valid number":!(!h&&!Ir.test(e))||"Not valid integer"}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!d&&(null==O?void 0:O.message),disabled:c,value:null!=E?E:""},b,{onChange:e=>{const r=e.nativeEvent.data||e.target.value;(!isNaN(r)||h&&"."===r||"-"===r||"+"===r)&&(p?p(e):v(e.target.value))},inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))},Br=r=>{var{control:t,name:n,label:a}=r,l=u(r,["control","name","label"]);const{field:{ref:i,onChange:o}}=m({control:t,name:n}),s=g({control:t,name:n}),c=C((()=>{if("boolean"==typeof s)return s;if("string"==typeof s){if("false"===s)return o(!1),!1;if("true"===s)return o(!0),!0}return!1}),[s,o]);O((()=>{null===s&&o(!1)}),[s,o]);return e(q,{label:a,name:n,control:e(re,Object.assign({color:"primary",size:"small",inputRef:i,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},l))})},Gr=({control:r,name:t,required:n,label:a,format:l=Qe,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(te,{label:a,inputRef:s,inputFormat:l,value:d||null,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},Jr=({control:r,name:t,required:n,label:a,format:l=er,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(oe,{mask:"",ampm:!1,inputRef:s,label:a,value:d||null,inputFormat:l,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},_r=({control:r,name:t,required:n,label:a,format:l=Ze,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t}),[u,p]=E(null);return O((()=>{if(d&&l){let e=ie(d,l,new Date);le(e)||(e=ie(d,"HH:mm:ss.SSS",new Date)),p(e)}}),[d,l]),e(se,{mask:"",inputRef:s,label:a,ampm:!1,value:u,inputFormat:l,onChange:e=>{p(e),o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})};var Yr=()=>{const t=ue(),n=pe(t,me),a=pe(t,ge),l=pe(t,he),i=pe(t,be),o=e=>t.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(de,{component:"div",page:n,count:l,rowsPerPage:i,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>o(r),onRowsPerPageChange:e=>t.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:void 0}),e(ce,{count:a,page:n+1,onChange:(e,r)=>o(r-1)})]}))};var Wr=r=>{var{hideMenu:t,currentColumn:n,onUnsort:a}=r,l=u(r,["hideMenu","currentColumn","onUnsort"]);return e(fe,Object.assign({hideMenu:t,currentColumn:n},l,{children:e(ye,{onClick:t,column:n})}))};var Hr=({mode:e})=>{const[r,t]=Q(),n=+r.get("page")||0,a=+r.get("size")||10;return O((()=>{"server"===e&&(r.has("page")||r.set("page","0"),r.has("size")||r.set("size","10"),t(r,{replace:!0}))}),[e,r,t]),{page:n,size:a,onPageChange:e=>{r.set("page",`${e}`),t(r,{replace:!0})},onSizeChange:e=>{r.set("size",`${e}`),t(r,{replace:!0})}}};var Kr=()=>{const[e,r]=Q(),t=e.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:t})=>{let n=!1;const a=e.getAll("sort");e.delete("sort"),a.forEach((r=>{const[a,l]=r.split(",");a===t?(n=!0,"asc"===l&&e.append("sort",`${a},desc`)):e.append("sort",`${a},${l}`)})),n||e.append("sort",`${t},asc`),r(e,{replace:!0})},getSortedColumns:e=>e.map((e=>{const r=t.find((r=>r[0]===e.field));return e.headerClassName=r?`Sorted --${r[1]} `:"",e}))}};var Ur=e=>{const[r,t]=E(10);O((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},Xr=Ee()({root:{width:"100%","& .MuiDataGrid-virtualScrollerContent":{height:"auto !important",minHeight:"56px !important"},"& .MuiDataGrid-virtualScrollerRenderZone":{position:"static"},"& .MuiDataGrid-renderingZone":{maxHeight:"none !important"},"& .MuiDataGrid-cell":{maxHeight:"none !important",lineHeight:"unset !important",textOverflow:"ellipsis",wordBreak:"break-all","& .MuiDataGrid-actionsCell":{width:"100%",gridGap:"4px",flexWrap:"wrap",'& > button[aria-label="more"]':{marginLeft:"auto"}}},"& .MuiDataGrid-row":{maxHeight:"none !important"},"& .Sorted":{"& .MuiDataGrid-iconButtonContainer":{visibility:"visible",width:"auto","& svg":{opacity:"1 !important"}},"&.--desc":{"& svg":{transform:"rotate(180deg)"}}}}});const Qr=({columns:r,rows:t,rowCount:n,loading:a,disableMargin:l,mode:i="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const{classes:u}=Xr(),{page:p,size:m,onPageChange:g,onSizeChange:h}=Hr({mode:i}),{onColumnHeaderClick:b,getSortedColumns:f}=Kr(),{pageSize:y,handlePageSizeChange:v}=Ur(o),O={sortingMode:i,paginationMode:i,pageSize:"server"===i?m:s?y:n,onPageSizeChange:"server"===i?h:v,components:{Pagination:Yr}};return"server"===i&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=p,O.onPageChange=g,O.components.ColumnMenu=Wr),e(c,Object.assign({mt:l?0:2},{children:e(ve,Object.assign({autoHeight:!0,hideFooterPagination:!s,hideFooter:!s,disableSelectionOnClick:!0,showColumnRightBorder:!0,showCellRightBorder:!0,className:u.root,loading:a,rows:t,columns:f(r),rowCount:n,rowsPerPageOptions:[10,20,50,100],onCellClick:d},O))}))},Zr=({icon:r,label:t,showInMenu:n,onClick:a,location:l})=>l?e(W,Object.assign({component:X,to:l,size:"small"},{children:e(Y,Object.assign({title:t,arrow:!0},{children:y.cloneElement(r,{fontSize:"small"})}))})):e(Oe,{nonce:"",onResize:void 0,onResizeCapture:void 0,icon:e(Y,Object.assign({title:t,arrow:!0},{children:r})),onClick:a,label:t,showInMenu:n}),et=r=>{const{children:t,value:n,index:a}=r,l=u(r,["children","value","index"]);return e("div",Object.assign({role:"tabpanel",hidden:n!==a,id:`simple-tabpanel-${a}`,"aria-labelledby":`simple-tab-${a}`},l,{children:n===a?t:null}))},rt=t=>{var n;const{tabs:a}=t,l=K(),i=U(),o=C((()=>new URLSearchParams(i.search)),[i.search]),s=o.get("tab");return r(c,{children:[e(Te,{children:e(Ne,Object.assign({value:s||(null===(n=a[0])||void 0===n?void 0:n.name),indicatorColor:"primary",textColor:"primary",onChange:(e,r)=>{o.set("tab",r),l({pathname:i.pathname,search:o.toString()},{replace:!0})}},{children:a.map((r=>e(Ce,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:a.map((r=>{var t;return e(et,Object.assign({value:s||(null===(t=a[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})};var tt=Ee()((()=>({container:{paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const nt=({title:t,text:n,json:a})=>{const{classes:l}=tt();return r("div",Object.assign({className:l.container},{children:[e("div",Object.assign({className:l.title},{children:t})),n&&e("div",Object.assign({className:l.text},{children:n})),a&&e(Z,{readOnly:!0,value:a,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},at=Object.values(rr).sort(((e,r)=>e.localeCompare(r)));var lt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(zr,{required:!0,control:a,defaultValue:2,name:`${n}.precisionScale`,label:"Precision Scale"})}),e(xe,{children:e(sr,{required:!0,control:a,name:`${n}.roundingMode`,label:"Rounding Mode",defaultValue:rr.HALF_UP,options:at})})]})};var it=({propertyFieldName:r,defaultValue:t=""})=>{const{control:n}=h();return e(xe,{children:e(ar,{required:!0,control:n,defaultValue:t,name:`${r}.format`,label:"Format"})})};const ot=Ee()((()=>({content:{marginLeft:"4px"},connector:{marginLeft:"4px"},stepper:{padding:"12px"},label:{display:"flex",alignItems:"flex-start"}}))),st=()=>e("div",{style:{display:"inline-block",width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#536DFE",marginTop:"5px"}}),ct=({data:t})=>{const{classes:n}=ot();return r(Ve,Object.assign({nonLinear:!0,orientation:"vertical",className:n.stepper,connector:e(qe,{className:n.connector})},{children:[t.filter(Boolean).map(((t,a)=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,Object.assign({className:n.label,StepIconComponent:st,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e($e,Object.assign({className:n.content},{children:t.content}))]}),a))),e(Me,{})]}))},dt=({properties:t=[]})=>{const n=C((()=>t?t.map((t=>{const n="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",n]})]})),content:"ENTITY"===t.propertyType&&e(dt,{properties:t.properties})}})):[]),[t]);return e(ct,{data:n})};var ut=dt;const pt={key:"",propertyType:"",name:"",defaultValue:"",isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0};var mt=({parentPropertyFieldName:o,entityDefinition:c=!1,globalParameter:d=!1})=>{const{control:u,setValue:m,getValues:b,trigger:f}=h(),y=g({control:u,name:`${o}.properties`,defaultValue:b(`${o}.properties`)||[]}),v=g({control:u,name:`${o}.name`}),O=ir(),[C,N]=E(0),x=T((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,pt),N(e)}else m(`${o}.properties`,[pt])}),[y,o,m]),j=()=>p(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&O.onClose()}));return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Properties"}))}),e(xe,{children:e(ut,{properties:y})}),e(xe,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:O.onOpen},{children:"Edit properties"}))}),r(a,Object.assign({disableEscapeKeyDown:!0,open:O.open,onClose:j,fullWidth:!0,maxWidth:"md"},{children:[r(s,{children:[v||"Entity"," Properties"]}),e(i,Object.assign({style:{height:"500px",overflow:"hidden"}},{children:r(xe,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(xe,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(Ve,Object.assign({nonLinear:!0,activeStep:C,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,n)=>r(Me,Object.assign({onClick:()=>(e=>N(e))(n),style:{cursor:"pointer"}},{children:[e(Ae,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e($e,{})]}),n)))})),e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))]})),e(xe,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(Bt,{hideAddButton:!0,parentFieldName:o,focusOnIndex:C,entityDefinition:c,globalParameter:d})}))]}))})),e(l,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:j},{children:"Ok"}))})]}))]})};var gt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionCode`,label:"Definition Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionVersion`,label:"Definition Version"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.labelPropertyCode`,label:"Label Property Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.valuePropertyCode`,label:"Value Property Code"})})]})};var ht=({propertyFieldName:n})=>{const a=C((()=>`${n}.restrictedValues`),[n]),{control:l,setValue:i,getValues:o}=h(),s=g({control:l,name:a,defaultValue:o(`${n}.restrictedValues`)||[]}),[d,u]=E(""),[p,m]=E(""),b=T((e=>{i(a,fr(s,e))}),[s,a,i]),y=()=>{d&&(i(a,[...s,d]),u(""))};return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),!!(null==s?void 0:s.length)&&e(xe,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:s.map(((r,t)=>e(Re,{sx:{mr:1},variant:"outlined",label:r,onDelete:()=>b(t)},t)))}))}),e(xe,{children:e(f,{fullWidth:!0,variant:"outlined",size:"small",label:"Add restricted value",value:d,onChange:e=>{const{value:r}=e.target;u(r),s.includes(r)?m("This value already exists"):m("")},error:!!p,helperText:p,name:"restrictedValues",inputProps:{onKeyDown:e=>{"Enter"===e.key&&y()}},InputProps:{endAdornment:e(W,Object.assign({size:"small",onClick:y,disabled:!!p},{children:e(Le,{})}))}})})]})};const bt=({propertyType:r,propertyFieldName:t,entityDefinition:n=!1,globalParameter:a=!1})=>{switch(r){case Xe.STRING:return e(ht,{propertyFieldName:t});case Xe.BIG_DECIMAL:return e(lt,{propertyFieldName:t});case Xe.DATE:return e(it,{propertyFieldName:t,defaultValue:Qe});case Xe.TIME:return e(it,{propertyFieldName:t,defaultValue:Ze});case Xe.DATE_TIME:return e(it,{propertyFieldName:t,defaultValue:er});case Xe.ENTITY_REFERENCE:return e(gt,{propertyFieldName:t});case Xe.ENTITY:return e(mt,{parentPropertyFieldName:t,globalParameter:a,entityDefinition:n});default:return null}};var ft=({validate:r=!1,name:t,inputRef:n})=>{const{control:a,setValue:l,setError:i,clearErrors:o}=h(),s=g({control:a,name:t});return e(Z,{wrapEnabled:!0,width:"100%",height:"200px",theme:"monokai",fontSize:14,showPrintMargin:!1,style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,showLineNumbers:!0,tabSize:2},ref:n,name:t,value:"string"!=typeof s?null===s?"":JSON.stringify(s):s,onChange:e=>{if(l(t,e),r)try{JSON.parse(e),o(t)}catch(e){i(t,{message:"Invalid JSON"})}},mode:"json",onLoad:e=>{r||e.getSession().setUseWorker(!1)}})};var yt=({name:t,label:n,required:a,restrictedValues:l})=>{const{control:i}=h(),{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:i,name:t,rules:{required:a&&(Array.isArray(l)&&l.length?"Please, select a value":"Please, fill this field")}}),d=g({control:i,name:t});return Array.isArray(l)&&l.length?r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Fe,Object.assign({htmlFor:"type-select"},{children:n})),e(De,Object.assign({labelId:"type-select",label:n,value:d||"",onChange:o,ref:s},{children:l.map((r=>e(w,Object.assign({value:r},{children:r}),r)))}))]})):e(ar,{hideErrorMessage:!0,required:a,control:i,name:t,label:n})};const vt=({property:r,name:t,label:n,useExpression:a,inputRef:l})=>{const{control:i}=h();switch(C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.DOUBLE:return e(zr,{decimal:!0,required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.LONG:return e(zr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.BOOLEAN:return e(Br,{control:i,name:t});case Xe.DATE:return e(Gr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.TIME:return e(_r,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.DATE_TIME:return e(Jr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.JSON:return e(ft,{validate:!0,name:t,inputRef:l});case Xe.STRING:return e(yt,{required:!0,name:t,label:n,restrictedValues:r.restrictedValues});case Xe.ENTITY_REFERENCE:return e(ar,{required:!0,hideErrorMessage:!0,name:t,label:n,control:i});case Xe.ANY:return e(ft,{name:t,inputRef:l});case Xe.ENTITY:return e(Xt,{properties:r.properties,dataFieldName:t,useExpression:a});default:return e("div",{children:"No widget"})}};var Ot=({value:e,property:r,label:t,isDirty:n,required:a=!1,useExpression:l=!1,multipleOptions:i=!1})=>{const o=C((()=>t?`${t} (value)`:`${r.name} (value)`),[t,r]),s=C((()=>t?`${t} (widget)`:`${r.name} (widget)`),[t,r]),c=C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r]),[d,u]=E(null),p=C((()=>i?Dr({propertyType:c,required:a,useExpression:l}):Fr({propertyType:c,required:a,useExpression:l})),[l,a,c,i]);return O((()=>{d?n||(kr(e)&&"expression"!==d?u("expression"):null==e||kr(e)||"widget"===d||u("widget")):Vr(e)&&(null==p?void 0:p.length)?u(p[0].value):l&&kr(e)?u("expression"):u("widget")}),[e,d,p,l,n]),{propertyType:c,valueLabel:o,fillOptionLabel:s,fillOption:d,fillOptions:p,setFillOption:u}};var Et=Ee()((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const Tt=({property:t,name:n,useExpression:a,label:l,required:i,title:o})=>{const{control:s,clearErrors:d,register:u}=h(),{field:{ref:p,onChange:b},fieldState:{error:f,isDirty:y}}=m({name:n}),v=g({control:s,name:n}),{propertyType:E,valueLabel:T,fillOptionLabel:C,fillOption:N,fillOptions:x,setFillOption:j}=Ot({value:v,property:t,isDirty:y,label:l,required:i,useExpression:a});O((()=>{void 0===v&&b(null)}),[v,b]);const{classes:S}=Et();return r(xe,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:C})),e(De,Object.assign({labelId:"type-select",label:C,value:N||"",onChange:e=>{const r=e.target.value;"null"===r?u(n,{value:null}):"widget"===r?b(null):"expression"!==r&&"string"!==r||b(""),j(r),d(n)}},{children:x.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===N&&(E===Xe.JSON||E===Xe.ENTITY||E===Xe.ANY?e(ft,{name:n,inputRef:p}):e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0})),"string"===N&&e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0}),"json_notvalid"===N&&e(ft,{name:n,inputRef:p}),"widget"===N&&e(vt,{property:t,name:n,useExpression:a,label:T,inputRef:p,required:i}),f&&e(ee,Object.assign({color:"secondary"},{children:f.message}))]}))};var Ct=({name:t,property:a,useExpression:l,required:i,label:o})=>{const{control:s,setValue:d,clearErrors:u}=h();m({control:s,name:t,rules:{validate:e=>!(!e||Array.isArray(e)&&!e.length)||"Please, fill array"}});const p=g({control:s,name:t}),b=T((()=>{p&&Array.isArray(p)?d(`${t}.${p.length}`,null):d(t,[null]),u(t)}),[t,p,d,u]),f=T((e=>{d(t,fr(p,e))}),[t,p,d]);return r(xe,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[p&&Array.isArray(p)?p.map(((n,s)=>e(xe,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(Tt,{required:i,property:a,useExpression:l,name:`${t}.${s}`,label:`${o||a.name} (${s+1})`}),e(c,Object.assign({mt:"8px",ml:"4px"},{children:e(W,Object.assign({size:"small",onClick:()=>f(s)},{children:e(ze,{fontSize:"small"})}))}))]}))}),s))):null,e(xe,{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const Nt=({property:t,name:n,useExpression:a,required:l,label:i,title:o})=>{const{control:s,clearErrors:d}=h(),{field:{ref:u,onChange:p},fieldState:{error:b,isDirty:f}}=m({control:s,name:n,rules:{validate:e=>!(l&&!e)||"Please, fill this field"}}),y=g({control:s,name:n}),{propertyType:v,valueLabel:E,fillOptionLabel:T,fillOption:C,fillOptions:N,setFillOption:x}=Ot({property:t,value:y,isDirty:f,label:i,required:l,useExpression:a,multipleOptions:!0});O((()=>{void 0===y&&p(null)}),[y,p]);const{classes:j}=Et();return r(xe,{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),N?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:j.inputLabel},{children:T})),e(De,Object.assign({labelId:"type-select",label:T,value:C||"",onChange:e=>{const r=e.target.value;"null"===r?p(null):"expression"===r||"json_valid"===r||"json_notvalid"===r?p(""):"widget"===r&&p([]),x(r),d(n)}},{children:N.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===C&&(v===Xe.JSON||v===Xe.ENTITY||v===Xe.ANY?e(ft,{name:n,inputRef:u}):e(ar,{required:!0,hideErrorMessage:!0,control:s,name:n,label:E})),"json_valid"===C&&e(ft,{validate:!0,name:n,inputRef:u}),"widget"===C&&e(Ct,{property:t,name:n,useExpression:a,required:l,label:i}),b&&e(ee,Object.assign({color:"secondary"},{children:b.message}))]})},xt=({propertyFieldName:r,name:t,label:n="",required:a})=>{const{control:l}=h(),i=g({control:l,name:`${r}.propertyType`}),o=g({control:l,name:`${r}.isMultiple`}),s=g({control:l,name:`${r}.format`}),c=g({control:l,name:`${r}.restrictedValues`}),d=g({control:l,name:`${r}.properties`}),u=g({control:l,name:`${r}.isRequired`}),p=C((()=>{const e="string"==typeof i?i:i.value;return{name:n,isRequired:u,isMultiple:o,format:s,restrictedValues:c,properties:d,propertyType:e,defaultValue:null,defaultValues:[],sortOrder:0,isEnabled:!0,uiSettings:null,validationNode:null}}),[i,s,c,o,n,u,d]);return e(o?Nt:Tt,{name:t,property:p,title:n,required:a})};var jt=({name:t})=>{const a=C((()=>({type:""})),[]),{control:l}=h(),{fields:i,append:o,remove:s}=b({control:l,name:t});return r(c,Object.assign({mt:2},{children:[e(n,Object.assign({variant:"outlined",size:"small",onClick:()=>o(a)},{children:"Add node"})),i.map((({id:r},n)=>e($t,{removeHandle:()=>s(n),name:`${t}.${n}`},r)))]}))};const St=j(""),It=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.minimumLength`,label:"Minimum Length",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximumLength`,label:"Maximum Length",type:"number"})}))]}),wt=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.multipleOf`,label:"Multiple Of",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.minimum`,label:"Minimum",type:"number"})})),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximum`,label:"Maximum",type:"number"})})),r(c,Object.assign({mt:2},{children:[e(cr,{control:a,name:`${n}.exclusiveMinimum`,label:"Exclusive Minimum",defaultValue:"false"}),e(cr,{control:a,name:`${n}.exclusiveMaximum`,label:"Exclusive Maximum",defaultValue:"false"})]}))]}),kt=["STRING_REGEX","JSON_SCHEMA"],Pt=new Set([Xe.INTEGER,Xe.FLOAT,Xe.DOUBLE,Xe.BIG_DECIMAL,Xe.BIG_INTEGER,Xe.LONG]);var Vt=({name:n})=>{const{control:a,setValue:l}=h(),i=S(St),o=g({control:a,name:`${n}.type`}),s=C((()=>{if("STRING_REGEX"===o)return e(ar,{control:a,name:`${n}.pattern`,label:"Pattern"});if("JSON_SCHEMA"===o)switch(!0){case i===Xe.STRING:return e(It,{name:`${n}.node`,control:a});case Pt.has(i):return e(wt,{name:`${n}.node`,control:a});case i===Xe.JSON:return e(br,{label:"Properties",control:a,name:`${n}.properties`,validateJson:!0,parseValue:!0});default:return"Not available for type "+i}return null}),[i,o,a,n]);return O((()=>{Pt.has(i)&&"JSON_SCHEMA"===o&&(l(`${n}.node.exclusiveMinimum`,!1),l(`${n}.node.exclusiveMaximum`,!1))}),[i,o,l,n]),e(ct,{data:[{label:"Validator",content:r(t,{children:[e(c,{children:e(sr,{control:a,name:`${n}.type`,label:"Type",options:kt,onChange:e=>{l(n,{}),l(`${n}.type`,e.target.value)}})}),e(c,Object.assign({mt:2},{children:s}))]})}]})};const Mt=["AND","OR","NOT","NODE"],At=({name:n,removeHandle:a})=>{const{control:l}=h(),i=g({control:l,name:`${n}.type`}),o=C((()=>({AND:e(jt,{name:`${n}.nodes`}),OR:e(jt,{name:`${n}.nodes`}),NODE:e(Vt,{name:`${n}.validator`}),NOT:e(At,{name:`${n}.node`})})),[n]);return e(ct,{data:[{label:"Node Type",content:r(t,{children:[r(c,Object.assign({display:"flex",alignItems:"center"},{children:[e(sr,{required:!0,control:l,name:`${n}.type`,label:"Type",options:Mt}),a&&e(c,Object.assign({ml:2},{children:e(W,Object.assign({onClick:a,color:"primary"},{children:e(Pe,{})}))}))]})),e(c,{children:o[i]})]})}]})};var $t=At;const qt=({name:n})=>{const[a,l]=E(!1),{setValue:i,getValues:o}=h(),s=T((e=>{l(e.target.checked),e.target.checked||i(n,null)}),[i,n]);return O((()=>{o(n)&&l(!0)}),[n,o]),r(t,{children:[r(c,Object.assign({display:"flex",justifyContent:"space-between"},{children:[e(ee,Object.assign({variant:"h6"},{children:"Validator"})),e(q,{label:"Enable",control:e(L,{color:"primary",checked:a,onChange:s})})]})),a&&e($t,{name:n})]})};var Rt=({name:r,label:t="",propertyFieldName:n,type:a,decimal:l=!1,options:i=[],required:o=!1})=>{const{control:s}=h(),c=C((()=>`${n}.${r}`),[r,n]);switch(a){case"text":return e(ar,{control:s,name:c,label:t,required:o});case"number":return e(zr,{control:s,name:c,label:t,decimal:l,required:o});case"select":return e(sr,{control:s,name:c,label:t,options:i,required:o});case"autocomplete":return e(pr,{control:s,name:c,label:t,options:i,required:o});case"json":return e(br,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var Lt=e=>({customCheckboxes:C((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:C((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const Dt=Object.values(Xe).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var Ft=({propertyFieldName:n,entityDefinition:a=!1,globalParameter:l=!1,customPropertyFields:i=[]})=>{var o;const{control:s,setValue:c}=h(),d=g({control:s,name:`${n}.propertyType`}),u=g({control:s,name:`${n}.isMultiple`}),p=g({control:s,name:`${n}.isRequired`}),{customCheckboxes:m,customFields:b}=Lt(i),f=C((()=>{let e=l?"Value":"Default Value";return u&&(e+="s"),e}),[l,u]);return O((()=>{d&&"string"==typeof d&&c(`${n}.propertyType`,Dt.find((e=>e.value===d)))}),[d,c,n]),r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(xe,{children:e(or,{required:!0,control:s,name:`${n}.key`,label:"Key"})}),e(xe,{children:e(or,{required:!0,control:s,name:`${n}.name`,label:"Name"})}),e(xe,{children:e(pr,{required:!0,control:s,name:`${n}.propertyType`,label:"Type",options:Dt,onChange:(e,r)=>{const t=`${n}.propertyType`,a=`${n}.${l?"value":"defaultValue"}`;c(a,u?[]:null),c(t,r)}})}),e(xe,{children:e(zr,{required:!0,control:s,name:`${n}.sortOrder`,label:"Sort Order"})}),e(xe,{children:e(br,{control:s,name:`${n}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(xe,{children:[e(cr,{control:s,name:`${n}.isMultiple`,label:"Multiple"}),e(cr,{control:s,name:`${n}.isEnabled`,label:"Enabled"}),e(cr,{control:s,name:`${n}.isRequired`,label:"Required"}),a&&e(cr,{control:s,name:`${n}.isViewableInList`,label:"Is viewable in list"}),m.length?e(t,{children:m.map(((r,t)=>e(cr,{control:s,name:`${n}.${r.name}`,label:r.label},t)))}):null]}),d&&r(t,{children:[e(xe,{children:e(St.Provider,Object.assign({value:null!==(o=d.value)&&void 0!==o?o:d},{children:e(qt,{name:`${n}.validationNode`})}))}),e(bt,{propertyType:"string"==typeof d?d:d.value,propertyFieldName:n,globalParameter:l,entityDefinition:a}),e(xt,{propertyFieldName:n,name:`${n}.${l?"value":"defaultValue"}`,label:f,required:!!l&&p})]}),b.length?e(t,{children:b.map(((r,t)=>e(xe,{children:e(Rt,Object.assign({},r,{propertyFieldName:n}))},t)))}):null]}))};const zt={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},Bt=({parentFieldName:a,hideAddButton:l,focusOnIndex:i,required:o,entityDefinition:s=!1,globalParameter:c=!1,customPropertyFields:d=[]})=>{const u=C((()=>a?`${a}.properties`:"properties"),[a]),{setValue:p,clearErrors:b,control:f}=h(),{fieldState:{error:y}}=m({control:f,name:u,rules:{required:o&&"Please, add properties"}}),E=g({control:f,name:u}),N=v([]);O((()=>{"number"==typeof i&&N.current[i]&&N.current[i].scrollIntoView({behavior:"smooth",block:"start"})}),[i,N]);const x=T((()=>{E?p(`${u}.${E.length}`,zt):p(u,[zt]),b(u)}),[E,u,b,p]),j=T((e=>{p(`${u}`,fr(E,e))}),[E,u,p]);return r(t,{children:[y&&y.message&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ee,Object.assign({color:"secondary"},{children:y.message}))})),E&&E.map(((t,a)=>e(xe,Object.assign({sm:12,md:8,lg:6,ref:e=>N.current[a]=e},{children:r(je,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({color:y&&y[a]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${a+1}`}))})),e(Ie,{children:e(Ft,{propertyFieldName:`${u}.${a}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(we,{children:e(n,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>j(a)},{children:"Remove"}))})]}))}),a))),!l&&e(xe,Object.assign({xs:12},{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))}))]})},Gt=({definitionFieldName:t,title:n,hideCodeField:a,hideVersionField:l,hideNameField:i,required:o=!1})=>{const{control:s}=h();return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[n&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(ee,Object.assign({variant:"h4"},{children:n}))}))})),!i&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!a&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!l&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(zr,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(Bt,{required:o,parentFieldName:t})]}))},Jt={name:"Name",key:"Key",propertyType:"Property Type",defaultValue:"Default Value",defaultValues:"Default Values",sortOrder:"Sort Order",isRequired:"Required",isMultiple:"Multiple",isEnabled:"Enabled",isViewableInList:"Is Viewable In List",precisionScale:"Precision Scale",roundingMode:"Rounding Mode",format:"Format",definitionCode:"Definition Code",definitionVersion:"Definition Version",labelPropertyCode:"Label Property Code",valuePropertyCode:"Value Property Code",restrictedValues:"Restricted Values",value:"Value",values:"Values",uiSettings:"UI Settings",validationNode:"Validation Node"},_t=({value:r,type:t})=>t!==Xe.JSON&&t!==Xe.ENTITY&&t!==Xe.ANY||!r?e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(Nr,{value:r}),Yt=(t,n,a)=>{switch(n){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return t?e(Ye,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return t?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:t.map((r=>e(Re,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(_t,{value:t,type:a});case"values":case"defaultValues":return Array.isArray(t)&&a!==Xe.ENTITY&&a!==Xe.JSON&&a!==Xe.ANY?r("div",{children:["[",null==t?void 0:t.map(((r,t)=>e("div",{children:e(_t,{value:r,type:a})},t))),"]"]}):e(Nr,{value:t});case"uiSettings":case"validationNode":return t?e(Nr,{value:t}):null;default:return e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:t}))}};var Wt=({property:t})=>{const n=C((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(Be,Object.assign({size:"small"},{children:e(Ge,{children:Object.keys(Jt).map((t=>t in n?r(Je,{children:[e(_e,Object.assign({width:"30%"},{children:e(ee,{children:Jt[t]})})),e(_e,{children:Yt(n[t],t,n.propertyType)})]},t):null))})}))};var Ht=I((({properties:t,parentNames:n=[]})=>{const a=C((()=>{let e=!1;return t.every((r=>r.propertyType!==Xe.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(ee,Object.assign({variant:"h6"},{children:"Properties"})),r(Ve,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,{StepIconProps:{icon:"",completed:!1,active:!0}}),e($e,{children:e(Kt,{property:t,parentNames:[...n],defaultExpanded:!1})})]}),t.key))),a&&e(Me,{})]}))]}))}));const Kt=({property:t,parentNames:n=[],defaultExpanded:a=!0})=>{const[l,i]=E(!0);return O((()=>{i(a)}),[a]),r(je,Object.assign({elevation:3,style:{backgroundColor:n.length%2==1?"#f1f1f1":"#fff"},expanded:l,onChange:()=>i((e=>!e))},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(Ie,{children:r(c,Object.assign({width:"100%"},{children:[e(Wt,{property:t}),t.propertyType===Xe.ENTITY&&e(Ht,{properties:qr(t.properties),parentNames:[...n,t.name]})]}))})]}))},Ut=({properties:r,expandAll:t=!0})=>{const n=C((()=>Array.isArray(r)?r:r?qr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:n.length?n.map((r=>e(Kt,{property:r,defaultExpanded:t},r.key))):e(ee,{children:"No properties"})}))},Xt=({properties:t,dataFieldName:n,useExpression:a=!1,title:l})=>{const i=C((()=>t?t.map((t=>{const l="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",l]})]})),content:t.isMultiple?e(Nt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired}):e(Tt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired})}})):[]),[t,n,a]);return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[l&&e(xe,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:l}))})),e(ct,{data:i})]}))},Qt=({property:r,data:t,properties:n})=>{const a=r=>e(c,Object.assign({style:{backgroundColor:"#fff",border:"1px solid #ccc",borderRadius:"4px",padding:"4px"}},{children:null===r?"null":null==r?void 0:r.toString()}));if(kr(t))return a(t);switch(r.propertyType){case Xe.JSON:return e(Nr,{value:t});case Xe.ENTITY:return e(en,{properties:n,data:t});case Xe.ANY:return"object"==typeof t?e(Nr,{value:t}):a(t);default:return a(t)}};var Zt=({property:r,data:t,hasBackground:n=!1})=>{const a=C((()=>r.propertyType===Xe.ENTITY?Array.isArray(r.properties)?r.properties:qr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:n?"#f1f1f1":"none"}},{children:e(Qt,{property:r,data:t,properties:a})}))};const en=({properties:n,data:a})=>{const l=C((()=>n&&a?n.map((n=>{var l;const{key:i,name:o,isMultiple:s,propertyType:d}=n,u=null!==(l=a[n.key])&&void 0!==l?l:a;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[e("b",{children:o}),r("span",{children:[i," | ",s?"multiple":"single"," | ",d]})]})),content:s&&Array.isArray(u)&&n.propertyType!==Xe.ANY?e(t,{children:u.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(Zt,{property:n,data:r,hasBackground:!0})}),t)))}):e(Zt,{property:n,data:u})}})):[]),[n,a]);return e(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:e(ct,{data:l})}))};var rn=Ee()((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px",width:"fit-content","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const tn=({text:r,status:t="default"})=>{const{classes:n}=rn();return e("div",Object.assign({className:We(n.root,{[t]:!0})},{children:r}))},nn=Ee()((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),an=({properties:t,parentKey:n="",activePath:a="",prefix:l="",onClick:i})=>{const{classes:o}=nn();return e(Ve,Object.assign({orientation:"vertical",onClick:e=>e.stopPropagation()},{children:t&&t.map((t=>{var s;const c=n?`${n}.${t.key}`:t.key,d=null!==(s=t.propertyType.value)&&void 0!==s?s:t.propertyType;return r(Me,Object.assign({expanded:!0,onClick:()=>{return e=c,void i(l?`${l}.${e}`:e);var e}},{children:[e(Ae,Object.assign({StepIconProps:{icon:"",completed:!1,active:a===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e($e,{children:e("div",{children:d===Xe.ENTITY&&e(an,{onClick:i,activePath:a,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var ln=an;const on=({open:t=!1,onClose:o,onPaste:c,properties:d})=>{const[u,p]=E("");return r(a,Object.assign({open:t,onClose:o,fullWidth:!0,maxWidth:"md"},{children:[e(s,{children:"JSON path picker"}),r(i,{children:[(null==d?void 0:d.length)?d.map(((t,n)=>r("div",{children:[e(ee,Object.assign({variant:"h6"},{children:t.title})),e(ln,{properties:t.properties,prefix:t.pathPrefix,onClick:p,activePath:u})]},n))):e(ee,{children:"Please, add properties"}),u&&r(ee,Object.assign({variant:"h6",gutterBottom:!0},{children:["Selected path : $(",u,")"]}))]}),r(l,{children:[e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{navigator.clipboard.writeText(`$(${u})`),He.success("Copied!")}},{children:"Copy"})),e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${u})`),He.success("Pasted!")}},{children:"Paste"})),e(n,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))};export{nr as AlertDialog,hr as BackButton,br as ControlAceEditor,pr as ControlAutocomplete,cr as ControlCheckbox,Gr as ControlDate,Jr as ControlDateTime,or as ControlDebouncedInput,ar as ControlInput,zr as ControlNumberInput,mr as ControlQueryAutocomplete,dr as ControlRadio,sr as ControlSelect,Br as ControlSwitch,_r as ControlTime,gr as CopyButton,Gt as CreateDefinition,Bt as CreatePropertiesList,Qe as DATE_DEFAULT_FORMAT,er as DATE_TIME_DEFAULT_FORMAT,Xt as DefinitionFiller,en as DefinitionValueView,nt as InfoItem,xr as JsonModalView,on as JsonPathPicker,Nr as JsonView,tr as Loader,Nt as MultiplePropertyFiller,Tt as PropertyFiller,Xe as PropertyType,xt as PropertyValueField,rr as RoundingMode,rt as RouteTabs,tn as Status,ct as StepperView,Ze as TIME_DEFAULT_FORMAT,et as TabPanel,Qr as Table,Zr as TableAction,Ut as ViewPropertiesList,Kt as ViewProperty,vr as capitalize,Cr as deepParseJson,Ir as digitsOnly,wr as floatsOnly,Ar as formatDefinitionData,Sr as formatTableRowValue,Rr as getDemPropertyDateFormat,Lr as getEntityStarterValue,Er as getJsonStringValue,Dr as getMultiplePropertyFillOptions,Fr as getSinglePropertyFillOptions,Pr as isDateType,kr as isExpression,Vr as isPropertyValueEmpty,$r as propertiesArrayToObject,qr as propertiesObjectToArray,fr as removeArrayItem,Tr as safeParseJson,Or as sortArrayOfObjects,lr as useDebounce,ir as useToggle,yr as validateJson};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartech/arsenal-ui",
3
- "version": "0.3.9",
3
+ "version": "0.3.11",
4
4
  "author": "DAR",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -8,7 +8,7 @@
8
8
  "license": "ISC",
9
9
  "dependencies": {
10
10
  "react": "18.2.0",
11
- "react-hook-form": "^7.5.2",
11
+ "react-hook-form": "7.5.2",
12
12
  "@mui/x-date-pickers": "^5.0.0-alpha.0",
13
13
  "@mui/x-data-grid": "^5.17.18",
14
14
  "@mui/icons-material": "^5.11.0",
@@ -22,15 +22,14 @@
22
22
  "react-router-dom": "6.8.0",
23
23
  "react-toastify": "^9.1.1",
24
24
  "classnames": "^2.3.1",
25
- "react-query": "^3.39.1"
25
+ "@tanstack/react-query": "^4.24.10",
26
+ "tss-react": "^4.8.2",
27
+ "@rollup/plugin-node-resolve": "13.3.0",
28
+ "qs": "6.11.1"
26
29
  },
27
30
  "module": "./index.js",
28
31
  "main": "./index.js",
29
32
  "type": "module",
30
33
  "types": "./index.d.ts",
31
- "peerDependencies": {
32
- "@rollup/plugin-node-resolve": "13.3.0",
33
- "qs": "6.11.0",
34
- "tss-react": "4.6.0"
35
- }
36
- }
34
+ "peerDependencies": {}
35
+ }
@@ -20,5 +20,5 @@ export interface ControlAceEditorProps {
20
20
  parseValue?: boolean;
21
21
  [key: string]: unknown;
22
22
  }
23
- export declare const ControlAceEditor: import("react").ForwardRefExoticComponent<Pick<ControlAceEditorProps, keyof ControlAceEditorProps> & import("react").RefAttributes<AceEditor>>;
23
+ export declare const ControlAceEditor: import("react").ForwardRefExoticComponent<Omit<ControlAceEditorProps, "ref"> & import("react").RefAttributes<AceEditor>>;
24
24
  export default ControlAceEditor;
@@ -1,7 +1,5 @@
1
1
  declare const _default: (params: void, styleOverrides?: {
2
- props: {
3
- classes?: Record<string, string>;
4
- } & Record<string, unknown>;
2
+ props: any;
5
3
  ownerState?: Record<string, unknown>;
6
4
  }) => {
7
5
  classes: Record<"container" | "title" | "text", string>;
@@ -1,7 +1,5 @@
1
1
  declare const useStyles: (params: void, styleOverrides?: {
2
- props: {
3
- classes?: Record<string, string>;
4
- } & Record<string, unknown>;
2
+ props: any;
5
3
  ownerState?: Record<string, unknown>;
6
4
  }) => {
7
5
  classes: Record<"inputLabel", string>;
@@ -1,7 +1,5 @@
1
1
  declare const _default: (params: void, styleOverrides?: {
2
- props: {
3
- classes?: Record<string, string>;
4
- } & Record<string, unknown>;
2
+ props: any;
5
3
  ownerState?: Record<string, unknown>;
6
4
  }) => {
7
5
  classes: Record<"root", string>;
@@ -1,7 +1,5 @@
1
1
  declare const _default: (params: void, styleOverrides?: {
2
- props: {
3
- classes?: Record<string, string>;
4
- } & Record<string, unknown>;
2
+ props: any;
5
3
  ownerState?: Record<string, unknown>;
6
4
  }) => {
7
5
  classes: Record<"root", string>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { StatusVariant, TableDataType } from '../interfaces';
3
3
  export declare const formatTableRowValue: ({ value, type, copyText, status, }: {
4
- value: unknown;
4
+ value: any;
5
5
  type?: TableDataType;
6
6
  copyText?: string;
7
7
  status?: StatusVariant;