@dartech/arsenal-ui 0.3.11 → 0.3.13
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 +3 -2
- package/src/interfaces/ui.d.ts +23 -1
- package/src/lib/ContentLayout/ContentLayout.d.ts +7 -0
- package/src/lib/ContentLayout/index.d.ts +1 -0
- package/src/lib/Forms/ControlAceEditor.d.ts +1 -2
- package/src/lib/Forms/ControlAutocomplete.d.ts +1 -2
- package/src/lib/Forms/ControlCheckbox.d.ts +1 -2
- package/src/lib/Forms/ControlDate.d.ts +1 -2
- package/src/lib/Forms/ControlDateTime.d.ts +1 -2
- package/src/lib/Forms/ControlInput.d.ts +1 -2
- package/src/lib/Forms/ControlNumberInput.d.ts +1 -1
- package/src/lib/Forms/ControlRadio.d.ts +1 -2
- package/src/lib/Forms/ControlSelect.d.ts +1 -2
- package/src/lib/Forms/ControlSwitch.d.ts +1 -2
- package/src/lib/Forms/ControlTime.d.ts +1 -2
- package/src/lib/Sidebar/Sidebar.d.ts +9 -0
- package/src/lib/Sidebar/Sidebar.styled.d.ts +61 -0
- package/src/lib/Sidebar/SidebarLink/MenuIcon.d.ts +7 -0
- package/src/lib/Sidebar/SidebarLink/SidebarLink.d.ts +7 -0
- package/src/lib/Sidebar/SidebarLink/SidebarLinkItem.d.ts +8 -0
- package/src/lib/Sidebar/SidebarLink/SidebarNestedItem.d.ts +10 -0
- package/src/lib/Sidebar/SidebarLink/index.d.ts +3 -0
- package/src/lib/Sidebar/index.d.ts +1 -0
- package/src/lib/Table/DataGrid/index.d.ts +2 -0
- package/src/lib/Table/SimpleTable/SimpleTable.d.ts +17 -0
- package/src/lib/Table/SimpleTable/TableActionCell.d.ts +10 -0
- package/src/lib/Table/SimpleTable/index.d.ts +2 -0
- package/src/lib/Table/SimpleTable/useTablePagination.d.ts +7 -0
- package/src/lib/Table/SimpleTable/useTableSorting.d.ts +7 -0
- package/src/lib/Table/index.d.ts +2 -2
- package/src/lib/index.d.ts +3 -1
- package/src/theme/baseTheme.d.ts +2 -0
- package/src/theme/index.d.ts +1 -0
- package/src/theme/inputThemeOptions.d.ts +3 -0
- package/src/theme/stepperThemeOptions.d.ts +3 -0
- package/src/theme/tableThemeOptions.d.ts +3 -0
- package/src/theme/typographyThemeOptions.d.ts +3 -0
- /package/src/lib/Table/{JsonTypeCell.d.ts → DataGrid/JsonTypeCell.d.ts} +0 -0
- /package/src/lib/Table/{Table.d.ts → DataGrid/Table.d.ts} +0 -0
- /package/src/lib/Table/{TableAction.d.ts → DataGrid/TableAction.d.ts} +0 -0
- /package/src/lib/Table/{TableColumnMenu.d.ts → DataGrid/TableColumnMenu.d.ts} +0 -0
- /package/src/lib/Table/{TablePagination.d.ts → DataGrid/TablePagination.d.ts} +0 -0
- /package/src/lib/Table/{styles.d.ts → DataGrid/styles.d.ts} +0 -0
- /package/src/lib/Table/{usePagination.d.ts → DataGrid/usePagination.d.ts} +0 -0
- /package/src/lib/Table/{useTableQueryPagination.d.ts → DataGrid/useTableQueryPagination.d.ts} +0 -0
- /package/src/lib/Table/{useTableQuerySorting.d.ts → DataGrid/useTableQuerySorting.d.ts} +0 -0
package/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import n from"@mui/material/Button";import a from"@mui/material/Dialog";import l from"@mui/material/DialogActions";import i from"@mui/material/DialogContent";import o from"@mui/material/DialogContentText";import s from"@mui/material/DialogTitle";import c from"@mui/material/Box";import d from"@mui/material/CircularProgress";import{__rest as u,__awaiter as p}from"tslib";import{useController as m,useWatch as g,useFormContext as h,useFieldArray as b}from"react-hook-form";import f from"@mui/material/TextField";import y,{useRef as v,useEffect as O,useState as E,useCallback as T,useMemo as C,createElement as N,forwardRef as x,createContext as j,useContext as S,memo as I}from"react";import w from"@mui/material/MenuItem";import k from"@mui/icons-material/Clear";import{InputAdornment as P,IconButton as V,FormHelperText as M,Box as A}from"@mui/material";import $ from"@mui/material/FormControl";import q from"@mui/material/FormControlLabel";import R from"@mui/material/FormHelperText";import L from"@mui/material/Checkbox";import D from"@mui/material/Radio";import F from"@mui/material/RadioGroup";import z from"@mui/material/FormLabel";import B from"@mui/material/Autocomplete";import{useQuery as G}from"@tanstack/react-query";import J from"qs";import _ from"@mui/icons-material/FileCopyOutlined";import Y from"@mui/material/Tooltip";import W from"@mui/material/IconButton";import H from"@mui/icons-material/ArrowBack";import{useNavigate as K,useLocation as U,Link as X,useSearchParams as Q}from"react-router-dom";import Z from"react-ace";import ee from"@mui/material/Typography";import re from"@mui/material/Switch";import{DatePicker as te}from"@mui/x-date-pickers/DatePicker";import{format as ne,isMatch as ae,isValid as le,parse as ie}from"date-fns";import{DateTimePicker as oe}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as se}from"@mui/x-date-pickers/TimePicker";import ce from"@mui/material/Pagination";import de from"@mui/material/TablePagination";import{useGridApiContext as ue,useGridSelector as pe,gridPageSelector as me,gridPageCountSelector as ge,gridRowCountSelector as he,gridPageSizeSelector as be,GridColumnMenuContainer as fe,GridFilterMenuItem as ye,DataGrid as ve,GridActionsCellItem as Oe}from"@mui/x-data-grid";import{makeStyles as Ee}from"tss-react/mui";import Te from"@mui/material/Paper";import Ce from"@mui/material/Tab";import Ne from"@mui/material/Tabs";import xe from"@mui/material/Unstable_Grid2";import je from"@mui/material/Accordion";import Se from"@mui/material/AccordionSummary";import Ie from"@mui/material/AccordionDetails";import we from"@mui/material/AccordionActions";import ke from"@mui/icons-material/ExpandMore";import Pe from"@mui/icons-material/Delete";import Ve from"@mui/material/Stepper";import Me from"@mui/material/Step";import Ae from"@mui/material/StepLabel";import $e from"@mui/material/StepContent";import qe from"@mui/material/StepConnector";import Re from"@mui/material/Chip";import Le from"@mui/icons-material/Add";import De from"@mui/material/Select";import Fe from"@mui/material/InputLabel";import ze from"@mui/icons-material/Close";import Be from"@mui/material/Table";import Ge from"@mui/material/TableBody";import Je from"@mui/material/TableRow";import _e from"@mui/material/TableCell";import Ye from"@mui/icons-material/CheckCircle";import We from"classnames";import{toast as He}from"react-toastify";import Ke from"@mui/icons-material/NotInterested";import Ue from"@mui/icons-material/Fullscreen";var Xe;!function(e){e.STRING="STRING",e.INTEGER="INTEGER",e.BIG_INTEGER="BIG_INTEGER",e.BIG_DECIMAL="BIG_DECIMAL",e.FLOAT="FLOAT",e.LONG="LONG",e.DOUBLE="DOUBLE",e.BOOLEAN="BOOLEAN",e.ENTITY_REFERENCE="ENTITY_REFERENCE",e.ENTITY="ENTITY",e.JSON="JSON",e.DATE="DATE",e.TIME="TIME",e.DATE_TIME="DATE_TIME",e.ANY="ANY"}(Xe||(Xe={}));const Qe="yyyy-MM-dd",Ze="HH:mm:ss",er="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var rr;!function(e){e.UP="UP",e.DOWN="DOWN",e.CEILING="CEILING",e.FLOOR="FLOOR",e.HALF_UP="HALF_UP",e.HALF_DOWN="HALF_DOWN",e.HALF_EVEN="HALF_EVEN",e.UNNECESSARY="UNNECESSARY"}(rr||(rr={}));const tr=({transparent:r,position:t})=>e(c,Object.assign({position:null!=t?t:"absolute",top:0,left:0,width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:r?"none":"rgba(255, 255, 255, .3)",zIndex:10},{children:e(d,{})})),nr=({open:t,title:d,description:u,closeButtonTitle:p="Close",onClose:m,confirmButtonTitle:g="Confirm",confirmButtonDisabled:h=!1,onConfirm:b,children:f,dialogProps:y,loading:v,maxWidth:O="xs"})=>e("div",{children:r(a,Object.assign({open:t,onClose:m,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:O},y,{children:[v&&e(tr,{}),e(s,Object.assign({id:"alert-dialog-title"},{children:d})),r(i,{children:[u&&e(o,Object.assign({id:"alert-dialog-description"},{children:u})),e(c,Object.assign({maxWidth:"100%",overflow:"hidden"},{children:f}))]}),r(l,{children:[e(n,Object.assign({onClick:m,color:"primary",variant:"contained"},{children:p})),g&&b?e(n,Object.assign({onClick:b,color:"secondary",variant:"contained",autoFocus:!0,disabled:h},{children:g})):null]})]}))}),ar=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!p&&(null==O?void 0:O.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=E?E:"",onChange:h||v},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))};function lr(e,r){const t=v();O((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...n)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...n)}),r)}}const ir=()=>{const[e,r]=E(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},or=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:p=!1,onChange:h}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),[x,j]=E("");O((()=>{!x&&N&&j(N)}),[x,N]);const S=lr((e=>{v(e)}),200),I=T((e=>{j(e.target.value),S(e.target.value)}),[S]);return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!C,helperText:!p&&(null==C?void 0:C.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=x?x:"",onChange:I},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""})}))},sr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p,labelKey:h,valueKey:b,options:y=[]}=r,v=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options"]);const{field:{ref:O,onChange:E},fieldState:{error:C}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:a}}),N=g({control:n,name:l}),x=T((e=>"string"==typeof e?e:b?e[b]:e.value),[b]),j=T((e=>"string"==typeof e?e:h?e[h]:e.label),[h]),S=T((()=>{E(null)}),[E]);return e(f,Object.assign({select:!0,fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:O,name:l,label:i,error:!!C,helperText:!d&&(null==C?void 0:C.message),disabled:c,value:null!=N?N:"",onChange:p||E},v,{inputProps:Object.assign(Object.assign({},null!==(t=null==v?void 0:v.inputProps)&&void 0!==t?t:{}),{value:null!=N?N:""}),InputProps:Object.assign({endAdornment:!o&&N?e(P,Object.assign({position:"end",sx:{mr:2}},{children:e(V,Object.assign({onClick:S,size:"small"},{children:e(k,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(w,Object.assign({value:x(r)},{children:j(r)}),t)))}))},cr=t=>{var{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:p}=t,h=u(t,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange"]);const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:l,control:n,defaultValue:s}),v=g({control:n,name:l}),O=C((()=>{if("boolean"==typeof v)return v;if("string"==typeof v){if("false"===v)return f(!1),!1;if("true"===v)return f(!0),!0}return!1}),[v,f]);return r($,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e(q,{control:e(L,Object.assign({checked:O,onChange:p||f,name:l,inputRef:b,disabled:c},h)),label:i}),!d&&(null==y?void 0:y.message)&&e(R,{children:y.message})]}))},dr=({name:t,label:n,values:a=[],control:l,required:i,defaultValue:o,disabled:s,hideErrorMessage:c,labelKey:d,valueKey:u,validate:p,onChange:h})=>{const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:t,control:l,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:p}}),v=g({control:l,name:t}),O=T((e=>"string"==typeof e?e:u?e[u]:e.value),[u]),E=T((e=>"string"==typeof e?e:d?e[d]:e.label),[d]);return r($,Object.assign({disabled:s,error:!!y},{children:[e(z,Object.assign({id:"radio-buttons-group"},{children:n})),e(F,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:h||f},{children:a.map((r=>e(q,{value:O(r),control:e(D,{}),label:E(r)})))})),!c&&(null==y?void 0:y.message)&&e(M,{children:y.message})]}))};var ur=({valueKey:e,labelKey:r})=>{const t=T(((r,t)=>{if(r&&t){if("string"==typeof r)return r===t;if(e)return r[e]===t[e]||r[e]===t;if(r.value)return r.value===t.value||r.value===t}return!1}),[e]),n=T((e=>e?"string"==typeof e?e:r&&e[r]?e[r]+"":e.label+""||e.name+""||e.value+""||e.code+""||"--no label--":""),[r]),a=T(((e,r)=>N(A,Object.assign({},e,{component:"li",key:e.id}),n(r))),[n]);return{isOptionEqualToValue:t,getOptionLabel:n,renderOption:a}};const pr=r=>{var{control:t,validate:n,name:a="",label:l="",required:i=!1,defaultValue:o="",disabled:s=!1,hideErrorMessage:c=!1,onChange:d,labelKey:p,valueKey:h,options:b=[],multiple:y,textFieldProps:v={},disableCloseOnSelect:O}=r,E=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options","multiple","textFieldProps","disableCloseOnSelect"]);const{field:{ref:T,onChange:C},fieldState:{error:N}}=m({name:a,control:t,defaultValue:o,rules:{required:i&&"Please, fill this field",validate:n}}),x=g({control:t,name:a,defaultValue:y?[]:null}),{getOptionLabel:j,isOptionEqualToValue:S,renderOption:I}=ur({valueKey:h,labelKey:p});return e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:b,multiple:y,getOptionLabel:j,isOptionEqualToValue:S,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:x,onChange:d||((e,r)=>{C(r)}),renderOption:I,renderInput:r=>e(f,Object.assign({},r,{variant:"outlined",name:a,label:l,error:!!N,inputRef:T,helperText:!c&&(null==N?void 0:N.message)},v))},E))};function mr(t){var{name:n,label:a,control:l,required:i=!1,searchBy:o,labelKey:s,multiple:c=!1,disabled:p,valueKey:h,sortBy:b="",hideErrorMessage:v,disableCloseOnSelect:C,textFieldProps:N,onChange:x,queryFunction:j,validate:S,itemQueryFunction:I}=t,w=u(t,["name","label","control","required","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction","validate","itemQueryFunction"]);const{field:{ref:k,onChange:P},fieldState:{error:V,isDirty:M}}=m({control:l,name:n,rules:{required:i&&"Please, fill this field",validate:S}}),A=g({control:l,name:n,defaultValue:c?[]:null}),{getOptionLabel:$,isOptionEqualToValue:q,renderOption:R}=ur({valueKey:h,labelKey:s}),[L,D]=E(!1),[F,z]=E(""),[_,Y]=E(""),[W,H]=E(0),[K,U]=E(0),[X,Q]=E([]),Z=lr((e=>{U(0),Y(e),Q([])}),500),ee=T(((e,r)=>{z(r),Z(r)}),[Z]),re=T(((e,r)=>{P(r),x&&x(e,r)}),[P,x]);O((()=>{if(!M&&A&&I){let e=A;"object"==typeof A&&h in A&&(e=A[h]),I(e).then((e=>{P(e),z(e[s])})).catch()}}),[A,M,h,s,I,P]);const te=T((e=>{const r=e.currentTarget;r.scrollHeight-r.scrollTop-r.clientHeight<=1&&X.length<W&&U((e=>e+1))}),[W,X]),{data:ne,isFetching:ae}=G(["options",K,_],(()=>{const e=J.parse(Object.assign({page:`${K}`,size:"20",sort:b},_?{[o]:_}:{}),{ignoreQueryPrefix:!0});return j(e)}));return O((()=>{ne&&(Q((e=>[...e,...ne.collection])),H(ne.totalItems))}),[ne]),e(B,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:p,options:X,multiple:c,getOptionLabel:$,isOptionEqualToValue:q,disableCloseOnSelect:C||c,filterSelectedOptions:c,inputValue:F,value:A,onChange:re,loading:ae,clearOnBlur:!1,open:L,filterOptions:e=>e,onOpen:()=>{D(!0)},onClose:()=>{D(!1),Y("")},onInputChange:ee,ListboxProps:{onScroll:te},renderOption:R,renderInput:t=>e(f,Object.assign({},t,{label:a,variant:"outlined",error:!!V,inputRef:k,helperText:!v&&(null==V?void 0:V.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(y.Fragment,{children:[ae?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},N))},w))}const gr=({copyText:r,helpText:t="Copy"})=>{const[n,a]=E(t);return n?e(Y,Object.assign({title:n,placement:"top"},{children:e(W,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),a("Copied!"),setTimeout((()=>{a(t)}),1e3)}},{children:e(_,{fontSize:"small"})}))})):null},hr=({text:r,buttonProps:t={}})=>{const a=K(),{state:l}=U(),i=C((()=>null==l?void 0:l.from),[l]),o=T((()=>{a(i||-1)}),[a,i]);return e(c,Object.assign({mr:2},{children:r?e(n,Object.assign({color:"inherit",onClick:i?null:o,component:X,to:null!=i?i:""},t,{children:r})):e(W,Object.assign({onClick:o},{children:e(H,{})}))}))},br=x(((n,a)=>{var{control:l,name:i,mode:o="json",label:s,width:d="100%",height:p="200px",theme:b="monokai",readOnly:f,required:y=!1,validateJson:v=!1,fontSize:O=16,validate:E=!0,parseValue:T}=n,C=u(n,["control","name","mode","label","width","height","theme","readOnly","required","validateJson","fontSize","validate","parseValue"]);const{setError:N,clearErrors:x}=h(),{field:{onChange:j},fieldState:{error:S}}=m({control:l,name:i}),I=g({control:l,name:i});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:s&&e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:s}))}),r(t,{children:[e(Z,Object.assign({ref:a,focus:!0,wrapEnabled:!0,width:d,height:p,showPrintMargin:!1,theme:b,fontSize:O,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,enableSnippets:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:f,value:"json"===o&&"string"!=typeof I?null===I?"":JSON.stringify(I):I,onChange:e=>{if(!e&&y?N(i,{message:"Required field"}):x(i),v)try{JSON.parse(e),x(i)}catch(e){N(i,{message:"Invalid JSON"})}if(T)try{const r=JSON.parse(e);console.log("parsed val:",r),j(r)}catch(r){j(e)}else j(e)},mode:o,onLoad:e=>{E&&v||e.getSession().setUseWorker(!1)}},C)),S&&e(R,Object.assign({error:!0},{children:S.message}))]})]}))})),fr=(e,r)=>{const t=[...e];return t.splice(r,1),t},yr=e=>{try{JSON.parse(e)}catch(e){return!1}return!0};function vr(e){return e.replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))}const Or=(e,r,t,n="asc")=>{const a=e[t],l=r[t];return a<l?"asc"===n?-1:1:a>l?"asc"===n?1:-1:0},Er=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},Tr=e=>{try{return JSON.parse(e)}catch(e){return null}},Cr=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=Cr(r[e])})),r}catch(r){return e}},Nr=({value:r,height:t="200px"})=>{const n=C((()=>{if("string"==typeof r)return r;if("object"==typeof r)try{return JSON.stringify(r,null,"\t")}catch(e){return"Failed to parse JSON"}return null}),[r]);return e(Z,{readOnly:!0,value:n,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},xr=({open:t,onClose:o,value:s})=>r(a,Object.assign({disableEscapeKeyDown:!0,open:t,onClose:o,fullWidth:!0,maxWidth:"md",style:{width:800,left:"30%"}},{children:[e(i,{children:e(Z,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(l,{children:[e(gr,{copyText:s}),e(n,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var jr=({value:t,copyButton:n=!1,textField:a=!1})=>{const{open:l,onOpen:i,onClose:o}=ir();return r(c,Object.assign({width:"100%"},{children:[r(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:[n&&e(gr,{copyText:Er(t)}),e(Y,Object.assign({title:"Open",placement:"top"},{children:e(W,Object.assign({size:"small",onClick:()=>i()},{children:e(Ue,{fontSize:"small"})}))}))]})),a?e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t})):e(Nr,{value:t}),e(xr,{open:l,value:Er(t),onClose:o})]}))};const Sr=({value:t,type:n,copyText:a,status:l})=>{switch(n){case"JSON_copy":return e(jr,{value:t,copyButton:!0});case"JSON":return e(jr,{value:t});case"JSON_text":return e(jr,{value:t,textField:!0});case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(gr,{copyText:a||t})]}));case"boolean":return t?e(Ye,{color:"primary",fontSize:"small"}):e(Ke,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:ne(new Date(t),"dd.MM.yyyy")}),e("div",{children:ne(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(tn,{text:t,status:l});case"array":return e(c,{children:t.map(((r,t)=>e(c,{children:r},t)))});default:return e("div",{children:t})}},Ir=new RegExp("^[-+]?[0-9]+$"),wr=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),kr=e=>"string"==typeof e&&e.includes("$("),Pr=e=>e===Xe.DATE||e===Xe.DATE_TIME||e===Xe.TIME,Vr=e=>!e&&0!==e&&!1!==e,Mr=(e,r,t)=>{if(null==r&&e!==Xe.BOOLEAN)return null;let n=r;switch(e){case Xe.BOOLEAN:n=!!r;break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n=Number(r);break;case Xe.DATE:case Xe.DATE_TIME:case Xe.TIME:n=ne(new Date(r.toString()),t.formatText);break;case Xe.JSON:case Xe.ANY:try{"string"!=typeof r&&(n=JSON.stringify(r)),n=JSON.parse(n)}catch(e){console.log(e),n=null}break;case Xe.ENTITY:n=Ar(t.properties,r)}return n},Ar=(e,r)=>{if(r){const t={};return e.forEach((e=>{const{key:n,propertyType:a}=e,l=r[n];Array.isArray(l)?t[n]=l.map((r=>Mr(a,r,{formatText:e.format,properties:e.properties}))):t[n]=Mr(a,l,{formatText:e.format,properties:e.properties})})),t}return null},$r=(e,r)=>{const t={};return e.forEach((e=>{const{key:n,name:a,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,uiSettings:c,validationNode:d}=e,u="string"==typeof e.propertyType?e.propertyType:e.propertyType.value,p=Object.assign({name:a,propertyType:u,isRequired:l,isMultiple:i,sortOrder:o,isEnabled:s,validationNode:d,uiSettings:c},((e,r)=>{const t={};let n,a="";return r?e.isMultiple?(a="values",n=e.value):(a="value",n=e.value):e.isMultiple?(a="defaultValues",n=e.defaultValue):(a="defaultValue",n=e.defaultValue),Array.isArray(n)?t[a]=n.map((r=>Mr(e.propertyType,r,{formatText:e.format,properties:e.properties}))):t[a]=Mr(e.propertyType,n,{formatText:e.format,properties:e.properties}),t})(Object.assign(Object.assign({},e),{propertyType:u}),r));if("isViewableInList"in e&&(p.isViewableInList=e.isViewableInList),c)try{p.uiSettings=JSON.parse(c)}catch(e){console.log(e)}else p.uiSettings=null;u===Xe.BIG_DECIMAL&&(p.precisionScale=e.precisionScale,p.roundingMode=e.roundingMode),u!==Xe.DATE&&u!==Xe.TIME&&u!==Xe.DATE_TIME||(p.format=e.format),u===Xe.STRING&&(p.restrictedValues=e.restrictedValues),u===Xe.ENTITY_REFERENCE&&(p.definitionCode=e.definitionCode,p.definitionVersion=e.definitionVersion,p.labelPropertyCode=e.labelPropertyCode,p.valuePropertyCode=e.valuePropertyCode),u===Xe.ENTITY&&(p.properties=$r(e.properties,r)),t[n]=p})),t};function qr(e,r){return Object.keys(e).map((t=>{const n=Object.assign(Object.assign({key:t},e[t]),r||{});if(n.propertyType===Xe.ENTITY&&(n.properties=qr(n.properties,r)),n.propertyType===Xe.JSON)try{null==n.defaultValue?n.defaultValue="":n.defaultValue=JSON.stringify(n.defaultValue,null,2)}catch(e){n.defaultValue=""}if(n.uiSettings)try{n.uiSettings=JSON.stringify(n.uiSettings,null,2)}catch(e){n.uiSettings=""}return n.isMultiple&&("defaultValues"in n&&(n.defaultValue=n.defaultValues),"values"in n&&(n.value=n.values)),n})).sort(((e,r)=>Or(e,r,"sortOrder")))}const Rr=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return ne(new Date,e),e}catch(r){return console.error("Incorrect format",r),e}return e},Lr=e=>{let r=[];return r=Array.isArray(e.properties)?e.properties:qr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===Xe.ENTITY?t[r.key]=Lr(r):t[r.key]=r.propertyType,t}),{})},Dr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Fill array (widget)",sortOrder:1}];return t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e!==Xe.JSON&&e!==Xe.ANY&&e!==Xe.ENTITY||n.push({value:"json_valid",label:"JSON editor",sortOrder:2}),n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},Fr=({propertyType:e,useExpression:r,required:t})=>{let n=[{value:"widget",label:"Widget",sortOrder:1}];switch(t||n.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===Xe.JSON||e===Xe.ENTITY||e===Xe.ANY?n.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):n.push({value:"expression",label:"Expression",sortOrder:3})),e){case Xe.STRING:n[0].label="Text input";break;case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.LONG:case Xe.DOUBLE:n[0].label="Number input";break;case Xe.BOOLEAN:n[0].label="Switch";break;case Xe.ENTITY_REFERENCE:n[0].label="Entity reference fields";break;case Xe.JSON:n[0].label="JSON editor";break;case Xe.DATE:n[0].label="Date picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.DATE_TIME:n[0].label="Date & Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.TIME:n[0].label="Time picker",n.push({value:"string",label:"Text input",sortOrder:2});break;case Xe.ANY:n[0].label="Textarea"}return n=n.sort(((e,r)=>Or(e,r,"sortOrder"))),n},zr=r=>{var t,{control:n,validate:a,name:l="",label:i="",required:o=!1,defaultValue:s,disabled:c=!1,hideErrorMessage:d=!1,onChange:p,decimal:h=!1}=r,b=u(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","decimal"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:l,control:n,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:e=>h&&!wr.test(e)?"Not valid number":!(!h&&!Ir.test(e))||"Not valid integer"}}),E=g({control:n,name:l});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:l,label:i,error:!!O,helperText:!d&&(null==O?void 0:O.message),disabled:c,value:null!=E?E:""},b,{onChange:e=>{const r=e.nativeEvent.data||e.target.value;(!isNaN(r)||h&&"."===r||"-"===r||"+"===r)&&(p?p(e):v(e.target.value))},inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=E?E:""})}))},Br=r=>{var{control:t,name:n,label:a}=r,l=u(r,["control","name","label"]);const{field:{ref:i,onChange:o}}=m({control:t,name:n}),s=g({control:t,name:n}),c=C((()=>{if("boolean"==typeof s)return s;if("string"==typeof s){if("false"===s)return o(!1),!1;if("true"===s)return o(!0),!0}return!1}),[s,o]);O((()=>{null===s&&o(!1)}),[s,o]);return e(q,{label:a,name:n,control:e(re,Object.assign({color:"primary",size:"small",inputRef:i,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},l))})},Gr=({control:r,name:t,required:n,label:a,format:l=Qe,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(te,{label:a,inputRef:s,inputFormat:l,value:d||null,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},Jr=({control:r,name:t,required:n,label:a,format:l=er,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t});return e(oe,{mask:"",ampm:!1,inputRef:s,label:a,value:d||null,inputFormat:l,onChange:e=>{o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})},_r=({control:r,name:t,required:n,label:a,format:l=Ze,hideErrorMessage:i=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:n&&"Please, fill this field",validate:e=>!!ae(e,l)||"Incorrect date format"}}),d=g({control:r,name:t}),[u,p]=E(null);return O((()=>{if(d&&l){let e=ie(d,l,new Date);le(e)||(e=ie(d,"HH:mm:ss.SSS",new Date)),p(e)}}),[d,l]),e(se,{mask:"",inputRef:s,label:a,ampm:!1,value:u,inputFormat:l,onChange:e=>{p(e),o(le(e)?ne(e,l):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!i&&(null==c?void 0:c.message)}))})};var Yr=()=>{const t=ue(),n=pe(t,me),a=pe(t,ge),l=pe(t,he),i=pe(t,be),o=e=>t.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(de,{component:"div",page:n,count:l,rowsPerPage:i,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>o(r),onRowsPerPageChange:e=>t.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:void 0}),e(ce,{count:a,page:n+1,onChange:(e,r)=>o(r-1)})]}))};var Wr=r=>{var{hideMenu:t,currentColumn:n,onUnsort:a}=r,l=u(r,["hideMenu","currentColumn","onUnsort"]);return e(fe,Object.assign({hideMenu:t,currentColumn:n},l,{children:e(ye,{onClick:t,column:n})}))};var Hr=({mode:e})=>{const[r,t]=Q(),n=+r.get("page")||0,a=+r.get("size")||10;return O((()=>{"server"===e&&(r.has("page")||r.set("page","0"),r.has("size")||r.set("size","10"),t(r,{replace:!0}))}),[e,r,t]),{page:n,size:a,onPageChange:e=>{r.set("page",`${e}`),t(r,{replace:!0})},onSizeChange:e=>{r.set("size",`${e}`),t(r,{replace:!0})}}};var Kr=()=>{const[e,r]=Q(),t=e.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:t})=>{let n=!1;const a=e.getAll("sort");e.delete("sort"),a.forEach((r=>{const[a,l]=r.split(",");a===t?(n=!0,"asc"===l&&e.append("sort",`${a},desc`)):e.append("sort",`${a},${l}`)})),n||e.append("sort",`${t},asc`),r(e,{replace:!0})},getSortedColumns:e=>e.map((e=>{const r=t.find((r=>r[0]===e.field));return e.headerClassName=r?`Sorted --${r[1]} `:"",e}))}};var Ur=e=>{const[r,t]=E(10);O((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},Xr=Ee()({root:{width:"100%","& .MuiDataGrid-virtualScrollerContent":{height:"auto !important",minHeight:"56px !important"},"& .MuiDataGrid-virtualScrollerRenderZone":{position:"static"},"& .MuiDataGrid-renderingZone":{maxHeight:"none !important"},"& .MuiDataGrid-cell":{maxHeight:"none !important",lineHeight:"unset !important",textOverflow:"ellipsis",wordBreak:"break-all","& .MuiDataGrid-actionsCell":{width:"100%",gridGap:"4px",flexWrap:"wrap",'& > button[aria-label="more"]':{marginLeft:"auto"}}},"& .MuiDataGrid-row":{maxHeight:"none !important"},"& .Sorted":{"& .MuiDataGrid-iconButtonContainer":{visibility:"visible",width:"auto","& svg":{opacity:"1 !important"}},"&.--desc":{"& svg":{transform:"rotate(180deg)"}}}}});const Qr=({columns:r,rows:t,rowCount:n,loading:a,disableMargin:l,mode:i="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const{classes:u}=Xr(),{page:p,size:m,onPageChange:g,onSizeChange:h}=Hr({mode:i}),{onColumnHeaderClick:b,getSortedColumns:f}=Kr(),{pageSize:y,handlePageSizeChange:v}=Ur(o),O={sortingMode:i,paginationMode:i,pageSize:"server"===i?m:s?y:n,onPageSizeChange:"server"===i?h:v,components:{Pagination:Yr}};return"server"===i&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=p,O.onPageChange=g,O.components.ColumnMenu=Wr),e(c,Object.assign({mt:l?0:2},{children:e(ve,Object.assign({autoHeight:!0,hideFooterPagination:!s,hideFooter:!s,disableSelectionOnClick:!0,showColumnRightBorder:!0,showCellRightBorder:!0,className:u.root,loading:a,rows:t,columns:f(r),rowCount:n,rowsPerPageOptions:[10,20,50,100],onCellClick:d},O))}))},Zr=({icon:r,label:t,showInMenu:n,onClick:a,location:l})=>l?e(W,Object.assign({component:X,to:l,size:"small"},{children:e(Y,Object.assign({title:t,arrow:!0},{children:y.cloneElement(r,{fontSize:"small"})}))})):e(Oe,{nonce:"",onResize:void 0,onResizeCapture:void 0,icon:e(Y,Object.assign({title:t,arrow:!0},{children:r})),onClick:a,label:t,showInMenu:n}),et=r=>{const{children:t,value:n,index:a}=r,l=u(r,["children","value","index"]);return e("div",Object.assign({role:"tabpanel",hidden:n!==a,id:`simple-tabpanel-${a}`,"aria-labelledby":`simple-tab-${a}`},l,{children:n===a?t:null}))},rt=t=>{var n;const{tabs:a}=t,l=K(),i=U(),o=C((()=>new URLSearchParams(i.search)),[i.search]),s=o.get("tab");return r(c,{children:[e(Te,{children:e(Ne,Object.assign({value:s||(null===(n=a[0])||void 0===n?void 0:n.name),indicatorColor:"primary",textColor:"primary",onChange:(e,r)=>{o.set("tab",r),l({pathname:i.pathname,search:o.toString()},{replace:!0})}},{children:a.map((r=>e(Ce,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:a.map((r=>{var t;return e(et,Object.assign({value:s||(null===(t=a[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})};var tt=Ee()((()=>({container:{paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const nt=({title:t,text:n,json:a})=>{const{classes:l}=tt();return r("div",Object.assign({className:l.container},{children:[e("div",Object.assign({className:l.title},{children:t})),n&&e("div",Object.assign({className:l.text},{children:n})),a&&e(Z,{readOnly:!0,value:a,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},at=Object.values(rr).sort(((e,r)=>e.localeCompare(r)));var lt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(zr,{required:!0,control:a,defaultValue:2,name:`${n}.precisionScale`,label:"Precision Scale"})}),e(xe,{children:e(sr,{required:!0,control:a,name:`${n}.roundingMode`,label:"Rounding Mode",defaultValue:rr.HALF_UP,options:at})})]})};var it=({propertyFieldName:r,defaultValue:t=""})=>{const{control:n}=h();return e(xe,{children:e(ar,{required:!0,control:n,defaultValue:t,name:`${r}.format`,label:"Format"})})};const ot=Ee()((()=>({content:{marginLeft:"4px"},connector:{marginLeft:"4px"},stepper:{padding:"12px"},label:{display:"flex",alignItems:"flex-start"}}))),st=()=>e("div",{style:{display:"inline-block",width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#536DFE",marginTop:"5px"}}),ct=({data:t})=>{const{classes:n}=ot();return r(Ve,Object.assign({nonLinear:!0,orientation:"vertical",className:n.stepper,connector:e(qe,{className:n.connector})},{children:[t.filter(Boolean).map(((t,a)=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,Object.assign({className:n.label,StepIconComponent:st,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e($e,Object.assign({className:n.content},{children:t.content}))]}),a))),e(Me,{})]}))},dt=({properties:t=[]})=>{const n=C((()=>t?t.map((t=>{const n="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",n]})]})),content:"ENTITY"===t.propertyType&&e(dt,{properties:t.properties})}})):[]),[t]);return e(ct,{data:n})};var ut=dt;const pt={key:"",propertyType:"",name:"",defaultValue:"",isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0};var mt=({parentPropertyFieldName:o,entityDefinition:c=!1,globalParameter:d=!1})=>{const{control:u,setValue:m,getValues:b,trigger:f}=h(),y=g({control:u,name:`${o}.properties`,defaultValue:b(`${o}.properties`)||[]}),v=g({control:u,name:`${o}.name`}),O=ir(),[C,N]=E(0),x=T((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,pt),N(e)}else m(`${o}.properties`,[pt])}),[y,o,m]),j=()=>p(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&O.onClose()}));return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Properties"}))}),e(xe,{children:e(ut,{properties:y})}),e(xe,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:O.onOpen},{children:"Edit properties"}))}),r(a,Object.assign({disableEscapeKeyDown:!0,open:O.open,onClose:j,fullWidth:!0,maxWidth:"md"},{children:[r(s,{children:[v||"Entity"," Properties"]}),e(i,Object.assign({style:{height:"500px",overflow:"hidden"}},{children:r(xe,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(xe,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(Ve,Object.assign({nonLinear:!0,activeStep:C,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,n)=>r(Me,Object.assign({onClick:()=>(e=>N(e))(n),style:{cursor:"pointer"}},{children:[e(Ae,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e($e,{})]}),n)))})),e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))]})),e(xe,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(Bt,{hideAddButton:!0,parentFieldName:o,focusOnIndex:C,entityDefinition:c,globalParameter:d})}))]}))})),e(l,{children:e(n,Object.assign({variant:"contained",color:"primary",onClick:j},{children:"Ok"}))})]}))]})};var gt=({propertyFieldName:n})=>{const{control:a}=h();return r(t,{children:[e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionCode`,label:"Definition Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.definitionVersion`,label:"Definition Version"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.labelPropertyCode`,label:"Label Property Code"})}),e(xe,{children:e(ar,{required:!0,control:a,name:`${n}.valuePropertyCode`,label:"Value Property Code"})})]})};var ht=({propertyFieldName:n})=>{const a=C((()=>`${n}.restrictedValues`),[n]),{control:l,setValue:i,getValues:o}=h(),s=g({control:l,name:a,defaultValue:o(`${n}.restrictedValues`)||[]}),[d,u]=E(""),[p,m]=E(""),b=T((e=>{i(a,fr(s,e))}),[s,a,i]),y=()=>{d&&(i(a,[...s,d]),u(""))};return r(t,{children:[e(xe,{children:e(ee,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),!!(null==s?void 0:s.length)&&e(xe,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:s.map(((r,t)=>e(Re,{sx:{mr:1},variant:"outlined",label:r,onDelete:()=>b(t)},t)))}))}),e(xe,{children:e(f,{fullWidth:!0,variant:"outlined",size:"small",label:"Add restricted value",value:d,onChange:e=>{const{value:r}=e.target;u(r),s.includes(r)?m("This value already exists"):m("")},error:!!p,helperText:p,name:"restrictedValues",inputProps:{onKeyDown:e=>{"Enter"===e.key&&y()}},InputProps:{endAdornment:e(W,Object.assign({size:"small",onClick:y,disabled:!!p},{children:e(Le,{})}))}})})]})};const bt=({propertyType:r,propertyFieldName:t,entityDefinition:n=!1,globalParameter:a=!1})=>{switch(r){case Xe.STRING:return e(ht,{propertyFieldName:t});case Xe.BIG_DECIMAL:return e(lt,{propertyFieldName:t});case Xe.DATE:return e(it,{propertyFieldName:t,defaultValue:Qe});case Xe.TIME:return e(it,{propertyFieldName:t,defaultValue:Ze});case Xe.DATE_TIME:return e(it,{propertyFieldName:t,defaultValue:er});case Xe.ENTITY_REFERENCE:return e(gt,{propertyFieldName:t});case Xe.ENTITY:return e(mt,{parentPropertyFieldName:t,globalParameter:a,entityDefinition:n});default:return null}};var ft=({validate:r=!1,name:t,inputRef:n})=>{const{control:a,setValue:l,setError:i,clearErrors:o}=h(),s=g({control:a,name:t});return e(Z,{wrapEnabled:!0,width:"100%",height:"200px",theme:"monokai",fontSize:14,showPrintMargin:!1,style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,showLineNumbers:!0,tabSize:2},ref:n,name:t,value:"string"!=typeof s?null===s?"":JSON.stringify(s):s,onChange:e=>{if(l(t,e),r)try{JSON.parse(e),o(t)}catch(e){i(t,{message:"Invalid JSON"})}},mode:"json",onLoad:e=>{r||e.getSession().setUseWorker(!1)}})};var yt=({name:t,label:n,required:a,restrictedValues:l})=>{const{control:i}=h(),{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:i,name:t,rules:{required:a&&(Array.isArray(l)&&l.length?"Please, select a value":"Please, fill this field")}}),d=g({control:i,name:t});return Array.isArray(l)&&l.length?r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Fe,Object.assign({htmlFor:"type-select"},{children:n})),e(De,Object.assign({labelId:"type-select",label:n,value:d||"",onChange:o,ref:s},{children:l.map((r=>e(w,Object.assign({value:r},{children:r}),r)))}))]})):e(ar,{hideErrorMessage:!0,required:a,control:i,name:t,label:n})};const vt=({property:r,name:t,label:n,useExpression:a,inputRef:l})=>{const{control:i}=h();switch(C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case Xe.BIG_DECIMAL:case Xe.FLOAT:case Xe.DOUBLE:return e(zr,{decimal:!0,required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.INTEGER:case Xe.BIG_INTEGER:case Xe.LONG:return e(zr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n});case Xe.BOOLEAN:return e(Br,{control:i,name:t});case Xe.DATE:return e(Gr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.TIME:return e(_r,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.DATE_TIME:return e(Jr,{required:!0,hideErrorMessage:!0,control:i,name:t,label:n,format:r.format});case Xe.JSON:return e(ft,{validate:!0,name:t,inputRef:l});case Xe.STRING:return e(yt,{required:!0,name:t,label:n,restrictedValues:r.restrictedValues});case Xe.ENTITY_REFERENCE:return e(ar,{required:!0,hideErrorMessage:!0,name:t,label:n,control:i});case Xe.ANY:return e(ft,{name:t,inputRef:l});case Xe.ENTITY:return e(Xt,{properties:r.properties,dataFieldName:t,useExpression:a});default:return e("div",{children:"No widget"})}};var Ot=({value:e,property:r,label:t,isDirty:n,required:a=!1,useExpression:l=!1,multipleOptions:i=!1})=>{const o=C((()=>t?`${t} (value)`:`${r.name} (value)`),[t,r]),s=C((()=>t?`${t} (widget)`:`${r.name} (widget)`),[t,r]),c=C((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r]),[d,u]=E(null),p=C((()=>i?Dr({propertyType:c,required:a,useExpression:l}):Fr({propertyType:c,required:a,useExpression:l})),[l,a,c,i]);return O((()=>{d?n||(kr(e)&&"expression"!==d?u("expression"):null==e||kr(e)||"widget"===d||u("widget")):Vr(e)&&(null==p?void 0:p.length)?u(p[0].value):l&&kr(e)?u("expression"):u("widget")}),[e,d,p,l,n]),{propertyType:c,valueLabel:o,fillOptionLabel:s,fillOption:d,fillOptions:p,setFillOption:u}};var Et=Ee()((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const Tt=({property:t,name:n,useExpression:a,label:l,required:i,title:o})=>{const{control:s,clearErrors:d,register:u}=h(),{field:{ref:p,onChange:b},fieldState:{error:f,isDirty:y}}=m({name:n}),v=g({control:s,name:n}),{propertyType:E,valueLabel:T,fillOptionLabel:C,fillOption:N,fillOptions:x,setFillOption:j}=Ot({value:v,property:t,isDirty:y,label:l,required:i,useExpression:a});O((()=>{void 0===v&&b(null)}),[v,b]);const{classes:S}=Et();return r(xe,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),x?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:C})),e(De,Object.assign({labelId:"type-select",label:C,value:N||"",onChange:e=>{const r=e.target.value;"null"===r?u(n,{value:null}):"widget"===r?b(null):"expression"!==r&&"string"!==r||b(""),j(r),d(n)}},{children:x.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===N&&(E===Xe.JSON||E===Xe.ENTITY||E===Xe.ANY?e(ft,{name:n,inputRef:p}):e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0})),"string"===N&&e(ar,{control:s,name:n,label:T,required:!0,hideErrorMessage:!0}),"json_notvalid"===N&&e(ft,{name:n,inputRef:p}),"widget"===N&&e(vt,{property:t,name:n,useExpression:a,label:T,inputRef:p,required:i}),f&&e(ee,Object.assign({color:"secondary"},{children:f.message}))]}))};var Ct=({name:t,property:a,useExpression:l,required:i,label:o})=>{const{control:s,setValue:d,clearErrors:u}=h();m({control:s,name:t,rules:{validate:e=>!(!e||Array.isArray(e)&&!e.length)||"Please, fill array"}});const p=g({control:s,name:t}),b=T((()=>{p&&Array.isArray(p)?d(`${t}.${p.length}`,null):d(t,[null]),u(t)}),[t,p,d,u]),f=T((e=>{d(t,fr(p,e))}),[t,p,d]);return r(xe,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[p&&Array.isArray(p)?p.map(((n,s)=>e(xe,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(Tt,{required:i,property:a,useExpression:l,name:`${t}.${s}`,label:`${o||a.name} (${s+1})`}),e(c,Object.assign({mt:"8px",ml:"4px"},{children:e(W,Object.assign({size:"small",onClick:()=>f(s)},{children:e(ze,{fontSize:"small"})}))}))]}))}),s))):null,e(xe,{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const Nt=({property:t,name:n,useExpression:a,required:l,label:i,title:o})=>{const{control:s,clearErrors:d}=h(),{field:{ref:u,onChange:p},fieldState:{error:b,isDirty:f}}=m({control:s,name:n,rules:{validate:e=>!(l&&!e)||"Please, fill this field"}}),y=g({control:s,name:n}),{propertyType:v,valueLabel:E,fillOptionLabel:T,fillOption:C,fillOptions:N,setFillOption:x}=Ot({property:t,value:y,isDirty:f,label:i,required:l,useExpression:a,multipleOptions:!0});O((()=>{void 0===y&&p(null)}),[y,p]);const{classes:j}=Et();return r(xe,{children:[o&&e(c,Object.assign({mb:2},{children:e(ee,Object.assign({variant:"h6"},{children:o}))})),N?e(c,Object.assign({mb:2},{children:r($,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Fe,Object.assign({htmlFor:"type-select",className:j.inputLabel},{children:T})),e(De,Object.assign({labelId:"type-select",label:T,value:C||"",onChange:e=>{const r=e.target.value;"null"===r?p(null):"expression"===r||"json_valid"===r||"json_notvalid"===r?p(""):"widget"===r&&p([]),x(r),d(n)}},{children:N.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===C&&(v===Xe.JSON||v===Xe.ENTITY||v===Xe.ANY?e(ft,{name:n,inputRef:u}):e(ar,{required:!0,hideErrorMessage:!0,control:s,name:n,label:E})),"json_valid"===C&&e(ft,{validate:!0,name:n,inputRef:u}),"widget"===C&&e(Ct,{property:t,name:n,useExpression:a,required:l,label:i}),b&&e(ee,Object.assign({color:"secondary"},{children:b.message}))]})},xt=({propertyFieldName:r,name:t,label:n="",required:a})=>{const{control:l}=h(),i=g({control:l,name:`${r}.propertyType`}),o=g({control:l,name:`${r}.isMultiple`}),s=g({control:l,name:`${r}.format`}),c=g({control:l,name:`${r}.restrictedValues`}),d=g({control:l,name:`${r}.properties`}),u=g({control:l,name:`${r}.isRequired`}),p=C((()=>{const e="string"==typeof i?i:i.value;return{name:n,isRequired:u,isMultiple:o,format:s,restrictedValues:c,properties:d,propertyType:e,defaultValue:null,defaultValues:[],sortOrder:0,isEnabled:!0,uiSettings:null,validationNode:null}}),[i,s,c,o,n,u,d]);return e(o?Nt:Tt,{name:t,property:p,title:n,required:a})};var jt=({name:t})=>{const a=C((()=>({type:""})),[]),{control:l}=h(),{fields:i,append:o,remove:s}=b({control:l,name:t});return r(c,Object.assign({mt:2},{children:[e(n,Object.assign({variant:"outlined",size:"small",onClick:()=>o(a)},{children:"Add node"})),i.map((({id:r},n)=>e($t,{removeHandle:()=>s(n),name:`${t}.${n}`},r)))]}))};const St=j(""),It=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.minimumLength`,label:"Minimum Length",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximumLength`,label:"Maximum Length",type:"number"})}))]}),wt=({name:n,control:a})=>r(t,{children:[e(ee,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(ar,{control:a,name:`${n}.multipleOf`,label:"Multiple Of",type:"number"})}),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.minimum`,label:"Minimum",type:"number"})})),e(c,Object.assign({mt:2},{children:e(ar,{control:a,name:`${n}.maximum`,label:"Maximum",type:"number"})})),r(c,Object.assign({mt:2},{children:[e(cr,{control:a,name:`${n}.exclusiveMinimum`,label:"Exclusive Minimum",defaultValue:"false"}),e(cr,{control:a,name:`${n}.exclusiveMaximum`,label:"Exclusive Maximum",defaultValue:"false"})]}))]}),kt=["STRING_REGEX","JSON_SCHEMA"],Pt=new Set([Xe.INTEGER,Xe.FLOAT,Xe.DOUBLE,Xe.BIG_DECIMAL,Xe.BIG_INTEGER,Xe.LONG]);var Vt=({name:n})=>{const{control:a,setValue:l}=h(),i=S(St),o=g({control:a,name:`${n}.type`}),s=C((()=>{if("STRING_REGEX"===o)return e(ar,{control:a,name:`${n}.pattern`,label:"Pattern"});if("JSON_SCHEMA"===o)switch(!0){case i===Xe.STRING:return e(It,{name:`${n}.node`,control:a});case Pt.has(i):return e(wt,{name:`${n}.node`,control:a});case i===Xe.JSON:return e(br,{label:"Properties",control:a,name:`${n}.properties`,validateJson:!0,parseValue:!0});default:return"Not available for type "+i}return null}),[i,o,a,n]);return O((()=>{Pt.has(i)&&"JSON_SCHEMA"===o&&(l(`${n}.node.exclusiveMinimum`,!1),l(`${n}.node.exclusiveMaximum`,!1))}),[i,o,l,n]),e(ct,{data:[{label:"Validator",content:r(t,{children:[e(c,{children:e(sr,{control:a,name:`${n}.type`,label:"Type",options:kt,onChange:e=>{l(n,{}),l(`${n}.type`,e.target.value)}})}),e(c,Object.assign({mt:2},{children:s}))]})}]})};const Mt=["AND","OR","NOT","NODE"],At=({name:n,removeHandle:a})=>{const{control:l}=h(),i=g({control:l,name:`${n}.type`}),o=C((()=>({AND:e(jt,{name:`${n}.nodes`}),OR:e(jt,{name:`${n}.nodes`}),NODE:e(Vt,{name:`${n}.validator`}),NOT:e(At,{name:`${n}.node`})})),[n]);return e(ct,{data:[{label:"Node Type",content:r(t,{children:[r(c,Object.assign({display:"flex",alignItems:"center"},{children:[e(sr,{required:!0,control:l,name:`${n}.type`,label:"Type",options:Mt}),a&&e(c,Object.assign({ml:2},{children:e(W,Object.assign({onClick:a,color:"primary"},{children:e(Pe,{})}))}))]})),e(c,{children:o[i]})]})}]})};var $t=At;const qt=({name:n})=>{const[a,l]=E(!1),{setValue:i,getValues:o}=h(),s=T((e=>{l(e.target.checked),e.target.checked||i(n,null)}),[i,n]);return O((()=>{o(n)&&l(!0)}),[n,o]),r(t,{children:[r(c,Object.assign({display:"flex",justifyContent:"space-between"},{children:[e(ee,Object.assign({variant:"h6"},{children:"Validator"})),e(q,{label:"Enable",control:e(L,{color:"primary",checked:a,onChange:s})})]})),a&&e($t,{name:n})]})};var Rt=({name:r,label:t="",propertyFieldName:n,type:a,decimal:l=!1,options:i=[],required:o=!1})=>{const{control:s}=h(),c=C((()=>`${n}.${r}`),[r,n]);switch(a){case"text":return e(ar,{control:s,name:c,label:t,required:o});case"number":return e(zr,{control:s,name:c,label:t,decimal:l,required:o});case"select":return e(sr,{control:s,name:c,label:t,options:i,required:o});case"autocomplete":return e(pr,{control:s,name:c,label:t,options:i,required:o});case"json":return e(br,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var Lt=e=>({customCheckboxes:C((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:C((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const Dt=Object.values(Xe).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var Ft=({propertyFieldName:n,entityDefinition:a=!1,globalParameter:l=!1,customPropertyFields:i=[]})=>{var o;const{control:s,setValue:c}=h(),d=g({control:s,name:`${n}.propertyType`}),u=g({control:s,name:`${n}.isMultiple`}),p=g({control:s,name:`${n}.isRequired`}),{customCheckboxes:m,customFields:b}=Lt(i),f=C((()=>{let e=l?"Value":"Default Value";return u&&(e+="s"),e}),[l,u]);return O((()=>{d&&"string"==typeof d&&c(`${n}.propertyType`,Dt.find((e=>e.value===d)))}),[d,c,n]),r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(xe,{children:e(or,{required:!0,control:s,name:`${n}.key`,label:"Key"})}),e(xe,{children:e(or,{required:!0,control:s,name:`${n}.name`,label:"Name"})}),e(xe,{children:e(pr,{required:!0,control:s,name:`${n}.propertyType`,label:"Type",options:Dt,onChange:(e,r)=>{const t=`${n}.propertyType`,a=`${n}.${l?"value":"defaultValue"}`;c(a,u?[]:null),c(t,r)}})}),e(xe,{children:e(zr,{required:!0,control:s,name:`${n}.sortOrder`,label:"Sort Order"})}),e(xe,{children:e(br,{control:s,name:`${n}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(xe,{children:[e(cr,{control:s,name:`${n}.isMultiple`,label:"Multiple"}),e(cr,{control:s,name:`${n}.isEnabled`,label:"Enabled"}),e(cr,{control:s,name:`${n}.isRequired`,label:"Required"}),a&&e(cr,{control:s,name:`${n}.isViewableInList`,label:"Is viewable in list"}),m.length?e(t,{children:m.map(((r,t)=>e(cr,{control:s,name:`${n}.${r.name}`,label:r.label},t)))}):null]}),d&&r(t,{children:[e(xe,{children:e(St.Provider,Object.assign({value:null!==(o=d.value)&&void 0!==o?o:d},{children:e(qt,{name:`${n}.validationNode`})}))}),e(bt,{propertyType:"string"==typeof d?d:d.value,propertyFieldName:n,globalParameter:l,entityDefinition:a}),e(xt,{propertyFieldName:n,name:`${n}.${l?"value":"defaultValue"}`,label:f,required:!!l&&p})]}),b.length?e(t,{children:b.map(((r,t)=>e(xe,{children:e(Rt,Object.assign({},r,{propertyFieldName:n}))},t)))}):null]}))};const zt={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},Bt=({parentFieldName:a,hideAddButton:l,focusOnIndex:i,required:o,entityDefinition:s=!1,globalParameter:c=!1,customPropertyFields:d=[]})=>{const u=C((()=>a?`${a}.properties`:"properties"),[a]),{setValue:p,clearErrors:b,control:f}=h(),{fieldState:{error:y}}=m({control:f,name:u,rules:{required:o&&"Please, add properties"}}),E=g({control:f,name:u}),N=v([]);O((()=>{"number"==typeof i&&N.current[i]&&N.current[i].scrollIntoView({behavior:"smooth",block:"start"})}),[i,N]);const x=T((()=>{E?p(`${u}.${E.length}`,zt):p(u,[zt]),b(u)}),[E,u,b,p]),j=T((e=>{p(`${u}`,fr(E,e))}),[E,u,p]);return r(t,{children:[y&&y.message&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ee,Object.assign({color:"secondary"},{children:y.message}))})),E&&E.map(((t,a)=>e(xe,Object.assign({sm:12,md:8,lg:6,ref:e=>N.current[a]=e},{children:r(je,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({color:y&&y[a]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${a+1}`}))})),e(Ie,{children:e(Ft,{propertyFieldName:`${u}.${a}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(we,{children:e(n,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>j(a)},{children:"Remove"}))})]}))}),a))),!l&&e(xe,Object.assign({xs:12},{children:e(n,Object.assign({variant:"contained",size:"small",color:"primary",onClick:x},{children:"Add property"}))}))]})},Gt=({definitionFieldName:t,title:n,hideCodeField:a,hideVersionField:l,hideNameField:i,required:o=!1})=>{const{control:s}=h();return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[n&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(ee,Object.assign({variant:"h4"},{children:n}))}))})),!i&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!a&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(ar,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!l&&e(xe,Object.assign({sm:12,md:8,lg:6},{children:e(zr,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(Bt,{required:o,parentFieldName:t})]}))},Jt={name:"Name",key:"Key",propertyType:"Property Type",defaultValue:"Default Value",defaultValues:"Default Values",sortOrder:"Sort Order",isRequired:"Required",isMultiple:"Multiple",isEnabled:"Enabled",isViewableInList:"Is Viewable In List",precisionScale:"Precision Scale",roundingMode:"Rounding Mode",format:"Format",definitionCode:"Definition Code",definitionVersion:"Definition Version",labelPropertyCode:"Label Property Code",valuePropertyCode:"Value Property Code",restrictedValues:"Restricted Values",value:"Value",values:"Values",uiSettings:"UI Settings",validationNode:"Validation Node"},_t=({value:r,type:t})=>t!==Xe.JSON&&t!==Xe.ENTITY&&t!==Xe.ANY||!r?e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(Nr,{value:r}),Yt=(t,n,a)=>{switch(n){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return t?e(Ye,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return t?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:t.map((r=>e(Re,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(_t,{value:t,type:a});case"values":case"defaultValues":return Array.isArray(t)&&a!==Xe.ENTITY&&a!==Xe.JSON&&a!==Xe.ANY?r("div",{children:["[",null==t?void 0:t.map(((r,t)=>e("div",{children:e(_t,{value:r,type:a})},t))),"]"]}):e(Nr,{value:t});case"uiSettings":case"validationNode":return t?e(Nr,{value:t}):null;default:return e(ee,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:t}))}};var Wt=({property:t})=>{const n=C((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(Be,Object.assign({size:"small"},{children:e(Ge,{children:Object.keys(Jt).map((t=>t in n?r(Je,{children:[e(_e,Object.assign({width:"30%"},{children:e(ee,{children:Jt[t]})})),e(_e,{children:Yt(n[t],t,n.propertyType)})]},t):null))})}))};var Ht=I((({properties:t,parentNames:n=[]})=>{const a=C((()=>{let e=!1;return t.every((r=>r.propertyType!==Xe.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(ee,Object.assign({variant:"h6"},{children:"Properties"})),r(Ve,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Me,Object.assign({expanded:!0},{children:[e(Ae,{StepIconProps:{icon:"",completed:!1,active:!0}}),e($e,{children:e(Kt,{property:t,parentNames:[...n],defaultExpanded:!1})})]}),t.key))),a&&e(Me,{})]}))]}))}));const Kt=({property:t,parentNames:n=[],defaultExpanded:a=!0})=>{const[l,i]=E(!0);return O((()=>{i(a)}),[a]),r(je,Object.assign({elevation:3,style:{backgroundColor:n.length%2==1?"#f1f1f1":"#fff"},expanded:l,onChange:()=>i((e=>!e))},{children:[e(Se,Object.assign({expandIcon:e(ke,{})},{children:e(ee,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(Ie,{children:r(c,Object.assign({width:"100%"},{children:[e(Wt,{property:t}),t.propertyType===Xe.ENTITY&&e(Ht,{properties:qr(t.properties),parentNames:[...n,t.name]})]}))})]}))},Ut=({properties:r,expandAll:t=!0})=>{const n=C((()=>Array.isArray(r)?r:r?qr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:n.length?n.map((r=>e(Kt,{property:r,defaultExpanded:t},r.key))):e(ee,{children:"No properties"})}))},Xt=({properties:t,dataFieldName:n,useExpression:a=!1,title:l})=>{const i=C((()=>t?t.map((t=>{const l="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",l]})]})),content:t.isMultiple?e(Nt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired}):e(Tt,{property:t,name:`${n}.${t.key}`,useExpression:a,label:t.name,required:t.isRequired})}})):[]),[t,n,a]);return r(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:[l&&e(xe,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:l}))})),e(ct,{data:i})]}))},Qt=({property:r,data:t,properties:n})=>{const a=r=>e(c,Object.assign({style:{backgroundColor:"#fff",border:"1px solid #ccc",borderRadius:"4px",padding:"4px"}},{children:null===r?"null":null==r?void 0:r.toString()}));if(kr(t))return a(t);switch(r.propertyType){case Xe.JSON:return e(Nr,{value:t});case Xe.ENTITY:return e(en,{properties:n,data:t});case Xe.ANY:return"object"==typeof t?e(Nr,{value:t}):a(t);default:return a(t)}};var Zt=({property:r,data:t,hasBackground:n=!1})=>{const a=C((()=>r.propertyType===Xe.ENTITY?Array.isArray(r.properties)?r.properties:qr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:n?"#f1f1f1":"none"}},{children:e(Qt,{property:r,data:t,properties:a})}))};const en=({properties:n,data:a})=>{const l=C((()=>n&&a?n.map((n=>{var l;const{key:i,name:o,isMultiple:s,propertyType:d}=n,u=null!==(l=a[n.key])&&void 0!==l?l:a;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[e("b",{children:o}),r("span",{children:[i," | ",s?"multiple":"single"," | ",d]})]})),content:s&&Array.isArray(u)&&n.propertyType!==Xe.ANY?e(t,{children:u.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(Zt,{property:n,data:r,hasBackground:!0})}),t)))}):e(Zt,{property:n,data:u})}})):[]),[n,a]);return e(xe,Object.assign({container:!0,direction:"column",spacing:2},{children:e(ct,{data:l})}))};var rn=Ee()((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px",width:"fit-content","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const tn=({text:r,status:t="default"})=>{const{classes:n}=rn();return e("div",Object.assign({className:We(n.root,{[t]:!0})},{children:r}))},nn=Ee()((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),an=({properties:t,parentKey:n="",activePath:a="",prefix:l="",onClick:i})=>{const{classes:o}=nn();return e(Ve,Object.assign({orientation:"vertical",onClick:e=>e.stopPropagation()},{children:t&&t.map((t=>{var s;const c=n?`${n}.${t.key}`:t.key,d=null!==(s=t.propertyType.value)&&void 0!==s?s:t.propertyType;return r(Me,Object.assign({expanded:!0,onClick:()=>{return e=c,void i(l?`${l}.${e}`:e);var e}},{children:[e(Ae,Object.assign({StepIconProps:{icon:"",completed:!1,active:a===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e($e,{children:e("div",{children:d===Xe.ENTITY&&e(an,{onClick:i,activePath:a,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var ln=an;const on=({open:t=!1,onClose:o,onPaste:c,properties:d})=>{const[u,p]=E("");return r(a,Object.assign({open:t,onClose:o,fullWidth:!0,maxWidth:"md"},{children:[e(s,{children:"JSON path picker"}),r(i,{children:[(null==d?void 0:d.length)?d.map(((t,n)=>r("div",{children:[e(ee,Object.assign({variant:"h6"},{children:t.title})),e(ln,{properties:t.properties,prefix:t.pathPrefix,onClick:p,activePath:u})]},n))):e(ee,{children:"Please, add properties"}),u&&r(ee,Object.assign({variant:"h6",gutterBottom:!0},{children:["Selected path : $(",u,")"]}))]}),r(l,{children:[e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{navigator.clipboard.writeText(`$(${u})`),He.success("Copied!")}},{children:"Copy"})),e(n,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${u})`),He.success("Pasted!")}},{children:"Paste"})),e(n,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))};export{nr as AlertDialog,hr as BackButton,br as ControlAceEditor,pr as ControlAutocomplete,cr as ControlCheckbox,Gr as ControlDate,Jr as ControlDateTime,or as ControlDebouncedInput,ar as ControlInput,zr as ControlNumberInput,mr as ControlQueryAutocomplete,dr as ControlRadio,sr as ControlSelect,Br as ControlSwitch,_r as ControlTime,gr as CopyButton,Gt as CreateDefinition,Bt as CreatePropertiesList,Qe as DATE_DEFAULT_FORMAT,er as DATE_TIME_DEFAULT_FORMAT,Xt as DefinitionFiller,en as DefinitionValueView,nt as InfoItem,xr as JsonModalView,on as JsonPathPicker,Nr as JsonView,tr as Loader,Nt as MultiplePropertyFiller,Tt as PropertyFiller,Xe as PropertyType,xt as PropertyValueField,rr as RoundingMode,rt as RouteTabs,tn as Status,ct as StepperView,Ze as TIME_DEFAULT_FORMAT,et as TabPanel,Qr as Table,Zr as TableAction,Ut as ViewPropertiesList,Kt as ViewProperty,vr as capitalize,Cr as deepParseJson,Ir as digitsOnly,wr as floatsOnly,Ar as formatDefinitionData,Sr as formatTableRowValue,Rr as getDemPropertyDateFormat,Lr as getEntityStarterValue,Er as getJsonStringValue,Dr as getMultiplePropertyFillOptions,Fr as getSinglePropertyFillOptions,Pr as isDateType,kr as isExpression,Vr as isPropertyValueEmpty,$r as propertiesArrayToObject,qr as propertiesObjectToArray,fr as removeArrayItem,Tr as safeParseJson,Or as sortArrayOfObjects,lr as useDebounce,ir as useToggle,yr as validateJson};
|
1
|
+
import{jsx as e,jsxs as r,Fragment as t}from"react/jsx-runtime";import i from"@mui/material/Button";import n from"@mui/material/Dialog";import a from"@mui/material/DialogActions";import l from"@mui/material/DialogContent";import o from"@mui/material/DialogContentText";import s from"@mui/material/DialogTitle";import c from"@mui/material/Box";import d from"@mui/material/CircularProgress";import{__rest as p,__awaiter as u}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 x,useCallback as E,useMemo as T,createElement as C,forwardRef as j,createContext as N,useContext as S,memo as k,Suspense as I}from"react";import w from"@mui/material/MenuItem";import M from"@mui/icons-material/Clear";import{InputAdornment as A,IconButton as P,FormHelperText as V,Box as $,styled as F}from"@mui/material";import L from"@mui/material/FormControl";import q from"@mui/material/FormControlLabel";import R from"@mui/material/FormHelperText";import D from"@mui/material/Checkbox";import z from"@mui/material/Radio";import B from"@mui/material/RadioGroup";import W from"@mui/material/FormLabel";import G from"@mui/material/Autocomplete";import{useQuery as J}from"@tanstack/react-query";import _ from"qs";import H from"@mui/icons-material/FileCopyOutlined";import Y from"@mui/material/Tooltip";import K from"@mui/material/IconButton";import U from"@mui/icons-material/ArrowBack";import{useNavigate as X,useLocation as Q,Link as Z,useSearchParams as ee,BrowserRouter as re,Outlet as te}from"react-router-dom";import ie from"react-ace";import ne from"@mui/material/Typography";import ae from"@mui/material/Switch";import{DatePicker as le}from"@mui/x-date-pickers/DatePicker";import{format as oe,isMatch as se,isValid as ce,parse as de}from"date-fns";import{DateTimePicker as pe}from"@mui/x-date-pickers/DateTimePicker";import{TimePicker as ue}from"@mui/x-date-pickers/TimePicker";import me from"@mui/material/Pagination";import ge from"@mui/material/TablePagination";import{useGridApiContext as he,useGridSelector as be,gridPageSelector as fe,gridPageCountSelector as ye,gridRowCountSelector as ve,gridPageSizeSelector as Oe,GridColumnMenuContainer as xe,GridFilterMenuItem as Ee,DataGrid as Te,GridActionsCellItem as Ce}from"@mui/x-data-grid";import{makeStyles as je}from"tss-react/mui";import Ne from"@mui/material/Paper";import Se from"@mui/material/Tab";import ke from"@mui/material/Tabs";import Ie from"@mui/material/Unstable_Grid2";import we from"@mui/material/Accordion";import Me from"@mui/material/AccordionSummary";import Ae from"@mui/material/AccordionDetails";import Pe from"@mui/material/AccordionActions";import Ve from"@mui/icons-material/ExpandMore";import $e from"@mui/icons-material/Delete";import Fe from"@mui/material/Stepper";import Le from"@mui/material/Step";import qe from"@mui/material/StepLabel";import Re from"@mui/material/StepContent";import De from"@mui/material/StepConnector";import ze from"@mui/material/Chip";import Be from"@mui/icons-material/Add";import We from"@mui/material/Select";import Ge from"@mui/material/InputLabel";import Je from"@mui/icons-material/Close";import _e from"@mui/material/Table";import He from"@mui/material/TableBody";import Ye from"@mui/material/TableRow";import Ke from"@mui/material/TableCell";import Ue from"@mui/icons-material/CheckCircle";import Xe from"classnames";import{toast as Qe}from"react-toastify";import Ze from"@mui/material/Toolbar";import er from"@mui/material/Drawer";import rr from"@mui/material/List";import tr from"@mui/material/ListItem";import ir from"@mui/material/ListItemIcon";import nr from"@mui/material/ListItemButton";import ar from"@mui/material/ListSubheader";import{createTheme as lr,responsiveFontSizes as or,ThemeProvider as sr}from"@mui/material/styles";import cr from"@mui/material/Collapse";import dr from"@mui/material/ListItemText";import pr from"@mui/icons-material/ExpandLess";import ur from"@mui/icons-material/NotInterested";import mr from"@mui/icons-material/Fullscreen";var gr;!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"}(gr||(gr={}));const hr="yyyy-MM-dd",br="HH:mm:ss",fr="yyyy-MM-dd'T'HH:mm:ss.SSSXXX";var yr;!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"}(yr||(yr={}));const vr=({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,{})})),Or=({open:t,title:d,description:p,closeButtonTitle:u="Close",onClose:m,confirmButtonTitle:g="Confirm",confirmButtonDisabled:h=!1,onConfirm:b,children:f,dialogProps:y,loading:v,maxWidth:O="xs"})=>e("div",{children:r(n,Object.assign({open:t,onClose:m,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",fullWidth:!0,maxWidth:O},y,{children:[v&&e(vr,{}),e(s,Object.assign({id:"alert-dialog-title"},{children:d})),r(l,{children:[p&&e(o,Object.assign({id:"alert-dialog-description"},{children:p})),e(c,Object.assign({maxWidth:"100%",overflow:"hidden"},{children:f}))]}),r(a,{children:[e(i,Object.assign({onClick:m,color:"primary",variant:"contained"},{children:u})),g&&b?e(i,Object.assign({onClick:b,color:"secondary",variant:"contained",autoFocus:!0,disabled:h},{children:g})):null]})]}))}),xr=r=>{var t,{control:i,validate:n,name:a="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:u=!1,onChange:h}=r,b=p(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:a,control:i,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:n}}),x=g({control:i,name:a});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:a,label:l,error:!!O,helperText:!u&&(null==O?void 0:O.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=x?x:"",onChange:h||v},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""})}))};function Er(e,r){const t=v();O((()=>()=>{t.current&&clearTimeout(t.current)}),[]);return(...i)=>{clearTimeout(t.current),t.current=setTimeout((()=>{e(...i)}),r)}}const Tr=()=>{const[e,r]=x(!1);return{open:e,toggle:()=>{r((e=>!e))},onClose:()=>{r(!1)},onOpen:()=>{r(!0)}}},Cr=r=>{var t,{control:i,validate:n,name:a="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,textarea:d=!1,hideErrorMessage:u=!1,onChange:h}=r,b=p(r,["control","validate","name","label","required","defaultValue","disabled","textarea","hideErrorMessage","onChange"]);const{field:{ref:y,onChange:v},fieldState:{error:T}}=m({name:a,control:i,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:n}}),C=g({control:i,name:a}),[j,N]=x("");O((()=>{!j&&C&&N(C)}),[j,C]);const S=Er((e=>{v(e)}),200),k=E((e=>{N(e.target.value),S(e.target.value)}),[S]);return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:a,label:l,error:!!T,helperText:!u&&(null==T?void 0:T.message),disabled:c,multiline:d,minRows:d?3:1,value:null!=j?j:"",onChange:k},b,{inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=j?j:""})}))},jr=r=>{var t,{control:i,validate:n,name:a="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:u,labelKey:h,valueKey:b,options:y=[]}=r,v=p(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options"]);const{field:{ref:O,onChange:x},fieldState:{error:T}}=m({name:a,control:i,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:n}}),C=g({control:i,name:a}),j=E((e=>"string"==typeof e?e:b?e[b]:e.value),[b]),N=E((e=>"string"==typeof e?e:h?e[h]:e.label),[h]),S=E((()=>{x(null)}),[x]);return e(f,Object.assign({select:!0,fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:O,name:a,label:l,error:!!T,helperText:!d&&(null==T?void 0:T.message),disabled:c,value:null!=C?C:"",onChange:u||x},v,{inputProps:Object.assign(Object.assign({},null!==(t=null==v?void 0:v.inputProps)&&void 0!==t?t:{}),{value:null!=C?C:""}),InputProps:Object.assign({endAdornment:!o&&C?e(A,Object.assign({position:"end",sx:{mr:2}},{children:e(P,Object.assign({onClick:S,size:"small"},{children:e(M,{fontSize:"small"})}))})):null},null==v?void 0:v.InputProps)},{children:y.map(((r,t)=>e(w,Object.assign({value:j(r)},{children:N(r)}),t)))}))},Nr=t=>{var{control:i,validate:n,name:a="",label:l="",required:o=!1,defaultValue:s="",disabled:c=!1,hideErrorMessage:d=!1,onChange:u}=t,h=p(t,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange"]);const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:a,control:i,defaultValue:s}),v=g({control:i,name:a}),O=T((()=>{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(L,Object.assign({error:!!y,component:"fieldset",variant:"standard",disabled:c},{children:[e(q,{control:e(D,Object.assign({checked:O,onChange:u||f,name:a,inputRef:b,disabled:c},h)),label:l}),!d&&(null==y?void 0:y.message)&&e(R,{children:y.message})]}))},Sr=({name:t,label:i,values:n=[],control:a,required:l,defaultValue:o,disabled:s,hideErrorMessage:c,labelKey:d,valueKey:p,validate:u,onChange:h})=>{const{field:{ref:b,onChange:f},fieldState:{error:y}}=m({name:t,control:a,defaultValue:o,rules:{required:l&&"Please, fill this field",validate:u}}),v=g({control:a,name:t}),O=E((e=>"string"==typeof e?e:p?e[p]:e.value),[p]),x=E((e=>"string"==typeof e?e:d?e[d]:e.label),[d]);return r(L,Object.assign({disabled:s,error:!!y},{children:[e(W,Object.assign({id:"radio-buttons-group"},{children:i})),e(B,Object.assign({"aria-labelledby":"radio-buttons-group",ref:b,name:t,value:v,onChange:h||f},{children:n.map((r=>e(q,{value:O(r),control:e(z,{}),label:x(r)})))})),!c&&(null==y?void 0:y.message)&&e(V,{children:y.message})]}))};var kr=({valueKey:e,labelKey:r})=>{const t=E(((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]),i=E((e=>e?"string"==typeof e?e:r&&e[r]?e[r]+"":e.label+""||e.name+""||e.value+""||e.code+""||"--no label--":""),[r]),n=E(((e,r)=>C($,Object.assign({},e,{component:"li",key:e.id}),i(r))),[i]);return{isOptionEqualToValue:t,getOptionLabel:i,renderOption:n}};const Ir=r=>{var{control:t,validate:i,name:n="",label:a="",required:l=!1,defaultValue:o="",disabled:s=!1,hideErrorMessage:c=!1,onChange:d,labelKey:u,valueKey:h,options:b=[],multiple:y,textFieldProps:v={},disableCloseOnSelect:O}=r,x=p(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","labelKey","valueKey","options","multiple","textFieldProps","disableCloseOnSelect"]);const{field:{ref:E,onChange:T},fieldState:{error:C}}=m({name:n,control:t,defaultValue:o,rules:{required:l&&"Please, fill this field",validate:i}}),j=g({control:t,name:n,defaultValue:y?[]:null}),{getOptionLabel:N,isOptionEqualToValue:S,renderOption:k}=kr({valueKey:h,labelKey:u});return e(G,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:s,options:b,multiple:y,getOptionLabel:N,isOptionEqualToValue:S,disableCloseOnSelect:O||y,filterSelectedOptions:y,value:j,onChange:d||((e,r)=>{T(r)}),renderOption:k,renderInput:r=>e(f,Object.assign({},r,{variant:"outlined",name:n,label:a,error:!!C,inputRef:E,helperText:!c&&(null==C?void 0:C.message)},v))},x))};function wr(t){var{name:i,label:n,control:a,required:l=!1,searchBy:o,labelKey:s,multiple:c=!1,disabled:u,valueKey:h,sortBy:b="",hideErrorMessage:v,disableCloseOnSelect:T,textFieldProps:C,onChange:j,queryFunction:N,validate:S,itemQueryFunction:k}=t,I=p(t,["name","label","control","required","searchBy","labelKey","multiple","disabled","valueKey","sortBy","hideErrorMessage","disableCloseOnSelect","textFieldProps","onChange","queryFunction","validate","itemQueryFunction"]);const{field:{ref:w,onChange:M},fieldState:{error:A,isDirty:P}}=m({control:a,name:i,rules:{required:l&&"Please, fill this field",validate:S}}),V=g({control:a,name:i,defaultValue:c?[]:null}),{getOptionLabel:$,isOptionEqualToValue:F,renderOption:L}=kr({valueKey:h,labelKey:s}),[q,R]=x(!1),[D,z]=x(""),[B,W]=x(""),[H,Y]=x(0),[K,U]=x(0),[X,Q]=x([]),Z=Er((e=>{U(0),W(e),Q([])}),500),ee=E(((e,r)=>{z(r),Z(r)}),[Z]),re=E(((e,r)=>{M(r),j&&j(e,r)}),[M,j]);O((()=>{if(!P&&V&&k){let e=V;"object"==typeof V&&h in V&&(e=V[h]),k(e).then((e=>{M(e),z(e[s])})).catch()}}),[V,P,h,s,k,M]);const te=E((e=>{const r=e.currentTarget;r.scrollHeight-r.scrollTop-r.clientHeight<=1&&X.length<H&&U((e=>e+1))}),[H,X]),{data:ie,isFetching:ne}=J(["options",K,B],(()=>{const e=_.parse(Object.assign({page:`${K}`,size:"20",sort:b},B?{[o]:B}:{}),{ignoreQueryPrefix:!0});return N(e)}));return O((()=>{ie&&(Q((e=>[...e,...ie.collection])),Y(ie.totalItems))}),[ie]),e(G,Object.assign({fullWidth:!0,disablePortal:!0,size:"small",readOnly:u,options:X,multiple:c,getOptionLabel:$,isOptionEqualToValue:F,disableCloseOnSelect:T||c,filterSelectedOptions:c,inputValue:D,value:V,onChange:re,loading:ne,clearOnBlur:!1,open:q,filterOptions:e=>e,onOpen:()=>{R(!0)},onClose:()=>{R(!1),W("")},onInputChange:ee,ListboxProps:{onScroll:te},renderOption:L,renderInput:t=>e(f,Object.assign({},t,{label:n,variant:"outlined",error:!!A,inputRef:w,helperText:!v&&(null==A?void 0:A.message),InputProps:Object.assign(Object.assign({},t.InputProps),{endAdornment:r(y.Fragment,{children:[ne?e(d,{color:"inherit",size:20}):null,t.InputProps.endAdornment]})})},C))},I))}const Mr=({copyText:r,helpText:t="Copy"})=>{const[i,n]=x(t);return i?e(Y,Object.assign({title:i,placement:"top"},{children:e(K,Object.assign({onClick:()=>{navigator.clipboard.writeText(r),n("Copied!"),setTimeout((()=>{n(t)}),1e3)}},{children:e(H,{fontSize:"small"})}))})):null},Ar=({text:r,buttonProps:t={}})=>{const n=X(),{state:a}=Q(),l=T((()=>null==a?void 0:a.from),[a]),o=E((()=>{n(l||-1)}),[n,l]);return e(c,Object.assign({mr:2},{children:r?e(i,Object.assign({color:"inherit",onClick:l?null:o,component:Z,to:null!=l?l:""},t,{children:r})):e(K,Object.assign({onClick:o},{children:e(U,{})}))}))},Pr=j(((i,n)=>{var{control:a,name:l,mode:o="json",label:s,width:d="100%",height:u="200px",theme:b="monokai",readOnly:f,required:y=!1,validateJson:v=!1,fontSize:O=16,validate:x=!0,parseValue:E}=i,T=p(i,["control","name","mode","label","width","height","theme","readOnly","required","validateJson","fontSize","validate","parseValue"]);const{setError:C,clearErrors:j}=h(),{field:{onChange:N},fieldState:{error:S}}=m({control:a,name:l}),k=g({control:a,name:l});return r(c,Object.assign({display:"flex",flexDirection:"column",width:"100%"},{children:[e(c,{children:s&&e(ne,Object.assign({variant:"subtitle1",display:"inline",style:{marginRight:10}},{children:s}))}),r(t,{children:[e(ie,Object.assign({ref:n,focus:!0,wrapEnabled:!0,width:d,height:u,showPrintMargin:!1,theme:b,fontSize:O,setOptions:{enableLiveAutocompletion:!0,enableBasicAutocompletion:!0,enableSnippets:!0,showLineNumbers:!0,tabSize:2},style:{lineHeight:1.4,zIndex:0,isolation:"isolate"},readOnly:f,value:"json"===o&&"string"!=typeof k?null===k?"":JSON.stringify(k):k,onChange:e=>{if(!e&&y?C(l,{message:"Required field"}):j(l),v)try{JSON.parse(e),j(l)}catch(e){C(l,{message:"Invalid JSON"})}if(E)try{const r=JSON.parse(e);console.log("parsed val:",r),N(r)}catch(r){N(e)}else N(e)},mode:o,onLoad:e=>{x&&v||e.getSession().setUseWorker(!1)}},T)),S&&e(R,Object.assign({error:!0},{children:S.message}))]})]}))})),Vr=(e,r)=>{const t=[...e];return t.splice(r,1),t},$r=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 Lr=(e,r,t,i="asc")=>{const n=e[t],a=r[t];return n<a?"asc"===i?-1:1:n>a?"asc"===i?1:-1:0},qr=e=>{if(!e)return"";if("string"!=typeof e)try{return JSON.stringify(e,null,"\t")}catch(e){return"Failed to stringify JSON"}return e},Rr=e=>{try{return JSON.parse(e)}catch(e){return null}},Dr=e=>{try{const r=JSON.parse(e);return Object.keys(r).forEach((e=>{r[e]=Dr(r[e])})),r}catch(r){return e}},zr=({value:r,height:t="200px"})=>{const i=T((()=>{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(ie,{readOnly:!0,value:i,mode:"json",width:"100%",height:t,fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})},Br=({open:t,onClose:o,value:s})=>r(n,Object.assign({disableEscapeKeyDown:!0,open:t,onClose:o,fullWidth:!0,maxWidth:"md",style:{width:800,left:"30%"}},{children:[e(l,{children:e(ie,{readOnly:!0,value:s,mode:"json",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})}),r(a,{children:[e(Mr,{copyText:s}),e(i,Object.assign({onClick:o,variant:"contained",color:"secondary"},{children:"Close"}))]})]}));var Wr=({value:t,copyButton:i=!1,textField:n=!1})=>{const{open:a,onOpen:l,onClose:o}=Tr();return r(c,Object.assign({width:"100%"},{children:[r(c,Object.assign({display:"flex",alignItems:"center",justifyContent:"flex-end",pt:1,mb:2},{children:[i&&e(Mr,{copyText:qr(t)}),e(Y,Object.assign({title:"Open",placement:"top"},{children:e(K,Object.assign({size:"small",onClick:()=>l()},{children:e(mr,{fontSize:"small"})}))}))]})),n?e(c,Object.assign({overflow:"hidden",whiteSpace:"nowrap"},{children:"object"==typeof t?JSON.stringify(t):t})):e(zr,{value:t}),e(Br,{open:a,value:qr(t),onClose:o})]}))};const Gr=({value:t,type:i,copyText:n,status:a})=>{switch(i){case"id":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:`${t.slice(0,6)}...${t.slice(-6)}`})),e(Mr,{copyText:n||t})]}));case"JSON_copy":return e(Wr,{value:t,copyButton:!0});case"JSON":return e(Wr,{value:t});case"JSON_text":return e(Wr,{value:t,textField:!0});case"copy":return r(c,Object.assign({display:"flex",alignItems:"center",width:"100%"},{children:[e(c,Object.assign({mr:"auto"},{children:t})),e(Mr,{copyText:n||t})]}));case"boolean":return t?e(Ue,{color:"primary",fontSize:"small"}):e(ur,{fontSize:"small"});case"date":return t?r("div",{children:[e("div",{children:oe(new Date(t),"dd.MM.yyyy")}),e("div",{children:oe(new Date(t),"HH:mm:ss")})]}):"";case"status":return e(vi,{text:t,status:a});case"array":return e(c,{children:t.map(((r,t)=>e(c,{children:r},t)))});default:return e("div",{children:t})}},Jr=new RegExp("^[-+]?[0-9]+$"),_r=new RegExp(/^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$/),Hr=e=>"string"==typeof e&&e.includes("$("),Yr=e=>e===gr.DATE||e===gr.DATE_TIME||e===gr.TIME,Kr=e=>!e&&0!==e&&!1!==e,Ur=(e,r,t)=>{if(null==r&&e!==gr.BOOLEAN)return null;let i=r;switch(e){case gr.BOOLEAN:i=!!r;break;case gr.INTEGER:case gr.BIG_INTEGER:case gr.BIG_DECIMAL:case gr.FLOAT:case gr.LONG:case gr.DOUBLE:i=Number(r);break;case gr.DATE:case gr.DATE_TIME:case gr.TIME:i=oe(new Date(r.toString()),t.formatText);break;case gr.JSON:case gr.ANY:try{"string"!=typeof r&&(i=JSON.stringify(r)),i=JSON.parse(i)}catch(e){console.log(e),i=null}break;case gr.ENTITY:i=Xr(t.properties,r)}return i},Xr=(e,r)=>{if(r){const t={};return e.forEach((e=>{const{key:i,propertyType:n}=e,a=r[i];Array.isArray(a)?t[i]=a.map((r=>Ur(n,r,{formatText:e.format,properties:e.properties}))):t[i]=Ur(n,a,{formatText:e.format,properties:e.properties})})),t}return null},Qr=(e,r)=>{const t={};return e.forEach((e=>{const{key:i,name:n,isRequired:a,isMultiple:l,sortOrder:o,isEnabled:s,uiSettings:c,validationNode:d}=e,p="string"==typeof e.propertyType?e.propertyType:e.propertyType.value,u=Object.assign({name:n,propertyType:p,isRequired:a,isMultiple:l,sortOrder:o,isEnabled:s,validationNode:d,uiSettings:c},((e,r)=>{const t={};let i,n="";return r?e.isMultiple?(n="values",i=e.value):(n="value",i=e.value):e.isMultiple?(n="defaultValues",i=e.defaultValue):(n="defaultValue",i=e.defaultValue),Array.isArray(i)?t[n]=i.map((r=>Ur(e.propertyType,r,{formatText:e.format,properties:e.properties}))):t[n]=Ur(e.propertyType,i,{formatText:e.format,properties:e.properties}),t})(Object.assign(Object.assign({},e),{propertyType:p}),r));if("isViewableInList"in e&&(u.isViewableInList=e.isViewableInList),c)try{u.uiSettings=JSON.parse(c)}catch(e){console.log(e)}else u.uiSettings=null;p===gr.BIG_DECIMAL&&(u.precisionScale=e.precisionScale,u.roundingMode=e.roundingMode),p!==gr.DATE&&p!==gr.TIME&&p!==gr.DATE_TIME||(u.format=e.format),p===gr.STRING&&(u.restrictedValues=e.restrictedValues),p===gr.ENTITY_REFERENCE&&(u.definitionCode=e.definitionCode,u.definitionVersion=e.definitionVersion,u.labelPropertyCode=e.labelPropertyCode,u.valuePropertyCode=e.valuePropertyCode),p===gr.ENTITY&&(u.properties=Qr(e.properties,r)),t[i]=u})),t};function Zr(e,r){return Object.keys(e).map((t=>{const i=Object.assign(Object.assign({key:t},e[t]),r||{});if(i.propertyType===gr.ENTITY&&(i.properties=Zr(i.properties,r)),i.propertyType===gr.JSON)try{null==i.defaultValue?i.defaultValue="":i.defaultValue=JSON.stringify(i.defaultValue,null,2)}catch(e){i.defaultValue=""}if(i.uiSettings)try{i.uiSettings=JSON.stringify(i.uiSettings,null,2)}catch(e){i.uiSettings=""}return i.isMultiple&&("defaultValues"in i&&(i.defaultValue=i.defaultValues),"values"in i&&(i.value=i.values)),i})).sort(((e,r)=>Lr(e,r,"sortOrder")))}const et=(e,r)=>{if(r)try{const e=r.replace(/Z/g,"XXX");return oe(new Date,e),e}catch(r){return console.error("Incorrect format",r),e}return e},rt=e=>{let r=[];return r=Array.isArray(e.properties)?e.properties:Zr(e.properties),r.reduce(((e,r)=>{const t=JSON.parse(JSON.stringify(e));return r.propertyType===gr.ENTITY?t[r.key]=rt(r):t[r.key]=r.propertyType,t}),{})},tt=({propertyType:e,useExpression:r,required:t})=>{let i=[{value:"widget",label:"Fill array (widget)",sortOrder:1}];return t||i.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===gr.JSON||e===gr.ENTITY||e===gr.ANY?i.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):i.push({value:"expression",label:"Expression",sortOrder:3})),e!==gr.JSON&&e!==gr.ANY&&e!==gr.ENTITY||i.push({value:"json_valid",label:"JSON editor",sortOrder:2}),i=i.sort(((e,r)=>Lr(e,r,"sortOrder"))),i},it=({propertyType:e,useExpression:r,required:t})=>{let i=[{value:"widget",label:"Widget",sortOrder:1}];switch(t||i.push({value:"null",label:"NULL",sortOrder:0}),r&&(e===gr.JSON||e===gr.ENTITY||e===gr.ANY?i.push({value:"expression",label:"Expression (JSON editor)",sortOrder:3}):i.push({value:"expression",label:"Expression",sortOrder:3})),e){case gr.STRING:i[0].label="Text input";break;case gr.INTEGER:case gr.BIG_INTEGER:case gr.BIG_DECIMAL:case gr.FLOAT:case gr.LONG:case gr.DOUBLE:i[0].label="Number input";break;case gr.BOOLEAN:i[0].label="Switch";break;case gr.ENTITY_REFERENCE:i[0].label="Entity reference fields";break;case gr.JSON:i[0].label="JSON editor";break;case gr.DATE:i[0].label="Date picker",i.push({value:"string",label:"Text input",sortOrder:2});break;case gr.DATE_TIME:i[0].label="Date & Time picker",i.push({value:"string",label:"Text input",sortOrder:2});break;case gr.TIME:i[0].label="Time picker",i.push({value:"string",label:"Text input",sortOrder:2});break;case gr.ANY:i[0].label="Textarea"}return i=i.sort(((e,r)=>Lr(e,r,"sortOrder"))),i},nt=r=>{var t,{control:i,validate:n,name:a="",label:l="",required:o=!1,defaultValue:s,disabled:c=!1,hideErrorMessage:d=!1,onChange:u,decimal:h=!1}=r,b=p(r,["control","validate","name","label","required","defaultValue","disabled","hideErrorMessage","onChange","decimal"]);const{field:{ref:y,onChange:v},fieldState:{error:O}}=m({name:a,control:i,defaultValue:s,rules:{required:o&&"Please, fill this field",validate:e=>h&&!_r.test(e)?"Not valid number":!(!h&&!Jr.test(e))||"Not valid integer"}}),x=g({control:i,name:a});return e(f,Object.assign({fullWidth:!0,size:"small",variant:"outlined",type:"text",inputRef:y,name:a,label:l,error:!!O,helperText:!d&&(null==O?void 0:O.message),disabled:c,value:null!=x?x:""},b,{onChange:e=>{const r=e.nativeEvent.data||e.target.value;(!isNaN(r)||h&&"."===r||"-"===r||"+"===r)&&(u?u(e):v(e.target.value))},inputProps:Object.assign(Object.assign({},null!==(t=null==b?void 0:b.inputProps)&&void 0!==t?t:{}),{value:null!=x?x:""})}))},at=r=>{var{control:t,name:i,label:n}=r,a=p(r,["control","name","label"]);const{field:{ref:l,onChange:o}}=m({control:t,name:i}),s=g({control:t,name:i}),c=T((()=>{if("boolean"==typeof s)return s;if("string"==typeof s){if("false"===s)return o(!1),!1;if("true"===s)return o(!0),!0}return!1}),[s,o]);O((()=>{null===s&&o(!1)}),[s,o]);return e(q,{label:n,name:i,control:e(ae,Object.assign({color:"primary",size:"small",inputRef:l,onChange:e=>{const{checked:r}=e.target;o(r)},checked:c},a))})},lt=({control:r,name:t,required:i,label:n,format:a=hr,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:i&&"Please, fill this field",validate:e=>!!se(e,a)||"Incorrect date format"}}),d=g({control:r,name:t});return e(le,{label:n,inputRef:s,inputFormat:a,value:d||null,onChange:e=>{o(ce(e)?oe(e,a):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})},ot=({control:r,name:t,required:i,label:n,format:a=fr,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:i&&"Please, fill this field",validate:e=>!!se(e,a)||"Incorrect date format"}}),d=g({control:r,name:t});return e(pe,{mask:"",ampm:!1,inputRef:s,label:n,value:d||null,inputFormat:a,onChange:e=>{o(ce(e)?oe(e,a):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})},st=({control:r,name:t,required:i,label:n,format:a=br,hideErrorMessage:l=!1})=>{const{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:r,name:t,rules:{required:i&&"Please, fill this field",validate:e=>!!se(e,a)||"Incorrect date format"}}),d=g({control:r,name:t}),[p,u]=x(null);return O((()=>{if(d&&a){let e=de(d,a,new Date);ce(e)||(e=de(d,"HH:mm:ss.SSS",new Date)),u(e)}}),[d,a]),e(ue,{mask:"",inputRef:s,label:n,ampm:!1,value:p,inputFormat:a,onChange:e=>{u(e),o(ce(e)?oe(e,a):e)},renderInput:r=>e(f,Object.assign({},r,{fullWidth:!0,size:"small",variant:"outlined",name:t,error:!!c,helperText:!l&&(null==c?void 0:c.message)}))})};var ct=()=>{const t=he(),i=be(t,fe),n=be(t,ye),a=be(t,ve),l=be(t,Oe),o=e=>t.current.setPage(e);return r(c,Object.assign({px:2,display:"flex",alignItems:"center"},{children:[e(ge,{component:"div",page:i,count:a,rowsPerPage:l,rowsPerPageOptions:[10,20,50,100],onPageChange:(e,r)=>o(r),onRowsPerPageChange:e=>t.current.setPageSize(parseInt(e.target.value,10)),ActionsComponent:void 0}),e(me,{count:n,page:i+1,onChange:(e,r)=>o(r-1)})]}))};var dt=r=>{var{hideMenu:t,currentColumn:i,onUnsort:n}=r,a=p(r,["hideMenu","currentColumn","onUnsort"]);return e(xe,Object.assign({hideMenu:t,currentColumn:i},a,{children:e(Ee,{onClick:t,column:i})}))};var pt=({mode:e})=>{const[r,t]=ee(),i=+r.get("page")||0,n=+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:i,size:n,onPageChange:e=>{r.set("page",`${e}`),t(r,{replace:!0})},onSizeChange:e=>{r.set("size",`${e}`),t(r,{replace:!0})}}};var ut=()=>{const[e,r]=ee(),t=e.getAll("sort").map((e=>e.split(",")));return{onColumnHeaderClick:({field:t})=>{let i=!1;const n=e.getAll("sort");e.delete("sort"),n.forEach((r=>{const[n,a]=r.split(",");n===t?(i=!0,"asc"===a&&e.append("sort",`${n},desc`)):e.append("sort",`${n},${a}`)})),i||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 mt=e=>{const[r,t]=x(10);O((()=>{t(e)}),[e]);return{pageSize:r,handlePageSizeChange:e=>t(e)}},gt=je()({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 ht=({columns:r,rows:t,rowCount:i,loading:n,disableMargin:a,mode:l="server",initialPageSize:o=10,pagination:s=!0,onCellClick:d})=>{const{classes:p}=gt(),{page:u,size:m,onPageChange:g,onSizeChange:h}=pt({mode:l}),{onColumnHeaderClick:b,getSortedColumns:f}=ut(),{pageSize:y,handlePageSizeChange:v}=mt(o),O={sortingMode:l,paginationMode:l,pageSize:"server"===l?m:s?y:i,onPageSizeChange:"server"===l?h:v,components:{Pagination:ct}};return"server"===l&&(O.sortModel=[],O.onColumnHeaderClick=b,O.page=u,O.onPageChange=g,O.components.ColumnMenu=dt),e(c,Object.assign({mt:a?0:2},{children:e(Te,Object.assign({autoHeight:!0,hideFooterPagination:!s,hideFooter:!s,disableSelectionOnClick:!0,showColumnRightBorder:!0,showCellRightBorder:!0,className:p.root,loading:n,rows:t,columns:f(r),rowCount:i,rowsPerPageOptions:[10,20,50,100],onCellClick:d},O))}))},bt=({icon:r,label:t,showInMenu:i,onClick:n,location:a})=>a?e(K,Object.assign({component:Z,to:a,size:"small"},{children:e(Y,Object.assign({title:t,arrow:!0},{children:y.cloneElement(r,{fontSize:"small"})}))})):e(Ce,{nonce:"",onResize:void 0,onResizeCapture:void 0,icon:e(Y,Object.assign({title:t,arrow:!0},{children:r})),onClick:n,label:t,showInMenu:i}),ft=r=>{const{children:t,value:i,index:n}=r,a=p(r,["children","value","index"]);return e("div",Object.assign({role:"tabpanel",hidden:i!==n,id:`simple-tabpanel-${n}`,"aria-labelledby":`simple-tab-${n}`},a,{children:i===n?t:null}))},yt=t=>{var i;const{tabs:n}=t,a=X(),l=Q(),o=T((()=>new URLSearchParams(l.search)),[l.search]),s=o.get("tab");return r(c,{children:[e(Ne,{children:e(ke,Object.assign({value:s||(null===(i=n[0])||void 0===i?void 0:i.name),indicatorColor:"primary",textColor:"primary",onChange:(e,r)=>{o.set("tab",r),a({pathname:l.pathname,search:o.toString()},{replace:!0})}},{children:n.map((r=>e(Se,{value:r.name,label:r.label},r.name)))}))}),e(c,Object.assign({mt:2},{children:n.map((r=>{var t;return e(ft,Object.assign({value:s||(null===(t=n[0])||void 0===t?void 0:t.name),index:r.name},{children:r.component}),r.name)}))}))]})};var vt=je()((()=>({container:{paddingBottom:"8px"},title:{fontSize:"14px",fontWeight:600,color:"#536DFE"},text:{fontSize:"18px",wordWrap:"break-word"}})));const Ot=({title:t,text:i,json:n})=>{const{classes:a}=vt();return r("div",Object.assign({className:a.container},{children:[e("div",Object.assign({className:a.title},{children:t})),i&&e("div",Object.assign({className:a.text},{children:i})),n&&e(ie,{readOnly:!0,value:n,mode:"json",height:"300px",width:"100%",fontSize:"16",setOptions:{enableSnippets:!1,copyWithEmptySelection:!0,showLineNumbers:!0,tabSize:2}})]}))},xt=Object.values(yr).sort(((e,r)=>e.localeCompare(r)));var Et=({propertyFieldName:i})=>{const{control:n}=h();return r(t,{children:[e(Ie,{children:e(nt,{required:!0,control:n,defaultValue:2,name:`${i}.precisionScale`,label:"Precision Scale"})}),e(Ie,{children:e(jr,{required:!0,control:n,name:`${i}.roundingMode`,label:"Rounding Mode",defaultValue:yr.HALF_UP,options:xt})})]})};var Tt=({propertyFieldName:r,defaultValue:t=""})=>{const{control:i}=h();return e(Ie,{children:e(xr,{required:!0,control:i,defaultValue:t,name:`${r}.format`,label:"Format"})})};const Ct=je()((()=>({content:{marginLeft:"4px"},connector:{marginLeft:"4px"},stepper:{padding:"12px"},label:{display:"flex",alignItems:"flex-start"}}))),jt=()=>e("div",{style:{display:"inline-block",width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#536DFE",marginTop:"5px"}}),Nt=({data:t})=>{const{classes:i}=Ct();return r(Fe,Object.assign({nonLinear:!0,orientation:"vertical",className:i.stepper,connector:e(De,{className:i.connector})},{children:[t.filter(Boolean).map(((t,n)=>r(Le,Object.assign({expanded:!0},{children:[e(qe,Object.assign({className:i.label,StepIconComponent:jt,StepIconProps:{icon:"",completed:!1,active:!0}},{children:t.label})),e(Re,Object.assign({className:i.content},{children:t.content}))]}),n))),e(Le,{})]}))},St=({properties:t=[]})=>{const i=T((()=>t?t.map((t=>{const i="string"==typeof t.propertyType?t.propertyType:t.propertyType.value;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[r("b",{children:[t.name,t.isRequired?"*":""]}),r("span",{children:[t.key," | ",t.isMultiple?"multiple":"single"," | ",i]})]})),content:"ENTITY"===t.propertyType&&e(St,{properties:t.properties})}})):[]),[t]);return e(Nt,{data:i})};var kt=St;const It={key:"",propertyType:"",name:"",defaultValue:"",isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0};var wt=({parentPropertyFieldName:o,entityDefinition:c=!1,globalParameter:d=!1})=>{const{control:p,setValue:m,getValues:b,trigger:f}=h(),y=g({control:p,name:`${o}.properties`,defaultValue:b(`${o}.properties`)||[]}),v=g({control:p,name:`${o}.name`}),O=Tr(),[T,C]=x(0),j=E((()=>{if(y){const e=y.length;m(`${o}.properties.${e}`,It),C(e)}else m(`${o}.properties`,[It])}),[y,o,m]),N=()=>u(void 0,void 0,void 0,(function*(){(yield f(`${o}.properties`))&&O.onClose()}));return r(t,{children:[e(Ie,{children:e(ne,Object.assign({variant:"h6"},{children:"Properties"}))}),e(Ie,{children:e(kt,{properties:y})}),e(Ie,{children:e(i,Object.assign({variant:"contained",color:"primary",onClick:O.onOpen},{children:"Edit properties"}))}),r(n,Object.assign({disableEscapeKeyDown:!0,open:O.open,onClose:N,fullWidth:!0,maxWidth:"md"},{children:[r(s,{children:[v||"Entity"," Properties"]}),e(l,Object.assign({style:{height:"500px",overflow:"hidden"}},{children:r(Ie,Object.assign({container:!0,direction:"row",spacing:2,style:{height:"100%"}},{children:[r(Ie,Object.assign({xs:3,style:{backgroundColor:"#f9f9f9"}},{children:[e(Fe,Object.assign({nonLinear:!0,activeStep:T,orientation:"vertical",style:{paddingLeft:"4px"}},{children:y.map(((t,i)=>r(Le,Object.assign({onClick:()=>(e=>C(e))(i),style:{cursor:"pointer"}},{children:[e(qe,Object.assign({StepIconProps:{icon:""},style:{wordBreak:"break-word"}},{children:t.name||"(no name)"})),e(Re,{})]}),i)))})),e(i,Object.assign({variant:"contained",size:"small",color:"primary",onClick:j},{children:"Add property"}))]})),e(Ie,Object.assign({container:!0,wrap:"nowrap",direction:"column",xs:9,spacing:2,style:{height:"100%",overflowY:"auto"}},{children:e(ai,{hideAddButton:!0,parentFieldName:o,focusOnIndex:T,entityDefinition:c,globalParameter:d})}))]}))})),e(a,{children:e(i,Object.assign({variant:"contained",color:"primary",onClick:N},{children:"Ok"}))})]}))]})};var Mt=({propertyFieldName:i})=>{const{control:n}=h();return r(t,{children:[e(Ie,{children:e(xr,{required:!0,control:n,name:`${i}.definitionCode`,label:"Definition Code"})}),e(Ie,{children:e(xr,{required:!0,control:n,name:`${i}.definitionVersion`,label:"Definition Version"})}),e(Ie,{children:e(xr,{required:!0,control:n,name:`${i}.labelPropertyCode`,label:"Label Property Code"})}),e(Ie,{children:e(xr,{required:!0,control:n,name:`${i}.valuePropertyCode`,label:"Value Property Code"})})]})};var At=({propertyFieldName:i})=>{const n=T((()=>`${i}.restrictedValues`),[i]),{control:a,setValue:l,getValues:o}=h(),s=g({control:a,name:n,defaultValue:o(`${i}.restrictedValues`)||[]}),[d,p]=x(""),[u,m]=x(""),b=E((e=>{l(n,Vr(s,e))}),[s,n,l]),y=()=>{d&&(l(n,[...s,d]),p(""))};return r(t,{children:[e(Ie,{children:e(ne,Object.assign({variant:"h6"},{children:"Restricted Values"}))}),!!(null==s?void 0:s.length)&&e(Ie,{children:e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:s.map(((r,t)=>e(ze,{sx:{mr:1},variant:"outlined",label:r,onDelete:()=>b(t)},t)))}))}),e(Ie,{children:e(f,{fullWidth:!0,variant:"outlined",size:"small",label:"Add restricted value",value:d,onChange:e=>{const{value:r}=e.target;p(r),s.includes(r)?m("This value already exists"):m("")},error:!!u,helperText:u,name:"restrictedValues",inputProps:{onKeyDown:e=>{"Enter"===e.key&&y()}},InputProps:{endAdornment:e(K,Object.assign({size:"small",onClick:y,disabled:!!u},{children:e(Be,{})}))}})})]})};const Pt=({propertyType:r,propertyFieldName:t,entityDefinition:i=!1,globalParameter:n=!1})=>{switch(r){case gr.STRING:return e(At,{propertyFieldName:t});case gr.BIG_DECIMAL:return e(Et,{propertyFieldName:t});case gr.DATE:return e(Tt,{propertyFieldName:t,defaultValue:hr});case gr.TIME:return e(Tt,{propertyFieldName:t,defaultValue:br});case gr.DATE_TIME:return e(Tt,{propertyFieldName:t,defaultValue:fr});case gr.ENTITY_REFERENCE:return e(Mt,{propertyFieldName:t});case gr.ENTITY:return e(wt,{parentPropertyFieldName:t,globalParameter:n,entityDefinition:i});default:return null}};var Vt=({validate:r=!1,name:t,inputRef:i})=>{const{control:n,setValue:a,setError:l,clearErrors:o}=h(),s=g({control:n,name:t});return e(ie,{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:i,name:t,value:"string"!=typeof s?null===s?"":JSON.stringify(s):s,onChange:e=>{if(a(t,e),r)try{JSON.parse(e),o(t)}catch(e){l(t,{message:"Invalid JSON"})}},mode:"json",onLoad:e=>{r||e.getSession().setUseWorker(!1)}})};var $t=({name:t,label:i,required:n,restrictedValues:a})=>{const{control:l}=h(),{field:{onChange:o,ref:s},fieldState:{error:c}}=m({control:l,name:t,rules:{required:n&&(Array.isArray(a)&&a.length?"Please, select a value":"Please, fill this field")}}),d=g({control:l,name:t});return Array.isArray(a)&&a.length?r(L,Object.assign({fullWidth:!0,size:"small",variant:"outlined",error:!!c},{children:[e(Ge,Object.assign({htmlFor:"type-select"},{children:i})),e(We,Object.assign({labelId:"type-select",label:i,value:d||"",onChange:o,ref:s},{children:a.map((r=>e(w,Object.assign({value:r},{children:r}),r)))}))]})):e(xr,{hideErrorMessage:!0,required:n,control:l,name:t,label:i})};const Ft=({property:r,name:t,label:i,useExpression:n,inputRef:a})=>{const{control:l}=h();switch(T((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r])){case gr.BIG_DECIMAL:case gr.FLOAT:case gr.DOUBLE:return e(nt,{decimal:!0,required:!0,hideErrorMessage:!0,control:l,name:t,label:i});case gr.INTEGER:case gr.BIG_INTEGER:case gr.LONG:return e(nt,{required:!0,hideErrorMessage:!0,control:l,name:t,label:i});case gr.BOOLEAN:return e(at,{control:l,name:t});case gr.DATE:return e(lt,{required:!0,hideErrorMessage:!0,control:l,name:t,label:i,format:r.format});case gr.TIME:return e(st,{required:!0,hideErrorMessage:!0,control:l,name:t,label:i,format:r.format});case gr.DATE_TIME:return e(ot,{required:!0,hideErrorMessage:!0,control:l,name:t,label:i,format:r.format});case gr.JSON:return e(Vt,{validate:!0,name:t,inputRef:a});case gr.STRING:return e($t,{required:!0,name:t,label:i,restrictedValues:r.restrictedValues});case gr.ENTITY_REFERENCE:return e(xr,{required:!0,hideErrorMessage:!0,name:t,label:i,control:l});case gr.ANY:return e(Vt,{name:t,inputRef:a});case gr.ENTITY:return e(gi,{properties:r.properties,dataFieldName:t,useExpression:n});default:return e("div",{children:"No widget"})}};var Lt=({value:e,property:r,label:t,isDirty:i,required:n=!1,useExpression:a=!1,multipleOptions:l=!1})=>{const o=T((()=>t?`${t} (value)`:`${r.name} (value)`),[t,r]),s=T((()=>t?`${t} (widget)`:`${r.name} (widget)`),[t,r]),c=T((()=>"string"==typeof r.propertyType?r.propertyType:r.propertyType.value),[r]),[d,p]=x(null),u=T((()=>l?tt({propertyType:c,required:n,useExpression:a}):it({propertyType:c,required:n,useExpression:a})),[a,n,c,l]);return O((()=>{d?i||(Hr(e)&&"expression"!==d?p("expression"):null==e||Hr(e)||"widget"===d||p("widget")):Kr(e)&&(null==u?void 0:u.length)?p(u[0].value):a&&Hr(e)?p("expression"):p("widget")}),[e,d,u,a,i]),{propertyType:c,valueLabel:o,fillOptionLabel:s,fillOption:d,fillOptions:u,setFillOption:p}};var qt=je()((()=>({inputLabel:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",width:"100%"}})));const Rt=({property:t,name:i,useExpression:n,label:a,required:l,title:o})=>{const{control:s,clearErrors:d,register:p}=h(),{field:{ref:u,onChange:b},fieldState:{error:f,isDirty:y}}=m({name:i}),v=g({control:s,name:i}),{propertyType:x,valueLabel:E,fillOptionLabel:T,fillOption:C,fillOptions:j,setFillOption:N}=Lt({value:v,property:t,isDirty:y,label:a,required:l,useExpression:n});O((()=>{void 0===v&&b(null)}),[v,b]);const{classes:S}=qt();return r(Ie,Object.assign({xs:12},{children:[o&&e(c,Object.assign({mb:2},{children:e(ne,Object.assign({variant:"h6"},{children:o}))})),j?e(c,Object.assign({mb:2},{children:r(L,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Ge,Object.assign({htmlFor:"type-select",className:S.inputLabel},{children:T})),e(We,Object.assign({labelId:"type-select",label:T,value:C||"",onChange:e=>{const r=e.target.value;"null"===r?p(i,{value:null}):"widget"===r?b(null):"expression"!==r&&"string"!==r||b(""),N(r),d(i)}},{children:j.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===C&&(x===gr.JSON||x===gr.ENTITY||x===gr.ANY?e(Vt,{name:i,inputRef:u}):e(xr,{control:s,name:i,label:E,required:!0,hideErrorMessage:!0})),"string"===C&&e(xr,{control:s,name:i,label:E,required:!0,hideErrorMessage:!0}),"json_notvalid"===C&&e(Vt,{name:i,inputRef:u}),"widget"===C&&e(Ft,{property:t,name:i,useExpression:n,label:E,inputRef:u,required:l}),f&&e(ne,Object.assign({color:"secondary"},{children:f.message}))]}))};var Dt=({name:t,property:n,useExpression:a,required:l,label:o})=>{const{control:s,setValue:d,clearErrors:p}=h();m({control:s,name:t,rules:{validate:e=>!(!e||Array.isArray(e)&&!e.length)||"Please, fill array"}});const u=g({control:s,name:t}),b=E((()=>{u&&Array.isArray(u)?d(`${t}.${u.length}`,null):d(t,[null]),p(t)}),[t,u,d,p]),f=E((e=>{d(t,Vr(u,e))}),[t,u,d]);return r(Ie,Object.assign({container:!0,spacing:2,direction:"column",xs:12},{children:[u&&Array.isArray(u)?u.map(((i,s)=>e(Ie,Object.assign({xs:12},{children:r(c,Object.assign({display:"flex",alignItems:"flex-start",width:"100%",p:2,style:{backgroundColor:"#f1f1f1"}},{children:[e(Rt,{required:l,property:n,useExpression:a,name:`${t}.${s}`,label:`${o||n.name} (${s+1})`}),e(c,Object.assign({mt:"8px",ml:"4px"},{children:e(K,Object.assign({size:"small",onClick:()=>f(s)},{children:e(Je,{fontSize:"small"})}))}))]}))}),s))):null,e(Ie,{children:e(i,Object.assign({variant:"contained",size:"small",color:"primary",onClick:b},{children:"Add value"}))})]}))};const zt=({property:t,name:i,useExpression:n,required:a,label:l,title:o})=>{const{control:s,clearErrors:d}=h(),{field:{ref:p,onChange:u},fieldState:{error:b,isDirty:f}}=m({control:s,name:i,rules:{validate:e=>!(a&&!e)||"Please, fill this field"}}),y=g({control:s,name:i}),{propertyType:v,valueLabel:x,fillOptionLabel:E,fillOption:T,fillOptions:C,setFillOption:j}=Lt({property:t,value:y,isDirty:f,label:l,required:a,useExpression:n,multipleOptions:!0});O((()=>{void 0===y&&u(null)}),[y,u]);const{classes:N}=qt();return r(Ie,{children:[o&&e(c,Object.assign({mb:2},{children:e(ne,Object.assign({variant:"h6"},{children:o}))})),C?e(c,Object.assign({mb:2},{children:r(L,Object.assign({fullWidth:!0,size:"small",variant:"outlined"},{children:[e(Ge,Object.assign({htmlFor:"type-select",className:N.inputLabel},{children:E})),e(We,Object.assign({labelId:"type-select",label:E,value:T||"",onChange:e=>{const r=e.target.value;"null"===r?u(null):"expression"===r||"json_valid"===r||"json_notvalid"===r?u(""):"widget"===r&&u([]),j(r),d(i)}},{children:C.map((r=>e(w,Object.assign({value:r.value},{children:r.label}),r.value)))}))]}))})):null,"expression"===T&&(v===gr.JSON||v===gr.ENTITY||v===gr.ANY?e(Vt,{name:i,inputRef:p}):e(xr,{required:!0,hideErrorMessage:!0,control:s,name:i,label:x})),"json_valid"===T&&e(Vt,{validate:!0,name:i,inputRef:p}),"widget"===T&&e(Dt,{property:t,name:i,useExpression:n,required:a,label:l}),b&&e(ne,Object.assign({color:"secondary"},{children:b.message}))]})},Bt=({propertyFieldName:r,name:t,label:i="",required:n})=>{const{control:a}=h(),l=g({control:a,name:`${r}.propertyType`}),o=g({control:a,name:`${r}.isMultiple`}),s=g({control:a,name:`${r}.format`}),c=g({control:a,name:`${r}.restrictedValues`}),d=g({control:a,name:`${r}.properties`}),p=g({control:a,name:`${r}.isRequired`}),u=T((()=>{const e="string"==typeof l?l:l.value;return{name:i,isRequired:p,isMultiple:o,format:s,restrictedValues:c,properties:d,propertyType:e,defaultValue:null,defaultValues:[],sortOrder:0,isEnabled:!0,uiSettings:null,validationNode:null}}),[l,s,c,o,i,p,d]);return e(o?zt:Rt,{name:t,property:u,title:i,required:n})};var Wt=({name:t})=>{const n=T((()=>({type:""})),[]),{control:a}=h(),{fields:l,append:o,remove:s}=b({control:a,name:t});return r(c,Object.assign({mt:2},{children:[e(i,Object.assign({variant:"outlined",size:"small",onClick:()=>o(n)},{children:"Add node"})),l.map((({id:r},i)=>e(Qt,{removeHandle:()=>s(i),name:`${t}.${i}`},r)))]}))};const Gt=N(""),Jt=({name:i,control:n})=>r(t,{children:[e(ne,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(xr,{control:n,name:`${i}.minimumLength`,label:"Minimum Length",type:"number"})}),e(c,Object.assign({mt:2},{children:e(xr,{control:n,name:`${i}.maximumLength`,label:"Maximum Length",type:"number"})}))]}),_t=({name:i,control:n})=>r(t,{children:[e(ne,Object.assign({variant:"body2",gutterBottom:!0},{children:"Node"})),e(c,{children:e(xr,{control:n,name:`${i}.multipleOf`,label:"Multiple Of",type:"number"})}),e(c,Object.assign({mt:2},{children:e(xr,{control:n,name:`${i}.minimum`,label:"Minimum",type:"number"})})),e(c,Object.assign({mt:2},{children:e(xr,{control:n,name:`${i}.maximum`,label:"Maximum",type:"number"})})),r(c,Object.assign({mt:2},{children:[e(Nr,{control:n,name:`${i}.exclusiveMinimum`,label:"Exclusive Minimum",defaultValue:"false"}),e(Nr,{control:n,name:`${i}.exclusiveMaximum`,label:"Exclusive Maximum",defaultValue:"false"})]}))]}),Ht=["STRING_REGEX","JSON_SCHEMA"],Yt=new Set([gr.INTEGER,gr.FLOAT,gr.DOUBLE,gr.BIG_DECIMAL,gr.BIG_INTEGER,gr.LONG]);var Kt=({name:i})=>{const{control:n,setValue:a}=h(),l=S(Gt),o=g({control:n,name:`${i}.type`}),s=T((()=>{if("STRING_REGEX"===o)return e(xr,{control:n,name:`${i}.pattern`,label:"Pattern"});if("JSON_SCHEMA"===o)switch(!0){case l===gr.STRING:return e(Jt,{name:`${i}.node`,control:n});case Yt.has(l):return e(_t,{name:`${i}.node`,control:n});case l===gr.JSON:return e(Pr,{label:"Properties",control:n,name:`${i}.properties`,validateJson:!0,parseValue:!0});default:return"Not available for type "+l}return null}),[l,o,n,i]);return O((()=>{Yt.has(l)&&"JSON_SCHEMA"===o&&(a(`${i}.node.exclusiveMinimum`,!1),a(`${i}.node.exclusiveMaximum`,!1))}),[l,o,a,i]),e(Nt,{data:[{label:"Validator",content:r(t,{children:[e(c,{children:e(jr,{control:n,name:`${i}.type`,label:"Type",options:Ht,onChange:e=>{a(i,{}),a(`${i}.type`,e.target.value)}})}),e(c,Object.assign({mt:2},{children:s}))]})}]})};const Ut=["AND","OR","NOT","NODE"],Xt=({name:i,removeHandle:n})=>{const{control:a}=h(),l=g({control:a,name:`${i}.type`}),o=T((()=>({AND:e(Wt,{name:`${i}.nodes`}),OR:e(Wt,{name:`${i}.nodes`}),NODE:e(Kt,{name:`${i}.validator`}),NOT:e(Xt,{name:`${i}.node`})})),[i]);return e(Nt,{data:[{label:"Node Type",content:r(t,{children:[r(c,Object.assign({display:"flex",alignItems:"center"},{children:[e(jr,{required:!0,control:a,name:`${i}.type`,label:"Type",options:Ut}),n&&e(c,Object.assign({ml:2},{children:e(K,Object.assign({onClick:n,color:"primary"},{children:e($e,{})}))}))]})),e(c,{children:o[l]})]})}]})};var Qt=Xt;const Zt=({name:i})=>{const[n,a]=x(!1),{setValue:l,getValues:o}=h(),s=E((e=>{a(e.target.checked),e.target.checked||l(i,null)}),[l,i]);return O((()=>{o(i)&&a(!0)}),[i,o]),r(t,{children:[r(c,Object.assign({display:"flex",justifyContent:"space-between"},{children:[e(ne,Object.assign({variant:"h6"},{children:"Validator"})),e(q,{label:"Enable",control:e(D,{color:"primary",checked:n,onChange:s})})]})),n&&e(Qt,{name:i})]})};var ei=({name:r,label:t="",propertyFieldName:i,type:n,decimal:a=!1,options:l=[],required:o=!1})=>{const{control:s}=h(),c=T((()=>`${i}.${r}`),[r,i]);switch(n){case"text":return e(xr,{control:s,name:c,label:t,required:o});case"number":return e(nt,{control:s,name:c,label:t,decimal:a,required:o});case"select":return e(jr,{control:s,name:c,label:t,options:l,required:o});case"autocomplete":return e(Ir,{control:s,name:c,label:t,options:l,required:o});case"json":return e(Pr,{control:s,name:c,label:t,mode:"json",required:o});default:return null}};var ri=e=>({customCheckboxes:T((()=>e.length?e.filter((e=>"checkbox"===e.type)):[]),[e]),customFields:T((()=>e.length?e.filter((e=>"checkbox"!==e.type)):[]),[e])});const ti=Object.values(gr).sort(((e,r)=>e.localeCompare(r))).map((e=>({value:e,label:e.replace("_"," ").toLowerCase().replace(/(^\w)|([-\s]\w)/g,(e=>e.toUpperCase()))})));var ii=({propertyFieldName:i,entityDefinition:n=!1,globalParameter:a=!1,customPropertyFields:l=[]})=>{var o;const{control:s,setValue:c}=h(),d=g({control:s,name:`${i}.propertyType`}),p=g({control:s,name:`${i}.isMultiple`}),u=g({control:s,name:`${i}.isRequired`}),{customCheckboxes:m,customFields:b}=ri(l),f=T((()=>{let e=a?"Value":"Default Value";return p&&(e+="s"),e}),[a,p]);return O((()=>{d&&"string"==typeof d&&c(`${i}.propertyType`,ti.find((e=>e.value===d)))}),[d,c,i]),r(Ie,Object.assign({container:!0,direction:"column",spacing:2},{children:[e(Ie,{children:e(Cr,{required:!0,control:s,name:`${i}.key`,label:"Key"})}),e(Ie,{children:e(Cr,{required:!0,control:s,name:`${i}.name`,label:"Name"})}),e(Ie,{children:e(Ir,{required:!0,control:s,name:`${i}.propertyType`,label:"Type",options:ti,onChange:(e,r)=>{const t=`${i}.propertyType`,n=`${i}.${a?"value":"defaultValue"}`;c(n,p?[]:null),c(t,r)}})}),e(Ie,{children:e(nt,{required:!0,control:s,name:`${i}.sortOrder`,label:"Sort Order"})}),e(Ie,{children:e(Pr,{control:s,name:`${i}.uiSettings`,label:"UI Settings",validateJson:!0})}),r(Ie,{children:[e(Nr,{control:s,name:`${i}.isMultiple`,label:"Multiple"}),e(Nr,{control:s,name:`${i}.isEnabled`,label:"Enabled"}),e(Nr,{control:s,name:`${i}.isRequired`,label:"Required"}),n&&e(Nr,{control:s,name:`${i}.isViewableInList`,label:"Is viewable in list"}),m.length?e(t,{children:m.map(((r,t)=>e(Nr,{control:s,name:`${i}.${r.name}`,label:r.label},t)))}):null]}),d&&r(t,{children:[e(Ie,{children:e(Gt.Provider,Object.assign({value:null!==(o=d.value)&&void 0!==o?o:d},{children:e(Zt,{name:`${i}.validationNode`})}))}),e(Pt,{propertyType:"string"==typeof d?d:d.value,propertyFieldName:i,globalParameter:a,entityDefinition:n}),e(Bt,{propertyFieldName:i,name:`${i}.${a?"value":"defaultValue"}`,label:f,required:!!a&&u})]}),b.length?e(t,{children:b.map(((r,t)=>e(Ie,{children:e(ei,Object.assign({},r,{propertyFieldName:i}))},t)))}):null]}))};const ni={key:"",propertyType:null,name:"",defaultValue:"",defaultValues:[],isRequired:!0,isMultiple:!1,sortOrder:0,isEnabled:!0,executeValue:"",uiSettings:""},ai=({parentFieldName:n,hideAddButton:a,focusOnIndex:l,required:o,entityDefinition:s=!1,globalParameter:c=!1,customPropertyFields:d=[]})=>{const p=T((()=>n?`${n}.properties`:"properties"),[n]),{setValue:u,clearErrors:b,control:f}=h(),{fieldState:{error:y}}=m({control:f,name:p,rules:{required:o&&"Please, add properties"}}),x=g({control:f,name:p}),C=v([]);O((()=>{"number"==typeof l&&C.current[l]&&C.current[l].scrollIntoView({behavior:"smooth",block:"start"})}),[l,C]);const j=E((()=>{x?u(`${p}.${x.length}`,ni):u(p,[ni]),b(p)}),[x,p,b,u]),N=E((e=>{u(`${p}`,Vr(x,e))}),[x,p,u]);return r(t,{children:[y&&y.message&&e(Ie,Object.assign({sm:12,md:8,lg:6},{children:e(ne,Object.assign({color:"secondary"},{children:y.message}))})),x&&x.map(((t,n)=>e(Ie,Object.assign({sm:12,md:8,lg:6,ref:e=>C.current[n]=e},{children:r(we,Object.assign({defaultExpanded:!0,elevation:3},{children:[e(Me,Object.assign({expandIcon:e(Ve,{})},{children:e(ne,Object.assign({color:y&&y[n]?"secondary":"initial",style:{wordBreak:"break-word"}},{children:t.name||`Property ${n+1}`}))})),e(Ae,{children:e(ii,{propertyFieldName:`${p}.${n}`,entityDefinition:s,globalParameter:c,customPropertyFields:d})}),e(Pe,{children:e(i,Object.assign({variant:"contained",size:"small",color:"secondary",onClick:()=>N(n)},{children:"Remove"}))})]}))}),n))),!a&&e(Ie,Object.assign({xs:12},{children:e(i,Object.assign({variant:"contained",size:"small",color:"primary",onClick:j},{children:"Add property"}))}))]})},li=({definitionFieldName:t,title:i,hideCodeField:n,hideVersionField:a,hideNameField:l,required:o=!1})=>{const{control:s}=h();return r(Ie,Object.assign({container:!0,direction:"column",spacing:2},{children:[i&&e(Ie,Object.assign({sm:12,md:8,lg:6},{children:e(c,Object.assign({my:2},{children:e(ne,Object.assign({variant:"h4"},{children:i}))}))})),!l&&e(Ie,Object.assign({sm:12,md:8,lg:6},{children:e(xr,{required:!0,control:s,name:t?`${t}.name`:"name",label:"Name"})})),!n&&e(Ie,Object.assign({sm:12,md:8,lg:6},{children:e(xr,{required:!0,control:s,name:t?`${t}.code`:"code",label:"Code"})})),!a&&e(Ie,Object.assign({sm:12,md:8,lg:6},{children:e(nt,{required:!0,control:s,name:t?`${t}.version`:"version",label:"Version"})})),e(ai,{required:o,parentFieldName:t})]}))},oi={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"},si=({value:r,type:t})=>t!==gr.JSON&&t!==gr.ENTITY&&t!==gr.ANY||!r?e(ne,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:null===r?"null":r.toString()})):e(zr,{value:r}),ci=(t,i,n)=>{switch(i){case"isRequired":case"isMultiple":case"isEnabled":case"isViewableInList":return t?e(Ue,{color:"primary",fontSize:"small"}):null;case"restrictedValues":return t?e(c,Object.assign({display:"flex",flexWrap:"wrap"},{children:t.map((r=>e(ze,{label:r,style:{wordBreak:"break-word",maxWidth:"500px"}},r)))})):null;case"defaultValue":case"value":return e(si,{value:t,type:n});case"values":case"defaultValues":return Array.isArray(t)&&n!==gr.ENTITY&&n!==gr.JSON&&n!==gr.ANY?r("div",{children:["[",null==t?void 0:t.map(((r,t)=>e("div",{children:e(si,{value:r,type:n})},t))),"]"]}):e(zr,{value:t});case"uiSettings":case"validationNode":return t?e(zr,{value:t}):null;default:return e(ne,Object.assign({variant:"subtitle1",display:"inline",style:{wordBreak:"break-word"}},{children:t}))}};var di=({property:t})=>{const i=T((()=>(t&&(t.isMultiple?(delete t.defaultValue,delete t.value):(delete t.defaultValues,delete t.values)),t)),[t]);return e(_e,Object.assign({size:"small"},{children:e(He,{children:Object.keys(oi).map((t=>t in i?r(Ye,{children:[e(Ke,Object.assign({width:"30%"},{children:e(ne,{children:oi[t]})})),e(Ke,{children:ci(i[t],t,i.propertyType)})]},t):null))})}))};var pi=k((({properties:t,parentNames:i=[]})=>{const n=T((()=>{let e=!1;return t.every((r=>r.propertyType!==gr.ENTITY||(e=!0,!1))),e}),[t]);return r(c,Object.assign({mt:4},{children:[e(ne,Object.assign({variant:"h6"},{children:"Properties"})),r(Fe,Object.assign({orientation:"vertical",style:{paddingLeft:"4px"}},{children:[t.map((t=>r(Le,Object.assign({expanded:!0},{children:[e(qe,{StepIconProps:{icon:"",completed:!1,active:!0}}),e(Re,{children:e(ui,{property:t,parentNames:[...i],defaultExpanded:!1})})]}),t.key))),n&&e(Le,{})]}))]}))}));const ui=({property:t,parentNames:i=[],defaultExpanded:n=!0})=>{const[a,l]=x(!0);return O((()=>{l(n)}),[n]),r(we,Object.assign({elevation:3,style:{backgroundColor:i.length%2==1?"#f1f1f1":"#fff"},expanded:a,onChange:()=>l((e=>!e))},{children:[e(Me,Object.assign({expandIcon:e(Ve,{})},{children:e(ne,Object.assign({style:{wordBreak:"break-word",fontWeight:"600"}},{children:t.name}))})),e(Ae,{children:r(c,Object.assign({width:"100%"},{children:[e(di,{property:t}),t.propertyType===gr.ENTITY&&e(pi,{properties:Zr(t.properties),parentNames:[...i,t.name]})]}))})]}))},mi=({properties:r,expandAll:t=!0})=>{const i=T((()=>Array.isArray(r)?r:r?Zr(r):[]),[r]);return e(c,Object.assign({display:"flex",flexDirection:"column"},{children:i.length?i.map((r=>e(ui,{property:r,defaultExpanded:t},r.key))):e(ne,{children:"No properties"})}))},gi=({properties:t,dataFieldName:i,useExpression:n=!1,title:a})=>{const l=T((()=>t?t.map((t=>{const a="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"," | ",a]})]})),content:t.isMultiple?e(zt,{property:t,name:`${i}.${t.key}`,useExpression:n,label:t.name,required:t.isRequired}):e(Rt,{property:t,name:`${i}.${t.key}`,useExpression:n,label:t.name,required:t.isRequired})}})):[]),[t,i,n]);return r(Ie,Object.assign({container:!0,direction:"column",spacing:2},{children:[a&&e(Ie,Object.assign({xs:12},{children:e("div",Object.assign({style:{fontWeight:"600"}},{children:a}))})),e(Nt,{data:l})]}))},hi=({property:r,data:t,properties:i})=>{const n=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(Hr(t))return n(t);switch(r.propertyType){case gr.JSON:return e(zr,{value:t});case gr.ENTITY:return e(fi,{properties:i,data:t});case gr.ANY:return"object"==typeof t?e(zr,{value:t}):n(t);default:return n(t)}};var bi=({property:r,data:t,hasBackground:i=!1})=>{const n=T((()=>r.propertyType===gr.ENTITY?Array.isArray(r.properties)?r.properties:Zr(r.properties):[]),[r]);return e(c,Object.assign({style:{backgroundColor:i?"#f1f1f1":"none"}},{children:e(hi,{property:r,data:t,properties:n})}))};const fi=({properties:i,data:n})=>{const a=T((()=>i&&n?i.map((i=>{var a;const{key:l,name:o,isMultiple:s,propertyType:d}=i,p=null!==(a=n[i.key])&&void 0!==a?a:n;return{label:r(c,Object.assign({display:"flex",flexDirection:"column"},{children:[e("b",{children:o}),r("span",{children:[l," | ",s?"multiple":"single"," | ",d]})]})),content:s&&Array.isArray(p)&&i.propertyType!==gr.ANY?e(t,{children:p.map(((r,t)=>e(c,Object.assign({mb:2},{children:e(bi,{property:i,data:r,hasBackground:!0})}),t)))}):e(bi,{property:i,data:p})}})):[]),[i,n]);return e(Ie,Object.assign({container:!0,direction:"column",spacing:2},{children:e(Nt,{data:a})}))};var yi=je()((e=>({root:{backgroundColor:"#eee",fontSize:"14px",padding:"0 8px",borderRadius:"10px",width:"fit-content","&.success":{backgroundColor:"#a9dfa9"},"&.error":{backgroundColor:"#ff7e7e"},"&.warning":{backgroundColor:e.palette.warning.main}}})));const vi=({text:r,status:t="default"})=>{const{classes:i}=yi();return e("div",Object.assign({className:Xe(i.root,{[t]:!0})},{children:r}))},Oi=je()((()=>({propertyStepLabel:{"&:hover":{fontWeight:"600",cursor:"pointer"}}}))),xi=({properties:t,parentKey:i="",activePath:n="",prefix:a="",onClick:l})=>{const{classes:o}=Oi();return e(Fe,Object.assign({orientation:"vertical",onClick:e=>e.stopPropagation()},{children:t&&t.map((t=>{var s;const c=i?`${i}.${t.key}`:t.key,d=null!==(s=t.propertyType.value)&&void 0!==s?s:t.propertyType;return r(Le,Object.assign({expanded:!0,onClick:()=>{return e=c,void l(a?`${a}.${e}`:e);var e}},{children:[e(qe,Object.assign({StepIconProps:{icon:"",completed:!1,active:n===c}},{children:r("div",Object.assign({className:o.propertyStepLabel},{children:[t.name," - ",t.key," - ",d]}))})),e(Re,{children:e("div",{children:d===gr.ENTITY&&e(xi,{onClick:l,activePath:n,properties:t.properties,parentKey:c},t.key)})})]}),t.key)}))}))};var Ei=xi;const Ti=({open:t=!1,onClose:o,onPaste:c,properties:d})=>{const[p,u]=x("");return r(n,Object.assign({open:t,onClose:o,fullWidth:!0,maxWidth:"md"},{children:[e(s,{children:"JSON path picker"}),r(l,{children:[(null==d?void 0:d.length)?d.map(((t,i)=>r("div",{children:[e(ne,Object.assign({variant:"h6"},{children:t.title})),e(Ei,{properties:t.properties,prefix:t.pathPrefix,onClick:u,activePath:p})]},i))):e(ne,{children:"Please, add properties"}),p&&r(ne,Object.assign({variant:"h6",gutterBottom:!0},{children:["Selected path : $(",p,")"]}))]}),r(a,{children:[e(i,Object.assign({variant:"contained",color:"primary",onClick:()=>{navigator.clipboard.writeText(`$(${p})`),Qe.success("Copied!")}},{children:"Copy"})),e(i,Object.assign({variant:"contained",color:"primary",onClick:()=>{c(`$(${p})`),Qe.success("Pasted!")}},{children:"Paste"})),e(i,Object.assign({variant:"contained",color:"secondary",onClick:o},{children:"Close"}))]})]}))},Ci=F(er)((e=>({width:248,flexShrink:0,"& .MuiDrawer-paper":{backgroundColor:e.theme.palette.secondary.main,width:248,boxSizing:"border-box",borderRight:"none",borderRadius:0}}))),ji=F(nr)((e=>({borderRadius:e.theme.spacing(2.5),paddingLeft:9,"&.active":{backgroundColor:"rgba(38, 40, 66, 0.12)","&.main":{backgroundColor:"rgba(255, 255, 255, 0.12)",boxShadow:"-4px 0 0 0px #E0613A"}}}))),Ni=F(rr)((e=>({padding:e.theme.spacing(3,3,3,4),margin:0}))),Si=F(tr)((e=>({color:"#ffffff"}))),ki=F(ir)((()=>({color:"#ffffff","& svg":{fill:"#ffffff",color:"#ffffff"}}))),Ii=F(ar)((()=>({backgroundColor:"inherit",color:"#ffffff"})));var wi=({route:t,isActive:i})=>t.link?e(Si,Object.assign({disablePadding:!0},{component:Z,replace:!0,to:{pathname:t.link,search:t.query}},{children:r(ji,Object.assign({className:Xe({active:i,main:t.main})},{children:[t.icon&&e(ki,Object.assign({sx:{minWidth:28}},{children:t.icon})),e(dr,{primary:t.name,primaryTypographyProps:{variant:"body2"}})]}))})):e(Ii,{children:t.name});var Mi=({route:t,isActive:i,isListOpen:n,handleClick:a})=>t.link?e(Si,Object.assign({disablePadding:!0,onClick:a},{children:r(ji,Object.assign({className:Xe({active:i,main:t.main})},{children:[t.icon&&e(ki,Object.assign({sx:{minWidth:28}},{children:t.icon})),e(dr,{primary:t.name,primaryTypographyProps:{variant:"body2"}}),e(n?pr:Ve,{})]}))})):e(Ii,{children:t.name});const Ai=({route:i})=>{var n,a;const l=Q(),[o,s]=x(!1),c=T((()=>!!i.link&&l.pathname.startsWith(i.link)),[l.pathname,i]);return O((()=>{s(c)}),[c]),(null===(n=i.children)||void 0===n?void 0:n.length)?r(t,{children:[e(Mi,{route:i,isActive:c,handleClick:()=>{s(!o)},isListOpen:o||!i.link}),e(cr,Object.assign({in:o||!i.link,timeout:"auto"},{children:e(rr,Object.assign({component:"div",disablePadding:!0},{children:null===(a=i.children)||void 0===a?void 0:a.map(((r,t)=>e(Ai,{route:r},t)))}))}))]}):e(wi,{route:i,isActive:c})};var Pi=Ai;var Vi=lr({spacing:4,palette:{primary:{main:"#E0613A",dark:"#d9512e",light:"#E0613A"},secondary:{main:"#007994",dark:"#262842",light:"#cbe8ee"},text:{disabled:"#A9A9B8"},success:{main:"#2DB77B",light:"#DBFCEE"},grey:{700:"#101F2B"}},typography:{fontFamily:"Euclid",fontSize:14,h1:{fontWeight:400},h3:{fontWeight:500},h4:{fontWeight:500}}});var $i={components:{MuiButton:{styleOverrides:{root:{lineHeight:1.429}}},MuiInputBase:{styleOverrides:{root:{borderRadius:Vi.spacing(3),minWidth:Vi.spacing(25),background:Vi.palette.background.default},input:{minWidth:Vi.spacing(25)}}},MuiSelect:{styleOverrides:{nativeInput:{padding:0,height:"32px"}}},MuiTextField:{styleOverrides:{root:{minWidth:Vi.spacing(25)}}},MuiInputLabel:{styleOverrides:{root:{position:"relative",overflow:"initial",transform:"none",marginBottom:Vi.spacing(1),fontWeight:500,fontSize:"14px",lineHeight:"20px"}}},MuiOutlinedInput:{styleOverrides:{root:{borderRadius:Vi.spacing(3),minWidth:Vi.spacing(25)},notchedOutline:{top:0,"& legend":{display:"none",transition:"none"}}}},MuiAutocomplete:{styleOverrides:{paper:{marginTop:8,borderRadius:12,boxShadow:"0px 8px 16px rgba(0, 0, 0, 0.04)"},listbox:{"::-webkit-scrollbar":{width:"6px",backgroundColor:"white"},"::-webkit-scrollbar-thumb":{borderRadius:"10px",backgroundColor:"rgba(38, 40, 66, 0.24)"}}}},MuiMenu:{styleOverrides:{list:{paddingTop:0,paddingBottom:0,background:"white","& li.Mui-selected":{background:"rgba(38, 40, 66, 0.08) !important"}}}},MuiPopover:{styleOverrides:{paper:{marginTop:8,borderRadius:12,boxShadow:"0px 8px 16px rgba(0, 0, 0, 0.04)"}}},MuiFormLabel:{styleOverrides:{asterisk:{color:"#D6331F","&$error":{color:"#D6331F"}}}}}};var Fi={components:{MuiTableContainer:{styleOverrides:{root:{borderRadius:Vi.spacing(3),border:"1px solid rgba(38, 40, 66, 0.08)"}}},MuiTableHead:{styleOverrides:{root:{backgroundColor:"#F7F8FC"}}},MuiTableCell:{styleOverrides:{root:{minHeight:48,padding:Vi.spacing(1,2),"&:first-of-type":{paddingLeft:Vi.spacing(4)}},head:{maxHeight:"40px",padding:Vi.spacing(2.75,2),color:"#6D6E85"},body:{wordBreak:"break-all"}}},MuiTableSortLabel:{styleOverrides:{root:{maxHeight:"24px",lineHeight:1}}}}};var Li={components:{MuiStepIcon:{styleOverrides:{root:{fontSize:"20px",color:Vi.palette.text.disabled,"&.Mui-active, &.Mui-completed":{color:Vi.palette.secondary.main}}}}}};var qi={components:{MuiTypography:{styleOverrides:{h1:{[Vi.breakpoints.up("lg")]:{fontSize:"1.5rem"}},h3:{fontSize:"1.25rem",[Vi.breakpoints.up("lg")]:{fontSize:"1.125rem"}},h4:{fontSize:"1rem",[Vi.breakpoints.up("lg")]:{fontSize:"1rem"}},subtitle2:{color:"#6D6E85"}}}}};const Ri=or(lr(Vi,{components:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},$i.components),Fi.components),Li.components),qi.components),{MuiToolbar:{styleOverrides:{root:{[Vi.breakpoints.up("sm")]:{minHeight:"56px"}}}},MuiAppBar:{styleOverrides:{root:{boxShadow:"none",backgroundColor:"#007F9B"}}},MuiButton:{styleOverrides:{root:{borderRadius:Vi.spacing(2.5),padding:Vi.spacing(2.5,4),lineHeight:"20px",fontSize:"1rem",textTransform:"none"},outlined:{color:"#262842",backgroundColor:"#FFFFFF !important",border:"1px solid rgba(38, 40, 66, 0.12)"},text:{color:Vi.palette.secondary.dark}}},MuiDialog:{styleOverrides:{root:{"& .MuiModal-backdrop":{background:"rgba(28, 55, 77, 0.5)",backdropFilter:"blur(2px)"}},paper:{borderRadius:Vi.spacing(3)},paperWidthXs:{maxWidth:500}}},MuiDialogContent:{styleOverrides:{root:{color:"#6D6E85"}}},MuiDialogActions:{styleOverrides:{root:{background:"#F7F8FC",borderTop:"1px solid rgba(38, 40, 66, 0.08)",padding:Vi.spacing(3,6)}}},MuiTabs:{styleOverrides:{root:{minHeight:"38px"},indicator:{backgroundColor:Vi.palette.secondary.main}}},MuiTab:{styleOverrides:{root:{fontSize:14,fontWeight:500,textTransform:"none",padding:"10px 12px",lineHeight:"1.125rem",minHeight:"38px",color:"#8B8C9E","&.Mui-selected":{color:Vi.palette.secondary.main}}}}})})),Di=({routes:t,theme:i})=>{const n=i||Ri;return e(sr,Object.assign({theme:n},{children:e(re,{children:r(Ci,Object.assign({variant:"permanent",anchor:"left"},{children:[e(Ze,Object.assign({sx:{backgroundColor:n.palette.background.default,borderRight:"1px solid rgba(38, 40, 66, 0.08)",fontSize:24,fontWeight:600}},{children:"Fin tech LAB"})),e(Ni,{children:t.map(((r,t)=>e(Pi,{route:r},t)))})]}))})}))},zi=({children:t,toolbar:i})=>r(c,Object.assign({component:"main",sx:{flexGrow:1,bgcolor:"background.default"}},{children:[e(Ze,Object.assign({sx:{borderBottom:"1px solid rgba(38, 40, 66, 0.08)"}},{children:i})),e(c,Object.assign({sx:{height:"calc(100vh - 56px)",overflow:"scroll"}},{children:e(I,Object.assign({fallback:e(vr,{})},{children:null!=t?t:e(te,{})}))}))]}));export{Or as AlertDialog,Ar as BackButton,zi as ContentLayout,Pr as ControlAceEditor,Ir as ControlAutocomplete,Nr as ControlCheckbox,lt as ControlDate,ot as ControlDateTime,Cr as ControlDebouncedInput,xr as ControlInput,nt as ControlNumberInput,wr as ControlQueryAutocomplete,Sr as ControlRadio,jr as ControlSelect,at as ControlSwitch,st as ControlTime,Mr as CopyButton,li as CreateDefinition,ai as CreatePropertiesList,hr as DATE_DEFAULT_FORMAT,fr as DATE_TIME_DEFAULT_FORMAT,gi as DefinitionFiller,fi as DefinitionValueView,Ot as InfoItem,Br as JsonModalView,Ti as JsonPathPicker,zr as JsonView,vr as Loader,zt as MultiplePropertyFiller,Rt as PropertyFiller,gr as PropertyType,Bt as PropertyValueField,yr as RoundingMode,yt as RouteTabs,Di as Sidebar,vi as Status,Nt as StepperView,br as TIME_DEFAULT_FORMAT,ft as TabPanel,ht as Table,bt as TableAction,mi as ViewPropertiesList,ui as ViewProperty,Fr as capitalize,Dr as deepParseJson,Jr as digitsOnly,_r as floatsOnly,Xr as formatDefinitionData,Gr as formatTableRowValue,et as getDemPropertyDateFormat,rt as getEntityStarterValue,qr as getJsonStringValue,tt as getMultiplePropertyFillOptions,it as getSinglePropertyFillOptions,Yr as isDateType,Hr as isExpression,Kr as isPropertyValueEmpty,Qr as propertiesArrayToObject,Zr as propertiesObjectToArray,Vr as removeArrayItem,Rr as safeParseJson,Lr as sortArrayOfObjects,Er as useDebounce,Tr as useToggle,$r as validateJson};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dartech/arsenal-ui",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.13",
|
4
4
|
"author": "DAR",
|
5
5
|
"publishConfig": {
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
@@ -25,6 +25,7 @@
|
|
25
25
|
"@tanstack/react-query": "^4.24.10",
|
26
26
|
"tss-react": "^4.8.2",
|
27
27
|
"@rollup/plugin-node-resolve": "13.3.0",
|
28
|
+
"@storybook/react": "6.5.16",
|
28
29
|
"qs": "6.11.1"
|
29
30
|
},
|
30
31
|
"module": "./index.js",
|
@@ -32,4 +33,4 @@
|
|
32
33
|
"type": "module",
|
33
34
|
"types": "./index.d.ts",
|
34
35
|
"peerDependencies": {}
|
35
|
-
}
|
36
|
+
}
|
package/src/interfaces/ui.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { PaginateData } from './common';
|
2
2
|
import { PropertiesArrayType } from './definition';
|
3
|
+
import { ReactNode } from 'react';
|
3
4
|
type PaginateParams = {
|
4
5
|
page: string;
|
5
6
|
size: string;
|
@@ -25,7 +26,7 @@ export interface Option<T = string> {
|
|
25
26
|
value: T;
|
26
27
|
label: string;
|
27
28
|
}
|
28
|
-
export type TableDataType = 'JSON' | 'JSON_text' | 'JSON_copy' | 'copy' | 'boolean' | 'date' | 'status' | 'array';
|
29
|
+
export type TableDataType = 'id' | 'JSON' | 'JSON_text' | 'JSON_copy' | 'copy' | 'boolean' | 'date' | 'status' | 'array';
|
29
30
|
export type JsonPathPickerProperty = {
|
30
31
|
properties: PropertiesArrayType;
|
31
32
|
pathPrefix: string;
|
@@ -45,4 +46,25 @@ export type CustomPropertyFieldProps = {
|
|
45
46
|
export type PropertyFillType = 'expression' | 'widget' | 'null' | 'string' | 'json_valid' | 'json_notvalid';
|
46
47
|
export type StatusVariant = 'default' | 'success' | 'error' | 'warning';
|
47
48
|
export type ValidateFunc = (value: string) => boolean | string;
|
49
|
+
export interface Column<T> {
|
50
|
+
id: string;
|
51
|
+
label: string;
|
52
|
+
align?: 'right' | 'left';
|
53
|
+
type?: TableDataType;
|
54
|
+
sortKey?: string;
|
55
|
+
width?: number;
|
56
|
+
renderCell?: (row: Row<T>, rowIndex: number) => ReactNode;
|
57
|
+
}
|
58
|
+
export type Row<T> = T & {
|
59
|
+
id?: string;
|
60
|
+
onClick?: (event: React.MouseEvent<HTMLTableRowElement>) => void;
|
61
|
+
};
|
62
|
+
export type Route = {
|
63
|
+
name: string;
|
64
|
+
main?: boolean;
|
65
|
+
icon?: ReactNode;
|
66
|
+
link?: string;
|
67
|
+
query?: string;
|
68
|
+
children?: Route[];
|
69
|
+
};
|
48
70
|
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './ContentLayout';
|
@@ -3,10 +3,9 @@ import AceEditor from 'react-ace';
|
|
3
3
|
import 'ace-builds/src-noconflict/mode-python';
|
4
4
|
import 'ace-builds/src-noconflict/theme-monokai';
|
5
5
|
import 'ace-builds/src-noconflict/ext-language_tools';
|
6
|
-
import { Control } from 'react-hook-form';
|
7
6
|
export interface ControlAceEditorProps {
|
8
7
|
name: string;
|
9
|
-
control:
|
8
|
+
control: any;
|
10
9
|
mode?: string;
|
11
10
|
label?: string;
|
12
11
|
width?: string;
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { AutocompleteProps } from '@mui/material/Autocomplete';
|
3
3
|
import { TextFieldProps } from '@mui/material/TextField';
|
4
|
-
import { Control } from 'react-hook-form';
|
5
4
|
import { ValidateFunc } from '../../interfaces';
|
6
5
|
/**
|
7
6
|
* This interface is referencing the [[ControlAutocomplete]] component props.
|
@@ -19,7 +18,7 @@ export type ControlAutocompleteProps = Omit<AutocompleteProps<unknown, boolean,
|
|
19
18
|
/**
|
20
19
|
* React Hook Form `control`
|
21
20
|
*/
|
22
|
-
control:
|
21
|
+
control: any;
|
23
22
|
/**
|
24
23
|
* Is input required flag
|
25
24
|
*/
|
@@ -1,6 +1,5 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { CheckboxProps } from '@mui/material/Checkbox';
|
3
|
-
import { Control } from 'react-hook-form';
|
4
3
|
import { ValidateFunc } from '../../interfaces';
|
5
4
|
/**
|
6
5
|
* This interface is referencing the [[ControlCheckbox]] component props.
|
@@ -18,7 +17,7 @@ export type ControlCheckboxProps = CheckboxProps & {
|
|
18
17
|
/**
|
19
18
|
* React Hook Form `control`
|
20
19
|
*/
|
21
|
-
control:
|
20
|
+
control: any;
|
22
21
|
/**
|
23
22
|
* React Hook Form `defaultValue`
|
24
23
|
*/
|
@@ -1,5 +1,4 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { Control } from 'react-hook-form';
|
3
2
|
import { TextFieldProps } from '@mui/material/TextField';
|
4
3
|
import { ValidateFunc } from '../../interfaces';
|
5
4
|
/**
|
@@ -18,7 +17,7 @@ export type ControlInputProps = TextFieldProps & {
|
|
18
17
|
/**
|
19
18
|
* React Hook Form `control`
|
20
19
|
*/
|
21
|
-
control:
|
20
|
+
control: any;
|
22
21
|
/**
|
23
22
|
* Is input required flag
|
24
23
|
*/
|
@@ -1,5 +1,4 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { Control } from 'react-hook-form';
|
3
2
|
import { ValidateFunc } from '../../interfaces';
|
4
3
|
/**
|
5
4
|
* This interface is referencing the [[ControlRadioBtn]] component props.
|
@@ -9,7 +8,7 @@ export interface ControlRadioProps {
|
|
9
8
|
/**
|
10
9
|
* React Hook Form `control`
|
11
10
|
*/
|
12
|
-
control:
|
11
|
+
control: any;
|
13
12
|
/**
|
14
13
|
* React Hook Form control `name` propery
|
15
14
|
*/
|
@@ -1,6 +1,5 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { TextFieldProps } from '@mui/material/TextField';
|
3
|
-
import { Control } from 'react-hook-form';
|
4
3
|
import { ValidateFunc } from '../../interfaces';
|
5
4
|
/**
|
6
5
|
* This interface is referencing the [[ControlSelect]] component props.
|
@@ -18,7 +17,7 @@ export type ControlSelectProps = TextFieldProps & {
|
|
18
17
|
/**
|
19
18
|
* React Hook Form `control`
|
20
19
|
*/
|
21
|
-
control:
|
20
|
+
control: any;
|
22
21
|
/**
|
23
22
|
* Is input required flag
|
24
23
|
*/
|
@@ -1,11 +1,10 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { SwitchProps } from '@mui/material/Switch';
|
3
|
-
import { Control } from 'react-hook-form';
|
4
3
|
type Props = SwitchProps & {
|
5
4
|
/**
|
6
5
|
* React Hook Form `control`
|
7
6
|
*/
|
8
|
-
control:
|
7
|
+
control: any;
|
9
8
|
/**
|
10
9
|
* React Hook Form control `name` propery
|
11
10
|
*/
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { Route } from '../../interfaces';
|
3
|
+
import { ThemeOptions } from '@mui/material';
|
4
|
+
type Props = {
|
5
|
+
routes: Route[];
|
6
|
+
theme?: ThemeOptions;
|
7
|
+
};
|
8
|
+
export declare const Sidebar: ({ routes, theme: customTheme }: Props) => JSX.Element;
|
9
|
+
export {};
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare const Drawer: import("@emotion/styled").StyledComponent<import("@mui/material").DrawerProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
3
|
+
export declare const ListItemButton: import("@emotion/styled").StyledComponent<import("@mui/material").ListItemButtonBaseProps & Omit<{
|
4
|
+
action?: import("react").Ref<import("@mui/material").ButtonBaseActions>;
|
5
|
+
centerRipple?: boolean;
|
6
|
+
children?: import("react").ReactNode;
|
7
|
+
classes?: Partial<import("@mui/material").ButtonBaseClasses>;
|
8
|
+
disabled?: boolean;
|
9
|
+
disableRipple?: boolean;
|
10
|
+
disableTouchRipple?: boolean;
|
11
|
+
focusRipple?: boolean;
|
12
|
+
focusVisibleClassName?: string;
|
13
|
+
LinkComponent?: import("react").ElementType<any>;
|
14
|
+
onFocusVisible?: import("react").FocusEventHandler<any>;
|
15
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme>;
|
16
|
+
tabIndex?: number;
|
17
|
+
TouchRippleProps?: Partial<import("@mui/material/ButtonBase/TouchRipple").TouchRippleProps>;
|
18
|
+
touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions>;
|
19
|
+
}, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
20
|
+
ref?: import("react").Ref<HTMLDivElement>;
|
21
|
+
}, "classes" | "children" | "style" | "className" | "tabIndex" | "sx" | "alignItems" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "autoFocus" | "dense" | "disableGutters" | "divider" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
22
|
+
export declare const List: import("@emotion/styled").StyledComponent<{
|
23
|
+
children?: import("react").ReactNode;
|
24
|
+
classes?: Partial<import("@mui/material").ListClasses>;
|
25
|
+
dense?: boolean;
|
26
|
+
disablePadding?: boolean;
|
27
|
+
subheader?: import("react").ReactNode;
|
28
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme>;
|
29
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & {
|
30
|
+
ref?: import("react").Ref<HTMLUListElement>;
|
31
|
+
}, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "sx" | "dense" | "disablePadding" | "subheader"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
32
|
+
export declare const ListItem: import("@emotion/styled").StyledComponent<{
|
33
|
+
button?: false;
|
34
|
+
} & import("@mui/material").ListItemBaseProps & {
|
35
|
+
components?: {
|
36
|
+
Root?: import("react").ElementType<any>;
|
37
|
+
};
|
38
|
+
componentsProps?: {
|
39
|
+
root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
|
40
|
+
};
|
41
|
+
slotProps?: {
|
42
|
+
root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
|
43
|
+
};
|
44
|
+
slots?: {
|
45
|
+
root?: import("react").ElementType<any>;
|
46
|
+
};
|
47
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
|
48
|
+
ref?: import("react").Ref<HTMLLIElement>;
|
49
|
+
}, "classes" | "slotProps" | "children" | "slots" | "button" | "style" | "className" | "components" | "componentsProps" | "sx" | "alignItems" | "disabled" | "autoFocus" | "dense" | "disableGutters" | "divider" | "selected" | "disablePadding" | "ContainerComponent" | "ContainerProps" | "secondaryAction"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
50
|
+
export declare const ListItemIcon: import("@emotion/styled").StyledComponent<import("@mui/material").ListItemIconProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
51
|
+
export declare const ListSubheader: import("@emotion/styled").StyledComponent<{
|
52
|
+
children?: import("react").ReactNode;
|
53
|
+
classes?: Partial<import("@mui/material").ListSubheaderClasses>;
|
54
|
+
color?: "inherit" | "default" | "primary";
|
55
|
+
disableGutters?: boolean;
|
56
|
+
disableSticky?: boolean;
|
57
|
+
inset?: boolean;
|
58
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme>;
|
59
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
|
60
|
+
ref?: import("react").Ref<HTMLLIElement>;
|
61
|
+
}, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "sx" | "inset" | "disableGutters" | "disableSticky"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import type { Route } from '../../../interfaces';
|
3
|
+
type Props = {
|
4
|
+
route: Route;
|
5
|
+
isActive: boolean;
|
6
|
+
isListOpen: boolean;
|
7
|
+
handleClick: () => void;
|
8
|
+
};
|
9
|
+
declare const SidebarNestedItem: ({ route, isActive, isListOpen, handleClick, }: Props) => JSX.Element;
|
10
|
+
export default SidebarNestedItem;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './Sidebar';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { ReactNode, ForwardedRef } from 'react';
|
2
|
+
import { Column, Row } from '../../../interfaces';
|
3
|
+
interface Props<T> {
|
4
|
+
columns: Column<T>[];
|
5
|
+
rows: Row<T>[];
|
6
|
+
totalCount: number;
|
7
|
+
loading?: boolean;
|
8
|
+
pagination?: boolean;
|
9
|
+
onRowClick?: (row: Row<T>) => void;
|
10
|
+
children?: ReactNode;
|
11
|
+
verticalAlign?: 'top' | 'middle' | 'bottom' | 'sub' | 'baseline';
|
12
|
+
}
|
13
|
+
declare function TableInner<T>({ columns, rows, totalCount, children, pagination, loading, onRowClick, verticalAlign }: Props<T>, ref: ForwardedRef<HTMLTableElement>): JSX.Element;
|
14
|
+
export declare const SimpleTable: <T>(props: Props<T> & {
|
15
|
+
ref?: ForwardedRef<HTMLTableElement>;
|
16
|
+
}) => ReturnType<typeof TableInner>;
|
17
|
+
export default SimpleTable;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { MouseEvent } from 'react';
|
2
|
+
type ActionItem = {
|
3
|
+
title: string;
|
4
|
+
onClick: (e?: MouseEvent<HTMLElement>) => void;
|
5
|
+
};
|
6
|
+
type Props = {
|
7
|
+
actionsList: ActionItem[];
|
8
|
+
};
|
9
|
+
export declare const TableActionCell: ({ actionsList }: Props) => JSX.Element;
|
10
|
+
export {};
|
package/src/lib/Table/index.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './
|
2
|
-
export * from './
|
1
|
+
export * from './DataGrid';
|
2
|
+
export * from './SimpleTable';
|
package/src/lib/index.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
export * from './Alert';
|
2
2
|
export * from './Forms';
|
3
3
|
export * from './Loader';
|
4
|
-
export * from './Table';
|
4
|
+
export * from './Table/DataGrid';
|
5
5
|
export * from './Tabs';
|
6
6
|
export * from './Modals';
|
7
7
|
export * from './InfoItem';
|
@@ -11,3 +11,5 @@ export * from './Status';
|
|
11
11
|
export * from './JsonView';
|
12
12
|
export * from './JsonPathPicker';
|
13
13
|
export * from './StepperView';
|
14
|
+
export * from './Sidebar';
|
15
|
+
export * from './ContentLayout';
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const theme: import("@mui/material").Theme;
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/src/lib/Table/{useTableQueryPagination.d.ts → DataGrid/useTableQueryPagination.d.ts}
RENAMED
File without changes
|
File without changes
|