@dartech/arsenal-ui 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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 i from"@mui/material/DialogActions";import l 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}from"react-hook-form";import b from"@mui/material/TextField";import f,{useRef as y,useEffect as v,useState as O,useCallback as C,useMemo as E,createElement as T,memo as x}from"react";import j from"@mui/material/MenuItem";import N from"@mui/icons-material/Clear";import{InputAdornment as S,IconButton as I,FormHelperText as k,Box as w}from"@mui/material";import P from"@mui/material/FormControl";import V from"@mui/material/FormControlLabel";import q from"@mui/material/FormHelperText";import A from"@mui/material/Checkbox";import M from"@mui/material/Radio";import R from"@mui/material/RadioGroup";import L from"@mui/material/FormLabel";import F from"@mui/material/Autocomplete";import{useQuery as $}from"react-query";import D from"qs";import z from"@mui/icons-material/FileCopyOutlined";import B from"@mui/material/Tooltip";import J from"@mui/material/IconButton";import G from"@mui/icons-material/ArrowBack";import{useHistory as Y,useLocation as W,Link as _}from"react-router-dom";import H from"react-ace";import K from"@mui/material/Typography";import U from"@mui/material/Switch";import{DatePicker as X}from"@mui/x-date-pickers/DatePicker";import{format as Z,isMatch as Q,isValid as ee,parse as re}from"date-fns";import{DateTimePicker as te}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as ne}from"@mui/x-date-pickers/TimePicker";import ae from"@mui/material/Pagination";import ie from"@mui/material/TablePagination";import{useGridApiContext as le,useGridSelector as oe,gridPageSelector as se,gridPageCountSelector as ce,gridRowCountSelector as de,gridPageSizeSelector as ue,GridColumnMenuContainer as pe,GridFilterMenuItem as me,DataGrid as ge,GridActionsCellItem as he}from"@mui/x-data-grid";import{makeStyles as be}from"@mui/styles";import fe from"@mui/material/Paper";import ye from"@mui/material/Tab";import ve from"@mui/material/Tabs";import Oe from"@mui/material/Unstable_Grid2";import Ce from"@mui/material/Accordion";import Ee from"@mui/material/AccordionSummary";import Te from"@mui/material/AccordionDetails";import xe from"@mui/material/AccordionActions";import je from"@mui/icons-material/ExpandMore";import Ne from"@mui/material/Stepper";import Se from"@mui/material/Step";import Ie from"@mui/material/StepLabel";import ke from"@mui/material/StepContent";import we from"@mui/material/StepConnector";import Pe from"@mui/material/Chip";import Ve from"@mui/icons-material/Add";import qe from"@mui/material/Select";import Ae from"@mui/material/InputLabel";import Me from"@mui/icons-material/Close";import Re from"@mui/material/Table";import Le from"@mui/material/TableBody";import Fe from"@mui/material/TableRow";import $e from"@mui/material/TableCell";import De from"@mui/icons-material/CheckCircle";import ze from"classnames";import{toast as Be}from"react-toastify";import Je from"mui-rte";import{createTheme as Ge,ThemeProvider as Ye}from"@mui/material/styles";import{convertToRaw as We,EditorState as _e,convertFromHTML as He,ContentState as Ke,Modifier as Ue}from"draft-js";import Xe from"@mui/icons-material/Functions";import Ze from"@mui/icons-material/NotInterested";var Qe;!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"}(Qe||(Qe={}));const er="yyyy-MM-dd",rr="HH:mm:ss",tr="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var nr;!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"}(nr||(nr={}));const ar=({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,{})})),ir=({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(ar,{}),e(s,Object.assign({id:"alert-dialog-title"},{children:d})),r(l,{children:[u&&e(o,Object.assign({id:"alert-dialog-description"},{children:u})),e(c,Object.assign({maxWidth:"100%",overflow:"hidden"},{children:f}))]}),r(i,{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]})]}))}),lr=r=>{var t,{control:n,validate:a,name:i="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,f=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:i,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),C=g({control:n,name:i});return e(b,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:i,label:l,error:!!O,helperText:!p&&(null==O?void 0:O.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=C?C:"",onChange:h||v},f,{inputProps:Object.assign(Object.assign({},null!==(t=null==f?void 0:f.inputProps)&&void 0!==t?t:{}),{value:null!=C?C:""})}))};function or(e,r){const t=y();v((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...n)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),r)}}const sr=()=>{const[e,r]=O(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},cr=r=>{var t,{control:n,validate:a,name:i="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,f=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:E},fieldState:{error:T}}=m({name:i,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),x=g({control:n,name:i}),[j,N]=O("");v((()=>{!j&&x&&N(x)}),[j,x]);const S=or((e=>{E(e)}),200),I=C((e=>{N(e.target.value),S(e.target.value)}),[S]);return e(b,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:i,label:l,error:!!T,helperText:!p&&(null==T?void 0:T.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=j?j:"",onChange:I},f,{inputProps:Object.assign(Object.assign({},null!==(t=null==f?void 0:f.inputProps)&&void 0!==t?t:{}),{value:null!=j?j:""})}))},dr=r=>{var t,{control:n,validate:a,name:i="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p,labelKey:h,valueKey:f,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:T}}=m({name:i,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),x=g({control:n,name:i}),k=C((e=>"string"==typeof e?e:f?e[f]:e.value),[f]),w=C((e=>"string"==typeof e?e:h?e[h]:e.label),[h]),P=C((()=>{E(null)}),[E]);return e(b,Object.assign({select:!0,fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:O,name:i,label:l,error:!!T,helperText:!d&&(null==T?void 0:T.message),disabled:c,value:null!=x?x:"",onChange:p||E},v,{inputProps:Object.assign(Object.assign({},null!==(t=null==v?void 0:v.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""}),InputProps:Object.assign({endAdornment:!o&&x?e(S,Object.assign({position:"end",sx:{mr:2}},{children:e(I,Object.assign({onClick:P,size:"small"},{children:e(N,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(j,Object.assign({value:k(r)},{children:w(r)}),t)))}))},ur=t=>{var{control:n,validate:a,name:i="",label:l="",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:i,control:n,defaultValue:s}),v=g({control:n,name:i}),O=E((()=>{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(P,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e(V,{control:e(A,Object.assign({checked:O,onChange:p||f,name:i,inputRef:b,disabled:c},h)),label:l}),!d&&(null==y?void 0:y.message)&&e(q,{children:y.message})]}))},pr=({name:t,label:n,values:a=[],control:i,required:l,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:i,defaultValue:o,rules:{required:l&&"Please, fill this field",validate:p}}),v=g({control:i,name:t}),O=C((e=>"string"==typeof e?e:u?e[u]:e.value),[u]),E=C((e=>"string"==typeof e?e:d?e[d]:e.label),[d]);return r(P,Object.assign({disabled:s,error:!!y},{children:[e(L,Object.assign({id:"radio-buttons-group"},{children:n})),e(R,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:h||f},{children:a.map((r=>e(V,{value:O(r),control:e(M,{}),label:E(r)})))})),!c&&(null==y?void 0:y.message)&&e(k,{children:y.message})]}))};var mr=({valueKey:e,labelKey:r})=>{const t=C(((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=C((e=>"string"==typeof e?e:r?e[r]+"":e.label?e.label+"":"--no label--"),[r]),a=C(((e,r)=>T(w,Object.assign({},e,{component:"li",key:e.id}),n(r))),[n]);return{isOptionEqualToValue:t,getOptionLabel:n,renderOption:a}};const gr=r=>{var{control:t,validate:n,name:a="",label:i="",required:l=!1,defaultValue:o="",disabled:s=!1,hideErrorMessage:c=!1,onChange:d,labelKey:p,valueKey:h,options:f=[],multiple:y,textFieldProps:v={},disableCloseOnSelect:O}=r,C=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options","multiple","textFieldProps","disableCloseOnSelect"]);const{field:{ref:T,onChange:x},fieldState:{error:j}}=m({name:a,control:t,defaultValue:o,rules:{required:l&&"Please, fill this field",validate:n}}),N=g({control:t,name:a}),{getOptionLabel:S,isOptionEqualToValue:I,renderOption:k}=mr({valueKey:h,labelKey:p}),w=E((()=>{if((null==f?void 0:f.length)&&N){const e=f.find((e=>I(e,N)));if(e)return e}else if(N)return N;return y?[]:null}),[N,y,f,I]);return e(F,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:f,multiple:y,getOptionLabel:S,isOptionEqualToValue:I,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:w,onChange:d||((e,r)=>{x(r)}),renderOption:k,renderInput:r=>e(b,Object.assign({},r,{variant:"outlined",name:a,label:i,error:!!j,inputRef:T,helperText:!c&&(null==j?void 0:j.message)},v))},C))},hr=t=>{var{name:n,label:a,control:i,searchBy:l,labelKey:o,multiple:s=!1,disabled:c,valueKey:p,sortBy:h="",hideErrorMessage:y,disableCloseOnSelect:T,textFieldProps:x,onChange:j,queryFunction:N}=t,S=u(t,["name","label","control","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction"]);const{field:{ref:I,onChange:k},fieldState:{error:w}}=m({control:i,name:n}),P=g({control:i,name:n}),{getOptionLabel:V,isOptionEqualToValue:q,renderOption:A}=mr({valueKey:p,labelKey:o}),[M,R]=O(!1),[L,z]=O(""),[B,J]=O(""),[G,Y]=O(0),[W,_]=O(0),[H,K]=O([]),U=E((()=>{if(""===P||void 0===P||!(null==H?void 0:H.length))return s?[]:null;if(H&&P){return H.find((e=>q(e,P)))}return P}),[P,s,H,q]),X=or((e=>{J(e),_(0),K([])}),500),Z=C(((e,r)=>{z(r),X(r)}),[X]),Q=C(((e,r)=>{k(r),j&&j(e,r)}),[k,j]),ee=C((e=>{const r=e.currentTarget;r.scrollTop+r.clientHeight===r.scrollHeight&&H.length<G&&_((e=>e+1))}),[G,H]),{data:re,isFetching:te}=$(["options",W,B],(()=>{const e=D.parse({page:`${W}`,size:"20",sort:h,[l]:B},{ignoreQueryPrefix:!0});return N(e)}));return v((()=>{re?(K((e=>[...e,...re.collection])),Y(re.totalItems)):(K([]),Y(0))}),[re]),e(F,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:c,options:H,multiple:s,getOptionLabel:V,isOptionEqualToValue:q,disableCloseOnSelect:T||s,filterSelectedOptions:s,inputValue:L,value:U,onChange:Q,loading:te,clearOnBlur:!1,open:M,filterOptions:e=>e,onOpen:()=>{R(!0)},onClose:()=>{R(!1),_(0),J("")},onInputChange:Z,ListboxProps:{onScroll:ee},renderOption:A,renderInput:t=>e(b,Object.assign({},t,{label:a,variant:"outlined",error:!!w,inputRef:I,helperText:!y&&(null==w?void 0:w.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(f.Fragment,{children:[te?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},x))},S))},br=({copyText:r,helpText:t="Copy"})=>{const[n,a]=O(t);return n?e(B,Object.assign({title:n,placement:"top"},{children:e(J,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),a("Copied!"),setTimeout((()=>{a(t)}),1e3)}},{children:e(z,{fontSize:"small"})}))})):null},fr=({text:r,buttonProps:t={}})=>{const a=Y(),{state:i}=W(),l=E((()=>null==i?void 0:i.from),[i]),o=C((()=>{l?a.push(l):a.goBack()}),[a,l]);return e(c,Object.assign({mr:2},{children:r?e(n,Object.assign({color:"inherit",onClick:l?null:o,component:_,to:null!=l?l:""},t,{children:r})):e(J,Object.assign({onClick:o},{children:e(G,{})}))}))},yr=({control:n,name:a,mode:i="json",label:l,width:o="100%",height:s="200px",theme:d="monokai",readOnly:u,required:p=!1,validateJson:b=!1,fontSize:f=16,validate:y=!0})=>{const{setError:v,clearErrors:O}=h(),{field:{onChange:C},fieldState:{error:E}}=m({control:n,name:a}),T=g({control:n,name:a});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:l&&e(K,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:l}))}),r(t,{children:[e(H,{focus:!0,wrapEnabled:!0,width:o,height:s,showPrintMargin:!1,theme:d,fontSize:f,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:u,value:"json"===i&&"string"!=typeof T?null===T?"":JSON.stringify(T):T,onChange:e=>{if(!e&&p?v(a,{message:"Required field"}):O(a),b)try{JSON.parse(e),O(a)}catch(e){return void v(a,{message:"Invalid JSON"})}C(e)},mode:i,onLoad:e=>{y&&b||e.getSession().setUseWorker(!1)}}),E&&e(q,Object.assign({error:!0},{children:E.message}))]})]}))},vr=(e,r)=>{const t=[...e];return t.splice(r,1),t},Or=e=>{try{JSON.parse(e)}catch(e){return!1}return!0};function Cr(e){return e.replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))}const Er=(e,r,t,n="asc")=>{const a=e[t],i=r[t];return a<i?"asc"===n?-1:1:a>i?"asc"===n?1:-1:0},Tr=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},xr=e=>{try{return JSON.parse(e)}catch(e){return null}},jr=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=jr(r[e])})),r}catch(r){return e}},Nr=({value:t,type:n,copyText:a,status:i})=>{switch(n){case"JSON_copy":return r(c,Object.assign({width:"100%"},{children:[e(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:e(br,{copyText:Tr(t)})})),e(qt,{value:t})]}));case"JSON":return e(qt,{value:t});case"JSON_text":return e(c,Object.assign({width:"100%"},{children:e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t}))}));case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(br,{copyText:a||t})]}));case"boolean":return t?e(De,{color:"primary",fontSize:"small"}):e(Ze,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:Z(new Date(t),"dd.MM.yyyy")}),e("div",{children:Z(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(Wt,{text:t,status:i});case"array":return e(c,{children:t.map(((r,t)=>e(c,{children:r},t)))});default:return e("div",{children:t})}},Sr=new RegExp("^[-+]?[0-9]+$"),Ir=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),kr=e=>"string"==typeof e&&e.includes("$("),wr=e=>e===Qe.DATE||e===Qe.DATE_TIME||e===Qe.TIME,Pr=e=>!e&&0!==e&&!1!==e,Vr=(e,r,t)=>{if(null==r&&e!==Qe.BOOLEAN)return null;let n=r;switch(e){case Qe.BOOLEAN:n=!!r;break;case Qe.INTEGER:case Qe.BIG_INTEGER:case Qe.BIG_DECIMAL:case Qe.FLOAT:case Qe.LONG:case Qe.DOUBLE:n=Number(r);break;case Qe.DATE:case Qe.DATE_TIME:case Qe.TIME:n=Z(new Date(r.toString()),t.formatText);break;case Qe.JSON:case Qe.ANY:try{"string"!=typeof r&&(n=JSON.stringify(r)),n=JSON.parse(n)}catch(e){console.log(e),n=null}break;case Qe.ENTITY:n=qr(t.properties,r)}return n},qr=(e,r)=>{if(r){const t={};return e.forEach((e=>{const{key:n,propertyType:a}=e,i=r[n];Array.isArray(i)?t[n]=i.map((r=>Vr(a,r,{formatText:e.format,properties:e.properties}))):t[n]=Vr(a,i,{formatText:e.format,properties:e.properties})})),t}return null},Ar=(e,r)=>{const t={};return e.forEach((e=>{const{key:n,name:a,isRequired:i,isMultiple:l,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:i,isMultiple:l,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),t[a]=Vr(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===Qe.BIG_DECIMAL&&(p.precisionScale=e.precisionScale,p.roundingMode=e.roundingMode),u!==Qe.DATE&&u!==Qe.TIME&&u!==Qe.DATE_TIME||(p.format=e.format),u===Qe.STRING&&(p.restrictedValues=e.restrictedValues),u===Qe.ENTITY_REFERENCE&&(p.definitionCode=e.definitionCode,p.definitionVersion=e.definitionVersion,p.labelPropertyCode=e.labelPropertyCode,p.valuePropertyCode=e.valuePropertyCode),u===Qe.ENTITY&&(p.properties=Ar(e.properties,r)),t[n]=p})),t};function Mr(e,r){return Object.keys(e).map((t=>{const n=Object.assign(Object.assign({key:t},e[t]),r||{});if(n.propertyType===Qe.ENTITY&&(n.properties=Mr(n.properties,r)),n.propertyType===Qe.JSON)try{null==n.defaultValue?n.defaultValue="":n.defaultValue=JSON.stringify(n.defaultValue)}catch(e){n.defaultValue=""}if(n.uiSettings)try{n.uiSettings=JSON.stringify(n.uiSettings)}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)=>Er(e,r,"sortOrder")))}const Rr=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return Z(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:Mr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===Qe.ENTITY?t[r.key]=Lr(r):t[r.key]=r.propertyType,t}),{})},Fr=({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===Qe.JSON||e===Qe.ENTITY||e===Qe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e!==Qe.JSON&&e!==Qe.ANY&&e!==Qe.ENTITY||n.push({value:"json_valid",label:"JSON editor",sortOrder:2}),n=n.sort(((e,r)=>Er(e,r,"sortOrder"))),n},$r=({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===Qe.JSON||e===Qe.ENTITY||e===Qe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e){case Qe.STRING:n[0].label="Text input";break;case Qe.INTEGER:case Qe.BIG_INTEGER:case Qe.BIG_DECIMAL:case Qe.FLOAT:case Qe.LONG:case Qe.DOUBLE:n[0].label="Number input";break;case Qe.BOOLEAN:n[0].label="Switch";break;case Qe.ENTITY_REFERENCE:n[0].label="Entity reference fields";break;case Qe.JSON:n[0].label="JSON editor";break;case Qe.DATE:n[0].label="Date picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Qe.DATE_TIME:n[0].label="Date & Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Qe.TIME:n[0].label="Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Qe.ANY:n[0].label="Textarea"}return n=n.sort(((e,r)=>Er(e,r,"sortOrder"))),n},Dr=r=>{var t,{control:n,validate:a,name:i="",label:l="",required:o=!1,defaultValue:s,disabled:c=!1,hideErrorMessage:d=!1,onChange:p,decimal:h=!1}=r,f=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","decimal"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:i,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:e=>h&&!Ir.test(e)?"Not valid number":!(!h&&!Sr.test(e))||"Not valid integer"}}),C=g({control:n,name:i});return e(b,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:i,label:l,error:!!O,helperText:!d&&(null==O?void 0:O.message),disabled:c,value:null!=C?C:"",onChange:e=>{const r=e.nativeEvent.data;(!isNaN(r)||h&&"."===r)&&(p?p(e):v(e.target.value))}},f,{inputProps:Object.assign(Object.assign({},null!==(t=null==f?void 0:f.inputProps)&&void 0!==t?t:{}),{value:null!=C?C:""})}))},zr=r=>{var{control:t,name:n,label:a}=r,i=u(r,["control","name","label"]);const{field:{ref:l,onChange:o}}=m({control:t,name:n}),s=g({control:t,name:n}),c=E((()=>{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]);v((()=>{null===s&&o(!1)}),[s,o]);return e(V,{label:a,name:n,control:e(U,Object.assign({color:"primary",size:"small",inputRef:l,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},i))})},Br=({control:r,name:t,required:n,label:a,format:i=er,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!Q(e,i)||"Incorrect date format"}}),d=g({control:r,name:t});return e(X,{mask:"",label:a,inputRef:s,inputFormat:i,value:d||null,onChange:e=>{o(ee(e)?Z(e,i):e)},renderInput:r=>e(b,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})},Jr=({control:r,name:t,required:n,label:a,format:i=tr,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!Q(e,i)||"Incorrect date format"}}),d=g({control:r,name:t});return e(te,{mask:"",ampm:!1,inputRef:s,label:a,value:d||null,inputFormat:i,onChange:e=>{o(ee(e)?Z(e,i):e)},renderInput:r=>e(b,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})},Gr=({control:r,name:t,required:n,label:a,format:i=rr,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!Q(e,i)||"Incorrect date format"}}),d=g({control:r,name:t}),[u,p]=O(null);return v((()=>{if(d&&i){let e=re(d,i,new Date);ee(e)||(e=re(d,"HH:mm:ss.SSS",new Date)),p(e)}}),[d,i]),e(ne,{mask:"",inputRef:s,label:a,ampm:!1,value:u,inputFormat:i,onChange:e=>{p(e),o(ee(e)?Z(e,i):e)},renderInput:r=>e(b,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})};var Yr=()=>{const n=le(),a=oe(n,se),i=oe(n,ce),l=oe(n,de),o=oe(n,ue),s=e=>n.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(ie,{component:"div",page:a,count:l,rowsPerPage:o,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>s(r),onRowsPerPageChange:e=>n.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:()=>e(t,{})}),e(ae,{count:i,page:a+1,onChange:(e,r)=>s(r-1)})]}))};var Wr=r=>{var{hideMenu:t,currentColumn:n,onUnsort:a}=r,i=u(r,["hideMenu","currentColumn","onUnsort"]);return e(pe,Object.assign({hideMenu:t,currentColumn:n},i,{children:e(me,{onClick:t,column:n})}))};var _r=({mode:e})=>{const r=Y(),{search:t,state:n}=W(),a=E((()=>new URLSearchParams(t)),[t]),i=+a.get("page")||0,l=+a.get("size")||10;return v((()=>{"server"===e&&(a.has("page")||a.set("page","0"),a.has("size")||a.set("size","10"),r.replace({pathname:r.location.pathname,search:a.toString()},n))}),[t,e]),{page:i,size:l,onPageChange:e=>{a.set("page",`${e}`),r.replace({pathname:r.location.pathname,search:a.toString()})},onSizeChange:e=>{a.set("size",`${e}`),r.replace({pathname:r.location.pathname,search:a.toString()})}}};var Hr=()=>{const e=Y(),{search:r,state:t}=W(),n=E((()=>new URLSearchParams(r)),[r]),a=n.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:r})=>{let a=!1;const i=n.getAll("sort");n.delete("sort"),i.forEach((e=>{const[t,i]=e.split(",");t===r?(a=!0,"asc"===i&&n.append("sort",`${t},desc`)):n.append("sort",`${t},${i}`)})),a||n.append("sort",`${r},asc`),e.replace({pathname:e.location.pathname,search:n.toString()},t)},getSortedColumns:e=>e.map((e=>{const r=a.find((r=>r[0]===e.field));return e.headerClassName=r?`Sorted --${r[1]} `:"",e}))}};var Kr=e=>{const[r,t]=O(10);v((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},Ur=be({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",whiteSpace:"normal !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 Xr=({columns:r,rows:t,rowCount:n,loading:a,disableMargin:i,mode:l="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const u=Ur(),{page:p,size:m,onPageChange:g,onSizeChange:h}=_r({mode:l}),{onColumnHeaderClick:b,getSortedColumns:f}=Hr(),{pageSize:y,handlePageSizeChange:v}=Kr(o),O={sortingMode:l,paginationMode:l,pageSize:"server"===l?m:s?y:n,onPageSizeChange:"server"===l?h:v,components:{Pagination:Yr}};return"server"===l&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=p,O.onPageChange=g,O.components.ColumnMenu=Wr),e(c,Object.assign({mt:i?0:2},{children:e(ge,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:i})=>i?e(J,Object.assign({component:_,to:i,size:"small"},{children:e(B,Object.assign({title:t,arrow:!0},{children:f.cloneElement(r,{fontSize:"small"})}))})):e(he,{nonce:!1,onResize:!1,onResizeCapture:!1,icon:e(B,Object.assign({title:t,arrow:!0},{children:r})),onClick:a,label:t,showInMenu:n}),Qr=r=>{const{children:t,value:n,index:a}=r,i=u(r,["children","value","index"]);return e("div",Object.assign({role:"tabpanel",hidden:n!==a,id:`simple-tabpanel-${a}`,"aria-labelledby":`simple-tab-${a}`},i,{children:n===a?t:null}))},et=t=>{var n;const{tabs:a}=t,i=Y(),l=W(),o=E((()=>new URLSearchParams(l.search)),[l.search]),s=o.get("tab");return r(c,{children:[e(fe,{children:e(ve,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),i.replace({pathname:i.location.pathname,search:o.toString()})}},{children:a.map((r=>e(ye,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:a.map((r=>{var t;return e(Qr,Object.assign({value:s||(null===(t=a[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})},rt=({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(l,{children:e(H,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(i,{children:[e(br,{copyText:s}),e(n,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var tt=be((()=>({container:{borderBottom:"1px solid #ccc",paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const nt=({title:t,text:n,json:a})=>{const i=tt();return r("div",Object.assign({className:i.container},{children:[e("div",Object.assign({className:i.title},{children:t})),n&&e("div",Object.assign({className:i.text},{children:n})),a&&e(H,{readOnly:!0,value:a,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},at=Object.values(nr).sort(((e,r)=>e.localeCompare(r)));var it=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(Oe,{children:e(Dr,{required:!0,control:a,defaultValue:2,name:`${n}.precisionScale`,label:"Precision Scale"})}),e(Oe,{children:e(dr,{required:!0,control:a,name:`${n}.roundingMode`,label:"Rounding Mode",defaultValue:nr.HALF_UP,options:at})})]})};var lt=({propertyFieldName:r,defaultValue:t=""})=>{const{control:n}=h();return e(Oe,{children:e(lr,{required:!0,control:n,defaultValue:t,name:`${r}.format`,label:"Format"})})};const ot=be((()=>({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 n=ot();return r(Ne,Object.assign({nonLinear:!0,orientation:"vertical",className:n.stepper,connector:e(we,{className:n.connector})},{children:[t.map(((t,a)=>r(Se,Object.assign({expanded:!0},{children:[e(Ie,Object.assign({className:n.label,StepIconComponent:st,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e(ke,Object.assign({className:n.content},{children:t.content}))]}),a))),e(Se,{})]}))},dt=({properties:t=[]})=>{const n=E((()=>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`}),E=sr(),[T,x]=O(0),j=C((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,pt),x(e)}else m(`${o}.properties`,[pt])}),[y,o,m]),N=()=>p(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&E.onClose()}));return r(t,{children:[e(Oe,{children:e(K,Object.assign({variant:"h6"},{children:"Properties"}))}),e(Oe,{children:e(ut,{properties:y})}),e(Oe,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:E.onOpen},{children:"Edit properties"}))}),r(a,Object.assign({disableEscapeKeyDown:!0,open:E.open,onClose:N,fullWidth:!0,maxWidth:"md"},{children:[r(s,{children:[v||"Entity"," Properties"]}),e(l,Object.assign({style:{height:"500px",overflow:"hidden"}},{children:r(Oe,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(Oe,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(Ne,Object.assign({nonLinear:!0,activeStep:T,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,n)=>r(Se,Object.assign({onClick:()=>(e=>x(e))(n),style:{cursor:"pointer"}},{children:[e(Ie,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e(ke,{})]}),n)))})),e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:j},{children:"Add property"}))]})),e(Oe,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(Pt,{hideAddButton:!0,parentFieldName:o,focusOnIndex:T,entityDefinition:c,globalParameter:d})}))]}))})),e(i,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:N},{children:"Ok"}))})]}))]})};var gt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(Oe,{children:e(lr,{required:!0,control:a,name:`${n}.definitionCode`,label:"Definition Code"})}),e(Oe,{children:e(lr,{required:!0,control:a,name:`${n}.definitionVersion`,label:"Definition Version"})}),e(Oe,{children:e(lr,{required:!0,control:a,name:`${n}.labelPropertyCode`,label:"Label Property Code"})}),e(Oe,{children:e(lr,{required:!0,control:a,name:`${n}.valuePropertyCode`,label:"Value Property Code"})})]})};var ht=({propertyFieldName:n})=>{const a=E((()=>`${n}.restrictedValues`),[n]),{control:i,setValue:l,getValues:o}=h(),s=g({control:i,name:a,defaultValue:o(`${n}.restrictedValues`)||[]}),[d,u]=O(""),[p,m]=O(""),f=C((e=>{l(a,vr(s,e))}),[s,a,l]),y=()=>{d&&(l(a,[...s,d]),u(""))};return r(t,{children:[e(Oe,{children:e(K,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),e(Oe,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:null==s?void 0:s.map(((r,t)=>e(Pe,{variant:"outlined",label:r,onDelete:()=>f(t)},t)))}))}),e(Oe,{children:e(b,{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(J,Object.assign({size:"small",onClick:y,disabled:!!p},{children:e(Ve,{})}))}})})]})};const bt=({propertyType:r,propertyFieldName:t,entityDefinition:n=!1,globalParameter:a=!1})=>{switch(r){case Qe.STRING:return e(ht,{propertyFieldName:t});case Qe.BIG_DECIMAL:return e(it,{propertyFieldName:t});case Qe.DATE:return e(lt,{propertyFieldName:t,defaultValue:er});case Qe.TIME:return e(lt,{propertyFieldName:t,defaultValue:rr});case Qe.DATE_TIME:return e(lt,{propertyFieldName:t,defaultValue:tr});case Qe.ENTITY_REFERENCE:return e(gt,{propertyFieldName:t});case Qe.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:i,setError:l,clearErrors:o}=h(),s=g({control:a,name:t});return e(H,{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(i(t,e),r)try{JSON.parse(e),o(t)}catch(e){l(t,{message:"Invalid JSON"})}},mode:"json",onLoad:e=>{r||e.getSession().setUseWorker(!1)}})};var yt=({name:t,label:n,required:a,restrictedValues:i})=>{const{control:l}=h(),{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:l,name:t,rules:{required:a&&(Array.isArray(i)&&i.length?"Please, select a value":"Please, fill this field")}}),d=g({control:l,name:t});return Array.isArray(i)&&i.length?r(P,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Ae,Object.assign({htmlFor:"type-select"},{children:n})),e(qe,Object.assign({labelId:"type-select",label:n,value:d||"",onChange:o,ref:s},{children:i.map((r=>e(j,Object.assign({value:r},{children:r}),r)))}))]})):e(lr,{hideErrorMessage:!0,required:a,control:l,name:t,label:n})};const vt=({property:r,name:t,label:n,useExpression:a,inputRef:i})=>{const{control:l}=h();switch(E((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case Qe.BIG_DECIMAL:case Qe.FLOAT:case Qe.DOUBLE:return e(Dr,{decimal:!0,required:!0,hideErrorMessage:!0,control:l,name:t,label:n});case Qe.INTEGER:case Qe.BIG_INTEGER:case Qe.LONG:return e(Dr,{required:!0,hideErrorMessage:!0,control:l,name:t,label:n});case Qe.BOOLEAN:return e(zr,{control:l,name:t});case Qe.DATE:return e(Br,{required:!0,hideErrorMessage:!0,control:l,name:t,label:n,format:r.format});case Qe.TIME:return e(Gr,{required:!0,hideErrorMessage:!0,control:l,name:t,label:n,format:r.format});case Qe.DATE_TIME:return e(Jr,{required:!0,hideErrorMessage:!0,control:l,name:t,label:n,format:r.format});case Qe.JSON:return e(ft,{validate:!0,name:t,inputRef:i});case Qe.STRING:return e(yt,{required:!0,name:t,label:n,restrictedValues:r.restrictedValues});case Qe.ENTITY_REFERENCE:return e(lr,{required:!0,hideErrorMessage:!0,name:t,label:n,control:l});case Qe.ANY:return e(ft,{name:t,inputRef:i});case Qe.ENTITY:return e(zt,{properties:r.properties,dataFieldName:t,useExpression:a});default:return e("div",{children:"No widget"})}};var Ot=({property:e,name:r,label:t,isDirty:n,required:a=!1,useExpression:i=!1,multipleOptions:l=!1})=>{const{control:o}=h(),s=g({control:o,name:r}),c=E((()=>t?`${t} (value)`:`${e.name} (value)`),[t,e]),d=E((()=>t?`${t} (widget)`:`${e.name} (widget)`),[t,e]),u=E((()=>"string"==typeof e.propertyType?e.propertyType:e.propertyType.value),[e]),[p,m]=O(null),b=E((()=>l?Fr({propertyType:u,required:a,useExpression:i}):$r({propertyType:u,required:a,useExpression:i})),[i,a,u,l]);return v((()=>{p?n||(kr(s)&&"expression"!==p?m("expression"):null===s||kr(s)||"widget"===p||m("widget")):Pr(s)&&(null==b?void 0:b.length)?m(b[0].value):i&&kr(s)?m("expression"):m("widget")}),[s,p,b,i,n]),{propertyType:u,valueLabel:c,fillOptionLabel:d,fillOption:p,fillOptions:b,setFillOption:m}};var Ct=be((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const Et=({property:t,name:n,useExpression:a,label:i,required:l,title:o})=>{const{control:s,clearErrors:d}=h(),{field:{ref:u,onChange:p},fieldState:{error:b,isDirty:f}}=m({name:n,rules:{validate:{required:e=>!l||!Pr(e)||"Please, fill this field"}}}),y=g({control:s,name:n}),{propertyType:O,valueLabel:C,fillOptionLabel:E,fillOption:T,fillOptions:x,setFillOption:N}=Ot({property:t,name:n,isDirty:f,label:i,required:l,useExpression:a});v((()=>{void 0===y&&p(null)}),[y,p]);const S=Ct();return r(Oe,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(K,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r(P,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Ae,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:E})),e(qe,Object.assign({labelId:"type-select",label:E,value:T||"",onChange:e=>{const r=e.target.value;"null"===r||"widget"===r?p(null):"expression"!==r&&"string"!==r||p(""),N(r),d(n)}},{children:x.map((r=>e(j,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===T&&(O===Qe.JSON||O===Qe.ENTITY||O===Qe.ANY?e(ft,{name:n,inputRef:u}):e(lr,{control:s,name:n,label:C,required:!0,hideErrorMessage:!0})),"string"===T&&e(lr,{control:s,name:n,label:C,required:!0,hideErrorMessage:!0}),"json_notvalid"===T&&e(ft,{name:n,inputRef:u}),"widget"===T&&e(vt,{property:t,name:n,useExpression:a,label:C,inputRef:u,required:l}),b&&e(K,Object.assign({color:"secondary"},{children:b.message}))]}))};var Tt=({name:t,property:a,useExpression:i,required:l,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=C((()=>{p&&Array.isArray(p)?d(`${t}.${p.length}`,null):d(t,[null]),u(t)}),[t,p,d]),f=C((e=>{d(t,vr(p,e))}),[t,p,d]);return r(Oe,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[p&&Array.isArray(p)?p.map(((n,s)=>e(Oe,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(Et,{required:l,property:a,useExpression:i,name:`${t}.${s}`,label:`${o||a.name} (${s+1})`}),e(c,Object.assign({mt:"8px",ml:"4px"},{children:e(J,Object.assign({size:"small",onClick:()=>f(s)},{children:e(Me,{fontSize:"small"})}))}))]}))}),s))):null,e(Oe,{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const xt=({property:t,name:n,useExpression:a,required:i,label:l,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=>!(i&&!e)||"Please, fill this field"}}),y=g({control:s,name:n}),{propertyType:O,valueLabel:C,fillOptionLabel:E,fillOption:T,fillOptions:x,setFillOption:N}=Ot({property:t,name:n,isDirty:f,label:l,required:i,useExpression:a,multipleOptions:!0});v((()=>{void 0===y&&p(null)}),[y,p]);const S=Ct();return r(Oe,{children:[o&&e(c,Object.assign({mb:2},{children:e(K,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r(P,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Ae,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:E})),e(qe,Object.assign({labelId:"type-select",label:E,value:T||"",onChange:e=>{const r=e.target.value;"null"===r?p(null):"expression"===r||"json_valid"===r||"json_notvalid"===r?p(""):"widget"===r&&p([]),N(r),d(n)}},{children:x.map((r=>e(j,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===T&&(O===Qe.JSON||O===Qe.ENTITY||O===Qe.ANY?e(ft,{name:n,inputRef:u}):e(lr,{required:!0,hideErrorMessage:!0,control:s,name:n,label:C})),"json_valid"===T&&e(ft,{validate:!0,name:n,inputRef:u}),"widget"===T&&e(Tt,{property:t,name:n,useExpression:a,required:i,label:l}),b&&e(K,Object.assign({color:"secondary"},{children:b.message}))]})},jt=({propertyFieldName:r,name:t,label:n="",required:a})=>{const{control:i}=h(),l=g({control:i,name:`${r}.propertyType`}),o=g({control:i,name:`${r}.isMultiple`}),s=g({control:i,name:`${r}.format`}),c=g({control:i,name:`${r}.restrictedValues`}),d=g({control:i,name:`${r}.properties`}),u=g({control:i,name:`${r}.isRequired`}),p=E((()=>{const e="string"==typeof l?l:l.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}}),[l,s,c,o,n,u,d]);return e(o?xt:Et,{name:t,property:p,title:n,required:a})};var Nt=({name:r,label:t="",propertyFieldName:n,type:a,decimal:i=!1,options:l=[],required:o=!1})=>{const{control:s}=h(),c=E((()=>`${n}.${r}`),[r,n]);switch(a){case"text":return e(lr,{control:s,name:c,label:t,required:o});case"number":return e(Dr,{control:s,name:c,label:t,decimal:i,required:o});case"select":return e(dr,{control:s,name:c,label:t,options:l,required:o});case"autocomplete":return e(gr,{control:s,name:c,label:t,options:l,required:o});case"json":return e(yr,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var St=e=>({customCheckboxes:E((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:E((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const It=Object.values(Qe).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var kt=({propertyFieldName:n,entityDefinition:a=!1,globalParameter:i=!1,customPropertyFields:l=[]})=>{const{control:o,setValue:s}=h(),c=g({control:o,name:`${n}.propertyType`}),d=g({control:o,name:`${n}.isMultiple`}),u=g({control:o,name:`${n}.isRequired`}),{customCheckboxes:p,customFields:m}=St(l),b=E((()=>{let e=i?"Value":"Default Value";return d&&(e+="s"),e}),[i,d]);return r(Oe,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(Oe,{children:e(cr,{required:!0,control:o,name:`${n}.key`,label:"Key"})}),e(Oe,{children:e(cr,{required:!0,control:o,name:`${n}.name`,label:"Name"})}),e(Oe,{children:e(gr,{required:!0,control:o,name:`${n}.propertyType`,label:"Type",options:It,onChange:(e,r)=>{const t=`${n}.propertyType`,a=`${n}.${i?"value":"defaultValue"}`;s(a,d?[]:null),s(t,r)}})}),e(Oe,{children:e(Dr,{required:!0,control:o,name:`${n}.sortOrder`,label:"Sort Order"})}),e(Oe,{children:e(yr,{control:o,name:`${n}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(Oe,{children:[e(ur,{control:o,name:`${n}.isMultiple`,label:"Multiple"}),e(ur,{control:o,name:`${n}.isEnabled`,label:"Enabled"}),e(ur,{control:o,name:`${n}.isRequired`,label:"Required"}),a&&e(ur,{control:o,name:`${n}.isViewableInList`,label:"Is viewable in list"}),p.length?e(t,{children:p.map(((r,t)=>e(ur,{control:o,name:`${n}.${r.name}`,label:r.label},t)))}):null]}),c&&r(t,{children:[e(bt,{propertyType:"string"==typeof c?c:c.value,propertyFieldName:n,globalParameter:i,entityDefinition:a}),e(Oe,{children:e(jt,{propertyFieldName:n,name:`${n}.${i?"value":"defaultValue"}`,label:b,required:!!i&&u})})]}),m.length?e(t,{children:m.map(((r,t)=>e(Oe,{children:e(Nt,Object.assign({},r,{propertyFieldName:n}))},t)))}):null]}))};const wt={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},Pt=({parentFieldName:a,hideAddButton:i,focusOnIndex:l,required:o,entityDefinition:s=!1,globalParameter:c=!1,customPropertyFields:d=[]})=>{const u=E((()=>a?`${a}.properties`:"properties"),[a]),{setValue:p,clearErrors:b,control:f}=h(),{fieldState:{error:O}}=m({control:f,name:u,rules:{required:o&&"Please, add properties"}}),T=g({control:f,name:u}),x=y([]);v((()=>{"number"==typeof l&&x.current[l]&&x.current[l].scrollIntoView({behavior:"smooth",block:"start"})}),[l,x]);const j=C((()=>{T?p(`${u}.${T.length}`,wt):p(u,[wt]),b(u)}),[T,u,b,p]),N=C((e=>{p(`${u}`,vr(T,e))}),[T,u,p]);return r(t,{children:[O&&O.message&&e(Oe,Object.assign({sm:12,md:8,lg:6},{children:e(K,Object.assign({color:"secondary"},{children:O.message}))})),T&&T.map(((t,a)=>e(Oe,Object.assign({sm:12,md:8,lg:6,ref:e=>x.current[a]=e},{children:r(Ce,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(Ee,Object.assign({expandIcon:e(je,{})},{children:e(K,Object.assign({color:O&&O[a]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${a+1}`}))})),e(Te,{children:e(kt,{propertyFieldName:`${u}.${a}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(xe,{children:e(n,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>N(a)},{children:"Remove"}))})]}))}),a))),!i&&e(Oe,Object.assign({xs:12},{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:j},{children:"Add property"}))}))]})},Vt=({definitionFieldName:t,title:n,hideCodeField:a,hideVersionField:i,hideNameField:l,required:o=!1})=>{const{control:s}=h();return r(Oe,Object.assign({container:!0,direction:"column",spacing:2},{children:[n&&e(Oe,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(K,Object.assign({variant:"h4"},{children:n}))}))})),!l&&e(Oe,Object.assign({sm:12,md:8,lg:6},{children:e(lr,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!a&&e(Oe,Object.assign({sm:12,md:8,lg:6},{children:e(lr,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!i&&e(Oe,Object.assign({sm:12,md:8,lg:6},{children:e(Dr,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(Pt,{required:o,parentFieldName:t})]}))},qt=({value:r,height:t="200px"})=>{const n=E((()=>{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(H,{readOnly:!0,value:n,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},At={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"},Mt=({value:r,type:t})=>t!==Qe.JSON&&t!==Qe.ENTITY&&t!==Qe.ANY||!r?e(K,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(qt,{value:r}),Rt=(r,t,n)=>{switch(t){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return r?e(De,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return r?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:r.map((r=>e(Pe,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(Mt,{value:r,type:n});case"values":case"defaultValues":return Array.isArray(r)&&n!==Qe.ENTITY&&n!==Qe.JSON&&n!==Qe.ANY?e("div",{children:null==r?void 0:r.map(((r,t)=>e("div",{children:e(Mt,{value:r,type:n})},t)))}):e(qt,{value:r});case"uiSettings":return r?e(qt,{value:r}):null;default:return e(K,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:r}))}};var Lt=({property:t})=>{const n=E((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(Re,Object.assign({size:"small"},{children:e(Le,{children:Object.keys(At).map((t=>t in n?r(Fe,{children:[e($e,Object.assign({width:"30%"},{children:e(K,{children:At[t]})})),e($e,{children:Rt(n[t],t,n.propertyType)})]},t):null))})}))};var Ft=x((({properties:t,parentNames:n=[]})=>{const a=E((()=>{let e=!1;return t.every((r=>r.propertyType!==Qe.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(K,Object.assign({variant:"h6"},{children:"Properties"})),r(Ne,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Se,Object.assign({expanded:!0},{children:[e(Ie,{StepIconProps:{icon:"",completed:!1,active:!0}}),e(ke,{children:e($t,{property:t,parentNames:[...n],defaultExpanded:!1})})]}),t.key))),a&&e(Se,{})]}))]}))}));const $t=({property:t,parentNames:n=[],defaultExpanded:a=!0})=>{const[i,l]=O(!0);return v((()=>{l(a)}),[a]),r(Ce,Object.assign({elevation:3,style:{backgroundColor:n.length%2==1?"#f1f1f1":"#fff"},expanded:i,onChange:()=>l((e=>!e))},{children:[e(Ee,Object.assign({expandIcon:e(je,{})},{children:e(K,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(Te,{children:r(c,Object.assign({width:"100%"},{children:[e(Lt,{property:t}),t.propertyType===Qe.ENTITY&&e(Ft,{properties:Mr(t.properties),parentNames:[...n,t.name]})]}))})]}))},Dt=({properties:r,expandAll:t=!0})=>{const n=E((()=>Array.isArray(r)?r:r?Mr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:n.length?n.map((r=>e($t,{property:r,defaultExpanded:t},r.key))):e(K,{children:"No properties"})}))},zt=({properties:t,dataFieldName:n,useExpression:a=!1,title:i})=>{const l=E((()=>t?t.map((t=>{const i="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"," | ",i]})]})),content:t.isMultiple?e(xt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired}):e(Et,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired})}})):[]),[t,n,a]);return r(Oe,Object.assign({container:!0,direction:"column",spacing:2},{children:[i&&e(Oe,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:i}))})),e(ct,{data:l})]}))},Bt=({property:r,data:t,properties:n})=>{if(kr(t))return e(c,Object.assign({style:{backgroundColor:"#fff",border:"1px solid #ccc",borderRadius:"4px",padding:"4px"}},{children:null===t?"null":null==t?void 0:t.toString()}));switch(r.propertyType){case Qe.JSON:return e(qt,{value:t});case Qe.ENTITY:return e(Gt,{properties:n,data:t});case Qe.ANY:return e(qt,{value:t});default:return e(c,Object.assign({style:{backgroundColor:"#fff",border:"1px solid #ccc",borderRadius:"4px",padding:"4px"}},{children:null===t?"null":null==t?void 0:t.toString()}))}};var Jt=({property:r,data:t,hasBackground:n=!1})=>{const a=E((()=>r.propertyType===Qe.ENTITY?Array.isArray(r.properties)?r.properties:Mr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:n?"#f1f1f1":"none"}},{children:e(Bt,{property:r,data:t,properties:a})}))};const Gt=({properties:n,data:a})=>{const i=E((()=>n&&a?n.map((n=>{const{key:i,name:l,isMultiple:o,propertyType:s}=n,d=a[n.key];return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[e("b",{children:l}),r("span",{children:[i," | ",o?"multiple":"single"," | ",s]})]})),content:o&&Array.isArray(d)?e(t,{children:d.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(Jt,{property:n,data:r,hasBackground:!0})}),t)))}):e(Jt,{property:n,data:d})}})):[]),[n,a]);return e(Oe,Object.assign({container:!0,direction:"column",spacing:2},{children:e(ct,{data:i})}))};var Yt=be((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const Wt=({text:r,status:t="default"})=>{const n=Yt();return e("div",Object.assign({className:ze(n.root,{[t]:!0})},{children:r}))},_t=be((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),Ht=({properties:t,parentKey:n="",activePath:a="",prefix:i="",onClick:l})=>{const o=_t();return e(Ne,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(Se,Object.assign({expanded:!0,onClick:()=>{return e=c,void l(i?`${i}.${e}`:e);var e}},{children:[e(Ie,Object.assign({StepIconProps:{icon:"",completed:!1,active:a===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e(ke,{children:e("div",{children:d===Qe.ENTITY&&e(Ht,{onClick:l,activePath:a,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var Kt=Ht;const Ut=({open:t=!1,onClose:o,onPaste:c,properties:d})=>{const[u,p]=O("");return r(a,Object.assign({open:t,onClose:o,fullWidth:!0,maxWidth:"md"},{children:[e(s,{children:"JSON path picker"}),r(l,{children:[(null==d?void 0:d.length)?d.map(((t,n)=>r("div",{children:[e(K,Object.assign({variant:"h6"},{children:t.title})),e(Kt,{properties:t.properties,prefix:t.pathPrefix,onClick:p,activePath:u})]},n))):e(K,{children:"Please, add properties"}),u&&r(K,Object.assign({variant:"h6",gutterBottom:!0},{children:["Selected path : $(",u,")"]}))]}),r(i,{children:[e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{navigator.clipboard.writeText(`$(${u})`),Be.success("Copied!")}},{children:"Copy"})),e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${u})`),Be.success("Pasted!")}},{children:"Paste"})),e(n,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))};var Xt=({children:r})=>e("span",Object.assign({style:{backgroundColor:"#e4ecff"}},{children:r}));const Zt=Ge();Object.assign(Zt,{overrides:{MUIRichTextEditor:{root:{marginTop:20,width:"100%",border:"1px solid gray",padding:"8px"},editor:{minHeight:"300px"},toolbar:{backgroundColor:"#eee"}}}});const Qt=({fieldName:t,getProperties:n,initialText:a})=>{const{control:i,setValue:l,clearErrors:o}=h(),{fieldState:{error:s}}=m({control:i,name:t,rules:{required:"Please, fill content"}}),c=We(_e.createEmpty().getCurrentContent()),{open:d,onOpen:u,onClose:p}=sr(),[g,b]=O(JSON.stringify(c)),[f,y]=O([]),[C,E]=O(null);v((()=>{if(a){const e=He(a),r=e&&Ke.createFromBlockArray(e.contentBlocks,e.entityMap);b(JSON.stringify(We(r)))}}),[a]);return r(Ye,Object.assign({theme:Zt},{children:[e(Je,{defaultValue:g,label:"Start here...",controls:["title","bold","italic","strikethrough","numberList","bulletList","code","jsonPathPicker"],onChange:e=>{const r=e.getCurrentContent(),n=e.getSelection();_e.push(e,Ue.replaceText(r,n,""),"remove-range");const a=!e.getCurrentContent().hasText(),i=r.getPlainText();l(t,a?"":i),o(t)},customControls:[{name:"jsonPathPicker",icon:e(Xe,{}),type:"callback",onClick:e=>{E(e),y(n()),u()}}],decorators:[{component:Xt,regex:/\$\([^\s]*\)/g}]}),e(K,Object.assign({color:"secondary"},{children:null==s?void 0:s.message})),d&&e(Ut,{open:d,properties:f,onClose:p,onPaste:e=>{const r=C.getCurrentContent(),t=C.getSelection(),n=_e.push(C,Ue.insertText(r,t,e),"insert-characters").getCurrentContent();b(JSON.stringify(We(n))),p()}})]}))};export{ir as AlertDialog,fr as BackButton,yr as ControlAceEditor,gr as ControlAutocomplete,ur as ControlCheckbox,Br as ControlDate,Jr as ControlDateTime,cr as ControlDebouncedInput,lr as ControlInput,Dr as ControlNumberInput,hr as ControlQueryAutocomplete,pr as ControlRadio,dr as ControlSelect,zr as ControlSwitch,Gr as ControlTime,br as CopyButton,Vt as CreateDefinition,Pt as CreatePropertiesList,er as DATE_DEFAULT_FORMAT,tr as DATE_TIME_DEFAULT_FORMAT,zt as DefinitionFiller,Gt as DefinitionValueView,nt as InfoItem,rt as JsonModalView,Ut as JsonPathPicker,qt as JsonView,ar as Loader,xt as MultiplePropertyFiller,Et as PropertyFiller,Qe as PropertyType,jt as PropertyValueField,nr as RoundingMode,et as RouteTabs,Wt as Status,ct as StepperView,rr as TIME_DEFAULT_FORMAT,Qr as TabPanel,Xr as Table,Zr as TableAction,Qt as TemplateContentEditor,Dt as ViewPropertiesList,$t as ViewProperty,Cr as capitalize,jr as deepParseJson,Sr as digitsOnly,Ir as floatsOnly,qr as formatDefinitionData,Nr as formatTableRowValue,Rr as getDemPropertyDateFormat,Lr as getEntityStarterValue,Tr as getJsonStringValue,Fr as getMultiplePropertyFillOptions,$r as getSinglePropertyFillOptions,wr as isDateType,kr as isExpression,Pr as isPropertyValueEmpty,Ar as propertiesArrayToObject,Mr as propertiesObjectToArray,vr as removeArrayItem,xr as safeParseJson,Er as sortArrayOfObjects,or as useDebounce,sr as useToggle,Or 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 h,useFormContext as g,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,createContext as x,useContext as j,memo as S}from"react";import I from"@mui/material/MenuItem";import w from"@mui/icons-material/Clear";import{InputAdornment as k,IconButton as P,FormHelperText as M,Box as V}from"@mui/material";import A from"@mui/material/FormControl";import $ from"@mui/material/FormControlLabel";import q from"@mui/material/FormHelperText";import R from"@mui/material/Checkbox";import L from"@mui/material/Radio";import D from"@mui/material/RadioGroup";import F from"@mui/material/FormLabel";import z from"@mui/material/Autocomplete";import{useQuery as B}from"react-query";import G from"qs";import J from"@mui/icons-material/FileCopyOutlined";import _ from"@mui/material/Tooltip";import Y from"@mui/material/IconButton";import W from"@mui/icons-material/ArrowBack";import{useHistory as H,useLocation as K,Link as U}from"react-router-dom";import X from"react-ace";import Z from"@mui/material/Typography";import Q from"@mui/material/Switch";import{DatePicker as ee}from"@mui/x-date-pickers/DatePicker";import{format as re,isMatch as te,isValid as ne,parse as ae}from"date-fns";import{DateTimePicker as le}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as ie}from"@mui/x-date-pickers/TimePicker";import oe from"@mui/material/Pagination";import se from"@mui/material/TablePagination";import{useGridApiContext as ce,useGridSelector as de,gridPageSelector as ue,gridPageCountSelector as pe,gridRowCountSelector as me,gridPageSizeSelector as he,GridColumnMenuContainer as ge,GridFilterMenuItem as be,DataGrid as fe,GridActionsCellItem as ye}from"@mui/x-data-grid";import{makeStyles as ve}from"@mui/styles";import Oe from"@mui/material/Paper";import Ee from"@mui/material/Tab";import Te from"@mui/material/Tabs";import Ce from"@mui/material/Unstable_Grid2";import Ne from"@mui/material/Accordion";import xe from"@mui/material/AccordionSummary";import je from"@mui/material/AccordionDetails";import Se from"@mui/material/AccordionActions";import Ie from"@mui/icons-material/ExpandMore";import we from"@mui/icons-material/Delete";import ke from"@mui/material/Stepper";import Pe from"@mui/material/Step";import Me from"@mui/material/StepLabel";import Ve from"@mui/material/StepContent";import Ae from"@mui/material/StepConnector";import $e from"@mui/material/Chip";import qe from"@mui/icons-material/Add";import Re from"@mui/material/Select";import Le from"@mui/material/InputLabel";import De from"@mui/icons-material/Close";import Fe from"@mui/material/Table";import ze from"@mui/material/TableBody";import Be from"@mui/material/TableRow";import Ge from"@mui/material/TableCell";import Je from"@mui/icons-material/CheckCircle";import _e from"classnames";import{toast as Ye}from"react-toastify";import We from"@mui/icons-material/NotInterested";var He;!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"}(He||(He={}));const Ke="yyyy-MM-dd",Ue="HH:mm:ss",Xe="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var Ze;!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"}(Ze||(Ze={}));const Qe=({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,{})})),er=({open:t,title:d,description:u,closeButtonTitle:p="Close",onClose:m,confirmButtonTitle:h="Confirm",confirmButtonDisabled:g=!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(Qe,{}),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})),h&&b?e(n,Object.assign({onClick:b,color:"secondary",variant:"contained",autoFocus:!0,disabled:g},{children:h})):null]})]}))}),rr=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:g}=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=h({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:g||v},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))};function tr(e,r){const t=v();O((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...n)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),r)}}const nr=()=>{const[e,r]=E(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},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:g}=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=h({control:n,name:l}),[x,j]=E("");O((()=>{!x&&N&&j(N)}),[x,N]);const S=tr((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:""})}))},lr=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:g,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=h({control:n,name:l}),x=T((e=>"string"==typeof e?e:b?e[b]:e.value),[b]),j=T((e=>"string"==typeof e?e:g?e[g]:e.label),[g]),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(k,Object.assign({position:"end",sx:{mr:2}},{children:e(P,Object.assign({onClick:S,size:"small"},{children:e(w,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(I,Object.assign({value:x(r)},{children:j(r)}),t)))}))},ir=t=>{var{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p}=t,g=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=h({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(A,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e($,{control:e(R,Object.assign({checked:O,onChange:p||f,name:l,inputRef:b,disabled:c},g)),label:i}),!d&&(null==y?void 0:y.message)&&e(q,{children:y.message})]}))},or=({name:t,label:n,values:a=[],control:l,required:i,defaultValue:o,disabled:s,hideErrorMessage:c,labelKey:d,valueKey:u,validate:p,onChange:g})=>{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=h({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(A,Object.assign({disabled:s,error:!!y},{children:[e(F,Object.assign({id:"radio-buttons-group"},{children:n})),e(D,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:g||f},{children:a.map((r=>e($,{value:O(r),control:e(L,{}),label:E(r)})))})),!c&&(null==y?void 0:y.message)&&e(M,{children:y.message})]}))};var sr=({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=>"string"==typeof e?e:r?e[r]+"":e.label?e.label+"":"--no label--"),[r]),a=T(((e,r)=>N(V,Object.assign({},e,{component:"li",key:e.id}),n(r))),[n]);return{isOptionEqualToValue:t,getOptionLabel:n,renderOption:a}};const cr=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:g,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:N},fieldState:{error:x}}=m({name:a,control:t,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:n}}),j=h({control:t,name:a}),{getOptionLabel:S,isOptionEqualToValue:I,renderOption:w}=sr({valueKey:g,labelKey:p}),k=C((()=>{if((null==b?void 0:b.length)&&j){const e=b.find((e=>I(e,j)));if(e)return e}else if(j)return j;return y?[]:null}),[j,y,b,I]);return e(z,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:b,multiple:y,getOptionLabel:S,isOptionEqualToValue:I,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:k,onChange:d||((e,r)=>{N(r)}),renderOption:w,renderInput:r=>e(f,Object.assign({},r,{variant:"outlined",name:a,label:l,error:!!x,inputRef:T,helperText:!c&&(null==x?void 0:x.message)},v))},E))},dr=t=>{var{name:n,label:a,control:l,required:i=!1,searchBy:o,labelKey:s,multiple:c=!1,disabled:p,valueKey:g,sortBy:b="",hideErrorMessage:v,disableCloseOnSelect:N,textFieldProps:x,onChange:j,queryFunction:S,validate:I}=t,w=u(t,["name","label","control","required","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction","validate"]);const{field:{ref:k,onChange:P},fieldState:{error:M}}=m({control:l,name:n,rules:{required:i&&"Please, fill this field",validate:I}}),V=h({control:l,name:n}),{getOptionLabel:A,isOptionEqualToValue:$,renderOption:q}=sr({valueKey:g,labelKey:s}),[R,L]=E(!1),[D,F]=E(""),[J,_]=E(""),[Y,W]=E(0),[H,K]=E(0),[U,X]=E([]),Z=C((()=>{if(""===V||void 0===V||!(null==U?void 0:U.length))return c?[]:null;if(U&&V){return U.find((e=>$(e,V)))}return V}),[V,c,U,$]),Q=tr((e=>{K(0),_(e),X([])}),500),ee=T(((e,r)=>{F(r),Q(r)}),[Q]),re=T(((e,r)=>{P(r),j&&j(e,r)}),[P,j]),te=T((e=>{const r=e.currentTarget;r.scrollHeight-r.scrollTop-r.clientHeight<=1&&U.length<Y&&K((e=>e+1))}),[Y,U]),{data:ne,isFetching:ae}=B(["options",H,J],(()=>{const e=G.parse(Object.assign({page:`${H}`,size:"20",sort:b},J?{[o]:J}:{}),{ignoreQueryPrefix:!0});return S(e)}));return O((()=>{ne&&(X((e=>[...e,...ne.collection])),W(ne.totalItems))}),[ne]),e(z,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:p,options:U,multiple:c,getOptionLabel:A,isOptionEqualToValue:$,disableCloseOnSelect:N||c,filterSelectedOptions:c,inputValue:D,value:Z,onChange:re,loading:ae,clearOnBlur:!1,open:R,filterOptions:e=>e,onOpen:()=>{L(!0)},onClose:()=>{L(!1),_("")},onInputChange:ee,ListboxProps:{onScroll:te},renderOption:q,renderInput:t=>e(f,Object.assign({},t,{label:a,variant:"outlined",error:!!M,inputRef:k,helperText:!v&&(null==M?void 0:M.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(y.Fragment,{children:[ae?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},x))},w))},ur=({copyText:r,helpText:t="Copy"})=>{const[n,a]=E(t);return n?e(_,Object.assign({title:n,placement:"top"},{children:e(Y,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),a("Copied!"),setTimeout((()=>{a(t)}),1e3)}},{children:e(J,{fontSize:"small"})}))})):null},pr=({text:r,buttonProps:t={}})=>{const a=H(),{state:l}=K(),i=C((()=>null==l?void 0:l.from),[l]),o=T((()=>{i?a.push(i):a.goBack()}),[a,i]);return e(c,Object.assign({mr:2},{children:r?e(n,Object.assign({color:"inherit",onClick:i?null:o,component:U,to:null!=i?i:""},t,{children:r})):e(Y,Object.assign({onClick:o},{children:e(W,{})}))}))},mr=({control:n,name:a,mode:l="json",label:i,width:o="100%",height:s="200px",theme:d="monokai",readOnly:u,required:p=!1,validateJson:b=!1,fontSize:f=16,validate:y=!0,parseValue:v})=>{const{setError:O,clearErrors:E}=g(),{field:{onChange:T},fieldState:{error:C}}=m({control:n,name:a}),N=h({control:n,name:a});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:i&&e(Z,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:i}))}),r(t,{children:[e(X,{focus:!0,wrapEnabled:!0,width:o,height:s,showPrintMargin:!1,theme:d,fontSize:f,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:u,value:"json"===l&&"string"!=typeof N?null===N?"":JSON.stringify(N):N,onChange:e=>{if(!e&&p?O(a,{message:"Required field"}):E(a),b)try{JSON.parse(e),E(a)}catch(e){O(a,{message:"Invalid JSON"})}if(v)try{const r=JSON.parse(e);console.log("parsed val:",r),T(r)}catch(r){T(e)}else T(e)},mode:l,onLoad:e=>{y&&b||e.getSession().setUseWorker(!1)}}),C&&e(q,Object.assign({error:!0},{children:C.message}))]})]}))},hr=(e,r)=>{const t=[...e];return t.splice(r,1),t},gr=e=>{try{JSON.parse(e)}catch(e){return!1}return!0};function br(e){return e.replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))}const fr=(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},yr=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},vr=e=>{try{return JSON.parse(e)}catch(e){return null}},Or=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=Or(r[e])})),r}catch(r){return e}},Er=({value:t,type:n,copyText:a,status:l})=>{switch(n){case"JSON_copy":return r(c,Object.assign({width:"100%"},{children:[e(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:e(ur,{copyText:yr(t)})})),e(Dt,{value:t})]}));case"JSON":return e(Dt,{value:t});case"JSON_text":return e(c,Object.assign({width:"100%"},{children:e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t}))}));case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(ur,{copyText:a||t})]}));case"boolean":return t?e(Je,{color:"primary",fontSize:"small"}):e(We,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:re(new Date(t),"dd.MM.yyyy")}),e("div",{children:re(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(Zt,{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})}},Tr=new RegExp("^[-+]?[0-9]+$"),Cr=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),Nr=e=>"string"==typeof e&&e.includes("$("),xr=e=>e===He.DATE||e===He.DATE_TIME||e===He.TIME,jr=e=>!e&&0!==e&&!1!==e,Sr=(e,r,t)=>{if(null==r&&e!==He.BOOLEAN)return null;let n=r;switch(e){case He.BOOLEAN:n=!!r;break;case He.INTEGER:case He.BIG_INTEGER:case He.BIG_DECIMAL:case He.FLOAT:case He.LONG:case He.DOUBLE:n=Number(r);break;case He.DATE:case He.DATE_TIME:case He.TIME:n=re(new Date(r.toString()),t.formatText);break;case He.JSON:case He.ANY:try{"string"!=typeof r&&(n=JSON.stringify(r)),n=JSON.parse(n)}catch(e){console.log(e),n=null}break;case He.ENTITY:n=Ir(t.properties,r)}return n},Ir=(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=>Sr(a,r,{formatText:e.format,properties:e.properties}))):t[n]=Sr(a,l,{formatText:e.format,properties:e.properties})})),t}return null},wr=(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=>Sr(e.propertyType,r,{formatText:e.format,properties:e.properties}))):t[a]=Sr(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===He.BIG_DECIMAL&&(p.precisionScale=e.precisionScale,p.roundingMode=e.roundingMode),u!==He.DATE&&u!==He.TIME&&u!==He.DATE_TIME||(p.format=e.format),u===He.STRING&&(p.restrictedValues=e.restrictedValues),u===He.ENTITY_REFERENCE&&(p.definitionCode=e.definitionCode,p.definitionVersion=e.definitionVersion,p.labelPropertyCode=e.labelPropertyCode,p.valuePropertyCode=e.valuePropertyCode),u===He.ENTITY&&(p.properties=wr(e.properties,r)),t[n]=p})),t};function kr(e,r){return Object.keys(e).map((t=>{const n=Object.assign(Object.assign({key:t},e[t]),r||{});if(n.propertyType===He.ENTITY&&(n.properties=kr(n.properties,r)),n.propertyType===He.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=""}if(n.validationNode)try{n.validationNode=JSON.stringify(n.validationNode,null,2)}catch(e){n.validationNode=""}return n.isMultiple&&("defaultValues"in n&&(n.defaultValue=n.defaultValues),"values"in n&&(n.value=n.values)),n})).sort(((e,r)=>fr(e,r,"sortOrder")))}const Pr=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return re(new Date,e),e}catch(r){return console.error("Incorrect format",r),e}return e},Mr=e=>{let r=[];return r=Array.isArray(e.properties)?e.properties:kr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===He.ENTITY?t[r.key]=Mr(r):t[r.key]=r.propertyType,t}),{})},Vr=({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===He.JSON||e===He.ENTITY||e===He.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e!==He.JSON&&e!==He.ANY&&e!==He.ENTITY||n.push({value:"json_valid",label:"JSON editor",sortOrder:2}),n=n.sort(((e,r)=>fr(e,r,"sortOrder"))),n},Ar=({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===He.JSON||e===He.ENTITY||e===He.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e){case He.STRING:n[0].label="Text input";break;case He.INTEGER:case He.BIG_INTEGER:case He.BIG_DECIMAL:case He.FLOAT:case He.LONG:case He.DOUBLE:n[0].label="Number input";break;case He.BOOLEAN:n[0].label="Switch";break;case He.ENTITY_REFERENCE:n[0].label="Entity reference fields";break;case He.JSON:n[0].label="JSON editor";break;case He.DATE:n[0].label="Date picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case He.DATE_TIME:n[0].label="Date & Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case He.TIME:n[0].label="Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case He.ANY:n[0].label="Textarea"}return n=n.sort(((e,r)=>fr(e,r,"sortOrder"))),n},$r=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:g=!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=>g&&!Cr.test(e)?"Not valid number":!(!g&&!Tr.test(e))||"Not valid integer"}}),E=h({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)||g&&"."===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:""})}))},qr=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=h({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($,{label:a,name:n,control:e(Q,Object.assign({color:"primary",size:"small",inputRef:i,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},l))})},Rr=({control:r,name:t,required:n,label:a,format:l=Ke,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=>!!te(e,l)||"Incorrect date format"}}),d=h({control:r,name:t});return e(ee,{mask:"",label:a,inputRef:s,inputFormat:l,value:d||null,onChange:e=>{o(ne(e)?re(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)}))})},Lr=({control:r,name:t,required:n,label:a,format:l=Xe,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=>!!te(e,l)||"Incorrect date format"}}),d=h({control:r,name:t});return e(le,{mask:"",ampm:!1,inputRef:s,label:a,value:d||null,inputFormat:l,onChange:e=>{o(ne(e)?re(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)}))})},Dr=({control:r,name:t,required:n,label:a,format:l=Ue,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=>!!te(e,l)||"Incorrect date format"}}),d=h({control:r,name:t}),[u,p]=E(null);return O((()=>{if(d&&l){let e=ae(d,l,new Date);ne(e)||(e=ae(d,"HH:mm:ss.SSS",new Date)),p(e)}}),[d,l]),e(ie,{mask:"",inputRef:s,label:a,ampm:!1,value:u,inputFormat:l,onChange:e=>{p(e),o(ne(e)?re(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 Fr=()=>{const n=ce(),a=de(n,ue),l=de(n,pe),i=de(n,me),o=de(n,he),s=e=>n.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(se,{component:"div",page:a,count:i,rowsPerPage:o,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>s(r),onRowsPerPageChange:e=>n.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:()=>e(t,{})}),e(oe,{count:l,page:a+1,onChange:(e,r)=>s(r-1)})]}))};var zr=r=>{var{hideMenu:t,currentColumn:n,onUnsort:a}=r,l=u(r,["hideMenu","currentColumn","onUnsort"]);return e(ge,Object.assign({hideMenu:t,currentColumn:n},l,{children:e(be,{onClick:t,column:n})}))};var Br=({mode:e})=>{const r=H(),{search:t,state:n}=K(),a=C((()=>new URLSearchParams(t)),[t]),l=+a.get("page")||0,i=+a.get("size")||10;return O((()=>{"server"===e&&(a.has("page")||a.set("page","0"),a.has("size")||a.set("size","10"),r.replace({pathname:r.location.pathname,search:a.toString()},n))}),[t,e]),{page:l,size:i,onPageChange:e=>{a.set("page",`${e}`),r.replace({pathname:r.location.pathname,search:a.toString()})},onSizeChange:e=>{a.set("size",`${e}`),r.replace({pathname:r.location.pathname,search:a.toString()})}}};var Gr=()=>{const e=H(),{search:r,state:t}=K(),n=C((()=>new URLSearchParams(r)),[r]),a=n.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:r})=>{let a=!1;const l=n.getAll("sort");n.delete("sort"),l.forEach((e=>{const[t,l]=e.split(",");t===r?(a=!0,"asc"===l&&n.append("sort",`${t},desc`)):n.append("sort",`${t},${l}`)})),a||n.append("sort",`${r},asc`),e.replace({pathname:e.location.pathname,search:n.toString()},t)},getSortedColumns:e=>e.map((e=>{const r=a.find((r=>r[0]===e.field));return e.headerClassName=r?`Sorted --${r[1]} `:"",e}))}};var Jr=e=>{const[r,t]=E(10);O((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},_r=ve({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",whiteSpace:"normal !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 Yr=({columns:r,rows:t,rowCount:n,loading:a,disableMargin:l,mode:i="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const u=_r(),{page:p,size:m,onPageChange:h,onSizeChange:g}=Br({mode:i}),{onColumnHeaderClick:b,getSortedColumns:f}=Gr(),{pageSize:y,handlePageSizeChange:v}=Jr(o),O={sortingMode:i,paginationMode:i,pageSize:"server"===i?m:s?y:n,onPageSizeChange:"server"===i?g:v,components:{Pagination:Fr}};return"server"===i&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=p,O.onPageChange=h,O.components.ColumnMenu=zr),e(c,Object.assign({mt:l?0:2},{children:e(fe,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))}))},Wr=({icon:r,label:t,showInMenu:n,onClick:a,location:l})=>l?e(Y,Object.assign({component:U,to:l,size:"small"},{children:e(_,Object.assign({title:t,arrow:!0},{children:y.cloneElement(r,{fontSize:"small"})}))})):e(ye,{nonce:!1,onResize:!1,onResizeCapture:!1,icon:e(_,Object.assign({title:t,arrow:!0},{children:r})),onClick:a,label:t,showInMenu:n}),Hr=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}))},Kr=t=>{var n;const{tabs:a}=t,l=H(),i=K(),o=C((()=>new URLSearchParams(i.search)),[i.search]),s=o.get("tab");return r(c,{children:[e(Oe,{children:e(Te,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.replace({pathname:l.location.pathname,search:o.toString()})}},{children:a.map((r=>e(Ee,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:a.map((r=>{var t;return e(Hr,Object.assign({value:s||(null===(t=a[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})},Ur=({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(X,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(l,{children:[e(ur,{copyText:s}),e(n,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var Xr=ve((()=>({container:{paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const Zr=({title:t,text:n,json:a})=>{const l=Xr();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(X,{readOnly:!0,value:a,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},Qr=Object.values(Ze).sort(((e,r)=>e.localeCompare(r)));var et=({propertyFieldName:n})=>{const{control:a}=g();return r(t,{children:[e(Ce,{children:e($r,{required:!0,control:a,defaultValue:2,name:`${n}.precisionScale`,label:"Precision Scale"})}),e(Ce,{children:e(lr,{required:!0,control:a,name:`${n}.roundingMode`,label:"Rounding Mode",defaultValue:Ze.HALF_UP,options:Qr})})]})};var rt=({propertyFieldName:r,defaultValue:t=""})=>{const{control:n}=g();return e(Ce,{children:e(rr,{required:!0,control:n,defaultValue:t,name:`${r}.format`,label:"Format"})})};const tt=ve((()=>({content:{marginLeft:"4px"},connector:{marginLeft:"4px"},stepper:{padding:"12px"},label:{display:"flex",alignItems:"flex-start"}}))),nt=()=>e("div",{style:{display:"inline-block",width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#536DFE",marginTop:"5px"}}),at=({data:t})=>{const n=tt();return r(ke,Object.assign({nonLinear:!0,orientation:"vertical",className:n.stepper,connector:e(Ae,{className:n.connector})},{children:[t.filter(Boolean).map(((t,a)=>r(Pe,Object.assign({expanded:!0},{children:[e(Me,Object.assign({className:n.label,StepIconComponent:nt,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e(Ve,Object.assign({className:n.content},{children:t.content}))]}),a))),e(Pe,{})]}))},lt=({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(lt,{properties:t.properties})}})):[]),[t]);return e(at,{data:n})};var it=lt;const ot={key:"",propertyType:"",name:"",defaultValue:"",isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0};var st=({parentPropertyFieldName:o,entityDefinition:c=!1,globalParameter:d=!1})=>{const{control:u,setValue:m,getValues:b,trigger:f}=g(),y=h({control:u,name:`${o}.properties`,defaultValue:b(`${o}.properties`)||[]}),v=h({control:u,name:`${o}.name`}),O=nr(),[C,N]=E(0),x=T((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,ot),N(e)}else m(`${o}.properties`,[ot])}),[y,o,m]),j=()=>p(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&O.onClose()}));return r(t,{children:[e(Ce,{children:e(Z,Object.assign({variant:"h6"},{children:"Properties"}))}),e(Ce,{children:e(it,{properties:y})}),e(Ce,{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(Ce,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(Ce,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(ke,Object.assign({nonLinear:!0,activeStep:C,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,n)=>r(Pe,Object.assign({onClick:()=>(e=>N(e))(n),style:{cursor:"pointer"}},{children:[e(Me,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e(Ve,{})]}),n)))})),e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))]})),e(Ce,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(Rt,{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 ct=({propertyFieldName:n})=>{const{control:a}=g();return r(t,{children:[e(Ce,{children:e(rr,{required:!0,control:a,name:`${n}.definitionCode`,label:"Definition Code"})}),e(Ce,{children:e(rr,{required:!0,control:a,name:`${n}.definitionVersion`,label:"Definition Version"})}),e(Ce,{children:e(rr,{required:!0,control:a,name:`${n}.labelPropertyCode`,label:"Label Property Code"})}),e(Ce,{children:e(rr,{required:!0,control:a,name:`${n}.valuePropertyCode`,label:"Value Property Code"})})]})};var dt=({propertyFieldName:n})=>{const a=C((()=>`${n}.restrictedValues`),[n]),{control:l,setValue:i,getValues:o}=g(),s=h({control:l,name:a,defaultValue:o(`${n}.restrictedValues`)||[]}),[d,u]=E(""),[p,m]=E(""),b=T((e=>{i(a,hr(s,e))}),[s,a,i]),y=()=>{d&&(i(a,[...s,d]),u(""))};return r(t,{children:[e(Ce,{children:e(Z,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),!!(null==s?void 0:s.length)&&e(Ce,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:s.map(((r,t)=>e($e,{sx:{mr:1},variant:"outlined",label:r,onDelete:()=>b(t)},t)))}))}),e(Ce,{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(Y,Object.assign({size:"small",onClick:y,disabled:!!p},{children:e(qe,{})}))}})})]})};const ut=({propertyType:r,propertyFieldName:t,entityDefinition:n=!1,globalParameter:a=!1})=>{switch(r){case He.STRING:return e(dt,{propertyFieldName:t});case He.BIG_DECIMAL:return e(et,{propertyFieldName:t});case He.DATE:return e(rt,{propertyFieldName:t,defaultValue:Ke});case He.TIME:return e(rt,{propertyFieldName:t,defaultValue:Ue});case He.DATE_TIME:return e(rt,{propertyFieldName:t,defaultValue:Xe});case He.ENTITY_REFERENCE:return e(ct,{propertyFieldName:t});case He.ENTITY:return e(st,{parentPropertyFieldName:t,globalParameter:a,entityDefinition:n});default:return null}};var pt=({validate:r=!1,name:t,inputRef:n})=>{const{control:a,setValue:l,setError:i,clearErrors:o}=g(),s=h({control:a,name:t});return e(X,{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 mt=({name:t,label:n,required:a,restrictedValues:l})=>{const{control:i}=g(),{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=h({control:i,name:t});return Array.isArray(l)&&l.length?r(A,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Le,Object.assign({htmlFor:"type-select"},{children:n})),e(Re,Object.assign({labelId:"type-select",label:n,value:d||"",onChange:o,ref:s},{children:l.map((r=>e(I,Object.assign({value:r},{children:r}),r)))}))]})):e(rr,{hideErrorMessage:!0,required:a,control:i,name:t,label:n})};const ht=({property:r,name:t,label:n,useExpression:a,inputRef:l})=>{const{control:i}=g();switch(C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case He.BIG_DECIMAL:case He.FLOAT:case He.DOUBLE:return e($r,{decimal:!0,required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case He.INTEGER:case He.BIG_INTEGER:case He.LONG:return e($r,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case He.BOOLEAN:return e(qr,{control:i,name:t});case He.DATE:return e(Rr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case He.TIME:return e(Dr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case He.DATE_TIME:return e(Lr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case He.JSON:return e(pt,{validate:!0,name:t,inputRef:l});case He.STRING:return e(mt,{required:!0,name:t,label:n,restrictedValues:r.restrictedValues});case He.ENTITY_REFERENCE:return e(rr,{required:!0,hideErrorMessage:!0,name:t,label:n,control:i});case He.ANY:return e(pt,{name:t,inputRef:l});case He.ENTITY:return e(Wt,{properties:r.properties,dataFieldName:t,useExpression:a});default:return e("div",{children:"No widget"})}};var gt=({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?Vr({propertyType:c,required:a,useExpression:l}):Ar({propertyType:c,required:a,useExpression:l})),[l,a,c,i]);return O((()=>{d?n||(Nr(e)&&"expression"!==d?u("expression"):null==e||Nr(e)||"widget"===d||u("widget")):jr(e)&&(null==p?void 0:p.length)?u(p[0].value):l&&Nr(e)?u("expression"):u("widget")}),[e,d,p,l,n]),{propertyType:c,valueLabel:o,fillOptionLabel:s,fillOption:d,fillOptions:p,setFillOption:u}};var bt=ve((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const ft=({property:t,name:n,useExpression:a,label:l,required:i,title:o})=>{const{control:s,clearErrors:d,register:u}=g(),{field:{ref:p,onChange:b},fieldState:{error:f,isDirty:y}}=m({name:n}),v=h({control:s,name:n}),{propertyType:E,valueLabel:T,fillOptionLabel:C,fillOption:N,fillOptions:x,setFillOption:j}=gt({value:v,property:t,isDirty:y,label:l,required:i,useExpression:a});O((()=>{void 0===v&&b(null)}),[v,b]);const S=bt();return r(Ce,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(Z,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r(A,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Le,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:C})),e(Re,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(I,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===N&&(E===He.JSON||E===He.ENTITY||E===He.ANY?e(pt,{name:n,inputRef:p}):e(rr,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0})),"string"===N&&e(rr,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0}),"json_notvalid"===N&&e(pt,{name:n,inputRef:p}),"widget"===N&&e(ht,{property:t,name:n,useExpression:a,label:T,inputRef:p,required:i}),f&&e(Z,Object.assign({color:"secondary"},{children:f.message}))]}))};var yt=({name:t,property:a,useExpression:l,required:i,label:o})=>{const{control:s,setValue:d,clearErrors:u}=g();m({control:s,name:t,rules:{validate:e=>!(!e||Array.isArray(e)&&!e.length)||"Please, fill array"}});const p=h({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,hr(p,e))}),[t,p,d]);return r(Ce,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[p&&Array.isArray(p)?p.map(((n,s)=>e(Ce,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(ft,{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(Y,Object.assign({size:"small",onClick:()=>f(s)},{children:e(De,{fontSize:"small"})}))}))]}))}),s))):null,e(Ce,{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const vt=({property:t,name:n,useExpression:a,required:l,label:i,title:o})=>{const{control:s,clearErrors:d}=g(),{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=h({control:s,name:n}),{propertyType:v,valueLabel:E,fillOptionLabel:T,fillOption:C,fillOptions:N,setFillOption:x}=gt({property:t,value:y,isDirty:f,label:i,required:l,useExpression:a,multipleOptions:!0});O((()=>{void 0===y&&p(null)}),[y,p]);const j=bt();return r(Ce,{children:[o&&e(c,Object.assign({mb:2},{children:e(Z,Object.assign({variant:"h6"},{children:o}))})),N?e(c,Object.assign({mb:2},{children:r(A,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Le,Object.assign({htmlFor:"type-select",className:j.inputLabel},{children:T})),e(Re,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(I,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===C&&(v===He.JSON||v===He.ENTITY||v===He.ANY?e(pt,{name:n,inputRef:u}):e(rr,{required:!0,hideErrorMessage:!0,control:s,name:n,label:E})),"json_valid"===C&&e(pt,{validate:!0,name:n,inputRef:u}),"widget"===C&&e(yt,{property:t,name:n,useExpression:a,required:l,label:i}),b&&e(Z,Object.assign({color:"secondary"},{children:b.message}))]})},Ot=({propertyFieldName:r,name:t,label:n="",required:a})=>{const{control:l}=g(),i=h({control:l,name:`${r}.propertyType`}),o=h({control:l,name:`${r}.isMultiple`}),s=h({control:l,name:`${r}.format`}),c=h({control:l,name:`${r}.restrictedValues`}),d=h({control:l,name:`${r}.properties`}),u=h({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?vt:ft,{name:t,property:p,title:n,required:a})};var Et=({name:t})=>{const a=C((()=>({type:""})),[]),{control:l}=g(),{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(kt,{removeHandle:()=>s(n),name:`${t}.${n}`},r)))]}))};const Tt=x(""),Ct=({name:n,control:a})=>r(t,{children:[e(Z,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(rr,{control:a,name:`${n}.minimumLength`,label:"Minimum Length",type:"number"})}),e(c,Object.assign({mt:2},{children:e(rr,{control:a,name:`${n}.maximumLength`,label:"Maximum Length",type:"number"})}))]}),Nt=({name:n,control:a})=>r(t,{children:[e(Z,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(rr,{control:a,name:`${n}.multipleOf`,label:"Multiple Of",type:"number"})}),e(c,Object.assign({mt:2},{children:e(rr,{control:a,name:`${n}.minimum`,label:"Minimum",type:"number"})})),e(c,Object.assign({mt:2},{children:e(rr,{control:a,name:`${n}.maximum`,label:"Maximum",type:"number"})})),r(c,Object.assign({mt:2},{children:[e(ir,{control:a,name:`${n}.exclusiveMinimum`,label:"Exclusive Minimum",defaultValue:"false"}),e(ir,{control:a,name:`${n}.exclusiveMaximum`,label:"Exclusive Maximum",defaultValue:"false"})]}))]}),xt=["STRING_REGEX","JSON_SCHEMA"],jt=new Set([He.INTEGER,He.FLOAT,He.DOUBLE,He.BIG_DECIMAL,He.BIG_INTEGER,He.LONG]);var St=({name:n})=>{const{control:a,setValue:l}=g(),i=j(Tt),o=h({control:a,name:`${n}.type`}),s=C((()=>{if("STRING_REGEX"===o)return e(rr,{control:a,name:`${n}.pattern`,label:"Pattern"});if("JSON_SCHEMA"===o)switch(!0){case i===He.STRING:return e(Ct,{name:`${n}.node`,control:a});case jt.has(i):return e(Nt,{name:`${n}.node`,control:a});case i===He.JSON:return e(mr,{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((()=>{jt.has(i)&&"JSON_SCHEMA"===o&&(l(`${n}.node.exclusiveMinimum`,!1),l(`${n}.node.exclusiveMaximum`,!1))}),[i,o,l,n]),e(at,{data:[{label:"Validator",content:r(t,{children:[e(c,{children:e(lr,{control:a,name:`${n}.type`,label:"Type",options:xt,onChange:e=>{l(n,{}),l(`${n}.type`,e.target.value)}})}),e(c,Object.assign({mt:2},{children:s}))]})}]})};const It=["AND","OR","NOT","NODE"],wt=({name:n,removeHandle:a})=>{const{control:l}=g(),i=h({control:l,name:`${n}.type`}),o=C((()=>({AND:e(Et,{name:`${n}.nodes`}),OR:e(Et,{name:`${n}.nodes`}),NODE:e(St,{name:`${n}.validator`}),NOT:e(wt,{name:`${n}.node`})})),[n]);return e(at,{data:[{label:"Node Type",content:r(t,{children:[r(c,Object.assign({display:"flex",alignItems:"center"},{children:[e(lr,{required:!0,control:l,name:`${n}.type`,label:"Type",options:It}),a&&e(c,Object.assign({ml:2},{children:e(Y,Object.assign({onClick:a,color:"primary"},{children:e(we,{})}))}))]})),e(c,{children:o[i]})]})}]})};var kt=wt;const Pt=({name:n})=>{const[a,l]=E(!1),{setValue:i,getValues:o}=g(),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(Z,Object.assign({variant:"h6"},{children:"Validator"})),e($,{label:"Enable",control:e(R,{color:"primary",checked:a,onChange:s})})]})),a&&e(kt,{name:n})]})};var Mt=({name:r,label:t="",propertyFieldName:n,type:a,decimal:l=!1,options:i=[],required:o=!1})=>{const{control:s}=g(),c=C((()=>`${n}.${r}`),[r,n]);switch(a){case"text":return e(rr,{control:s,name:c,label:t,required:o});case"number":return e($r,{control:s,name:c,label:t,decimal:l,required:o});case"select":return e(lr,{control:s,name:c,label:t,options:i,required:o});case"autocomplete":return e(cr,{control:s,name:c,label:t,options:i,required:o});case"json":return e(mr,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var Vt=e=>({customCheckboxes:C((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:C((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const At=Object.values(He).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var $t=({propertyFieldName:n,entityDefinition:a=!1,globalParameter:l=!1,customPropertyFields:i=[]})=>{var o;const{control:s,setValue:c}=g(),d=h({control:s,name:`${n}.propertyType`}),u=h({control:s,name:`${n}.isMultiple`}),p=h({control:s,name:`${n}.isRequired`}),{customCheckboxes:m,customFields:b}=Vt(i),f=C((()=>{let e=l?"Value":"Default Value";return u&&(e+="s"),e}),[l,u]);return r(Ce,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(Ce,{children:e(ar,{required:!0,control:s,name:`${n}.key`,label:"Key"})}),e(Ce,{children:e(ar,{required:!0,control:s,name:`${n}.name`,label:"Name"})}),e(Ce,{children:e(cr,{required:!0,control:s,name:`${n}.propertyType`,label:"Type",options:At,onChange:(e,r)=>{const t=`${n}.propertyType`,a=`${n}.${l?"value":"defaultValue"}`;c(a,u?[]:null),c(t,r)}})}),e(Ce,{children:e($r,{required:!0,control:s,name:`${n}.sortOrder`,label:"Sort Order"})}),e(Ce,{children:e(mr,{control:s,name:`${n}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(Ce,{children:[e(ir,{control:s,name:`${n}.isMultiple`,label:"Multiple"}),e(ir,{control:s,name:`${n}.isEnabled`,label:"Enabled"}),e(ir,{control:s,name:`${n}.isRequired`,label:"Required"}),a&&e(ir,{control:s,name:`${n}.isViewableInList`,label:"Is viewable in list"}),m.length?e(t,{children:m.map(((r,t)=>e(ir,{control:s,name:`${n}.${r.name}`,label:r.label},t)))}):null]}),d&&r(t,{children:[e(Ce,{children:e(Tt.Provider,Object.assign({value:null!==(o=d.value)&&void 0!==o?o:d},{children:e(Pt,{name:`${n}.validationNode`})}))}),e(ut,{propertyType:"string"==typeof d?d:d.value,propertyFieldName:n,globalParameter:l,entityDefinition:a}),e(Ot,{propertyFieldName:n,name:`${n}.${l?"value":"defaultValue"}`,label:f,required:!!l&&p})]}),b.length?e(t,{children:b.map(((r,t)=>e(Ce,{children:e(Mt,Object.assign({},r,{propertyFieldName:n}))},t)))}):null]}))};const qt={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},Rt=({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}=g(),{fieldState:{error:y}}=m({control:f,name:u,rules:{required:o&&"Please, add properties"}}),E=h({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}`,qt):p(u,[qt]),b(u)}),[E,u,b,p]),j=T((e=>{p(`${u}`,hr(E,e))}),[E,u,p]);return r(t,{children:[y&&y.message&&e(Ce,Object.assign({sm:12,md:8,lg:6},{children:e(Z,Object.assign({color:"secondary"},{children:y.message}))})),E&&E.map(((t,a)=>e(Ce,Object.assign({sm:12,md:8,lg:6,ref:e=>N.current[a]=e},{children:r(Ne,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(xe,Object.assign({expandIcon:e(Ie,{})},{children:e(Z,Object.assign({color:y&&y[a]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${a+1}`}))})),e(je,{children:e($t,{propertyFieldName:`${u}.${a}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(Se,{children:e(n,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>j(a)},{children:"Remove"}))})]}))}),a))),!l&&e(Ce,Object.assign({xs:12},{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))}))]})},Lt=({definitionFieldName:t,title:n,hideCodeField:a,hideVersionField:l,hideNameField:i,required:o=!1})=>{const{control:s}=g();return r(Ce,Object.assign({container:!0,direction:"column",spacing:2},{children:[n&&e(Ce,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(Z,Object.assign({variant:"h4"},{children:n}))}))})),!i&&e(Ce,Object.assign({sm:12,md:8,lg:6},{children:e(rr,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!a&&e(Ce,Object.assign({sm:12,md:8,lg:6},{children:e(rr,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!l&&e(Ce,Object.assign({sm:12,md:8,lg:6},{children:e($r,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(Rt,{required:o,parentFieldName:t})]}))},Dt=({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(X,{readOnly:!0,value:n,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},Ft={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"},zt=({value:r,type:t})=>t!==He.JSON&&t!==He.ENTITY&&t!==He.ANY||!r?e(Z,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(Dt,{value:r}),Bt=(t,n,a)=>{switch(n){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return t?e(Je,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return t?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:t.map((r=>e($e,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(zt,{value:t,type:a});case"values":case"defaultValues":return Array.isArray(t)&&a!==He.ENTITY&&a!==He.JSON&&a!==He.ANY?r("div",{children:["[",null==t?void 0:t.map(((r,t)=>e("div",{children:e(zt,{value:r,type:a})},t))),"]"]}):e(Dt,{value:t});case"uiSettings":case"validationNode":return t?e(Dt,{value:t}):null;default:return e(Z,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:t}))}};var Gt=({property:t})=>{const n=C((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(Fe,Object.assign({size:"small"},{children:e(ze,{children:Object.keys(Ft).map((t=>t in n?r(Be,{children:[e(Ge,Object.assign({width:"30%"},{children:e(Z,{children:Ft[t]})})),e(Ge,{children:Bt(n[t],t,n.propertyType)})]},t):null))})}))};var Jt=S((({properties:t,parentNames:n=[]})=>{const a=C((()=>{let e=!1;return t.every((r=>r.propertyType!==He.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(Z,Object.assign({variant:"h6"},{children:"Properties"})),r(ke,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Pe,Object.assign({expanded:!0},{children:[e(Me,{StepIconProps:{icon:"",completed:!1,active:!0}}),e(Ve,{children:e(_t,{property:t,parentNames:[...n],defaultExpanded:!1})})]}),t.key))),a&&e(Pe,{})]}))]}))}));const _t=({property:t,parentNames:n=[],defaultExpanded:a=!0})=>{const[l,i]=E(!0);return O((()=>{i(a)}),[a]),r(Ne,Object.assign({elevation:3,style:{backgroundColor:n.length%2==1?"#f1f1f1":"#fff"},expanded:l,onChange:()=>i((e=>!e))},{children:[e(xe,Object.assign({expandIcon:e(Ie,{})},{children:e(Z,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(je,{children:r(c,Object.assign({width:"100%"},{children:[e(Gt,{property:t}),t.propertyType===He.ENTITY&&e(Jt,{properties:kr(t.properties),parentNames:[...n,t.name]})]}))})]}))},Yt=({properties:r,expandAll:t=!0})=>{const n=C((()=>Array.isArray(r)?r:r?kr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:n.length?n.map((r=>e(_t,{property:r,defaultExpanded:t},r.key))):e(Z,{children:"No properties"})}))},Wt=({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(vt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired}):e(ft,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired})}})):[]),[t,n,a]);return r(Ce,Object.assign({container:!0,direction:"column",spacing:2},{children:[l&&e(Ce,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:l}))})),e(at,{data:i})]}))},Ht=({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(Nr(t))return a(t);switch(r.propertyType){case He.JSON:return e(Dt,{value:t});case He.ENTITY:return e(Ut,{properties:n,data:t});case He.ANY:return"object"==typeof t?e(Dt,{value:t}):a(t);default:return a(t)}};var Kt=({property:r,data:t,hasBackground:n=!1})=>{const a=C((()=>r.propertyType===He.ENTITY?Array.isArray(r.properties)?r.properties:kr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:n?"#f1f1f1":"none"}},{children:e(Ht,{property:r,data:t,properties:a})}))};const Ut=({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!==He.ANY?e(t,{children:u.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(Kt,{property:n,data:r,hasBackground:!0})}),t)))}):e(Kt,{property:n,data:u})}})):[]),[n,a]);return e(Ce,Object.assign({container:!0,direction:"column",spacing:2},{children:e(at,{data:l})}))};var Xt=ve((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const Zt=({text:r,status:t="default"})=>{const n=Xt();return e("div",Object.assign({className:_e(n.root,{[t]:!0})},{children:r}))},Qt=ve((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),en=({properties:t,parentKey:n="",activePath:a="",prefix:l="",onClick:i})=>{const o=Qt();return e(ke,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(Pe,Object.assign({expanded:!0,onClick:()=>{return e=c,void i(l?`${l}.${e}`:e);var e}},{children:[e(Me,Object.assign({StepIconProps:{icon:"",completed:!1,active:a===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e(Ve,{children:e("div",{children:d===He.ENTITY&&e(en,{onClick:i,activePath:a,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var rn=en;const tn=({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(Z,Object.assign({variant:"h6"},{children:t.title})),e(rn,{properties:t.properties,prefix:t.pathPrefix,onClick:p,activePath:u})]},n))):e(Z,{children:"Please, add properties"}),u&&r(Z,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})`),Ye.success("Copied!")}},{children:"Copy"})),e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${u})`),Ye.success("Pasted!")}},{children:"Paste"})),e(n,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))};export{er as AlertDialog,pr as BackButton,mr as ControlAceEditor,cr as ControlAutocomplete,ir as ControlCheckbox,Rr as ControlDate,Lr as ControlDateTime,ar as ControlDebouncedInput,rr as ControlInput,$r as ControlNumberInput,dr as ControlQueryAutocomplete,or as ControlRadio,lr as ControlSelect,qr as ControlSwitch,Dr as ControlTime,ur as CopyButton,Lt as CreateDefinition,Rt as CreatePropertiesList,Ke as DATE_DEFAULT_FORMAT,Xe as DATE_TIME_DEFAULT_FORMAT,Wt as DefinitionFiller,Ut as DefinitionValueView,Zr as InfoItem,Ur as JsonModalView,tn as JsonPathPicker,Dt as JsonView,Qe as Loader,vt as MultiplePropertyFiller,ft as PropertyFiller,He as PropertyType,Ot as PropertyValueField,Ze as RoundingMode,Kr as RouteTabs,Zt as Status,at as StepperView,Ue as TIME_DEFAULT_FORMAT,Hr as TabPanel,Yr as Table,Wr as TableAction,Yt as ViewPropertiesList,_t as ViewProperty,br as capitalize,Or as deepParseJson,Tr as digitsOnly,Cr as floatsOnly,Ir as formatDefinitionData,Er as formatTableRowValue,Pr as getDemPropertyDateFormat,Mr as getEntityStarterValue,yr as getJsonStringValue,Vr as getMultiplePropertyFillOptions,Ar as getSinglePropertyFillOptions,xr as isDateType,Nr as isExpression,jr as isPropertyValueEmpty,wr as propertiesArrayToObject,kr as propertiesObjectToArray,hr as removeArrayItem,vr as safeParseJson,fr as sortArrayOfObjects,tr as useDebounce,nr as useToggle,gr as validateJson};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartech/arsenal-ui",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "author": "DAR",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -23,7 +23,6 @@
23
23
  "react-router-dom": "5.3.0",
24
24
  "react-toastify": "^8.2.0",
25
25
  "classnames": "^2.3.1",
26
- "mui-rte": "^2.0.1",
27
26
  "react-query": "^3.39.1"
28
27
  },
29
28
  "module": "./index.js",
@@ -33,7 +32,6 @@
33
32
  "peerDependencies": {
34
33
  "@rollup/plugin-node-resolve": "13.3.0",
35
34
  "qs": "6.11.0",
36
- "@dartech/dpo": "1.1.6",
37
- "draft-js": "0.11.7"
35
+ "@dartech/dpo": "1.1.6"
38
36
  }
39
37
  }
@@ -16,19 +16,19 @@ export declare enum PropertyType {
16
16
  DATE_TIME = "DATE_TIME",
17
17
  ANY = "ANY"
18
18
  }
19
- export interface Definition {
19
+ export interface Definition<T = Record<string, never>> {
20
20
  code: string;
21
21
  version: number;
22
22
  name: string;
23
- properties: PropertiesObjectType;
23
+ properties: PropertiesObjectType<T>;
24
24
  }
25
- export type PropertiesObjectType<T = unknown> = Record<string, PropertyUnion & T>;
26
- export type PropertiesArrayType<T = unknown> = Array<PropertyUnion & T>;
27
- export interface CreateDefinitionType extends Omit<Definition, 'properties'> {
28
- properties: PropertiesArrayType;
25
+ export type PropertiesObjectType<T = Record<string, never>> = Record<string, PropertyUnion & T>;
26
+ export type PropertiesArrayType<T = Record<string, never>> = Array<PropertyUnion & T>;
27
+ export interface CreateDefinitionType<T = Record<string, never>> extends Omit<Definition<T>, 'properties'> {
28
+ properties: PropertiesArrayType<T>;
29
29
  }
30
- export interface UpdateDefinitionType extends Omit<Definition, 'properties'> {
31
- properties: PropertiesArrayType;
30
+ export interface UpdateDefinitionType<T = Record<string, never>> extends Omit<Definition<T>, 'properties'> {
31
+ properties: PropertiesArrayType<T>;
32
32
  }
33
33
  export interface Property {
34
34
  propertyType: keyof typeof PropertyType | {
@@ -67,9 +67,9 @@ export interface DateTimeProperty extends Property {
67
67
  export interface DoubleProperty extends Property {
68
68
  propertyType: PropertyType.DOUBLE;
69
69
  }
70
- export interface EntityTypeProperty extends Property {
70
+ export interface EntityTypeProperty<T = Record<string, never>> extends Property {
71
71
  propertyType: PropertyType.ENTITY;
72
- properties: PropertiesObjectType | PropertiesArrayType;
72
+ properties: PropertiesObjectType<T> | PropertiesArrayType<T>;
73
73
  }
74
74
  export interface EntityReferenceProperty extends Property {
75
75
  propertyType: PropertyType.ENTITY_REFERENCE;
@@ -101,21 +101,7 @@ export interface TimeProperty extends Property {
101
101
  export interface AnyProperty extends Property {
102
102
  propertyType: PropertyType.ANY;
103
103
  }
104
- export type PropertyUnion = BigDecimalProperty | BigIntegerProperty | BooleanProperty | DateProperty | DateTimeProperty | DoubleProperty | EntityTypeProperty | EntityReferenceProperty | FloatProperty | StringProperty | IntegerProperty | JsonProperty | LongProperty | TimeProperty | AnyProperty;
104
+ export type PropertyUnion<T = Record<string, never>> = BigDecimalProperty | BigIntegerProperty | BooleanProperty | DateProperty | DateTimeProperty | DoubleProperty | EntityTypeProperty<T> | EntityReferenceProperty | FloatProperty | StringProperty | IntegerProperty | JsonProperty | LongProperty | TimeProperty | AnyProperty;
105
105
  export declare const DATE_DEFAULT_FORMAT = "yyyy-MM-dd";
106
106
  export declare const TIME_DEFAULT_FORMAT = "HH:mm:ss";
107
107
  export declare const DATE_TIME_DEFAULT_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX";
108
- export type GPBPropertiesObjectType = PropertiesObjectType<{
109
- value: unknown;
110
- values: unknown[];
111
- }>;
112
- export type GPBPropertiesArrayType = PropertiesArrayType<{
113
- value: unknown;
114
- values: unknown[];
115
- }>;
116
- export type EntityDefinitionPropertyObjectType = PropertiesObjectType<{
117
- isViewableInList: boolean;
118
- }>;
119
- export type EntityDefinitionPropertyArrayType = PropertiesArrayType<{
120
- isViewableInList: boolean;
121
- }>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { PropertiesArrayType } from '../../../interfaces';
3
3
  type Props = {
4
- properties: PropertiesArrayType;
4
+ properties: PropertiesArrayType<unknown>;
5
5
  data: unknown;
6
6
  };
7
7
  export declare const DefinitionValueView: ({ properties, data }: Props) => JSX.Element;
@@ -16,6 +16,7 @@ export interface ControlAceEditorProps {
16
16
  validateJson?: boolean;
17
17
  fontSize?: number;
18
18
  validate?: boolean;
19
+ parseValue?: boolean;
19
20
  }
20
- export declare const ControlAceEditor: ({ control, name, mode, label, width, height, theme, readOnly, required, validateJson, fontSize, validate, }: ControlAceEditorProps) => JSX.Element;
21
+ export declare const ControlAceEditor: ({ control, name, mode, label, width, height, theme, readOnly, required, validateJson, fontSize, validate, parseValue }: ControlAceEditorProps) => JSX.Element;
21
22
  export default ControlAceEditor;
@@ -11,5 +11,5 @@ type ControlQueryAutocompleteProps = Omit<ControlAutocompleteProps, 'options'> &
11
11
  sortBy?: string;
12
12
  queryFunction: (params: PaginateParams) => Promise<PaginateData<unknown>>;
13
13
  };
14
- export declare const ControlQueryAutocomplete: ({ name, label, control, searchBy, labelKey, multiple, disabled, valueKey, sortBy, hideErrorMessage, disableCloseOnSelect, textFieldProps, onChange, queryFunction, ...autocompleteProps }: ControlQueryAutocompleteProps) => JSX.Element;
14
+ export declare const ControlQueryAutocomplete: ({ name, label, control, required, searchBy, labelKey, multiple, disabled, valueKey, sortBy, hideErrorMessage, disableCloseOnSelect, textFieldProps, onChange, queryFunction, validate, ...autocompleteProps }: ControlQueryAutocompleteProps) => JSX.Element;
15
15
  export default ControlQueryAutocomplete;
@@ -1,15 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import { PropertyFillType, PropertyUnion } from '../../../interfaces';
3
3
  type Props = {
4
+ value: unknown;
4
5
  property: PropertyUnion;
5
- name: string;
6
6
  isDirty: boolean;
7
7
  label?: string;
8
8
  required?: boolean;
9
9
  useExpression?: boolean;
10
10
  multipleOptions?: boolean;
11
11
  };
12
- declare const usePropertyFiller: ({ property, name, label, isDirty, required, useExpression, multipleOptions, }: Props) => {
12
+ declare const usePropertyFiller: ({ value, property, label, isDirty, required, useExpression, multipleOptions, }: Props) => {
13
13
  propertyType: import("../../../interfaces").PropertyType;
14
14
  valueLabel: string;
15
15
  fillOptionLabel: string;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ name: string;
4
+ };
5
+ declare const NodeValidator: ({ name }: Props) => JSX.Element;
6
+ export default NodeValidator;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ name: string;
4
+ };
5
+ declare const NodesList: ({ name }: Props) => JSX.Element;
6
+ export default NodesList;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { Control } from 'react-hook-form';
3
+ type Props = {
4
+ name: string;
5
+ control: Control<any>;
6
+ };
7
+ export declare const NumericTypeValidator: ({ name, control }: Props) => JSX.Element;
8
+ export default NumericTypeValidator;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ name: string;
4
+ };
5
+ export declare const PropertyValidator: ({ name }: Props) => JSX.Element;
6
+ export default PropertyValidator;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { PropertyType } from '../../../interfaces';
3
+ export declare const PropertyValidatorContext: import("react").Context<"" | PropertyType>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { Control } from 'react-hook-form';
3
+ type Props = {
4
+ name: string;
5
+ control: Control;
6
+ };
7
+ export declare const StringTypeValidator: ({ name, control }: Props) => JSX.Element;
8
+ export default StringTypeValidator;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ type Props = {
3
+ name: string;
4
+ removeHandle?: () => void;
5
+ };
6
+ declare const ValidationNodeSelector: ({ name, removeHandle }: Props) => JSX.Element;
7
+ export default ValidationNodeSelector;
@@ -0,0 +1 @@
1
+ export * from './PropertyValidator';
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { EntityDefinitionPropertyArrayType, EntityDefinitionPropertyObjectType, GPBPropertiesArrayType, GPBPropertiesObjectType, PropertiesArrayType, PropertiesObjectType } from '../../../interfaces';
2
+ import { PropertiesArrayType, PropertiesObjectType } from '../../../interfaces';
3
3
  type Props = {
4
- properties: PropertiesObjectType | PropertiesArrayType | GPBPropertiesArrayType | GPBPropertiesObjectType | EntityDefinitionPropertyArrayType | EntityDefinitionPropertyObjectType;
4
+ properties: PropertiesObjectType<unknown> | PropertiesArrayType<unknown>;
5
5
  expandAll?: boolean;
6
6
  };
7
7
  export declare const ViewPropertiesList: ({ properties, expandAll }: Props) => JSX.Element;
@@ -1,8 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
- export type StepperData = {
2
+ export type StepperDataItem = {
3
3
  label: string | ReactNode;
4
4
  content: ReactNode;
5
- }[];
5
+ };
6
+ export type StepperData = StepperDataItem[];
6
7
  type Props = {
7
8
  data: StepperData;
8
9
  };
@@ -10,5 +10,4 @@ export * from './Property';
10
10
  export * from './Status';
11
11
  export * from './JsonView';
12
12
  export * from './JsonPathPicker';
13
- export * from './TemplateContent';
14
13
  export * from './StepperView';
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- declare const ExpressionDecorator: ({ children }: {
3
- children: any;
4
- }) => JSX.Element;
5
- export default ExpressionDecorator;
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { JsonPathPickerProperty } from '../../interfaces';
3
- type Props = {
4
- fieldName: string;
5
- getProperties?: () => JsonPathPickerProperty[];
6
- initialText?: string;
7
- };
8
- export declare const TemplateContentEditor: ({ fieldName, getProperties, initialText }: Props) => JSX.Element;
9
- export default TemplateContentEditor;
@@ -1 +0,0 @@
1
- export * from './TemplateContentEditor';