@judo/components 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{Dialog as i,DialogTitle as n,DialogContent as o,DialogContentText as l,DialogActions as a,Button as s,createTheme as d,alpha as c,Popper as u,Grow as p,Paper as h,ClickAwayListener as m,MenuList as g,MenuItem as f,TextField as b,InputAdornment as v,Slide as y,Typography as x,Container as C,Box as O,Grid as w,IconButton as k,FormControlLabel as M,Checkbox as I,TablePagination as P,ButtonBase as T,Breadcrumbs as F,ListItem as S,ListItemButton as A,AppBar as D,Toolbar as B,Divider as E}from"@mui/material";import{useRef as q,useEffect as N,useState as W,forwardRef as R,createContext as z,useContext as L,useMemo as _}from"react";import{mdiFormatTextVariant as V,mdiNumeric as j,mdiCalendarClock as H,mdiCalendarMonth as Q}from"@mdi/js";import $ from"@mdi/react";import{KeyboardArrowDown as G,CheckBoxOutlined as Y,Close as J,MoreHoriz as K,Visibility as U,Delete as X,NoteAdd as Z,LinkOff as ee,Home as te}from"@mui/icons-material";import{DateTimePicker as re,DatePicker as ie}from"@mui/x-date-pickers";import{DataGrid as ne,GridToolbarContainer as oe}from"@mui/x-data-grid";import{useSnackbar as le}from"notistack";import{useNavigate as ae,useLocation as se,useResolvedPath as de,useMatch as ce}from"react-router-dom";const ue=({confirmationMessage:r,title:d,resolve:c,open:u,handleClose:p})=>{const h=q(null);N((()=>{if(u){const{current:e}=h;null!==e&&e.focus()}}),[u]);return e(i,{open:u,onClose:p,scroll:"paper",fullWidth:!0,maxWidth:"xs",children:[d&&t(n,{id:"scroll-dialog-title",children:d}),t(o,{dividers:!!d,children:t(l,{id:"scroll-dialog-description",ref:h,tabIndex:-1,children:r})}),e(a,{children:[t(s,{variant:"text",onClick:()=>{p(),c(!1)},children:"No"}),t(s,{variant:"text",onClick:()=>{p(),c(!0)},children:"Yes"})]})]})},pe=new Map([[null,"Unknown"],[!0,"Yes"],[!1,"No"]]);var he;!function(e){e[e.boolean=0]="boolean",e[e.numeric=1]="numeric",e[e.string=2]="string",e[e.enumeration=3]="enumeration",e[e.date=4]="date",e[e.dateTime=5]="dateTime",e[e.trinaryLogic=6]="trinaryLogic"}(he||(he={}));const me=e=>null!=e,ge=(e,t,r)=>{if(me(e[0].location)){if(t("Please make sure all fields are filled in correctly.",{variant:"error",preventDuplicate:!0,persist:!r?.duration,autoHideDuration:r?.duration??void 0}),void 0!==r?.setValidation){let t=new Map;e.forEach((e=>t.set(e.location,e.code))),r?.setValidation(t)}}else t(e[0].code,{variant:"error",preventDuplicate:!0,persist:!r?.duration,autoHideDuration:r?.duration??void 0})},fe=e=>{e("Something went wrong. Please contact with the system admins.",{variant:"error",preventDuplicate:!0,persist:!0})},be=e=>({message:e.code}),ve={marginTop:8,marginBottom:8,display:"flex",flexDirection:"column",alignItems:"center"},ye=d({palette:{mode:"light",primary:{main:"#3C4166FF"},secondary:{main:"#E7501DFF"},text:{primary:"#17191DFF",secondary:"#434448FF"},background:{default:"#FAFAFAFF"},subtitleColor:{main:"#8c8c8c"}},typography:{h5:{fontWeight:500,fontSize:26,letterSpacing:.5}},shape:{borderRadius:8},components:{MuiTab:{defaultProps:{disableRipple:!0}}},mixins:{toolbar:{minHeight:48}}}),xe={...ye,components:{MuiAppBar:{styleOverrides:{colorPrimary:{backgroundColor:ye.palette.background.default}}},MuiButton:{defaultProps:{variant:"contained",size:"small"},styleOverrides:{root:{textTransform:"none",borderRadius:"20px 20px 20px 20px",paddingLeft:15,paddingRight:15},contained:{boxShadow:"none","&:active":{boxShadow:"none"}},outlined:{border:"2px solid",fontWeight:"bold","&:hover":{border:"2px solid",background:c(ye.palette.primary.main,.15)}}}},MuiInputLabel:{styleOverrides:{root:{color:ye.palette.subtitleColor.main,fontWeight:500,fontSize:16,"&.Mui-focused":{color:ye.palette.subtitleColor.main}}}},MuiFilledInput:{styleOverrides:{input:{"&:-webkit-autofill":{WebkitBackgroundClip:"text !important"}},root:{background:"inherit","&.Mui-focused":{background:"inherit"},"&:hover:not(.Mui-disabled):not(.Mui-focused)":{background:c(ye.palette.secondary.main,.1)},"&:hover:not(.Mui-disabled):before":{borderBottom:"none"},"&.Mui-focused .MuiInputAdornment-root .MuiSvgIcon-root":{color:ye.palette.secondary.main}}}},MuiTextField:{defaultProps:{fullWidth:!0,variant:"filled",color:"secondary"},styleOverrides:{root:{background:"white","& .MuiFilledInput-underline:before":{borderBottom:"none"},"&.Mui-readOnly:not(.Mui-disabled):not(.Mui-focused)":{borderBottom:`1px solid ${c(ye.palette.primary.main,.2)}`,background:"transparent"},"&:not(.Mui-readOnly):not(.Mui-disabled)":{boxShadow:"0px 0px 8px 2px rgba(0,0,0,0.05)",borderRadius:"8px 8px 0 0"}}}},MuiSelect:{styleOverrides:{filled:{"&:focus":{backgroundColor:"white"}}}},MuiDataGrid:{styleOverrides:{root:{border:"none"},toolbarContainer:{padding:"8px 8px 4px 8px"}}},MuiPaper:{styleOverrides:{rounded:{boxShadow:"0px 0px 8px 1px rgba(0,0,0,0.05)",borderRadius:16,padding:8}}},MuiDrawer:{styleOverrides:{paper:{border:"none",boxShadow:"0px 0px 8px 1px rgba(0,0,0,0.05)"}}},MuiTabs:{styleOverrides:{root:{marginLeft:ye.spacing(1)},indicator:{height:3,borderTopLeftRadius:3,borderTopRightRadius:3,backgroundColor:ye.palette.common.white}}},MuiTab:{styleOverrides:{root:{textTransform:"none",margin:"0 16px",minWidth:0,padding:0,[ye.breakpoints.up("md")]:{padding:0,minWidth:0}}}},MuiIconButton:{styleOverrides:{root:{color:ye.palette.secondary.main,padding:ye.spacing(1)}}},MuiTooltip:{styleOverrides:{tooltip:{borderRadius:4}}},MuiDivider:{styleOverrides:{root:{backgroundColor:"rgb(255,255,255,0.15)"},middle:{marginTop:8,marginBottom:8}}},MuiListItemButton:{defaultProps:{disableTouchRipple:!0}},MuiListItemText:{styleOverrides:{primary:{fontSize:14,fontWeight:ye.typography.fontWeightMedium}}},MuiListItemIcon:{styleOverrides:{root:{color:"inherit",minWidth:"auto",marginRight:ye.spacing(2),"& svg":{fontSize:20}}}},MuiAvatar:{styleOverrides:{root:{width:32,height:32}}},MuiCard:{styleOverrides:{root:{width:"100%",length:"100%",padding:10}}}}};var Ce,Oe,we,ke;function Me({children:i,id:n,menuItems:o,disabled:l=!1,showDropdownIcon:a=!0,fullWidth:d=!1,variant:c="contained"}){const[b,v]=W(!1),y=q(null),x=e=>{y.current&&y.current.contains(e.target)||v(!1)};function C(e){"Tab"===e.key?(e.preventDefault(),v(!1)):"Escape"===e.key&&v(!1)}const O=q(b);return N((()=>{O.current&&!b&&y.current.focus(),O.current=b}),[b]),e(r,{children:[t(s,{ref:y,id:n,onClick:()=>{v((e=>!e))},endIcon:a&&t(G,{}),disabled:l,fullWidth:d,variant:c,children:i}),t(u,{open:b,anchorEl:y.current,placement:"bottom",transition:!0,style:{zIndex:1400,minWidth:y.current?.scrollWidth},children:({TransitionProps:r,placement:i})=>t(p,{...r,style:{transformOrigin:"bottom-start"===i?"left top":"left bottom"},children:t(h,{children:t(m,{onClickAway:x,children:t(g,{autoFocusItem:b,onKeyDown:C,children:o.filter((e=>e.visible??!0)).map(((t,r)=>e(f,{id:t.label??""+r,disabled:t.disabled??!1,onClick:e=>{x(e),t.onClick()},children:[t.startIcon,t.label,t.endIcon]})))})})})})})]})}!function(e){e.equals="equals"}(Ce||(Ce={})),function(e){e.equals="equals",e.notEquals="notEquals"}(Oe||(Oe={})),function(e){e.lessThan="lessThan",e.greaterThan="greaterThan",e.lessOrEqual="lessOrEqual",e.greaterOrEqual="greaterOrEqual",e.equal="equal",e.notEqual="notEqual"}(we||(we={})),function(e){e.lessThan="lessThan",e.greaterThan="greaterThan",e.lessOrEqual="lessOrEqual",e.greaterOrEqual="greaterOrEqual",e.equal="equal",e.notEqual="notEqual",e.matches="matches",e.like="like"}(ke||(ke={}));const Ie=({readOnly:e=!1,value:r=null,id:i,label:n,name:o,error:l,helperText:a,onChange:s})=>{const d=s?e=>{const t=Array.from(pe.values()).indexOf(e.target.value),r=Array.from(pe.keys());s(r[t])}:void 0;return t(b,{name:o,id:i,label:n,select:!0,value:pe.get(r),onChange:d,className:e?"Mui-readOnly":void 0,error:l,helperText:a,InputProps:{readOnly:e,startAdornment:t(v,{position:"start",children:t(Y,{})})},children:Array.from(pe.keys()).map((e=>t(f,{value:pe.get(e),children:pe.get(e)},pe.get(e))))})},Pe=e=>{switch(e){case he.boolean:return Ce.equals;case he.date:case he.dateTime:return we.equal;case he.enumeration:return Oe.equals;case he.numeric:return we.equal;case he.string:return ke.equal;case he.trinaryLogic:return Ce.equals}},Te=e=>{switch(e.filterOption.filterType){case he.boolean:return Object.values(Ce);case he.date:case he.dateTime:return Object.values(we);case he.enumeration:return Object.values(Oe);case he.numeric:return Object.values(we);case he.string:return Object.values(ke);case he.trinaryLogic:return Object.values(Ce)}},Fe=({filter:e,setFilterOperator:r})=>t(b,{name:"operation",id:"operation",label:"Operation",select:!0,value:e.filterBy.operator,onChange:t=>{r(e,((e,t)=>{switch(e.filterOption.filterType){case he.boolean:return Ce[t];case he.date:case he.dateTime:return we[t];case he.enumeration:return Oe[t];case he.numeric:return we[t];case he.string:return ke[t];case he.trinaryLogic:return Ce[t]}})(e,t.target.value))},children:Te(e).map((e=>t(f,{value:e,children:e},e)))}),Se=({filter:e,setFilterValue:i})=>{if(e.filterOption.filterType===he.enumeration&&!me(e.filterOption.enumValues))throw new Error(`Missing enumValues from FilterOptions of ${e.filterOption.attributeName}`);return t(r,{children:(()=>{switch(e.filterOption.filterType){case he.boolean:return t(M,{control:t(I,{checked:!!e.filterBy.value,onChange:t=>i(e,!!t.target.value)}),label:e.filterOption.attributeName});case he.date:return t(ie,{renderInput:e=>t(b,{...e}),label:e.filterOption.attributeName,value:e.filterBy.value??null,onChange:t=>i(e,(e=>e?e.toISOString().substring(0,10):e)(t)),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:Q,size:1})})}});case he.dateTime:return t(re,{renderInput:e=>t(b,{...e}),label:e.filterOption.attributeName,value:e.filterBy.value??null,onChange:t=>i(e,t),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:H,size:1})})}});case he.enumeration:return t(b,{label:e.filterOption.attributeName,value:e.filterBy.value,select:!0,onChange:t=>i(e,t.target.value),children:e.filterOption.enumValues?.map((e=>t(f,{value:e,children:e},e)))});case he.numeric:return t(b,{label:e.filterOption.attributeName,type:"number",value:e.filterBy.value,onChange:t=>i(e,Number(t.target.value)),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:j,size:1})})}});case he.string:return t(b,{label:e.filterOption.attributeName,value:e.filterBy.value,onChange:t=>i(e,t.target.value),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:V,size:1})})}});case he.trinaryLogic:return t(Ie,{label:e.filterOption.attributeName,value:e.filterBy.value,onChange:t=>i(e,t)})}})()})},Ae=({filter:r,closeHandler:i,setFilterOperator:n,setFilterValue:o})=>e(w,{item:!0,container:!0,spacing:2,alignItems:"center",children:[t(w,{item:!0,xs:4,children:r&&t(Fe,{filter:r,setFilterOperator:n})}),t(w,{item:!0,xs:7,children:r&&t(Se,{filter:r,setFilterValue:o})}),t(w,{item:!0,xs:1,children:t(k,{onClick:()=>i(r),children:t(J,{})})})]}),De=R((function(e,r){return t(y,{direction:"left",ref:r,...e})})),Be=({filters:r,filterOptions:d,resolve:c,open:u,handleClose:p})=>{const h=q(null),[m,g]=W(r??[]);N((()=>{if(u){const{current:e}=h;null!==e&&e.focus()}}),[u]);const f=(e,t)=>{g((r=>r.map((r=>e.id===r.id?{...r,filterBy:{value:t,operator:r.filterBy.operator}}:r))))},b=(e,t)=>{g((r=>r.map((r=>e.id===r.id?{...r,filterBy:{value:r.filterBy.value,operator:t}}:r))))},v=e=>{g((t=>[...t.filter((t=>t.id!==e.id))]))},y=()=>{p(),c(void 0)};return e(i,{open:u,onClose:y,scroll:"paper",TransitionComponent:De,disableEnforceFocus:!0,fullWidth:!0,maxWidth:"sm",sx:{"& .MuiDialog-container":{justifyContent:"flex-end"}},PaperProps:{sx:{m:0,height:"100%"}},children:[t(n,{id:"scroll-dialog-title",children:t(x,{component:"span",color:"text.primary",variant:"h5",children:"Filters"})}),t(o,{dividers:!0,children:t(l,{id:"scroll-dialog-description",ref:h,tabIndex:-1,children:t(C,{component:"main",maxWidth:"xs",children:t(O,{sx:ve,children:e(w,{container:!0,spacing:2,children:[m.map((e=>t(Ae,{filter:e,closeHandler:v,setFilterOperator:b,setFilterValue:f},e.id))),t(w,{item:!0,container:!0,children:t(Me,{fullWidth:!0,showDropdownIcon:!1,menuItems:d.map((e=>({label:e.label??e.attributeName,onClick:()=>g((t=>[...t,{id:t.length,filterOption:{attributeName:e.attributeName,label:e.label,filterType:e.filterType},filterBy:{operator:Pe(e.filterType)}}]))}))),children:"Add new filter"})})]})})})})}),e(a,{children:[t(s,{fullWidth:!0,variant:"outlined",onClick:y,children:"Cancel"}),e(s,{fullWidth:!0,onClick:()=>{p(),c(m)},children:["Apply ","("+m.length+")"]})]})]})},Ee=({page:r,open:n,handleClose:d,resolve:c})=>{const u=q(null);N((()=>{if(n){const{current:e}=u;null!==e&&e.focus()}}),[n]);const p=()=>{c(),d()};return e(i,{open:n,onClose:p,scroll:"paper",children:[t(o,{dividers:!0,children:t(l,{ref:u,tabIndex:-1,children:r})}),t(a,{children:t(s,{onClick:p,children:"Ok"})})]})},qe=e=>t(P,{component:"div",count:-1,page:e.page,onPageChange:async(t,r)=>{let i=!0;r<e.page&&(i=!1),e.setPage(r),await e.pageChange(i)},rowsPerPage:e.rowPerPage,rowsPerPageOptions:[e.rowPerPage],labelDisplayedRows:({from:e,to:t})=>`${e}–${t}`,nextIconButtonProps:{disabled:!e.isNextButtonEnabled},backIconButtonProps:{disabled:0===e.page}}),Ne=z(),We=z(),Re=z(),ze=z(),Le=()=>{const e=L(ze);if(void 0===e)throw new Error("useFilterDialog was used outside of its Provider");return e},_e=({resolve:r,open:d,handleClose:c,single:u=!1,columns:p,defaultSortField:h,rangeCall:m,alreadySelectedItems:g,initalQueryCustomizer:f,filterOptions:b})=>{const{openFilterDialog:v}=Le(),{enqueueSnackbar:y}=le(),x=q(null),[C,O]=W(!1),[w,k]=W(0),[M,I]=W([h]),[P,T]=W(),[F,S]=W(),[A,D]=W(!0),[B,E]=W(0),[R,z]=W([]),[L,_]=W(g??(u?void 0:[])),[V,j]=W([]),[H,Q]=W([]),[$,G]=W({...f,_seek:{limit:6}}),Y=async e=>{G((t=>({...t,_seek:{limit:e?6:5,reverse:!e,lastItem:e?P:F}}))),D(!e)},J=async()=>{O(!0);try{const e=await m($);e.length>5?(D(!0),e.pop()):6===$._seek?.limit&&D(!1),z(e),S(e[0]),T(e[e.length-1]),k(e.length||0)}catch(e){((e,t,r)=>{if(!e||"boolean"!=typeof e.isAxiosError||!0!==e.isAxiosError)return void fe(t);const i=e.response;if(me(i))if(i?.status)if(422===i?.status)t(be(e.response?.data).message,{variant:"error",preventDuplicate:!0,persist:!0});else{if(400===i?.status)return ge(i.data,t,r);t(be(i?.data).message,{variant:"error",preventDuplicate:!0,persist:!0})}else fe(t);else fe(t)})(e,y)}O(!1)};N((()=>{J()}),[$]),N((()=>{if(d){const{current:e}=x;null!==e&&e.focus()}}),[d]);const K=()=>{c(),r(void 0)};return e(i,{open:d,onClose:K,scroll:"paper",fullWidth:!0,maxWidth:"sm",children:[t(n,{id:"scroll-dialog-title",children:"Select"}),t(o,{dividers:!0,children:t(l,{id:"scroll-dialog-description",ref:x,tabIndex:-1,children:t(ne,{sx:u?{".MuiDataGrid-columnHeaderCheckbox .MuiDataGrid-columnHeaderTitleContainer":{display:"none"}}:void 0,autoHeight:!0,getRowId:e=>e.__identifier,loading:C,paginationMode:"server",rows:R,rowCount:w,sortingOrder:["desc","asc"],sortingMode:"server",sortModel:M,onSortModelChange:e=>{E(0),I(e);const{field:t,sort:r}=e[0];G((e=>({...e,_orderBy:[{attribute:t,descending:"desc"===r}]})))},checkboxSelection:!0,onSelectionModelChange:u?e=>{if(Array.isArray(L))return;if(0===e.length)return _(""),void j(void 0);const t=e[e.length-1];_(t),j(R.find((e=>e.__identifier===t)))}:e=>{if(Array.isArray(L)){if(e.length>L.length){const t=e.length-L.length,r=[...e].slice(-1*t),i=R.filter((e=>-1!==r.indexOf(e.__identifier)));j((e=>{if(Array.isArray(e))return[...e,...i]}))}if(e.length<L.length){const t=L.filter((t=>-1===e.indexOf(t)));j((e=>{if(Array.isArray(e))return[...e.filter((e=>-1===t.indexOf(e.__identifier)))]}))}_(e)}},isRowSelectable:u?void 0:e=>{if(g){if(!Array.isArray(g))throw Error("Range dialog gets wrong alreadySelectedItems.");return!g.includes(e.id)}return!0},selectionModel:L,hideFooterSelectedRowCount:u,columns:p,keepNonExistentRowsSelected:!0,components:{Toolbar:()=>t(oe,{children:e(s,{variant:"outlined",onClick:async()=>{const e=await v(b,H);e&&(e=>{E(0),Q(e),G((t=>{const r={...t};return b.forEach((t=>r[t.attributeName]=mapFiltersToQueryCustomizerProperty(e,t.attributeName))),{...t,_seek:{lastItem:void 0,limit:6,reverse:void 0},...r}}))})(e)},disabled:C,children:["Set filters ",0!==H.length?"("+H.length+")":""]})}),Pagination:()=>t(qe,{pageChange:Y,isNextButtonEnabled:A,page:B,setPage:E,rowPerPage:5})}})})}),e(a,{children:[t(s,{onClick:K,children:"Cancel"}),t(s,{onClick:()=>{c(),r(V)},children:"Ok"})]})]})},Ve=({children:r})=>{const[i,n]=W(!1),[o,l]=W(),a=()=>{n(!1)},s={openPageDialog:async e=>(n(!0),new Promise((r=>{l(t(Ee,{page:e,handleClose:a,open:!0,resolve:r}))})))},[d,c]=W(!1),[u,p]=W(),h=()=>{c(!1)},m={openRangeDialog:async({columns:e,defaultSortField:r,rangeCall:i,single:n=!1,alreadySelectedItems:o,filterOptions:l,initialQueryCustomizer:a})=>(c(!0),new Promise((s=>{p(t(_e,{handleClose:h,open:!0,resolve:s,columns:e,defaultSortField:r,rangeCall:i,single:n,alreadySelectedItems:o,filterOptions:l,initalQueryCustomizer:a}))})))},[g,f]=W(!1),[b,v]=W(),y=()=>(f(!1),!1),x={openConfirmDialog:async(e,r)=>(f(!0),new Promise((i=>{v(t(ue,{confirmationMessage:e,title:r,handleClose:y,open:!0,resolve:i}))})))},[C,O]=W(!1),[w,k]=W(),M=()=>(O(!1),!1),I={openFilterDialog:async(e,r)=>(O(!0),new Promise((i=>{k(t(Be,{filters:r,filterOptions:e,handleClose:M,open:!0,resolve:i}))})))};return t(Ne.Provider,{value:s,children:t(We.Provider,{value:x,children:t(Re.Provider,{value:m,children:e(ze.Provider,{value:I,children:[r,i&&o,g&&b,d&&u,C&&w]})})})})},je=(e,t)=>{if(!me(e)||0===e.length)return[];let r=1;if(t?.shownActions&&(r=e.length<t.shownActions?e.length:t.shownActions),r<0)return He(e,t);if(0===r)return[];if(1===r)return Qe(e);{const i=e.length===r?r:r-1,n=e.slice(0,i),o=e.slice(i);return[...He(n,t),...Qe(o)]}},He=(t,r)=>t.map(((t,i)=>({field:t.label+i,headerName:"",align:"center",type:"actions",renderCell:i=>e(s,{variant:"text",onClick:()=>t.action(i.row),children:[t.icon,(r?.showLabel??!0)&&t.label]})}))),Qe=e=>0===e.length?[]:[{field:"actions",headerName:"",align:"center",type:"actions",renderCell:r=>t(Me,{variant:"text",showDropdownIcon:!1,menuItems:e.map((e=>({label:e.label,startIcon:e.icon,onClick:()=>e.action(r.row)}))),children:t(K,{})})}],$e=({name:r,id:i,label:n,value:o,error:l=!1,helperText:a,disabled:s=!1,readonly:d=!0,labelList:c,icon:u,onSet:p,onView:h,onCreate:m,onRemove:g,onDelete:f})=>{const[y,x]=W(!1);let C;return C=d?t(Ge,{value:o,disabled:s,onCreate:m,onView:h,onDelete:f}):t(Ye,{value:o,disabled:s,onRemove:g}),e(w,{container:!0,item:!0,direction:"row",justifyContent:"stretch",alignContent:"stretch",children:[t(T,{sx:{padding:0},disabled:s||d,onFocusCapture:()=>x(!0),onBlur:()=>x(!1),onClick:p,children:t(b,{disabled:!p||s,name:r,id:i,label:n,error:l,helperText:a,focused:y,fullWidth:!0,value:c.join(" - "),className:d?"Mui-readOnly":void 0,sx:{":hover":{cursor:"pointer"},".MuiFilledInput-input:hover":{cursor:"pointer"}},InputProps:{readOnly:!0,startAdornment:t(v,{position:"start",children:u})}})}),C]})},Ge=({value:i,disabled:n,onCreate:o,onDelete:l,onView:a})=>{let s;return s=me(i)?e(r,{children:[a&&t(k,{disabled:n,onClick:a,children:t(U,{})}),l&&t(k,{disabled:n,onClick:l,children:t(X,{})})]}):t(r,{children:o&&t(k,{disabled:n,onClick:o,children:t(Z,{})})}),t(r,{children:s})},Ye=({value:e,disabled:i,onRemove:n})=>{let o;return o=me(e)?t(r,{children:n&&t(k,{disabled:i,onClick:n,children:t(ee,{})})}):t(r,{}),t(r,{children:o})},Je=z(),Ke=z([]),Ue=()=>{const e=L(Je);if(void 0===e)throw new Error("useJudoNavigation was used outside of its Provider");return e},Xe=({children:e})=>{const r=ae(),i=se(),[n,o]=W([]),[l,a]=W({});N((()=>{a((e=>({...e,key:"0."+i.pathname,path:i.pathname})))}),[]);const s={clearNavigate:e=>{o([]),a({key:"0."+e.toString(),label:null,path:e}),r(e)},navigate:e=>{if(null===l.label)throw Error("Page title has not been set!");o((e=>[...e,l])),a({key:n.length+"."+e.toString(),label:null,path:e}),r(e)},back:()=>{if(0!==n.length){const e=n[n.length-1];return a(e),o((e=>[...e.slice(0,e.length-1)])),void r(e.path)}o([]),a({key:"0."+"/".toString(),label:null,path:"/"}),r("/")},isBackDisabled:_((()=>0===n.length),[n]),setTitle:e=>{a((t=>({...t,label:e})))}};return t(Ke.Provider,{value:n,children:t(Je.Provider,{value:s,children:e})})},Ze=()=>{const r=L(Ke);return e(F,{maxItems:2,separator:">",children:[t(te,{}),r.map((({label:e,key:r},i)=>t(x,{color:"text.primary",children:e},r)))]})},et={py:"2px",px:3,color:xe.palette.text.secondary,"&:hover, &:focus":{color:xe.palette.secondary.main},"&.Mui-selected":{color:xe.palette.secondary.main}};function tt({children:e,to:r,...i}){const n=de(r),o=ce({path:n.pathname,end:!0}),{clearNavigate:l}=Ue();return t(S,{disablePadding:!0,style:{textDecoration:"none"},children:t(A,{selected:!!o,sx:et,onClick:()=>{l(r)},children:e})})}const rt=({title:i,children:n})=>{const{setTitle:o}=Ue();return N((()=>{o(i)}),[i]),e(r,{children:[t(D,{component:"div",position:"static",elevation:0,sx:{zIndex:0},children:t(B,{children:e(w,{container:!0,alignItems:"center",spacing:1,children:[t(w,{item:!0,xs:!0,children:t(x,{component:"span",color:"text.primary",variant:"h5",children:i})}),n]})})}),t(E,{})]})};export{$e as AggregationInput,Xe as BreadcrumbProvider,We as ConfirmDialogContextState,ue as ConfirmationDialog,Ze as CustomBreadcrumb,tt as CustomLink,qe as CustomTablePagination,Ve as DialogProvider,Me as DropdownButton,Be as FilterDialog,ze as FilterDialogContextState,Ee as PageDialog,Ne as PageDialogContextState,rt as PageHeader,_e as RangeDialog,Re as RangeDialogContextState,je as columnsActionCalculator,Le as useFilterDialog,Ue as useJudoNavigation};
1
+ import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{Dialog as i,DialogTitle as n,DialogContent as o,DialogContentText as l,DialogActions as a,Button as s,createTheme as d,alpha as c,Popper as u,Grow as p,Paper as h,ClickAwayListener as m,MenuList as g,MenuItem as f,TextField as b,InputAdornment as v,Slide as y,Typography as x,Container as C,Box as O,Grid as w,IconButton as k,FormControlLabel as M,Checkbox as I,TablePagination as P,ButtonBase as T,Breadcrumbs as S,ListItem as F,ListItemButton as D,AppBar as A,Toolbar as B,Divider as E}from"@mui/material";import{useRef as q,useEffect as W,useState as N,forwardRef as R,createContext as z,useContext as L,useMemo as _}from"react";import{mdiFormatTextVariant as V,mdiNumeric as j,mdiCalendarClock as H,mdiCalendarMonth as Q}from"@mdi/js";import $ from"@mdi/react";import{KeyboardArrowDown as G,CheckBoxOutlined as Y,Close as J,MoreHoriz as K,Visibility as U,Delete as X,NoteAdd as Z,LinkOff as ee,Home as te}from"@mui/icons-material";import{DateTimePicker as re,DatePicker as ie}from"@mui/x-date-pickers";import{DataGrid as ne,GridToolbarContainer as oe}from"@mui/x-data-grid";import{useSnackbar as le}from"notistack";import{useNavigate as ae,useLocation as se,useResolvedPath as de,useMatch as ce}from"react-router-dom";const ue=({confirmationMessage:r,title:d,resolve:c,open:u,handleClose:p})=>{const h=q(null);W((()=>{if(u){const{current:e}=h;null!==e&&e.focus()}}),[u]);return e(i,{open:u,onClose:p,scroll:"paper",fullWidth:!0,maxWidth:"xs",children:[d&&t(n,{id:"scroll-dialog-title",children:d}),t(o,{dividers:!!d,children:t(l,{id:"scroll-dialog-description",ref:h,tabIndex:-1,children:r})}),e(a,{children:[t(s,{variant:"text",onClick:()=>{p(),c(!1)},children:"No"}),t(s,{variant:"text",onClick:()=>{p(),c(!0)},children:"Yes"})]})]})},pe=new Map([[null,"Unknown"],[!0,"Yes"],[!1,"No"]]);var he;!function(e){e[e.boolean=0]="boolean",e[e.numeric=1]="numeric",e[e.string=2]="string",e[e.enumeration=3]="enumeration",e[e.date=4]="date",e[e.dateTime=5]="dateTime",e[e.trinaryLogic=6]="trinaryLogic"}(he||(he={}));const me=e=>null!=e,ge=(e,t,r)=>{if(me(e[0].location)){if(t("Please make sure all fields are filled in correctly.",{variant:"error",preventDuplicate:!0,persist:!r?.duration,autoHideDuration:r?.duration??void 0}),void 0!==r?.setValidation){let t=new Map;e.forEach((e=>t.set(e.location,e.code))),r?.setValidation(t)}}else t(e[0].code,{variant:"error",preventDuplicate:!0,persist:!r?.duration,autoHideDuration:r?.duration??void 0})},fe=e=>{e("Something went wrong. Please contact with the system admins.",{variant:"error",preventDuplicate:!0,persist:!0})},be=e=>({message:e.code}),ve={marginTop:8,marginBottom:8,display:"flex",flexDirection:"column",alignItems:"center"},ye=d({palette:{mode:"light",primary:{main:"#3C4166FF"},secondary:{main:"#E7501DFF"},text:{primary:"#17191DFF",secondary:"#434448FF"},background:{default:"#FAFAFAFF"},subtitleColor:{main:"#8c8c8c"}},typography:{h5:{fontWeight:500,fontSize:26,letterSpacing:.5}},shape:{borderRadius:8},components:{MuiTab:{defaultProps:{disableRipple:!0}}},mixins:{toolbar:{minHeight:48}}}),xe={...ye,components:{MuiAppBar:{styleOverrides:{colorPrimary:{backgroundColor:ye.palette.background.default}}},MuiButton:{defaultProps:{variant:"contained",size:"small"},styleOverrides:{root:{textTransform:"none",borderRadius:"20px 20px 20px 20px",paddingLeft:15,paddingRight:15},contained:{boxShadow:"none","&:active":{boxShadow:"none"}},outlined:{border:"2px solid",fontWeight:"bold","&:hover":{border:"2px solid",background:c(ye.palette.primary.main,.15)}}}},MuiInputLabel:{styleOverrides:{root:{color:ye.palette.subtitleColor.main,fontWeight:500,fontSize:16,"&.Mui-focused":{color:ye.palette.subtitleColor.main}}}},MuiFilledInput:{styleOverrides:{input:{"&:-webkit-autofill":{WebkitBackgroundClip:"text !important"}},root:{background:"inherit","&.Mui-focused":{background:"inherit"},"&:hover:not(.Mui-disabled):not(.Mui-focused)":{background:c(ye.palette.secondary.main,.1)},"&:hover:not(.Mui-disabled):before":{borderBottom:"none"},"&.Mui-focused .MuiInputAdornment-root .MuiSvgIcon-root":{color:ye.palette.secondary.main}}}},MuiTextField:{defaultProps:{fullWidth:!0,variant:"filled",color:"secondary"},styleOverrides:{root:{background:"white","& .MuiFilledInput-underline:before":{borderBottom:"none"},"&.Mui-readOnly:not(.Mui-disabled):not(.Mui-focused)":{borderBottom:`1px solid ${c(ye.palette.primary.main,.2)}`,background:"transparent"},"&:not(.Mui-readOnly):not(.Mui-disabled)":{boxShadow:"0px 0px 8px 2px rgba(0,0,0,0.05)",borderRadius:"8px 8px 0 0"}}}},MuiSelect:{styleOverrides:{filled:{"&:focus":{backgroundColor:"white"}}}},MuiDataGrid:{styleOverrides:{root:{border:"none"},toolbarContainer:{padding:"8px 8px 4px 8px"}}},MuiPaper:{styleOverrides:{rounded:{boxShadow:"0px 0px 8px 1px rgba(0,0,0,0.05)",borderRadius:16,padding:8}}},MuiDrawer:{styleOverrides:{paper:{border:"none",boxShadow:"0px 0px 8px 1px rgba(0,0,0,0.05)"}}},MuiTabs:{styleOverrides:{root:{marginLeft:ye.spacing(1)},indicator:{height:3,borderTopLeftRadius:3,borderTopRightRadius:3,backgroundColor:ye.palette.common.white}}},MuiTab:{styleOverrides:{root:{textTransform:"none",margin:"0 16px",minWidth:0,padding:0,[ye.breakpoints.up("md")]:{padding:0,minWidth:0}}}},MuiIconButton:{styleOverrides:{root:{color:ye.palette.secondary.main,padding:ye.spacing(1)}}},MuiTooltip:{styleOverrides:{tooltip:{borderRadius:4}}},MuiDivider:{styleOverrides:{root:{backgroundColor:"rgb(255,255,255,0.15)"},middle:{marginTop:8,marginBottom:8}}},MuiListItemButton:{defaultProps:{disableTouchRipple:!0}},MuiListItemText:{styleOverrides:{primary:{fontSize:14,fontWeight:ye.typography.fontWeightMedium}}},MuiListItemIcon:{styleOverrides:{root:{color:"inherit",minWidth:"auto",marginRight:ye.spacing(2),"& svg":{fontSize:20}}}},MuiAvatar:{styleOverrides:{root:{width:32,height:32}}},MuiCard:{styleOverrides:{root:{width:"100%",length:"100%",padding:10}}}}};var Ce,Oe,we,ke;function Me({children:i,id:n,menuItems:o,disabled:l=!1,showDropdownIcon:a=!0,fullWidth:d=!1,variant:c="contained"}){const[b,v]=N(!1),y=q(null),x=e=>{y.current&&y.current.contains(e.target)||v(!1)};function C(e){"Tab"===e.key?(e.preventDefault(),v(!1)):"Escape"===e.key&&v(!1)}const O=q(b);return W((()=>{O.current&&!b&&y.current.focus(),O.current=b}),[b]),e(r,{children:[t(s,{ref:y,id:n,onClick:()=>{v((e=>!e))},endIcon:a&&t(G,{}),disabled:l,fullWidth:d,variant:c,children:i}),t(u,{open:b,anchorEl:y.current,placement:"bottom",transition:!0,style:{zIndex:1400,minWidth:y.current?.scrollWidth},children:({TransitionProps:r,placement:i})=>t(p,{...r,style:{transformOrigin:"bottom-start"===i?"left top":"left bottom"},children:t(h,{children:t(m,{onClickAway:x,children:t(g,{autoFocusItem:b,onKeyDown:C,children:o.filter((e=>e.visible??!0)).map(((t,r)=>e(f,{id:t.label??""+r,disabled:t.disabled??!1,onClick:e=>{x(e),t.onClick()},children:[t.startIcon,t.label,t.endIcon]})))})})})})})]})}!function(e){e.equals="equals"}(Ce||(Ce={})),function(e){e.equals="equals",e.notEquals="notEquals"}(Oe||(Oe={})),function(e){e.lessThan="lessThan",e.greaterThan="greaterThan",e.lessOrEqual="lessOrEqual",e.greaterOrEqual="greaterOrEqual",e.equal="equal",e.notEqual="notEqual"}(we||(we={})),function(e){e.lessThan="lessThan",e.greaterThan="greaterThan",e.lessOrEqual="lessOrEqual",e.greaterOrEqual="greaterOrEqual",e.equal="equal",e.notEqual="notEqual",e.matches="matches",e.like="like"}(ke||(ke={}));const Ie=({readOnly:e=!1,value:r=null,id:i,label:n,name:o,error:l,helperText:a,onChange:s})=>{const d=s?e=>{const t=Array.from(pe.values()).indexOf(e.target.value),r=Array.from(pe.keys());s(r[t])}:void 0;return t(b,{name:o,id:i,label:n,select:!0,value:pe.get(r),onChange:d,className:e?"Mui-readOnly":void 0,error:l,helperText:a,InputProps:{readOnly:e,startAdornment:t(v,{position:"start",children:t(Y,{})})},children:Array.from(pe.keys()).map((e=>t(f,{value:pe.get(e),children:pe.get(e)},pe.get(e))))})},Pe=e=>{switch(e){case he.boolean:return Ce.equals;case he.date:case he.dateTime:return we.equal;case he.enumeration:return Oe.equals;case he.numeric:return we.equal;case he.string:return ke.equal;case he.trinaryLogic:return Ce.equals}},Te=e=>{switch(e.filterOption.filterType){case he.boolean:return Object.values(Ce);case he.date:case he.dateTime:return Object.values(we);case he.enumeration:return Object.values(Oe);case he.numeric:return Object.values(we);case he.string:return Object.values(ke);case he.trinaryLogic:return Object.values(Ce)}},Se=({filter:e,setFilterOperator:r})=>t(b,{name:"operation",id:"operation",label:"Operation",select:!0,value:e.filterBy.operator,onChange:t=>{r(e,((e,t)=>{switch(e.filterOption.filterType){case he.boolean:return Ce[t];case he.date:case he.dateTime:return we[t];case he.enumeration:return Oe[t];case he.numeric:return we[t];case he.string:return ke[t];case he.trinaryLogic:return Ce[t]}})(e,t.target.value))},children:Te(e).map((e=>t(f,{value:e,children:e},e)))}),Fe=({filter:e,setFilterValue:i})=>{if(e.filterOption.filterType===he.enumeration&&!me(e.filterOption.enumValues))throw new Error(`Missing enumValues from FilterOptions of ${e.filterOption.attributeName}`);return t(r,{children:(()=>{switch(e.filterOption.filterType){case he.boolean:return t(M,{control:t(I,{checked:!!e.filterBy.value,onChange:t=>i(e,!!t.target.value)}),label:e.filterOption.attributeName});case he.date:return t(ie,{renderInput:e=>t(b,{...e}),label:e.filterOption.attributeName,value:e.filterBy.value??null,onChange:t=>i(e,(e=>e?e.toISOString().substring(0,10):e)(t)),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:Q,size:1})})}});case he.dateTime:return t(re,{renderInput:e=>t(b,{...e}),label:e.filterOption.attributeName,value:e.filterBy.value??null,onChange:t=>i(e,t),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:H,size:1})})}});case he.enumeration:return t(b,{label:e.filterOption.attributeName,value:e.filterBy.value,select:!0,onChange:t=>i(e,t.target.value),children:e.filterOption.enumValues?.map((e=>t(f,{value:e,children:e},e)))});case he.numeric:return t(b,{label:e.filterOption.attributeName,type:"number",value:e.filterBy.value,onChange:t=>i(e,Number(t.target.value)),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:j,size:1})})}});case he.string:return t(b,{label:e.filterOption.attributeName,value:e.filterBy.value,onChange:t=>i(e,t.target.value),InputProps:{startAdornment:t(v,{position:"start",children:t($,{path:V,size:1})})}});case he.trinaryLogic:return t(Ie,{label:e.filterOption.attributeName,value:e.filterBy.value,onChange:t=>i(e,t)})}})()})},De=({filter:r,closeHandler:i,setFilterOperator:n,setFilterValue:o})=>e(w,{item:!0,container:!0,spacing:2,alignItems:"center",children:[t(w,{item:!0,xs:4,children:r&&t(Se,{filter:r,setFilterOperator:n})}),t(w,{item:!0,xs:7,children:r&&t(Fe,{filter:r,setFilterValue:o})}),t(w,{item:!0,xs:1,children:t(k,{onClick:()=>i(r),children:t(J,{})})})]}),Ae=R((function(e,r){return t(y,{direction:"left",ref:r,...e})})),Be=({filters:r,filterOptions:d,resolve:c,open:u,handleClose:p})=>{const h=q(null),[m,g]=N(r??[]);W((()=>{if(u){const{current:e}=h;null!==e&&e.focus()}}),[u]);const f=(e,t)=>{g((r=>r.map((r=>e.id===r.id?{...r,filterBy:{value:t,operator:r.filterBy.operator}}:r))))},b=(e,t)=>{g((r=>r.map((r=>e.id===r.id?{...r,filterBy:{value:r.filterBy.value,operator:t}}:r))))},v=e=>{g((t=>[...t.filter((t=>t.id!==e.id))]))},y=()=>{p(),c(void 0)};return e(i,{open:u,onClose:y,scroll:"paper",TransitionComponent:Ae,disableEnforceFocus:!0,fullWidth:!0,maxWidth:"sm",sx:{"& .MuiDialog-container":{justifyContent:"flex-end"}},PaperProps:{sx:{m:0,height:"100%"}},children:[t(n,{id:"scroll-dialog-title",children:t(x,{component:"span",color:"text.primary",variant:"h5",children:"Filters"})}),t(o,{dividers:!0,children:t(l,{id:"scroll-dialog-description",ref:h,tabIndex:-1,children:t(C,{component:"main",maxWidth:"xs",children:t(O,{sx:ve,children:e(w,{container:!0,spacing:2,children:[m.map((e=>t(De,{filter:e,closeHandler:v,setFilterOperator:b,setFilterValue:f},e.id))),t(w,{item:!0,container:!0,children:t(Me,{fullWidth:!0,showDropdownIcon:!1,menuItems:d.map((e=>({label:e.label??e.attributeName,onClick:()=>g((t=>[...t,{id:t.length,filterOption:{attributeName:e.attributeName,label:e.label,filterType:e.filterType},filterBy:{operator:Pe(e.filterType)}}]))}))),children:"Add new filter"})})]})})})})}),e(a,{children:[t(s,{fullWidth:!0,variant:"outlined",onClick:y,children:"Cancel"}),e(s,{fullWidth:!0,onClick:()=>{p(),c(m)},children:["Apply ","("+m.length+")"]})]})]})},Ee=({page:r,open:n,handleClose:d,resolve:c})=>{const u=q(null);W((()=>{if(n){const{current:e}=u;null!==e&&e.focus()}}),[n]);const p=()=>{c(),d()};return e(i,{open:n,onClose:p,scroll:"paper",children:[t(o,{dividers:!0,children:t(l,{ref:u,tabIndex:-1,children:r})}),t(a,{children:t(s,{onClick:p,children:"Ok"})})]})},qe=e=>t(P,{component:"div",count:-1,page:e.page,onPageChange:async(t,r)=>{let i=!0;r<e.page&&(i=!1),e.setPage(r),await e.pageChange(i)},rowsPerPage:e.rowPerPage,rowsPerPageOptions:[e.rowPerPage],labelDisplayedRows:({from:e,to:t})=>`${e}–${t}`,nextIconButtonProps:{disabled:!e.isNextButtonEnabled},backIconButtonProps:{disabled:0===e.page}}),We=z(),Ne=z(),Re=z(),ze=z(),Le=()=>{const e=L(ze);if(void 0===e)throw new Error("useFilterDialog was used outside of its Provider");return e},_e=({resolve:r,open:d,handleClose:c,single:u=!1,columns:p,defaultSortField:h,rangeCall:m,alreadySelectedItems:g,initalQueryCustomizer:f,filterOptions:b})=>{const{openFilterDialog:v}=Le(),{enqueueSnackbar:y}=le(),x=q(null),[C,O]=N(!1),[w,k]=N(0),[M,I]=N([h]),[P,T]=N(),[S,F]=N(),[D,A]=N(!0),[B,E]=N(0),[R,z]=N([]),[L,_]=N(g??(u?void 0:[])),[V,j]=N([]),[H,Q]=N([]),[$,G]=N({...f,_seek:{limit:6}}),Y=async e=>{G((t=>({...t,_seek:{limit:e?6:5,reverse:!e,lastItem:e?P:S}}))),A(!e)},J=async()=>{O(!0);try{const e=await m($);e.length>5?(A(!0),e.pop()):6===$._seek?.limit&&A(!1),z(e),F(e[0]),T(e[e.length-1]),k(e.length||0)}catch(e){((e,t,r)=>{if(!e||"boolean"!=typeof e.isAxiosError||!0!==e.isAxiosError)return void fe(t);const i=e.response;if(me(i))if(i?.status)if(422===i?.status)t(be(e.response?.data).message,{variant:"error",preventDuplicate:!0,persist:!0});else{if(400===i?.status)return ge(i.data,t,r);t(be(i?.data).message,{variant:"error",preventDuplicate:!0,persist:!0})}else fe(t);else fe(t)})(e,y)}O(!1)};W((()=>{J()}),[$]),W((()=>{if(d){const{current:e}=x;null!==e&&e.focus()}}),[d]);const K=()=>{c(),r(void 0)};return e(i,{open:d,onClose:K,scroll:"paper",fullWidth:!0,maxWidth:"sm",children:[t(n,{id:"scroll-dialog-title",children:"Select"}),t(o,{dividers:!0,children:t(l,{id:"scroll-dialog-description",ref:x,tabIndex:-1,children:t(ne,{sx:u?{".MuiDataGrid-columnHeaderCheckbox .MuiDataGrid-columnHeaderTitleContainer":{display:"none"}}:void 0,autoHeight:!0,getRowId:e=>e.__identifier,loading:C,paginationMode:"server",rows:R,rowCount:w,sortingOrder:["desc","asc"],sortingMode:"server",sortModel:M,onSortModelChange:e=>{E(0),I(e);const{field:t,sort:r}=e[0];G((e=>({...e,_orderBy:[{attribute:t,descending:"desc"===r}]})))},checkboxSelection:!0,onSelectionModelChange:u?e=>{if(Array.isArray(L))return;if(0===e.length)return _(""),void j(void 0);const t=e[e.length-1];_(t),j(R.find((e=>e.__identifier===t)))}:e=>{if(Array.isArray(L)){if(e.length>L.length){const t=e.length-L.length,r=[...e].slice(-1*t),i=R.filter((e=>-1!==r.indexOf(e.__identifier)));j((e=>{if(Array.isArray(e))return[...e,...i]}))}if(e.length<L.length){const t=L.filter((t=>-1===e.indexOf(t)));j((e=>{if(Array.isArray(e))return[...e.filter((e=>-1===t.indexOf(e.__identifier)))]}))}_(e)}},isRowSelectable:u?void 0:e=>{if(g){if(!Array.isArray(g))throw Error("Range dialog gets wrong alreadySelectedItems.");return!g.includes(e.id)}return!0},selectionModel:L,hideFooterSelectedRowCount:u,columns:p,keepNonExistentRowsSelected:!0,components:{Toolbar:()=>t(oe,{children:e(s,{variant:"outlined",onClick:async()=>{const e=await v(b,H);e&&(e=>{E(0),Q(e),G((t=>{const r={...t};return b.forEach((t=>r[t.attributeName]=mapFiltersToQueryCustomizerProperty(e,t.attributeName))),{...t,_seek:{lastItem:void 0,limit:6,reverse:void 0},...r}}))})(e)},disabled:C,children:["Set filters ",0!==H.length?"("+H.length+")":""]})}),Pagination:()=>t(qe,{pageChange:Y,isNextButtonEnabled:D,page:B,setPage:E,rowPerPage:5})}})})}),e(a,{children:[t(s,{onClick:K,children:"Cancel"}),t(s,{onClick:()=>{c(),r(V)},children:"Ok"})]})]})},Ve=({children:r})=>{const[i,n]=N(!1),[o,l]=N(),a=()=>{n(!1)},s={openPageDialog:async e=>(n(!0),new Promise((r=>{l(t(Ee,{page:e,handleClose:a,open:!0,resolve:r}))})))},[d,c]=N(!1),[u,p]=N(),h=()=>{c(!1)},m={openRangeDialog:async({columns:e,defaultSortField:r,rangeCall:i,single:n=!1,alreadySelectedItems:o,filterOptions:l,initialQueryCustomizer:a})=>(c(!0),new Promise((s=>{p(t(_e,{handleClose:h,open:!0,resolve:s,columns:e,defaultSortField:r,rangeCall:i,single:n,alreadySelectedItems:o,filterOptions:l,initalQueryCustomizer:a}))})))},[g,f]=N(!1),[b,v]=N(),y=()=>(f(!1),!1),x={openConfirmDialog:async(e,r)=>(f(!0),new Promise((i=>{v(t(ue,{confirmationMessage:e,title:r,handleClose:y,open:!0,resolve:i}))})))},[C,O]=N(!1),[w,k]=N(),M=()=>(O(!1),!1),I={openFilterDialog:async(e,r)=>(O(!0),new Promise((i=>{k(t(Be,{filters:r,filterOptions:e,handleClose:M,open:!0,resolve:i}))})))};return t(We.Provider,{value:s,children:t(Ne.Provider,{value:x,children:t(Re.Provider,{value:m,children:e(ze.Provider,{value:I,children:[r,i&&o,g&&b,d&&u,C&&w]})})})})},je=(e,t)=>{if(!me(e)||0===e.length)return[];let r=1;if(t?.shownActions&&(r=e.length<t.shownActions?e.length:t.shownActions),r<0)return He(e,t);if(0===r)return[];if(1===r)return Qe(e);{const i=e.length===r?r:r-1,n=e.slice(0,i),o=e.slice(i);return[...He(n,t),...Qe(o)]}},He=(t,r)=>t.map(((t,i)=>({field:t.label+i,headerName:"",align:"center",type:"actions",renderCell:i=>e(s,{variant:"text",onClick:()=>t.action(i.row),children:[t.icon,(r?.showLabel??!0)&&t.label]})}))),Qe=e=>0===e.length?[]:[{field:"actions",headerName:"",align:"center",type:"actions",renderCell:r=>t(Me,{variant:"text",showDropdownIcon:!1,menuItems:e.map((e=>({label:e.label,startIcon:e.icon,onClick:()=>e.action(r.row)}))),children:t(K,{})})}],$e=({name:r,id:i,label:n,value:o,error:l=!1,helperText:a,disabled:s=!1,readonly:d=!0,labelList:c,icon:u,onSet:p,onView:h,onCreate:m,onRemove:g,onDelete:f})=>{const[y,x]=N(!1);let C;return C=d?t(Ge,{value:o,disabled:s,onCreate:m,onView:h,onDelete:f}):t(Ye,{value:o,disabled:s,onRemove:g}),e(w,{container:!0,item:!0,direction:"row",justifyContent:"stretch",alignContent:"stretch",children:[t(T,{sx:{padding:0},disabled:s||d,onFocusCapture:()=>x(!0),onBlur:()=>x(!1),onClick:p,children:t(b,{disabled:!p||s,name:r,id:i,label:n,error:l,helperText:a,focused:y,fullWidth:!0,value:c.join(" - "),className:d?"Mui-readOnly":void 0,sx:{":hover":{cursor:"pointer"},".MuiFilledInput-input:hover":{cursor:"pointer"}},InputProps:{readOnly:!0,startAdornment:t(v,{position:"start",children:u})}})}),C]})},Ge=({value:i,disabled:n,onCreate:o,onDelete:l,onView:a})=>{let s;return s=me(i)?e(r,{children:[a&&t(k,{disabled:n,onClick:a,children:t(U,{})}),l&&t(k,{disabled:n,onClick:l,children:t(X,{})})]}):t(r,{children:o&&t(k,{disabled:n,onClick:o,children:t(Z,{})})}),t(r,{children:s})},Ye=({value:e,disabled:i,onRemove:n})=>{let o;return o=me(e)?t(r,{children:n&&t(k,{disabled:i,onClick:n,children:t(ee,{})})}):t(r,{}),t(r,{children:o})},Je=z(),Ke=z([]),Ue=()=>{const e=L(Je);if(void 0===e)throw new Error("useJudoNavigation was used outside of its Provider");return e},Xe=({children:e})=>{const r=ae(),i=se(),[n,o]=N([]),[l,a]=N({});W((()=>{a((e=>({...e,key:"0."+i.pathname,path:i.pathname})))}),[]);const s={clearNavigate:e=>{o([]),a({key:"0."+e.toString(),label:null,path:e}),r(e)},navigate:e=>{if(null===l.label)throw Error("Page title has not been set!");o((e=>[...e,l])),a({key:n.length+"."+e.toString(),label:null,path:e}),r(e)},back:()=>{if(0!==n.length){const e=n[n.length-1];return a(e),o((e=>[...e.slice(0,e.length-1)])),void r(e.path)}o([]),a({key:"0."+"/".toString(),label:null,path:"/"}),r("/")},isBackDisabled:_((()=>0===n.length),[n]),setTitle:e=>{a((t=>({...t,label:e})))}};return t(Ke.Provider,{value:n,children:t(Je.Provider,{value:s,children:e})})},Ze=()=>{const r=L(Ke);return e(S,{maxItems:2,separator:">",children:[t(te,{}),r.map((({label:e,key:r},i)=>t(x,{color:"text.primary",children:e},r)))]})},et={py:"2px",px:3,color:xe.palette.text.secondary,"&:hover, &:focus":{color:xe.palette.secondary.main},"&.Mui-selected":{color:xe.palette.secondary.main}};function tt({children:e,to:r,...i}){const n=de(r),o=ce({path:n.pathname,end:!0}),{clearNavigate:l}=Ue();return t(F,{disablePadding:!0,style:{textDecoration:"none"},children:t(D,{selected:!!o,sx:et,onClick:()=>{l(r)},children:e})})}function rt(r){return e(O,{sx:{p:2,display:"flex",flexDirection:"row",alignItems:"center"},children:[t("img",{src:r.imgSrc,alt:"hero",style:{width:"4rem",marginRight:"1rem"}}),t(x,{sx:{fontSize:18,fontWeight:"bold",color:"secondary.main"},children:r.text})]})}function it(r){return e(O,{sx:{p:2,display:"flex",flexDirection:"column",alignItems:"center"},children:[t("img",{src:r.imgSrc,alt:"logo",style:{width:"100%"}}),t(x,{sx:{fontSize:18,fontWeight:"bold"},children:r.subTitle})]})}const nt=({title:i,children:n})=>{const{setTitle:o}=Ue();return W((()=>{o(i)}),[i]),e(r,{children:[t(A,{component:"div",position:"static",elevation:0,sx:{zIndex:0},children:t(B,{children:e(w,{container:!0,alignItems:"center",spacing:1,children:[t(w,{item:!0,xs:!0,children:t(x,{component:"span",color:"text.primary",variant:"h5",children:i})}),n]})})}),t(E,{})]})};export{$e as AggregationInput,Xe as BreadcrumbProvider,Ne as ConfirmDialogContextState,ue as ConfirmationDialog,Ze as CustomBreadcrumb,tt as CustomLink,qe as CustomTablePagination,Ve as DialogProvider,Me as DropdownButton,Be as FilterDialog,ze as FilterDialogContextState,rt as Hero,it as Logo,Ee as PageDialog,We as PageDialogContextState,nt as PageHeader,_e as RangeDialog,Re as RangeDialogContextState,je as columnsActionCalculator,Le as useFilterDialog,Ue as useJudoNavigation};
2
2
  //# sourceMappingURL=components.mjs.map