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