@linn-it/linn-form-components-library 12.3.0 → 12.7.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.
- package/CHANGELOG.md +22 -1
- package/cjs/BackButton.js +1 -1
- package/cjs/Breadcrumbs.js +1 -1
- package/cjs/CheckboxWithLabel.js +1 -1
- package/cjs/CollectionSelectors.js +1 -1
- package/cjs/CreateButton.js +1 -1
- package/cjs/DatePicker.js +1 -1
- package/cjs/DateTimePicker.js +1 -1
- package/cjs/Dropdown.js +1 -1
- package/cjs/EntityList.js +1 -1
- package/cjs/ErrorCard.js +1 -1
- package/cjs/InputField-fa65c239.js +1 -0
- package/cjs/InputField.js +1 -1
- package/cjs/Navigation.js +1 -1
- package/cjs/OnOffSwitch.js +1 -1
- package/cjs/Page.js +1 -1
- package/cjs/PaginatedTable.js +1 -1
- package/cjs/PaginationSelectors.js +1 -1
- package/cjs/ReportActions.js +1 -1
- package/cjs/ReportTable-091d7264.js +1 -0
- package/cjs/ReportTable.js +1 -1
- package/cjs/SaveBackCancelButtons.js +1 -1
- package/cjs/SearcInputField.js +1 -1
- package/cjs/SearchIcon-d975c890.js +1 -0
- package/cjs/SnackbarMessage.js +1 -1
- package/cjs/TablePaginationActions.js +1 -1
- package/cjs/Title.js +1 -1
- package/cjs/Typeahead.js +1 -1
- package/cjs/TypeaheadDialog.js +1 -1
- package/cjs/TypeahedTable.js +1 -1
- package/cjs/UpdateApiActions.js +1 -1
- package/cjs/collectionStoreFactory.js +1 -1
- package/cjs/collectionWithLinksStoreFactory.js +1 -1
- package/cjs/fetchApiActions.js +1 -1
- package/cjs/fetchError.js +1 -1
- package/cjs/fetchMenu.js +1 -1
- package/cjs/fetchNews.js +1 -1
- package/cjs/getUsername.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/initialiseOnMount.js +1 -1
- package/cjs/itemStoreFactory.js +1 -1
- package/cjs/makeActionTypes.js +1 -1
- package/cjs/menu.js +1 -1
- package/cjs/menuSelectors.js +1 -1
- package/cjs/news.js +1 -1
- package/cjs/newsSelectors.js +1 -1
- package/cjs/paginationStoreFactory.js +1 -1
- package/cjs/reportOptionsFactory.js +1 -1
- package/cjs/reportResultsFactory.js +1 -1
- package/cjs/rsaaTypes-eda605ad.js +1 -0
- package/cjs/useSearch.js +1 -1
- package/cjs/useTablePagination.js +1 -1
- package/dist/bundle.min.js +1 -1
- package/package.json +22 -27
- package/cjs/ReportTable-3d248e3e.js +0 -1
- package/cjs/SearchIcon-d9c988d2.js +0 -1
- package/cjs/_rollupPluginBabelHelpers-e7842975.js +0 -1
- package/cjs/rsaaTypes-4875c87c.js +0 -1
package/dist/bundle.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var e=require("react"),t=_interopDefault(e),a=_interopDefault(require("@material-ui/styles/makeStyles")),r=_interopDefault(require("@material-ui/core/Button")),n=_interopDefault(require("prop-types")),o=_interopDefault(require("@material-ui/core/Tooltip")),l=_interopDefault(require("@material-ui/core/SvgIcon")),i=_interopDefault(require("@material-ui/core/Typography")),c=_interopDefault(require("@material-ui/core/Link")),s=require("@material-ui/styles"),d=_interopDefault(require("@material-ui/core/Table")),u=_interopDefault(require("@material-ui/core/TableBody")),p=_interopDefault(require("@material-ui/core/TableCell")),m=_interopDefault(require("@material-ui/core/TableHead")),E=_interopDefault(require("@material-ui/core/TableRow")),g=_interopDefault(require("@material-ui/core/Paper")),h=_interopDefault(require("numeral")),b=_interopDefault(require("@material-ui/core/Modal")),y=require("react-router-dom"),f=_interopDefault(require("@material-ui/core/Card")),R=_interopDefault(require("@material-ui/icons/Error")),S=_interopDefault(require("@material-ui/core/styles/withStyles")),w=require("@material-ui/core/styles"),_=_interopDefault(require("@material-ui/core/colors/red")),T=_interopDefault(require("@material-ui/core/colors/pink")),k=_interopDefault(require("classnames")),C=_interopDefault(require("@material-ui/core/Box")),v=_interopDefault(require("@material-ui/core/CircularProgress")),x=_interopDefault(require("@material-ui/core/TextField")),A=_interopDefault(require("@material-ui/core/InputLabel")),D=_interopDefault(require("@material-ui/core/FormControlLabel")),P=_interopDefault(require("@material-ui/core/Checkbox")),q=_interopDefault(require("@material-ui/styles/withStyles")),O=_interopDefault(require("@material-ui/core/InputAdornment")),I=_interopDefault(require("moment")),j=_interopDefault(require("@material-ui/core/List")),L=_interopDefault(require("@material-ui/core/ListItem")),N=_interopDefault(require("@material-ui/core/Divider")),B=_interopDefault(require("@material-ui/core/Grid")),F=_interopDefault(require("@material-ui/core/Dialog")),W=_interopDefault(require("@material-ui/core/IconButton")),V=_interopDefault(require("@material-ui/icons/Close")),H=require("notistack"),U=_interopDefault(require("@material-ui/core/Switch")),z=_interopDefault(require("@material-ui/core/Snackbar")),M=require("@material-ui/pickers"),Q=_interopDefault(require("@material-ui/core/TablePagination")),G=_interopDefault(require("@material-ui/core/TableSortLabel")),Y=_interopDefault(require("@material-ui/icons/Edit")),K=_interopDefault(require("@material-ui/core/LinearProgress")),$=_interopDefault(require("@material-ui/icons/FirstPage")),J=_interopDefault(require("@material-ui/icons/KeyboardArrowLeft")),X=_interopDefault(require("@material-ui/icons/KeyboardArrowRight")),Z=_interopDefault(require("@material-ui/icons/LastPage")),ee=_interopDefault(require("@material-ui/icons/Search")),te=require("redux-api-middleware"),ae=_interopDefault(require("query-string")),re=require("react-redux"),ne=require("react-router"),oe=_interopDefault(require("@material-ui/core/Tabs")),le=_interopDefault(require("@material-ui/core/Tab")),ie=_interopDefault(require("@material-ui/core/AppBar")),ce=_interopDefault(require("@material-ui/core/ClickAwayListener")),se=_interopDefault(require("@material-ui/core/Menu")),de=_interopDefault(require("@material-ui/core/MenuItem")),ue=_interopDefault(require("@material-ui/core/Toolbar")),pe=_interopDefault(require("@material-ui/core/Badge")),me=_interopDefault(require("@material-ui/icons/AccountCircle")),Ee=_interopDefault(require("@material-ui/icons/Notifications")),ge=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),he=_interopDefault(require("@material-ui/core/ListItemText")),be=_interopDefault(require("@material-ui/icons/Delete")),ye=_interopDefault(require("@material-ui/icons/Done")),fe=_interopDefault(require("@material-ui/styles/ThemeProvider")),Re=_interopDefault(require("@material-ui/icons/Add")),Se=require("@material-ui/core"),we=_interopDefault(require("clsx")),_e=_interopDefault(require("@material-ui/icons/Save")),Te=_interopDefault(require("@material-ui/icons/Clear")),ke=require("@material-ui/core/colors");const Ce=a(()=>({pullLeft:{float:"left"}})),BackButton=({backClick:e,text:a})=>{const n=Ce();return t.createElement("div",{className:n.pullLeft},t.createElement(r,{id:"back-button",onClick:()=>e()},a||"Back"))};BackButton.propTypes={backClick:n.func.isRequired,text:n.string},BackButton.defaultProps={text:null};const ExportButton=({href:e})=>t.createElement("div",{style:{float:"right"}},t.createElement(o,{title:"Download report as CSV file",placement:"top-end"},t.createElement(r,{href:e,color:"primary",variant:"outlined"},"Export",t.createElement(l,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))));ExportButton.propTypes={href:n.string.isRequired};const ve=s.makeStyles(()=>({root:{width:"100%"},link:{"&:hover":{cursor:"pointer"}}})),Slash=()=>t.createElement(t.Fragment,null," "," / "," ");function Breadcrumbs({history:a,rootPathLength:r,homeUrl:n}){const o=ve();let l=a.location.pathname;l.endsWith("/")&&(l=l.substring(0,l.length-1));const s=l.split("/").filter(e=>"report"!==e).reduce((e,t,n,o)=>{l=o.slice(0,n+1);const i=l.join("/")||"/";return t?[...e,{key:n,caption:t,href:i,onClick:e=>(e=>{l.length>r&&(e.preventDefault(),a.push(i))})(e)}]:e},[]);return t.createElement("div",{className:o.root},t.createElement(t.Fragment,null,t.createElement(c,{key:"home",href:n,classes:{root:o.link},variant:"button"},"HOME"),t.createElement(Slash,null)),s.map((a,r)=>r<s.length-1?t.createElement(e.Fragment,{key:r},t.createElement(c,{key:a.href,to:a.href,classes:{root:o.link},variant:"button",onClick:a.onClick},a.caption),t.createElement(Slash,null)):t.createElement(i,{display:"inline",variant:"button",key:r},a.caption)))}Breadcrumbs.propTypes={history:n.shape({push:n.func,location:n.shape({pathname:n.string})}).isRequired,rootPathLength:n.number,homeUrl:n.string},Breadcrumbs.defaultProps={rootPathLength:2,homeUrl:"https://app.linn.co.uk"};const xe=s.makeStyles(e=>({pullRight:{float:"right"},cancel:{marginRight:e.spacing(1)}}));function SaveBackCancelButtons({saveClick:e,cancelClick:a,saveDisabled:n,backClick:o}){const l=xe();return t.createElement("div",{className:l.pullRight},t.createElement(r,{id:"cancel-button",onClick:()=>{n?o():a()},variant:"outlined",className:l.cancel},n?"Back":"Cancel"),t.createElement(r,{id:"save-button",variant:"contained",color:"primary",onClick:()=>e(),disabled:n},"Save"))}SaveBackCancelButtons.propTypes={saveClick:n.func.isRequired,cancelClick:n.func.isRequired,backClick:n.func.isRequired,saveDisabled:n.bool},SaveBackCancelButtons.defaultProps={saveDisabled:!1};const Ae=a(e=>({link:{textDecoration:"none",color:e.palette.primary.main,padding:0,"&:hover":{cursor:"pointer",textDecoration:"underline",background:"transparent"}}}));function LinkOrAnchor({hasExternalLinks:e,text:a,href:n}){const o=Ae();return e?t.createElement("a",{style:{textDecoration:"none"},href:n},t.createElement(r,{size:"small",className:o.link},a)):t.createElement(c,{className:o.link,component:y.Link,to:n}," ",a," ")}const format=(e,t,a,r)=>{let n;return n=r&&"0"!==r?".".concat(Array(r+1).join("0")):"",e||0===e?(t||"")+h(e).format("0,0".concat(n))+(a||""):null},setDrilldown=(e,t)=>{let a,r;e&&e.hasOwnProperty("displayString")?(a=e.displayString,e.drillDowns.length>0&&(r=e.drillDowns[0].href)):a=e;return r?LinkOrAnchor({hasExternalLinks:t,text:a,href:r}):a},formatTitle=(a,r,n,o,l)=>{if(o)return t.createElement("strong",null,"Error");if(!r)return"";let c;return c=a&&a.displayString?a.displayString:a,n?t.createElement(i,{variant:"subtitle1"},"".concat(c," (loading)")):t.createElement(e.Fragment,null,t.createElement("div",null,t.createElement(i,{variant:"subtitle1"},setDrilldown(a))),l?t.createElement("div",null,t.createElement(b,{"aria-labelledby":"simple-modal-title","aria-describedby":"simple-modal-description"},l)):"")},setValueDrilldown=(e,t)=>{let a;if(e&&(e.displayValue||0===e.displayValue))if(e.drillDowns&&e.drillDowns.length>0){const r=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces);a=LinkOrAnchor({hasExternalLinks:t,href:e.drillDowns[0].href,text:r})}else a=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces);else a=null;return a},De=n.shape({rowHeader:n.string.isRequired,columnHeaders:n.arrayOf(n.string).isRequired,varianceColumns:n.arrayOf(n.number).isRequired}),Pe=n.shape({rowTitle:n.object.isRequired,rowSortOrder:n.number,values:n.arrayOf(n.object).isRequired}),qe=n.shape({title:n.object,resultType:n.string,reportValueType:n.string,headers:De,results:n.arrayOf(Pe).isRequired,totals:Pe}),Title=({text:e})=>t.createElement(i,{variant:"h4",gutterBottom:!0},e);Title.propTypes={text:n.string.isRequired};const Oe=w.createTheme({palette:{background:{paper:_[100]}}}),Ie=w.createTheme({palette:{primary:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastText:"rgba(0, 0, 0, 0.87)",dark:"#0097a7",light:"#4dd0e1",main:"#00acc1"},secondary:T}}),ErrorCard=({classes:e,errorMessage:a})=>t.createElement(w.MuiThemeProvider,{theme:Oe},t.createElement(f,{className:e.root},t.createElement(R,{color:"error",className:e.icon}),t.createElement(i,{align:"center",className:e.typography},a)));ErrorCard.propTypes={classes:n.shape({}),errorMessage:n.string.isRequired},ErrorCard.defaultProps={classes:{}};var je=S(()=>({root:{display:"flex",justifyContent:"center",width:"50%",margin:"auto",padding:10},icon:{marginRight:5},typography:{fontSize:16}}))(ErrorCard);const Le=a(()=>({subTotal:{fontWeight:"bolder"},root:{width:"100%",overflow:"auto",textAlign:"center",pageBreakInside:"avoid"},rootAllowsPageBreaks:{width:"100%",overflow:"auto",textAlign:"center"},numberField:{textAlign:"right"},noWrap:{whiteSpace:"nowrap"},smallCol:{width:"100px",overflow:"auto"},mediumCol:{width:"200px",overflow:"auto"},largeCol:{width:"300px",overflow:"auto"}})),setCellClasses=(e,t,a,r,n,o,l,i,c)=>{let s="";return("Subtotal"===r||l)&&(s+="".concat(e.subTotal," ")),o||a||(s+="".concat(e.numberField," ")),i||(s+="".concat(e.noWrap," ")),c&&(s+="".concat(c," ")),s},setHeaderCellClasses=(e,t,a,r,n,o)=>{let l="";return a||(l+="".concat(e.numberField," ")),"small"===n&&(l+="".concat(e.smallCol," ")),"medium"===n&&(l+="".concat(e.mediumCol," ")),"large"===n&&(l+="".concat(e.largeCol," ")),o&&(l+="".concat(o," ")),l},Results=({reportData:e,classes:a,title:r,showTitle:n,showTotals:o,hasExternalLinks:l,showRowTitles:i,columnClasses:c,allowPageBreakInside:s})=>t.createElement(g,{className:s?a.rootAllowsPageBreaks:a.root},t.createElement(Title,{text:formatTitle(r,n,!e,e&&e.error,e?e.reportHelpText:"")}),t.createElement("div",{style:{backgroundColor:"white"}},t.createElement(d,{size:"small"},t.createElement(m,{key:"headers"},t.createElement(E,null,i?t.createElement(p,null," ",e.headers.rowHeader," "):null,e.headers.columnHeaders.map((r,n)=>t.createElement(p,{className:setHeaderCellClasses(a,e.headers.varianceColumns.includes(n),e.headers.textColumns.includes(n),e.headers.totalColumns.includes(n),c?c[n]:null),key:r},r)))),t.createElement(u,null,e.results.map((r,n)=>t.createElement(E,{key:n},i?t.createElement(p,{className:a.noWrap},setDrilldown(r.rowTitle,l)):null,r.values.map((n,o)=>t.createElement(p,{className:setCellClasses(a,n&&n.displayValue,n?n.textDisplayValue:null,r.rowType,e.headers.varianceColumns.includes(o),e.headers.textColumns.includes(o),e.headers.totalColumns.includes(o),!n||n.allowWrap),key:o},setValueDrilldown(n,l),((e,t)=>{let a;if(e&&e.textDisplayValue)if(e.drillDowns&&e.drillDowns.length>0){a=LinkOrAnchor({hasExternalLinks:t,text:e.textDisplayValue,href:e.drillDowns[0].href})}else a=e.textDisplayValue;else a=null;return a})(n,l))))),!!o&&t.createElement(E,{key:"totals"},i?t.createElement(p,null,e.totals.rowTitle.displayString):null,e.totals.values.map((r,n)=>t.createElement(p,{className:setCellClasses(a,r&&r.displayValue,r?r.textDisplayValue:null,"Total",e.headers.varianceColumns.includes(n),e.headers.textColumns.includes(n),e.headers.totalColumns.includes(n),!r||r.allowWrap),key:n},setValueDrilldown(r,l))))))));function ReportTable({placeholderRows:e,placeholderColumns:a,reportData:r,hasExternalLinks:n,title:o,showTitle:l,showTotals:i,showRowTitles:c,columnClasses:s,allowPageBreakInside:m}){const h=Le();return r?r.message?t.createElement(je,{errorMessage:r.message}):Results({reportData:r,hasExternalLinks:n,classes:h,title:o,showRowTitles:c,showTitle:l,showTotals:i,columnClasses:s,allowPageBreakInside:m}):t.createElement(g,{className:m?h.rootAllowsPageBreaks:h.root},t.createElement(d,null,t.createElement(u,null,[...Array(e).keys()].map(e=>t.createElement(E,{key:e},[...Array(a).keys()].map(e=>t.createElement(p,{key:e})))))))}Results.propTypes={hasExternalLinks:n.bool,reportData:qe,classes:n.shape({root:n.shape({}),noWrap:n.shape({}),rootAllowsPageBreaks:n.shape({})}).isRequired,title:n.oneOfType([n.string,n.shape({})]),showTitle:n.bool,showTotals:n.bool,showRowTitles:n.bool,columnClasses:n.arrayOf(n.string),allowPageBreakInside:n.bool.isRequired},Results.defaultProps={reportData:null,title:null,showTitle:!0,showTotals:!0,showRowTitles:!0,hasExternalLinks:!1,columnClasses:null},ReportTable.propTypes={hasExternalLinks:n.bool,placeholderRows:n.number.isRequired,placeholderColumns:n.number.isRequired,reportData:n.shape({}),columnClasses:n.arrayOf(n.string),allowPageBreakInside:n.bool},ReportTable.defaultProps={reportData:null,placeholderRows:5,placeholderColumns:6,hasExternalLinks:!1,columnClasses:null,allowPageBreakInside:!1};const setPageBreaks=(e,t,a=[])=>k(a,{"new-page-after":t.includes(e)}),Placeholder=({rows:e,columns:a})=>t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(e).keys()].map(e=>t.createElement("tr",{key:e},[...Array(a).keys()].map(e=>t.createElement("td",{key:e})))))),Results$1=({reportData:e,showTotals:a,placeholderRows:r,placeholderColumns:n,pageBreaksAfter:o,fixColumnWidths:l,containsSubtotals:i,showRowTitles:c,showTitle:s,allowPageBreakInside:d})=>{return t.createElement("div",null,e.error?(u=e.message,t.createElement("h5",{className:"error-message"},u)):t.createElement(t.Fragment,null,e.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((u,p)=>t.createElement(C,{paddingBottom:3,key:p,className:setPageBreaks(p,o)},formatTitle(u.title,s,!e,e&&e.error),t.createElement(ReportTable,{reportData:u,containsSubtotals:i,showTitle:!1,showTotals:a,fixColumnWidths:l,placeholderRows:r,placeholderColumns:n,showRowTitles:c,allowPageBreakInside:d})))));var u},MultiReportTable=({reportData:e,title:a,showTitle:r,showTotals:n,placeholderRows:o,placeholderColumns:l,pageBreaksAfter:i,fixColumnWidths:c,containsSubtotals:s,showRowTitles:d,allowPageBreakInside:u})=>t.createElement("div",null,((e,a,r,n)=>{if(!a)return!1;if(n)return t.createElement("strong",null,"Error");let o;return o=e&&e.displayString?e.displayString:e,r?t.createElement("h5",null,"".concat(o," (loading)")):t.createElement("strong",null,o)})(a,r,!e,e&&e.error),e?t.createElement(Results$1,{reportData:e,showTotals:n,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:s,pageBreaksAfter:i,fixColumnWidths:c,showTitle:r,allowPageBreakInside:u}):t.createElement("div",null,t.createElement(Placeholder,{rows:o,columns:l}),t.createElement(Placeholder,{rows:o,columns:l})));MultiReportTable.propTypes={reportData:n.arrayOf(n.shape({})),title:n.string,showTitle:n.bool,showTotals:n.bool,showRowTitles:n.bool,placeholderRows:n.number,placeholderColumns:n.number,pageBreaksAfter:n.arrayOf(n.number),fixColumnWidths:n.bool,containsSubtotals:n.bool,allowPageBreakInside:n.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results$1.propTypes={reportData:n.arrayOf(n.shape({})),showTotals:n.bool,showTitle:n.bool,showRowTitles:n.bool,placeholderRows:n.number,placeholderColumns:n.number,pageBreaksAfter:n.arrayOf(n.number),fixColumnWidths:n.bool,containsSubtotals:n.bool,allowPageBreakInside:n.bool.isRequired},Results$1.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:n.number,columns:n.number},Placeholder.defaultProps={rows:4,columns:4};const Ne=w.makeStyles(e=>({outer:{textAlign:"center",margin:e.spacing(4),height:"40px"}}));function Loading(){const e=Ne();return t.createElement("div",{className:e.outer},t.createElement(v,null))}const Be=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},helperText:{color:e.palette.error.main},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue=e=>e||0===e,hasDisplayText=e=>e.some(e=>e.displayText||""===e.displayText),getOptions=(e,t,a=!1)=>{if(a)return["loading..."];const r=e?[...e]:[];return t&&(hasDisplayText(e)?r.push({id:"",displayText:""}):r.push("")),r};function Dropdown({onChange:e,optionsLoading:a,propertyName:r,required:n,disabled:o,label:l,items:i,allowNoValue:c,value:s,helperText:d,fullWidth:u,adornment:p,type:m,error:E,margin:g,autoFocus:h}){const b=Be();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:b.label,asterisk:b.labelAsterisk},required:n,error:E,htmlFor:r},l),t.createElement(x,{classes:{root:b.root},autoFocus:h,error:E,id:r,type:m,select:!0,adornment:p,disabled:o,fullWidth:u,value:(y=s,hasValue(y)?y:""),onChange:t=>(t=>{const a=t.target.value;let n;n="number"===m?hasValue(a)?parseFloat(a):null:hasValue(a)?a:"",e(r,n)})(t),SelectProps:{native:!0},helperText:d,margin:g,variant:"outlined",required:n,InputProps:{classes:{disabled:b.disabled}},FormHelperTextProps:{classes:{required:b.required,error:b.error}}},hasDisplayText(i)?getOptions(i,c,a).map(e=>t.createElement("option",{key:e.id,value:e.id},e.displayText)):getOptions(i,c,a).map(e=>t.createElement("option",{key:e,value:e},e))));var y}Dropdown.propTypes={adornment:n.string,disabled:n.bool,fullWidth:n.bool,helperText:n.string,label:n.string,items:n.oneOfType([n.arrayOf(n.string),n.arrayOf(n.number),n.arrayOf(n.shape({id:n.oneOfType([n.PropTypes.string,n.PropTypes.number]),displayText:n.string}))]),propertyName:n.string.isRequired,required:n.bool,value:e=>{const t=e.items,a=e.value,r=e.allowNoValue,n=e.optionsLoading;return null===a?new Error("Please provide a value that is not null"):n||((e,t)=>hasDisplayText(t)?t.some(t=>t.id===e):t.includes(e))(a,getOptions(t,r))?null:new Error("Please provide a value that is in the items list")},type:n.string,onChange:n.func.isRequired,error:n.bool,margin:n.string,allowNoValue:n.bool,optionsLoading:n.bool,autoFocus:n.bool},Dropdown.defaultProps={adornment:"",disabled:!1,fullWidth:!1,items:[],helperText:"",type:"text",required:!1,value:"",error:!1,margin:"dense",allowNoValue:!0,optionsLoading:!1,label:"",autoFocus:!1};const CheckboxWithLabel=({classes:e,checked:a,color:r="primary",label:n,onChange:o})=>t.createElement(D,{label:n,classes:{label:"".concat(e.root)},control:t.createElement(P,{checked:a,onChange:o,color:r})});CheckboxWithLabel.propTypes={classes:n.shape({}),checked:n.bool,color:n.string,label:n.string,onChange:n.func.isRequired},CheckboxWithLabel.defaultProps={classes:{},checked:!1,color:"primary",label:""};var Fe=q({root:{width:"100%",fontSize:14}})(CheckboxWithLabel);function asyncGeneratorStep(e,t,a,r,n,o,l){try{var i=e[o](l),c=i.value}catch(e){return void a(e)}i.done?t(c):Promise.resolve(c).then(r,n)}function _asyncToGenerator(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var o=e.apply(t,a);function _next(e){asyncGeneratorStep(o,r,n,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(o,r,n,_next,_throw,"throw",e)}_next(void 0)}))}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e}).apply(this,arguments)}function ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(a),!0).forEach((function(t){_defineProperty(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function _objectWithoutProperties(e,t){if(null==e)return{};var a,r,n=function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var a,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function _slicedToArray(e,t){return function _arrayWithHoles(e){if(Array.isArray(e))return e}(e)||function _iterableToArrayLimit(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var a=[],r=!0,n=!1,o=void 0;try{for(var l,i=e[Symbol.iterator]();!(r=(l=i.next()).done)&&(a.push(l.value),!t||a.length!==t);r=!0);}catch(e){n=!0,o=e}finally{try{r||null==i.return||i.return()}finally{if(n)throw o}}return a}(e,t)||function _unsupportedIterableToArray(e,t){if(!e)return;if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _arrayLikeToArray(e,t)}(e,t)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}const We=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue$1=e=>e||0===e;function InputField({onChange:e,propertyName:a,type:r,adornment:n,disabled:o,error:l,fullWidth:i,helperText:c,label:s,margin:d,maxLength:u,rows:p,name:m,placeholder:E,required:g,value:h,decimalPlaces:b,textFieldProps:y,autoFocus:f}){const R=We();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:R.label,asterisk:R.labelAsterisk},required:g,error:l,htmlFor:a},s),t.createElement(x,_extends({classes:{root:R.root},disabled:o,error:l,fullWidth:i,helperText:c,margin:d,multiline:p>0,name:m,id:a,placeholder:E,required:g,rows:p,type:r,value:"date"===r?I(h).format("YYYY-MM-DD"):(S=h,hasValue$1(S)?S:""),onChange:t=>(t=>{const n=t.target.value;let o=n;"date"===r&&(o=n?I(n).utc().format():""),"number"===r&&(o=hasValue$1(n)?parseFloat(n):null,o&&b&&n.indexOf(".")<n.length-b&&-1!==n.indexOf(".")&&(o=parseFloat(n.slice(0,n.indexOf(".")+b+1)))),e(a,o)})(t),InputProps:{startAdornment:n?t.createElement(O,{position:"start"},n):null,inputProps:{maxLength:u},classes:{disabled:R.disabled}},FormHelperTextProps:{classes:{required:R.required,error:R.error}},onInput:e=>{"number"===r&&u&&(e.target.value=e.target.value.slice(0,u))},variant:"outlined",autoFocus:f},y)));var S}InputField.propTypes={adornment:n.oneOfType([n.string,n.shape({})]),disabled:n.bool,error:n.bool,fullWidth:n.bool,helperText:n.string,label:n.string,margin:n.string,maxLength:n.number,required:n.bool,rows:n.number,name:n.string,placeholder:n.string,propertyName:n.string.isRequired,type:n.string,value:n.oneOfType([n.string,n.number]),onChange:n.func,decimalPlaces:n.number,textFieldProps:n.shape({}),autoFocus:n.bool},InputField.defaultProps={adornment:"",disabled:!1,error:!1,fullWidth:!1,helperText:"",label:"",margin:"dense",maxLength:null,required:!1,rows:null,name:"",placeholder:"",type:"text",value:"",onChange:null,decimalPlaces:null,textFieldProps:null,autoFocus:!1};const Ve=a(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton({to:e,external:a,tooltip:n,text:l,disabled:i}){const c=Ve(),button=()=>n?t.createElement(o,{title:n},t.createElement("div",null,t.createElement(r,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:i},l))):t.createElement(r,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:i},l);return i?button():t.createElement("div",null,a?t.createElement("a",{className:c.a,href:e},button()):t.createElement(y.Link,{className:c.a,to:e},button()))}function useSearch(t,a,r,n="",o=null,l=500,i=1){const c=_slicedToArray(e.useState(null),2),s=c[0],d=c[1],u=e.useRef(),p=e.useRef(),m=e.useRef();e.useEffect(()=>{u.current=t},[t]),e.useEffect(()=>{p.current=s},[s]),e.useEffect(()=>{r&&(m.current=r)},[r]),e.useEffect(()=>{a&&(null==a?void 0:a.toString().replace(/\s/g,"").length)>=i?(p.current&&clearTimeout(p.current),d(n?setTimeout(()=>u.current(n,a),l):o?setTimeout(()=>u.current(a,o),l):setTimeout(()=>u.current(a),l))):p.current&&clearTimeout(p.current),m.current&&m.current()},[a,n])}LinkButton.propTypes={text:n.string.isRequired,tooltip:n.string,to:n.string.isRequired,external:n.bool,disabled:n.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const SearchIcon=()=>t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})),He=a(e=>({a:{textDecoration:"none"},nameText:{fontWeight:e.typography.fontWeightBold},bodyText:{color:e.palette.text.primary},pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function Typeahead({fetchItems:a,items:r,title:l,loading:s,clearSearch:d,modal:u,links:p,label:m,onSelect:E,value:g,placeholder:h,disabled:b,minimumSearchTermLength:f,debounce:R,searchButtonOnly:S,propertyName:w,priorityFunction:_,resultLimit:T}){const k=_slicedToArray(e.useState(""),2),C=k[0],v=k[1],x=_slicedToArray(e.useState(!1),2),A=x[0],D=x[1],P=He();useSearch(a,C,d,null,null,R,f);const handleSearchTermChange=(...e)=>{v(e[1])},handleClick=e=>{u&&D(!1),d&&d(),v(null),p||E(e)},Item=({item:e,onClick:a})=>t.createElement(L,{button:!0,onClick:u?a:void 0},t.createElement(B,{container:!0,spacing:3},t.createElement(B,{item:!0,xs:3},t.createElement(i,{classes:{root:P.nameText}},e.name)),t.createElement(B,{item:!0,xs:9},t.createElement(i,{classes:{root:P.bodyText}},e.description))));Item.propTypes={item:n.shape({name:n.string,description:n.string}).isRequired,onClick:n.func},Item.defaultProps={onClick:null};const results=()=>{var a;if(s)return t.createElement(Loading,null);let n=r;return _&&(n=n.map(e=>_objectSpread2(_objectSpread2({},e),{},{priority:_(e,C)})).sort((e,t)=>e.priority>t.priority?-1:e.priority<t.priority?1:0)),T&&(n=n.slice(0,T)),(null===(a=n)||void 0===a?void 0:a.length)>0?t.createElement(j,{dense:!0},n.map(a=>t.createElement(e.Fragment,{key:a.id},p?t.createElement(c,{className:P.a,component:y.Link,to:null==a?void 0:a.href},t.createElement(Item,{item:a,onClick:()=>handleClick(a)})):t.createElement(Item,{item:a,onClick:()=>handleClick(a)}),t.createElement(N,{component:"li"})))):t.createElement(i,null,"No matching items")};return t.createElement(t.Fragment,null,u?t.createElement(t.Fragment,null):t.createElement(Title,{text:l}),u&&S?t.createElement(o,{title:m},t.createElement(W,{disabled:b,onClick:()=>{D(!0),d()}},SearchIcon())):t.createElement(InputField,{adornment:SearchIcon(),propertyName:w,textFieldProps:{onClick:()=>{b||(D(!0),d())},disabled:b},value:u?g:C,label:m,placeholder:h,onChange:u?()=>D(!0):handleSearchTermChange}),u?t.createElement(F,{"data-testid":"modal",open:A,onClose:()=>D(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:P.pullRight,"aria-label":"Close",onClick:()=>D(!1)},t.createElement(V,null)),t.createElement("div",{className:P.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},l),t.createElement(InputField,{propertyName:w,adornment:SearchIcon(),textFieldProps:{autoFocus:!0},placeholder:h,onChange:handleSearchTermChange,value:C}),s?t.createElement(Loading,null):results()))):results())}const Ue={id:n.oneOfType([n.string,n.number]),name:n.oneOfType([n.string,n.number]),description:n.string,href:n.string};Typeahead.propTypes={propertyName:n.string,items:n.arrayOf(n.shape(Ue)).isRequired,title:n.string,loading:n.bool,fetchItems:n.func.isRequired,clearSearch:n.func.isRequired,modal:n.bool,links:n.bool,label:n.string,onSelect:n.func,value:n.string,placeholder:n.string,disabled:n.bool,minimumSearchTermLength:n.number,debounce:n.number,searchButtonOnly:n.bool,priorityFunction:n.func,resultLimit:n.number},Typeahead.defaultProps={title:"",loading:!1,modal:!1,links:!0,label:null,onSelect:null,value:null,placeholder:"Search by id or by description",disabled:!1,minimumSearchTermLength:1,debounce:500,searchButtonOnly:!1,propertyName:"",priorityFunction:null,resultLimit:null};const ze=a(e=>({root:{padding:e.spacing(4)},breadcrumbs:{marginTop:e.spacing(4),marginLeft:e.spacing(4),marginRight:e.spacing(4),padding:e.spacing(2)},grid:{marginTop:e.spacing(4),width:"100%"}})),Me={xs:4,s:6,m:8,l:10,xl:12},Qe={xs:4,s:3,m:2,l:1,xl:!1};function Page({children:a,history:r,width:n,requestErrors:o,showRequestErrors:l,homeUrl:i,showBreadcrumbs:c}){const s=ze(),d=H.useSnackbar().enqueueSnackbar;return e.useEffect(()=>{o&&l&&o.forEach(e=>{d("".concat(e.message," - ").concat(e.type),{variant:"error",preventDuplicate:!0})})},[o,d]),t.createElement(t.Fragment,null,t.createElement(B,{container:!0,spacing:3,className:s.grid},t.createElement(B,{item:!0,xs:1}),t.createElement(B,{item:!0,xs:10,className:"hide-when-printing"},c&&t.createElement(Breadcrumbs,{history:r,homeUrl:i})),t.createElement(B,{item:!0,xs:1}),t.createElement(B,{item:!0,xs:Qe[n]}),t.createElement(B,{item:!0,xs:Me[n]},t.createElement(g,{className:s.root,square:!0},a)),t.createElement(B,{item:!0,xs:Qe[n]})))}Page.propTypes={children:n.node.isRequired,history:n.shape({}).isRequired,width:n.oneOf(["xs","s","m","l","xl"]),showRequestErrors:n.bool,requestErrors:n.arrayOf(n.shape({})),homeUrl:n.string,showBreadcrumbs:n.bool},Page.defaultProps={width:"l",showRequestErrors:!1,requestErrors:[],homeUrl:null,showBreadcrumbs:!0};function EntityList({title:a,entityList:r,entityId:n,descriptionFieldName:o,hasExternalLinks:l}){const c=l?"a":y.Link;return t.createElement(e.Fragment,null,t.createElement(Title,{text:a}),t.createElement(j,null,r.map(e=>t.createElement(L,{key:e[n],button:!0,component:c,to:e.href,href:e.href},t.createElement(i,{color:"primary",variant:"subtitle2"},((e,t,a)=>a?"".concat(e[t]," - ").concat(e[a]):e[t])(e,n,o))))))}EntityList.propTypes={title:n.string,entityId:n.string.isRequired,entityList:n.arrayOf(n.shape({})).isRequired,descriptionFieldName:n.string,hasExternalLinks:n.bool},EntityList.defaultProps={descriptionFieldName:null,title:"",hasExternalLinks:!1};const CreateButton=({createUrl:e,classes:a,disabled:n})=>t.createElement(y.Link,{to:e},t.createElement(r,{color:"primary",variant:"outlined",className:a.root,disabled:n},"Create"));CreateButton.propTypes={createUrl:n.string.isRequired,classes:n.shape({}).isRequired,disabled:n.bool},CreateButton.defaultProps={disabled:!1};var Ge=q(()=>({root:{float:"right"}}))(CreateButton);class OnOffSwitch extends t.Component{change(){const e=this.props;(0,e.onChange)(e.propertyName,!e.value)}render(){const e=this.props,a=e.value,r=e.label,n=e.disabled;return t.createElement(D,{control:t.createElement(U,{checked:a,onChange:()=>this.change(),value:a,color:"primary",disabled:n}),label:r})}}OnOffSwitch.propTypes={value:n.bool,disabled:n.bool,label:n.string,onChange:n.func.isRequired,propertyName:n.string.isRequired},OnOffSwitch.defaultProps={value:!1,disabled:!1,label:""};const Ye=a(e=>({root:{backgroundColor:e.palette.primary.main}}));function SnackbarMessage({message:e,visible:a,onClose:r,timeOut:n}){const o=Ye();return t.createElement(z,{anchorOrigin:{vertical:"bottom",horizontal:"left"},ContentProps:{classes:{root:o.root}},open:a,autoHideDuration:n,onClose:()=>r(!1),message:e,action:[t.createElement(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>r(!1)},t.createElement(V,null))]})}SnackbarMessage.propTypes={classes:n.shape({}),message:n.string.isRequired,timeOut:n.number,visible:n.bool,onClose:n.func.isRequired},SnackbarMessage.defaultProps={classes:{},timeOut:3e3,visible:!1};const Ke=w.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),$e=w.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DatePicker({value:e,minDate:a,maxDate:r,label:n,onChange:o,required:l,disabled:i}){const c=$e(),s=Ke();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:s.root},required:l},n),t.createElement(M.KeyboardDatePicker,{allowKeyboardControl:!0,margin:"dense",inputVariant:"outlined",autoOk:!0,format:"DD/MM/YYYY",value:e,minDate:a,maxDate:r,onChange:o,classes:c,disabled:i,className:c.root,InputAdornmentProps:{className:c.root},InputProps:{classes:{disabled:c.disabled}}}))}DatePicker.propTypes={label:n.string,minDate:n.string,maxDate:n.string,required:n.bool,value:n.oneOfType([n.shape({}),n.string]),disabled:n.bool,onChange:n.func},DatePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}};const Je=w.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Xe=w.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DateTimePicker({label:a,value:r,onChange:n,minDate:o,maxDate:l,required:i,disabled:c}){const s=Xe(),d=Je();return t.createElement(e.Fragment,null,t.createElement(A,{classes:{root:d.root},required:i},a),t.createElement(M.KeyboardDateTimePicker,{allowKeyboardControl:!0,autoOk:!0,margin:"dense",inputVariant:"outlined",ampm:!1,value:r,minDate:o,maxDate:l,onChange:n,classes:s,className:s.root,disabled:c,InputAdornmentProps:{className:s.root},InputProps:{classes:{disabled:s.disabled}},format:"DD/MM/YYYY HH:mm"}))}function SearchInputField(e){let a=e.autoFocus,r=_objectWithoutProperties(e,["autoFocus"]);return t.createElement(InputField,_extends({adornment:SearchIcon(),autoFocus:a},r))}DateTimePicker.propTypes={label:n.string,minDate:n.string,maxDate:n.string,onChange:n.func,required:n.bool,value:n.string,disabled:n.bool},DateTimePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}},SearchInputField.propTypes={autoFocus:n.bool},SearchInputField.defaultProps={autoFocus:!1};const Ze={getHref:(e,t)=>{if(e&&e.links&&e.links.length>0){const a=e.links.find(e=>e.rel===t);return a?a.href:null}return null},getSelfHref:e=>Ze.getHref(e,"self"),sortList:e=>e.slice().sort((e,t)=>e<t?-1:e>t?1:0),sortEntityList:(e,t)=>e.slice().sort((e,a)=>e[t]<a[t]?-1:e[t]>a[t]?1:0)},et=a(e=>({root:{flexShrink:0,color:e.palette.text.secondary,marginLeft:e.spacing(2),direction:e.direction}}));function TablePaginationActions({count:e,page:a,rowsPerPage:r,onChangePage:n}){const o=et();return t.createElement("div",{className:o.root},t.createElement(W,{onClick:function handleFirstPageButtonClick(e){n(e,0)},disabled:0===a,"aria-label":"First Page"},"rtl"===o.direction?t.createElement(Z,null):t.createElement($,null)),t.createElement(W,{onClick:function handleBackButtonClick(e){n(e,a-1)},disabled:0===a,"aria-label":"Previous Page"},"rtl"===o.direction?t.createElement(X,null):t.createElement(J,null)),t.createElement(W,{onClick:function handleNextButtonClick(e){n(e,a+1)},disabled:a>=Math.ceil(e/r)-1,"aria-label":"Next Page"},"rtl"===o.direction?t.createElement(J,null):t.createElement(X,null)),t.createElement(W,{onClick:function handleLastPageButtonClick(t){n(t,Math.max(0,Math.ceil(e/r)-1))},disabled:a>=Math.ceil(e/r)-1,"aria-label":"Last Page"},"rtl"===o.direction?t.createElement($,null):t.createElement(Z,null)))}TablePaginationActions.propTypes={count:n.number.isRequired,onChangePage:n.func.isRequired,page:n.number.isRequired,rowsPerPage:n.number.isRequired};const tt=a(e=>({link:{"&:hover":{cursor:"pointer"}},button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},exandedRow:{background:e.palette.grey[100]},expandedTitleText:{fontWeight:e.typography.fontWeightBold}}));function PaginatedTable({sortable:a,handleRowLinkClick:n,expandable:o,loading:l,columns:c,rows:s,pageOptions:g,setPageOptions:h,totalItemCount:b}){const y=_slicedToArray(e.useState(),2),f=y[0],R=y[1],S=tt();return t.createElement(d,{size:"small"},t.createElement(m,null,t.createElement(E,null,Object.keys(c).map(e=>a?t.createElement(p,{key:e,sortDirection:g.orderBy===e&&g.orderAscending?"asc":"desc"},t.createElement(G,{active:g.orderBy===e,direction:g.orderAscending?"asc":"desc",onClick:()=>{return t=e,void h(e=>_objectSpread2(_objectSpread2({},e),{},{orderBy:t,orderAscending:!e.orderAscending}));var t}},c[e])):t.createElement(p,{key:e},c[e])),o&&t.createElement(p,null,"Actions"))),l?t.createElement(u,null,t.createElement(p,{colspan:Object.keyscolumns().length+1},t.createElement(K,null))," "):t.createElement(e.Fragment,null,t.createElement(u,null,s.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(E,{key:a.id,className:S.link,hover:!0,onClick:()=>{return o?(e=a.id,R(f===e?null:e)):n(Ze.getSelfHref(a));var e}},Object.keys(a).filter(e=>(e=>"elements"!==e&&"links"!==e&&"href"!==e&&"id"!==e)(e)).map(e=>t.createElement(p,{key:e,component:"th",scope:"row"},a[e]||"-")),o&&t.createElement(p,null,t.createElement(r,{classes:{root:S.button},key:Ze.getSelfHref(a),onClick:()=>n(Ze.getSelfHref(a)),size:"small",variant:"outlined",color:"primary"},t.createElement(Y,{fontSize:"small"})))),o&&f===a.id&&a.elements&&t.createElement(e.Fragment,null,a.elements.map(e=>t.createElement(E,{colSpan:Object.keys(c).length+1,key:e.id},Object.keys(e).filter(e=>"id"!==e).map(a=>t.createElement(p,{key:a,classes:{root:S.exandedRow},size:"small"},t.createElement(i,{classes:{root:S.expandedTitleText},variant:"caption"},a,":"),t.createElement(i,{variant:"caption"}," ".concat(e[a]))))))))),b&&t.createElement(E,null,t.createElement(Q,{rowsPerPageOptions:[5,10,25,50],count:b,rowsPerPage:g.rowsPerPage,page:g.currentPage,SelectProps:{native:!0},onChangePage:(e,t)=>{h(e=>_objectSpread2(_objectSpread2({},e),{},{currentPage:t}))},onChangeRowsPerPage:e=>{const t=e.target.value;h(e=>_objectSpread2(_objectSpread2({},e),{},{rowsPerPage:parseInt(t,10),currentPage:0}))},ActionsComponent:TablePaginationActions})))))}PaginatedTable.propTypes={sortable:n.bool,handleRowLinkClick:n.func.isRequired,expandable:n.bool,loading:n.bool,columns:n.shape({}).isRequired,rows:n.arrayOf(n.shape({id:n.oneOfType([n.number,n.string]).isRequired,elements:n.arrayOf(n.shape({id:n.oneOfType([n.number,n.string]).isRequired}))})),pageOptions:n.shape({orderBy:n.string,orderAscending:n.bool,currentPage:n.number,rowsPerPage:n.number}).isRequired,setPageOptions:n.func.isRequired,totalItemCount:n.number},PaginatedTable.defaultProps={rows:[],sortable:!1,expandable:!1,loading:!1,totalItemCount:0};const at=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)}}));function TypeaheadTable({fetchItems:a,table:r,columnNames:n,title:o,loading:l,clearSearch:c,history:s,placeholder:g,label:h,debounce:b,searchOptions:y,queryString:f,minimumSearchTermLength:R,modal:S,links:w,disabled:_,onSelect:T,value:k}){const C=_slicedToArray(e.useState(),2),v=C[0],x=C[1],A=_slicedToArray(e.useState(!1),2),D=A[0],P=A[1];useSearch(a,v,c,f,y,b,R);const q=at(),handleSearchTermChange=(e,t)=>{x(t)},O={cursor:"pointer",textDecoration:"none"},results=()=>r.rows.length>0?t.createElement(d,null,t.createElement(m,null,t.createElement(E,null,n.map(e=>t.createElement(p,{key:e},e)))),t.createElement(u,null,r.rows&&r.rows.map(e=>t.createElement(E,{style:O,onClick:()=>{return w?s.push(Ze.getSelfHref(e)):(t=e,S&&P(!1),c&&c(),x(null),void(w||T(t)));var t},hover:!0,key:e.id},e.values.map(e=>t.createElement(p,{key:e.id,component:"th",scope:"row"},e.value)))))):t.createElement(i,null,"No matching items"),renderTypeahead=()=>t.createElement(t.Fragment,null,o&&t.createElement(Title,{text:o}),t.createElement(SearchInputField,{placeholder:g,onChange:handleSearchTermChange,type:"search",label:h,variant:"outlined",value:v,textFieldProps:{autoFocus:!0}}),l?t.createElement(Loading,null):results());return S?t.createElement(t.Fragment,null,t.createElement(InputField,{adornment:SearchIcon(),textFieldProps:{onClick:()=>{_||(P(!0),c())},disabled:_},value:S?k:v,label:h,placeholder:g,onChange:S?()=>P(!0):handleSearchTermChange}),t.createElement(F,{"data-testid":"modal",open:D,onClose:()=>P(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:q.pullRight,"aria-label":"Close",onClick:()=>P(!1)},t.createElement(V,null)),t.createElement("div",{className:q.dialog},renderTypeahead())))):t.createElement(t.Fragment,null," ",renderTypeahead())}TypeaheadTable.propTypes={table:n.shape({rows:n.arrayOf(n.shape({Id:n.oneOfType([n.string,n.number]),values:n.arrayOf(n.shape({id:n.oneOfType([n.string,n.number]),value:n.string}))})).isRequired}),columnNames:n.arrayOf(n.string).isRequired,history:n.shape({push:n.func}).isRequired,fetchItems:n.func.isRequired,clearSearch:n.func.isRequired,title:n.string,loading:n.bool,placeholder:n.string,label:n.string,debounce:n.number,minimumSearchTermLength:n.number,queryString:n.string,searchOptions:n.string,modal:n.bool,links:n.bool,onSelect:n.func,disabled:n.bool,value:n.string},TypeaheadTable.defaultProps={title:null,loading:!1,placeholder:"",table:{rows:[]},label:"",debounce:500,minimumSearchTermLength:1,queryString:"",searchOptions:"",modal:!1,links:!0,onSelect:null,disabled:!1,value:null};const rt=a(e=>({pullRight:{float:"right"},a:{textDecoration:"none"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},nameText:{fontWeight:e.typography.fontWeightMedium},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function TypeaheadDialog({title:a,loading:n,fetchItems:l,searchItems:c,onSelect:s,clearSearch:d,debounce:u,minimumSearchTermLength:p}){const m=_slicedToArray(e.useState(),2),E=m[0],g=m[1],h=_slicedToArray(e.useState(!1),2),b=h[0],y=h[1],f=rt();useSearch(l,E,d,null,null,u,p);const handleClose=()=>{y(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:a},t.createElement(r,{color:"primary","aria-label":"Search",onClick:()=>{y(!0)},variant:"outlined",className:f.button},t.createElement(ee,null))),t.createElement(F,{open:b,onClose:handleClose,fullWidth:!0,maxWidth:"md",disableAutoFocus:!0},t.createElement("div",null,t.createElement(W,{className:f.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(V,null)),t.createElement("div",{className:f.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},a),t.createElement(SearchInputField,{placeholder:"Search by id or description",onChange:(...e)=>{g(e[1])},label:"",value:E,autoFocus:!0}),n?t.createElement(Loading,null):c.length>0?t.createElement(j,null,c.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(L,{onClick:()=>{return e=a,y(!1),d(),g(null),void s(e);var e},button:!0},t.createElement(B,{container:!0,spacing:3},t.createElement(B,{item:!0,xs:3},t.createElement(i,{classes:{root:f.nameText}},a.name)),t.createElement(B,{item:!0,xs:9},t.createElement(i,null,a.description)))),t.createElement(N,{component:"li"})))):t.createElement(i,null,"No matching items")))))}TypeaheadDialog.propTypes={title:n.string,loading:n.bool,fetchItems:n.func.isRequired,searchItems:n.arrayOf(n.shape({})).isRequired,onSelect:n.func.isRequired,clearSearch:n.func.isRequired,debounce:n.number,minimumSearchTermLength:n.number},TypeaheadDialog.defaultProps={title:"Start typing to search",loading:!1,debounce:500,minimumSearchTermLength:1};const successPayload=e=>function(){var t=_asyncToGenerator(regeneratorRuntime.mark((function _callee(t,a,r){return regeneratorRuntime.wrap((function _callee$(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r.json();case 2:return t.t0=t.sent,t.t1=e,t.abrupt("return",{data:t.t0,item:t.t1});case 5:case"end":return t.stop()}}),_callee)})));return function(e,a,r){return t.apply(this,arguments)}}(),requested=(e,t)=>({type:e["REQUEST_".concat(t)],payload:{}}),requestedState=(e,t)=>({type:e["REQUEST_APPLICATION_STATE_".concat(t)],payload:{}}),requestAdd=(e,t)=>({type:e["REQUEST_ADD_".concat(t)],payload:{}}),requestUpdate=(e,t)=>({type:e["REQUEST_UPDATE_".concat(t)],payload:{}}),requestDelete=(e,t)=>({type:e["REQUEST_DELETE_".concat(t)],payload:{}}),receiveUpdated=(e,t,a)=>({type:e["RECEIVE_UPDATED_".concat(t)],payload:successPayload(a)}),received=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receivedState=(e,t,a)=>({type:e["RECEIVE_APPLICATION_STATE_".concat(t)],payload:successPayload(a)}),receiveAdded=(e,t,a)=>({type:e["RECEIVE_NEW_".concat(t)],payload:successPayload(a)}),receivedProcess=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receiveDeleted=(e,t,a)=>({type:e["RECEIVE_DELETED_".concat(t)],payload:successPayload(a)}),requestSearch=(e,t)=>({type:e["REQUEST_SEARCH_".concat(t)],payload:{}}),requestReport=(e,t,a)=>({type:e["REQUEST_".concat(t)],payload:{options:a}}),receiveSearch=(e,t,a)=>({type:e["RECEIVE_SEARCH_".concat(t)],payload:successPayload(a)}),error=(e,t,a)=>{return{type:e["FETCH_".concat(t,"_ERROR")],payload:(r=_asyncToGenerator(regeneratorRuntime.mark((function _callee2(e,t,r){return regeneratorRuntime.wrap((function _callee2$(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=11;break}return e.t1=r.status,e.t2="Error - ".concat(r.status," ").concat(r.statusText),e.next=5,r.json();case 5:e.t3=e.sent,e.t4=a,e.t5={status:e.t1,statusText:e.t2,details:e.t3,item:e.t4},e.t0={error:e.t5},e.next=12;break;case 11:e.t0="Network request failed";case 12:return e.abrupt("return",e.t0);case 13:case"end":return e.stop()}}),_callee2)}))),function payload(e,t,a){return r.apply(this,arguments)})};var r};const fetchNews=(e,t)=>{return{[te.RSAA]:{endpoint:"".concat(t,"/notifications"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_NEWS",payload:{}},{type:"RECEIVE_NEWS",payload:(a=_asyncToGenerator(regeneratorRuntime.mark((function _callee(e,t,a){return regeneratorRuntime.wrap((function _callee$(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.json();case 2:return e.t0=e.sent,e.abrupt("return",{news:e.t0,item:"news"});case 4:case"end":return e.stop()}}),_callee)}))),function payload(e,t,r){return a.apply(this,arguments)})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}};var a},markNotificationSeen=e=>({type:"MARK_NOTIFICATION_SEEN",title:e.title}),fetchMenu=(e,t)=>{return{[te.RSAA]:{endpoint:"".concat(t,"/intranet/menu-no-auth"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_MENU",payload:{}},{type:"RECEIVE_MENU",payload:(a=_asyncToGenerator(regeneratorRuntime.mark((function _callee(e,t,a){return regeneratorRuntime.wrap((function _callee$(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.json();case 2:return e.t0=e.sent,e.abrupt("return",{menu:e.t0,item:"menu"});case 4:case"end":return e.stop()}}),_callee)}))),function payload(e,t,r){return a.apply(this,arguments)})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}};var a};function menu(e={loading:!1,data:null},t){switch(t.type){case"REQUEST_MENU":return _objectSpread2(_objectSpread2({},e),{},{loading:!0,data:null});case"RECEIVE_MENU":return _objectSpread2(_objectSpread2({},e),{},{loading:!1,data:t.payload.menu});default:return e}}function news(e={loading:!1,seen:[],unseen:[]},t){switch(t.type){case"REQUEST_NEWS":return _objectSpread2(_objectSpread2({},e),{},{loading:!0});case"RECEIVE_NEWS":return _objectSpread2(_objectSpread2({},e),{},{loading:!1,unseen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>!localStorage.getItem(e.title)):[],seen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>localStorage.getItem(e.title)):[]});case"MARK_NOTIFICATION_SEEN":return _objectSpread2(_objectSpread2({},e),{},{seen:[...e.seen,...e.unseen.filter(e=>e.title===t.title)],unseen:e.unseen.filter(e=>e.title!==t.title)});default:return e}}const nt={getSections:e=>{const t=e.menu;return t&&t.data?t.data.sections:null},getMenuSection:(e,t)=>{const a=nt.getSections(e);if(a){return a.filter(e=>e.id===t)[0].columns}return[]},getMyStuff:e=>{const t=e.menu;return t&&t.data?t.data.myStuff:null},getMenuLoading:e=>!!e&&e.loading},ot={getSeenNotifications:e=>{const t=e.news;return t?t.seen:null},getUnseenNotifications:e=>{const t=e.news;return t?t.unseen:null},getNewsLoading:e=>e.news.loading},getUsername=e=>{const t=e.oidc;return t.user?t.user.profile.preferred_username:null},initialiseOnMount=a=>function HOC(r){const n=r.initialise,o=r.itemId;return e.useEffect(()=>{n&&o?n({itemId:o}):n&&n(r)},[n,o]),t.createElement(a,r)},lt={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1}};function Panel({section:e,classes:a,close:n}){const o=e.columns;return t.createElement(g,{classes:{root:a.paper}},t.createElement(r,{onClick:n,color:"secondary",style:lt.closeButton},t.createElement(V,null)),t.createElement(B,{container:!0,justifyContent:"flex-start"},o.map((e,r)=>t.createElement(B,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,key:r},e.categories.filter(e=>e.items.filter(e=>e.showInMenu).length>0).map(e=>t.createElement(j,{key:e.title},t.createElement(L,null,t.createElement(i,{variant:"button",gutterBottom:!0},e.title.replace("&","&"))),e.items.map(e=>t.createElement("div",{key:e.href},e.showInMenu&&t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(L,{classes:{root:a.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:a.menuItems},color:"primary"},e.title))))))))),t.createElement(B,{item:!0,xs:12},t.createElement("a",{href:"/".concat(e.id)},t.createElement(r,{onClick:n,color:"primary",style:{marginRight:"10px",marginBottom:"10px",float:"right"}},"SHOW ALL OPTIONS...")," "))))}Panel.propTypes={classes:n.shape({}).isRequired,section:n.shape({}).isRequired,close:n.func.isRequired};var it=S(lt)(Panel);const ct={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1},searchInputField:{float:"right"}};function SearchPanel({menu:a,classes:n,close:o}){const l=_slicedToArray(e.useState(),2),c=l[0],s=l[1],d=a.map(e=>e.columns).flat().map(e=>e.categories).flat().map(e=>e.items).flat(),u=Object.values(d.reduce((e,t)=>e[t.href]?e:_objectSpread2(_objectSpread2({},e),{},{[t.href]:t}),{}));return t.createElement(g,{classes:{root:n.paper}},t.createElement(r,{onClick:o,color:"secondary",style:ct.closeButton},t.createElement(V,null)),t.createElement(B,{container:!0},t.createElement(B,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,"justify-content":"flex-end"},t.createElement(SearchInputField,{value:c,onChange:(e,t)=>{s(t)},textFieldProps:{autoFocus:!0},placeholder:"start typing..."}),(null==c?void 0:c.length)>1&&u.filter(e=>e.title.toLowerCase().includes(c.toLowerCase())||e.href.toLowerCase().includes(c.toLowerCase())).map(e=>t.createElement(t.Fragment,{key:e.href},t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(L,{classes:{root:n.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:n.menuItems},color:"primary"},e.title))))))))}SearchPanel.propTypes={classes:n.shape({listItemText:n.string,menuItems:n.string,paper:n.string}).isRequired,close:n.func.isRequired,menu:n.arrayOf(n.shape({})).isRequired};var st=S(ct)(SearchPanel);function Navigation({classes:a,sections:n,loading:o,username:l,myStuff:c,seenNotifications:s,unseenNotifications:d,markNotificationSeen:u,authRoot:p}){const m=_slicedToArray(e.useState(!1),2),E=m[0],g=m[1],h=_slicedToArray(e.useState(),2),b=h[0],y=h[1],f=H.useSnackbar(),R=f.enqueueSnackbar,S=f.closeSnackbar;if(n){const e=n.map(e=>e.id),handleClick=e=>{y(e.currentTarget)},handleClose=()=>{y()},handleSignOut=()=>{window.location.assign("".concat(p,"account/logout"))},actions=(e,a)=>t.createElement(t.Fragment,null,t.createElement(r,{variant:"contained",onClick:()=>{window.location=Ze.getSelfHref(a)}},"View"),t.createElement(r,{onClick:()=>{S(e),localStorage.setItem(a.title,a.content),u(a)}},"Dismiss")),noNotifications=()=>!s&&!d||s.length+d.length===0,queueNotifications=()=>{noNotifications()?R("No notifications to show!",{anchorOrigin:{vertical:"bottom",horizontal:"right"},variant:"info",preventDuplicate:!0}):d.concat(s).forEach((e,t)=>{setTimeout(()=>{R("".concat(e.title," ").concat(e.content),{anchorOrigin:{vertical:"bottom",horizontal:"right"},ContentProps:{classes:{root:localStorage.getItem(e.title)?a.snackbarSeen:a.snackbarNew}},action:t=>actions(t,e),preventDuplicate:!0})},200*t)})};return t.createElement(t.Fragment,null,t.createElement(ce,{onClickAway:()=>g(!1)},t.createElement("div",{className:"hide-when-printing"},t.createElement("div",{className:a.root},n&&!o&&t.createElement(ie,{position:"static",classes:{root:a.appBar}},t.createElement(ue,{classes:{gutters:a.toolbar}},t.createElement(B,{container:!0,alignItems:"center",justifyContent:"space-between",spacing:3,classes:{container:a.container}},t.createElement(B,{item:!0,xs:9},t.createElement(oe,{classes:{root:a.tabs},value:E,onChange:(e,t)=>{g(E!==t&&t)},scrollButtons:"auto",variant:"scrollable",indicatorColor:"primary",textColor:"primary"},n.map(e=>t.createElement(le,{id:e.id,key:e.id,classes:{root:a.tab},label:t.createElement("span",{className:a.tabLabel},e.title),selected:!1})))),t.createElement(B,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(me,{className:a.icons,"aria-owns":b?"simple-menu":void 0,onClick:handleClick,id:n.length,key:n.length}))),t.createElement(B,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(pe,{badgeContent:d?d.length:0,color:"primary",variant:"dot"},t.createElement(Ee,{className:a.icons,onClick:queueNotifications})))),t.createElement(B,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(ee,{className:a.icons,onClick:()=>g(n.length)}))),t.createElement(se,{id:"simple-menu",anchorEl:b,open:Boolean(b),onClose:handleClose},t.createElement(de,{onClick:handleClose},l),l&&c.groups.map(e=>t.createElement("span",{key:e.items[0].href},t.createElement("a",{href:e.items[0].href},t.createElement(de,{onClick:handleClose},e.items[0].title)))),t.createElement(de,{onClick:handleSignOut},"Sign Out"))))),e.map((e,a)=>E===a&&t.createElement(it,{key:e,section:n.find(t=>t.id===e),id:e,style:{align:"right"},anchorEl:e.id,close:()=>g(!1)})),E===n.length&&t.createElement(st,{menu:n,close:()=>g(!1)})))))}return t.createElement("div",{className:a.root},t.createElement(ie,{position:"static",color:"default"},t.createElement(ue,{classes:{gutters:a.toolbar}})))}Navigation.propTypes={classes:n.shape({snackbarNew:n.string,snackbarSeen:n.string,root:n.string,tabs:n.string,tab:n.string,tabLabel:n.string,toolbar:n.string,container:n.string,appBar:n.string,icons:n.string}).isRequired,sections:n.arrayOf(n.shape({})),history:n.shape({}).isRequired,loading:n.bool,username:n.string,myStuff:n.shape({groups:n.arrayOf(n.shape({}))}),seenNotifications:n.arrayOf(n.shape({})),unseenNotifications:n.arrayOf(n.shape({})),markNotificationSeen:n.func.isRequired,authRoot:n.string.isRequired},Navigation.defaultProps={sections:null,myStuff:null,seenNotifications:[],unseenNotifications:[],loading:!1,username:""};var dt=S(e=>({root:{position:"absolute",width:"100%",top:0,zIndex:10},tabLabel:{fontSize:e.typography.fontSize,color:e.palette.grey[200]},snackbarNew:{background:e.palette.primary.dark,width:"800px"},snackbarSeen:{width:"800px"},panel:{position:"relative"},menuButton:{marginLeft:-12,marginRight:20},tab:_objectSpread2(_objectSpread2({},e.mixins.toolbar),{},{minWidth:"100px"}),toolbar:{paddingLeft:0,paddingRight:0},tabs:_objectSpread2(_objectSpread2({},e.mixins.toolbar),{},{paddingLeft:40}),container:{width:"100%"},appBar:{backgroundColor:e.palette.grey[800]},icons:{cursor:"pointer",color:"white"}}))(Navigation);const ut=window.APPLICATION_SETTINGS;var pt=_objectSpread2(_objectSpread2({},{appRoot:""}),ut);const mt={initialise:e=>e=>{e(fetchMenu(0,pt.proxyRoot)),e(fetchNews(0,pt.proxyRoot))},markNotificationSeen:markNotificationSeen};var Et=ne.withRouter(re.connect(e=>({sections:nt.getSections(e),myStuff:nt.getMyStuff(e),username:getUsername(e),loading:nt.getMenuLoading(e),seenNotifications:ot.getSeenNotifications(e),unseenNotifications:ot.getUnseenNotifications(e),authRoot:pt.authorityUri}),mt)(initialiseOnMount(dt)));const getItemError=(e,t)=>{const a=e.errors;return a&&a.itemErrors&&a.itemErrors.find(e=>e.item&&e.item===t)||null},gt=w.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?_objectSpread2(_objectSpread2({},t),{},{maxHeight:e.maxHeight}):t}}));function SelectedItemsList({items:e,removeItem:a,title:r,maxHeight:n}){const o=gt({maxHeight:n});return t.createElement(t.Fragment,null,t.createElement(i,{variant:"body1"},r),t.createElement(j,{dense:!0,className:o.list},e.map(e=>t.createElement(t.Fragment,null,t.createElement(L,{key:e.id?e.id:e},t.createElement(he,{primary:e.displayText?e.displayText:e}),a?t.createElement(ge,null,t.createElement(W,{edge:"end","aria-label":"delete",onClick:()=>a(e.Id?e.Id:e)},t.createElement(be,null))):""),t.createElement(N,null)))))}SelectedItemsList.propTypes={items:n.arrayOf(n.oneOfType([n.string,n.shape({})])),removeItem:n.func,title:n.string,maxHeight:n.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const ht=w.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),bt=w.createTheme({palette:{primary:{main:"#FF9494"}}}),yt=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog({title:a,loading:n,fetchItems:l,searchItems:c,clearSearch:s,onAccept:d}){const u=_slicedToArray(e.useState(),2),p=u[0],m=u[1],E=_slicedToArray(e.useState(!1),2),g=E[0],h=E[1],b=yt();useSearch(l,p,s);const handleClose=()=>{h(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:a},t.createElement(r,{color:"primary","aria-label":"Search",onClick:()=>{h(!0)},variant:"outlined",className:b.button},t.createElement(Y,null))),t.createElement(F,{open:g,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:b.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(V,null)),t.createElement("div",{className:b.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},a),t.createElement(fe,{theme:!p||n?Ie:1===c.length?ht:bt},t.createElement(InputField,{onChange:(...e)=>{m(e[1])},label:"",value:p})),1===c.length&&t.createElement(fe,{theme:ht},t.createElement(W,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void h(!1);var e}},t.createElement(ye,{color:"primary"}))),p&&t.createElement(W,{"aria-label":"Close",onClick:()=>{s(),m("")}},t.createElement(V,null)),n&&t.createElement(Loading,null)))))}function TableWithInlineEditing({content:a,columnsInfo:n,updateContent:l,allowedToEdit:i,allowedToCreate:c,allowedToDelete:s}){const g=_slicedToArray(e.useState(""),2),h=g[0],b=g[1],handleRowChange=(e,t,r)=>{var o,i;const c=_objectSpread2(_objectSpread2({},a[r]),{},{[e]:t}),s=null===(o=(i=n.find(t=>t.key===e)).updateValues)||void 0===o?void 0:o.call(i,t);if(s)for(let e=0;e<s.length;e+=1)c[s[e].propertyName]=s[e].value;l(a.slice(0,r).concat(c).concat(a.slice(r+1,a.length+1)))},handleRemoveRow=e=>{l(a.slice(0,e).concat(a.slice(e+1,a.length+1)))},switchToEditingDifferentCell=e=>{b(e)},clearEditingCell=()=>{b("")};return t.createElement(d,null,t.createElement(m,{key:"headers",onClick:clearEditingCell},t.createElement(E,null,n.map(e=>t.createElement(p,{key:e.key},e.title)),s&&t.createElement(p,{key:"Deleteplaceholdercell"}))),t.createElement(u,null,a.map((e,a)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:a,updateField:handleRowChange,columnsInfo:n,currentlyEditing:h,changeCell:switchToEditingDifferentCell,allowedToEdit:i,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:s})),c&&t.createElement(E,null,t.createElement(p,null,t.createElement(o,{title:"Add new row","aria-label":"add"},t.createElement(r,{onClick:()=>{let e={id:(new Date).getTime()};n.forEach(t=>{e=_objectSpread2(_objectSpread2({},e),{},{[t.key]:null})}),l(a.concat(e))}},t.createElement(Re,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:n.string,loading:n.bool,fetchItems:n.func.isRequired,searchItems:n.arrayOf(n.shape({})).isRequired,onAccept:n.func.isRequired,clearSearch:n.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:n.arrayOf(n.shape({id:n.oneOfType([n.string,n.number])})),updateContent:n.func.isRequired,columnsInfo:n.arrayOf(n.shape({title:n.string,type:n.string,key:n.oneOfType([n.string,n.number])})).isRequired,allowedToEdit:n.bool.isRequired,allowedToCreate:n.bool,allowedToDelete:n.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=({rowContent:a,rowIndex:n,updateField:l,columnsInfo:i,currentlyEditing:c,changeCell:d,allowedToEdit:u,clearEditingCell:m,removeRow:g,allowedToDelete:h})=>{const b=s.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{l(e,t,n)};return t.createElement(E,{key:a.id},a!=={}&&i&&(u?t.createElement(t.Fragment,null,i.map((r,o)=>t.createElement(e.Fragment,{key:r.title},t.createElement(p,{onClick:()=>d("".concat(n).concat(r.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?m():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(n).concat(i[t-1].key):"".concat(n-1).concat(i[i.length-1].key)):"Tab"===e.key&&(t<i.length-1?d("".concat(n).concat(i[t+1].key)):d("".concat(n+1).concat(i[0].key)))})(e,o),className:b.pointer},c!=="".concat(n).concat(r.key)?t.createElement("span",{id:"outer".concat(n,"-").concat(o),name:r.key},a[r.key]):t.createElement("div",{id:"inner".concat(n,"-").concat(o)},"dropdown"===r.type?t.createElement(Dropdown,{onChange:handleCellChange,items:r.options,value:a[r.key],disabled:r.notEditable,required:r.required,propertyName:r.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(InputField,{type:r.type,value:a[r.key],disabled:r.notEditable,required:r.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:r.key}))))),h&&t.createElement(p,{key:"DeleteIcon"},t.createElement(o,{title:"Delete row","aria-label":"add"},t.createElement(r,{onClick:()=>{g(n)}},t.createElement(be,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,i.map(r=>t.createElement(e.Fragment,{key:r.title},t.createElement(p,null,t.createElement("span",{name:r.key,className:b.notClickable},a[r.key])))))))};function cloneDate(e){return I.isMoment(e)?e.clone():I(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:n.shape({id:n.oneOfType([n.string,n.number])}),rowIndex:n.number.isRequired,updateField:n.func.isRequired,currentlyEditing:n.string.isRequired,changeCell:n.func.isRequired,allowedToEdit:n.bool.isRequired,clearEditingCell:n.func.isRequired,columnsInfo:n.arrayOf(n.shape({title:n.string,type:n.string,key:n.oneOfType([n.string,n.number]),notEditable:n.bool,updateValues:n.func})).isRequired,removeRow:n.func.isRequired,allowedToDelete:n.bool.isRequired},Row.defaultProps={rowContent:{}};const ft=s.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker({selectedDate:e,setWeekStartDate:a,propertyName:r,label:n,disabled:o,required:l}){const i=ft();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:i.label},required:l},n),t.createElement(M.KeyboardDatePicker,{autoOk:!0,disabled:o,margin:"dense",inputVariant:"outlined",value:e?I(e):null,onChange:e=>{a(r,getWeekStartDate(e))},renderDay:(e,a,r)=>{const n=getWeekStartDate(a),o=getWeekEndDate(a),l=e.isBetween(n,o,"days","[]"),c=e.isSame(n,"day"),s=e.isSame(o,"day"),d=we({[i.highlight]:l,[i.firstHighlight]:c,[i.endHighlight]:s}),u=we(i.day,{[i.nonCurrentMonthDay]:!r,[i.highlightNonCurrentMonthDay]:!r&&l});return t.createElement("div",{className:d},t.createElement(Se.IconButton,{className:u},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:n.oneOfType([n.shape({}),n.string]),setWeekStartDate:n.func.isRequired,propertyName:n.string,label:n.string,disabled:n.bool,required:n.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var a=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===a&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const Rt={minWidth:"120px"};function EditableTableCell(a){var r;let n=a.column,l=a.item,i=a.editable,c=a.editing,s=a.isNewRow,d=a.handleValueChange,u=_objectWithoutProperties(a,["column","item","editable","editing","isNewRow","handleValueChange"]);const Content=()=>c&&n.editable&&i||s&&c&&n.required?function inputComponentFactory(e,a,r,n=1,o){switch(a.type){case"text":return t.createElement(InputField,{value:e[a.id],onChange:r,fullWidth:!0,rows:n,propertyName:a.id,required:a.required});case"number":return t.createElement(InputField,{value:e[a.id],type:"number",onChange:r,propertyName:a.id,required:a.required});case"date":return t.createElement(DatePicker,{value:e[a.id]||null,onChange:e=>r(a.id,e),required:a.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[a.id]||null,setWeekStartDate:r,propertyName:a.id,required:a.required});case"search":return t.createElement(Typeahead,{clearSearch:()=>a.clearSearch,fetchItems:a.search,items:a.searchResults,links:!1,loading:a.searchLoading,modal:!0,onSelect:t=>a.selectSearchResult(a.id,t,e),propertyName:a.id,title:a.searchTitle,value:e[a.id],required:a.required,minimumSearchTermLength:a.minimumSearchTermLength});case"dropdown":return t.createElement(Dropdown,{fullWidth:!0,value:e[a.id],onChange:r,items:a.options,propertyName:a.id,required:a.required});case"component":return t.createElement(a.component,_extends({value:e[a.id],onChange:e=>r(a.id,e),required:a.required},o));default:return""}}(l,n,d,n.textFieldRows,u):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?I(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,n),m=null!==(r=n.style)&&void 0!==r&&r.body?_objectSpread2(_objectSpread2({},Rt),n.style.body):Rt;return n.tooltip?t.createElement(e.Fragment,{key:"".concat(null==n?void 0:n.id).concat(l.id)},t.createElement(o,{title:n.tooltip(l)||""},t.createElement(p,{id:n.type,key:"".concat(null==n?void 0:n.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==n?void 0:n.id).concat(l.id)},t.createElement(p,{id:n.type,style:m},Content()))}EditableTableCell.propTypes={column:n.shape({tooltip:n.func,id:n.oneOfType([n.number,n.string]),editable:n.bool,type:n.string,required:n.bool,textFieldRows:n.number,style:n.shape({body:n.shape({})})}).isRequired,item:n.shape({id:n.oneOfType([n.string,n.number])}).isRequired,editable:n.bool,editing:n.bool,isNewRow:n.bool,handleValueChange:n.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const St=n.shape({id:n.oneOfType([n.number,n.string]).isRequired,type:n.string.isRequired,component:n.func,editable:n.bool,options:n.arrayOf(n.oneOfType([n.shape({}),n.string,n.number])),required:n.bool,searchLoading:n.bool,searchResults:n.arrayOf(n.shape({})),searchTitle:n.string,tooltip:n.oneOfType([n.string,n.func]),clearSearch:n.func,closeRowOnClickAway:n.func,search:n.func,selectSearchResult:n.func,minimumSearchTermLength:n.number,textFieldRows:n.number,componentViewDisplay:n.oneOf(["value","nothing"])}),wt=s.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?ke.green[50]:e.toBeDeleted?ke.red[50]:"transparent"}}));function GroupEditableTableRow(a){let n=a.row,l=a.columns,i=a.editable,c=a.updateRow,s=a.validateRow,d=a.removeRow,u=a.isRowValid,m=a.resetRow,g=a.deleteRowPreEdit,h=a.handleEditClick,b=a.setRowToBeSaved,y=a.setRowToBeDeleted,f=a.removeRowOnDelete,R=a.closeRowOnClickAway,S=a.editOnRowClick,w=_objectWithoutProperties(a,["row","columns","editable","updateRow","validateRow","removeRow","isRowValid","resetRow","deleteRowPreEdit","handleEditClick","setRowToBeSaved","setRowToBeDeleted","removeRowOnDelete","closeRowOnClickAway","editOnRowClick"]);const _=_slicedToArray(e.useState(),2),T=_[0],k=_[1],C=e.useRef(),v=wt({toBeSaved:n.toBeSaved,toBeDeleted:n.toBeDeleted});e.useEffect(()=>{C.current=u},[u]),e.useEffect(()=>{if(n.editing){let e=!0;s&&(e=s(n)),l.forEach(t=>{!0!==t.required||n[t.id]||(e=!1)}),C.current&&n.id&&C.current(e,n.id),k(e)}},[s,l,n]);const handleValueChange=(e,t)=>{c(n,null,e,t)},handleEditButtonClick=()=>{h(n.id,!0)},handleDeleteClick=()=>{f||n.isNewRow?d(n.id):y(n.id,!0)},deleteButtonEnabled=()=>!n.toBeDeleted&&!n.toBeSaved;return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&R&&R&&n.editing&&h(n.id,!1)})(e)},t.createElement(E,{onClick:!n.editing&&S&&!g&&handleEditButtonClick,classes:{root:v.row}},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(n.id).concat(e.id),column:e,item:n,editable:i,editing:n.editing,handleValueChange:handleValueChange},w))),i&&(n.editing?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(r,{onClick:()=>{b(n.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:v.button},disabled:!(T&&!n.toBeDeleted&&!n.toBeSaved),"data-testid":"saveButton"},t.createElement(_e,{fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(r,{onClick:()=>{n.isNewRow?d(n.id):m(n)},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(Te,{fontSize:"small"})))),d&&t.createElement(p,null,t.createElement(r,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(be,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(r,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(Y,{fontSize:"small"})))),d&&g&&t.createElement(p,null,t.createElement(o,{title:"Remove Row"},t.createElement(r,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(be,{fontSize:"small"})))),t.createElement(p,null)))))}function GroupEditTable(a){let n=a.columns,o=a.rows,l=a.editable,i=a.updateRow,c=a.validateRow,s=a.deleteRow,h=a.allowNewRowCreation,b=a.addRow,y=a.tableValid,f=a.removeRow,R=a.resetRow,S=a.closeRowOnClickAway,w=a.deleteRowPreEdit,_=a.handleEditClick,T=a.setRowToBeSaved,k=a.setRowToBeDeleted,C=a.removeRowOnDelete,v=a.editOnRowClick,x=_objectWithoutProperties(a,["columns","rows","editable","updateRow","validateRow","deleteRow","allowNewRowCreation","addRow","tableValid","removeRow","resetRow","closeRowOnClickAway","deleteRowPreEdit","handleEditClick","setRowToBeSaved","setRowToBeDeleted","removeRowOnDelete","editOnRowClick"]);const A=_slicedToArray(e.useState([]),2),D=A[0],P=A[1];e.useEffect(()=>{y&&y(!D.some(e=>!e.valid))},[D,y]);const handleRemoveRow=e=>{f(e)},handleIsRowValid=(e,t)=>{D.some(e=>e.id===t)?P(D.map(a=>a.id===t?_objectSpread2(_objectSpread2({},a),{},{valid:e}):a)):P([...D,{id:t,valid:e}]),y&&y(!D.some(e=>!e.valid))};return t.createElement(g,{style:{overflow:"auto"}},t.createElement(d,{style:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(E,null,n.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),s&&t.createElement(p,null))),t.createElement(u,null,o.map(e=>t.createElement(GroupEditableTableRow,_extends({key:e.id,row:e,columns:n,editable:l,updateRow:i,validateRow:c,removeRow:f?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:R,deleteRowPreEdit:w,handleEditClick:_,setRowToBeDeleted:k,setRowToBeSaved:T,removeRowOnDelete:C,closeRowOnClickAway:S,editOnRowClick:v},x))),l&&h&&t.createElement(E,null,t.createElement(p,null,t.createElement(r,{size:"small",onClick:()=>{b()},"data-testid":"addButton"},t.createElement(Re,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:n.shape({editing:n.bool,id:n.oneOfType([n.string,n.number]),toBeDeleted:n.bool,toBeSaved:n.bool,isNewRow:n.bool}).isRequired,columns:n.arrayOf(St).isRequired,updateRow:n.func.isRequired,editable:n.bool,removeRow:n.func,validateRow:n.func,isRowValid:n.func,resetRow:n.func,deleteRowPreEdit:n.bool,handleEditClick:n.func,setRowToBeDeleted:n.func,setRowToBeSaved:n.func.isRequired,removeRowOnDelete:n.bool,closeRowOnClickAway:n.bool,editOnRowClick:n.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:n.arrayOf(St).isRequired,rows:n.arrayOf(n.shape({})).isRequired,handleEditClick:n.func.isRequired,editable:n.bool,updateRow:n.func,validateRow:n.func,deleteRow:n.func,allowNewRowCreation:n.bool,addRow:n.func,tableValid:n.func,removeRow:n.func,resetRow:n.func,closeRowOnClickAway:n.bool,deleteRowPreEdit:n.bool,setRowToBeDeleted:n.func.isRequired,setRowToBeSaved:n.func.isRequired,removeRowOnDelete:n.bool,editOnRowClick:n.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const _t=s.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(a){let n=a.row,l=a.columns,i=a.saveRow,c=a.editable,s=a.isNewRow,d=a.removeRow,u=a.updateRow,m=a.validateRow,g=a.deleteRow,h=a.closeRowOnClickAway,b=a.deleteRowPreEdit,y=a.editOnRowClick,f=_objectWithoutProperties(a,["row","columns","saveRow","editable","isNewRow","removeRow","updateRow","validateRow","deleteRow","closeRowOnClickAway","deleteRowPreEdit","editOnRowClick"]);const R=_slicedToArray(e.useState(!1),2),S=R[0],w=R[1],_=_slicedToArray(e.useState({}),2),T=_[0],k=_[1],C=_slicedToArray(e.useState({}),2),v=C[0],x=C[1];e.useEffect(()=>{x(n),k(n),s&&w(!0)},[n,s]);const A=_t(),handleDeleteClick=()=>{g(v.id)},handleValueChange=(e,t)=>{u?u(v,x,e,t):x(_objectSpread2(_objectSpread2({},v),{},{[e]:t}))},handleEditButtonClick=()=>{w(!0)};return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&h&&h&&w(!1)})(e)},t.createElement(E,{onClick:!S&&y&&!b&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(n.id).concat(e.id),column:e,item:v,editable:c,editing:S,isNewRow:s,handleValueChange:handleValueChange},f))),c&&(S?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(r,{onClick:()=>{i(v)},color:"primary",variant:"contained",size:"small",classes:{root:A.button},disabled:!(()=>{let e=!0;return m&&(e=m(v)),l.forEach(t=>{!0!==t.required||v[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(ye,{style:{color:ke.grey[50]},fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(r,{onClick:()=>{s?d(v.id):(w(!1),x(T))},color:"secondary",variant:"outlined",classes:{root:A.button},size:"small","data-testid":"cancelButton"},t.createElement(Te,{fontSize:"small"})))),g&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(r,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:A.button},size:"small","data-testid":"deleteButton"},t.createElement(be,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(r,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:A.button},"data-testid":"editButton"},t.createElement(Y,{fontSize:"small"})))),!s&&g&&b&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(r,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:A.button},size:"small","data-testid":"deleteButton"},t.createElement(be,{fontSize:"small"})))),t.createElement(p,null)))))}function SingleEditTable(a){let n=a.columns,o=a.rows,l=a.saveRow,i=a.createRow,c=a.editable,s=a.newRow,h=a.updateRow,b=a.validateRow,y=a.deleteRow,f=a.allowNewRowCreation,R=a.closeRowOnClickAway,S=a.deleteRowPreEdit,w=a.editOnRowClick,_=a.newRowPosition,T=_objectWithoutProperties(a,["columns","rows","saveRow","createRow","editable","newRow","updateRow","validateRow","deleteRow","allowNewRowCreation","closeRowOnClickAway","deleteRowPreEdit","editOnRowClick","newRowPosition"]);const k=_slicedToArray(e.useState(!1),2),C=k[0],v=k[1],handleRemoveRow=()=>{v(!1)},renderNewRow=()=>C?t.createElement(SingleEditableTableRow,_extends({row:s,columns:n,saveRow:i,editable:c,isNewRow:!0,updateRow:h,validateRow:b,removeRow:handleRemoveRow,editOnRowClick:w},T)):t.createElement(E,null,t.createElement(p,null,t.createElement(r,{size:"small",onClick:()=>v(!0),"data-testid":"addButton"},t.createElement(Re,{size:"small"}))));return t.createElement(g,{style:{overflow:"auto"}},t.createElement(d,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(E,null,n.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),y&&t.createElement(p,null))),t.createElement(u,null,"top"===_&&c&&f&&t.createElement(t.Fragment,null," ",renderNewRow()," "),o.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:n,saveRow:l,editable:c,updateRow:h,validateRow:b,deleteRow:y,closeRowOnClickAway:R,deleteRowPreEdit:S,editOnRowClick:w})),"bottom"===_&&c&&f&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:n.shape({editing:n.bool,id:n.oneOfType([n.string,n.number])}).isRequired,columns:n.arrayOf(St).isRequired,saveRow:n.func,editable:n.bool,isNewRow:n.bool,removeRow:n.func,updateRow:n.func,validateRow:n.func,deleteRow:n.func,closeRowOnClickAway:n.bool,deleteRowPreEdit:n.bool,editOnRowClick:n.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:n.arrayOf(St).isRequired,rows:n.arrayOf(n.shape({})).isRequired,saveRow:n.func,createRow:n.func,editable:n.bool,newRow:n.shape({}),updateRow:n.func,validateRow:n.func,deleteRow:n.func,closeEditingOnSave:n.bool,allowNewRowCreation:n.bool,closeRowOnClickAway:n.bool,deleteRowPreEdit:n.bool,editOnRowClick:n.bool,newRowPosition:n.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const Tt={menu:menu,news:news};exports.BackButton=BackButton,exports.Breadcrumbs=Breadcrumbs,exports.CheckboxWithLabel=Fe,exports.CollectionSelectors=function CollectionSelectors(e,t="id"){this.getItems=t=>{const a=t[e];return a&&a.items?a.items:[]},this.getSearchItems=(t,a=null)=>{const r=t[e];return r?a?r.searchItems?r.searchItems.slice(0,a):[]:r.searchItems?r.searchItems:[]:[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getSearchLoading=t=>{const a=t[e];return a?a.searchLoading:null},this.getLinks=t=>{const a=t[e];return a&&a.links?a.links:[]},this.hasPrivilege=(e,t)=>{const a=this.getLinks(e);return!!a&&a.some(e=>e.rel===t)},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.CreateButton=Ge,exports.DatePicker=DatePicker,exports.DateTimePicker=DateTimePicker,exports.Dropdown=Dropdown,exports.EntityList=EntityList,exports.ErrorCard=je,exports.ExportButton=ExportButton,exports.FetchApiActions=function FetchApiActions(e,t,a,r,n,o){this.fetch=()=>({[te.RSAA]:{endpoint:"".concat(n).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchById=l=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchByPath=(l,i)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchPage=(l,i)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchSortedPage=(l,i,c,s)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l,"/").concat(i,"/").concat(c,"/").concat(s),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.search=l=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"?searchTerm=").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(r,t),receiveSearch(r,t,e),error(r,t,e)]}}),this.searchWithOptions=(l,i)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"?searchTerm=").concat(l).concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(r,t),receiveSearch(r,t,e),error(r,t,e)]}}),this.clearSearch=()=>({type:r["CLEAR_SEARCH_".concat(t)],payload:{}}),this.clearItems=()=>({type:r["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.GroupEditTable=GroupEditTable,exports.InputField=InputField,exports.ItemSelectors=function ItemSelectors(e){this.getItem=t=>{const a=t[e];return a&&a.item?a.item:null},this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getEditStatus=t=>{const a=t[e];return a?a.editStatus?a.editStatus:"view":null},this.getSnackbarVisible=t=>{const a=t[e];return a?a.snackbarVisible:null},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.ItemType=function ItemType(e,t,a){this.item=e,this.actionType=t,this.uri=a},exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.Loading=Loading,exports.MultiReportTable=MultiReportTable,exports.Navigation=Et,exports.NotFound=function NotFound(){return t.createElement(B,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(Title,{text:"Page not found"}))},exports.OnOffSwitch=OnOffSwitch,exports.Page=Page,exports.PaginatedTable=PaginatedTable,exports.PaginationSelectors=function PaginationSelectors(e,t="id"){this.getPage=t=>{const a=t[e].page;return a||null},this.getItems=t=>{const a=t[e].page.elements;return a||[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null}},exports.ProcessActions=function ProcessActions(e,t,a,r,n){this.requestProcessStart=o=>({[te.RSAA]:{endpoint:"".concat(n).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:o?JSON.stringify(o):"",types:[requested(r,t),receivedProcess(r,t,e),error(r,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:r["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:r["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:r["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:r["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const a=t[e];return a?a.working:null},this.getMessageVisible=t=>{const a=t[e];return a?a.messageVisible:null},this.getMessageText=t=>{const a=t[e];return a?a.messageText:null},this.getData=t=>{const a=t[e];return a?a.data:null}},exports.ReportActions=function ReportActions(e,t,a,r,n){this.fetchReport=o=>({[te.RSAA]:{endpoint:o?"".concat(n).concat(a,"?").concat(ae.stringify(o)):"".concat(n).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/json"},types:[requestReport(r,t,o),received(r,t,e),error(r,t,e)]}})},exports.ReportSelectors=function ReportSelectors(e){this.getReportState=t=>t[e]||{},this.getReportData=e=>{const t=this.getReportState(e);return t.results?t.results.data:null},this.getReportLoading=e=>{const t=this.getReportState(e);return!!t.results&&t.results.loading},this.getReportOptions=e=>this.getReportState(e).options},exports.ReportTable=ReportTable,exports.SaveBackCancelButtons=SaveBackCancelButtons,exports.SearchInputField=SearchInputField,exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.SnackbarMessage=SnackbarMessage,exports.StateApiActions=function StateApiActions(e,t,a,r,n,o){this.fetchState=()=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(o),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[requestedState(r,t),receivedState(r,t,e),error(r,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.Title=Title,exports.Typeahead=Typeahead,exports.TypeaheadDialog=TypeaheadDialog,exports.TypeaheadTable=TypeaheadTable,exports.UpdateApiActions=function UpdateApiActions(e,t,a,r,n,o){this.fetch=l=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchByHref=a=>({[te.RSAA]:{endpoint:"".concat(n).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchByPath=(l,i)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.fetchByQueryString=(l,i)=>({[te.RSAA]:{endpoint:"".concat(n).concat(a,"?").concat(l,"=").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(r,t),received(r,t,e),error(r,t,e)]}}),this.add=o=>({[te.RSAA]:{endpoint:"".concat(n).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o),types:[requestAdd(r,t),receiveAdded(r,t,e),error(r,t,e)]}}),this.update=(o,l)=>({[te.RSAA]:{endpoint:null!==o?"".concat(n).concat(a,"/").concat(o):"".concat(n).concat(a),method:"PUT",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l),types:[requestUpdate(r,t),receiveUpdated(r,t,e),error(r,t,e)]}}),this.delete=(o,l)=>({[te.RSAA]:{endpoint:null!==o?"".concat(n).concat(a,"/").concat(o):"".concat(n).concat(a),method:"DELETE",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):null,types:[requestDelete(r,t),receiveDeleted(r,t,e),error(r,t,e)]}}),this.reset=()=>({type:r["RESET_".concat(t)],payload:{}}),this.setEditStatus=e=>({type:r["SET_".concat(t,"_EDIT_STATUS")],payload:e}),this.clearErrorsForItem=()=>({type:r["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.create=()=>({type:r["REQUEST_CREATE_".concat(t)],payload:{}}),this.setSnackbarVisible=e=>!0===e?{type:r["SHOW_".concat(t,"_SNACKBAR")],payload:{}}:{type:r["HIDE_".concat(t,"_SNACKBAR")],payload:{}},this.clearItem=()=>({type:r["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ValidatedInputDialog=ValidatedInputDialog,exports.collectionStoreFactory=function collectionStoreFactory(e,t,a={loading:!1,searchLoading:!1,items:[],searchItems:[]}){const getItems=e=>e?e.map(e=>{return _objectSpread2(_objectSpread2({},t=e),{},{href:Ze.getSelfHref(t)});var t}):e;return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0});case t["REQUEST_APPLICATION_STATE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{applicationState:{loading:!0}});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,items:getItems(n.payload.data)});case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{applicationState:{links:n.payload.data?n.payload.data.links:[],loading:!1}});case t["REQUEST_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!0,searchItems:[]});case t["RECEIVE_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!1,searchItems:getItems(n.payload.data)});case t["CLEAR_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!1,searchItems:[]});case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1})}return r}},exports.collectionWithLinksStoreFactory=function collectionWithLinksStoreFactory(e,t,a={loading:!1,searchLoading:!1,items:[],searchItems:[],links:[]}){const getItems=e=>e?e.map(e=>{return _objectSpread2(_objectSpread2({},t=e),{},{href:Ze.getSelfHref(t)});var t}):e;return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,items:getItems(n.payload.data.responseData),links:n.payload.data.links});case t["REQUEST_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!0,searchItems:[]});case t["RECEIVE_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!1,searchItems:getItems(n.payload.data.responseData),links:n.payload.data.links});case t["CLEAR_SEARCH_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{searchLoading:!1,searchItems:[]});case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1})}return r}},exports.errorTheme=Oe,exports.fetchErrorReducer=function fetchErrorReducerFactory(e,t={requestErrors:[],itemErrors:[]}){return(a=t,r)=>{if(r.payload){if(r.payload.error&&e[r.payload.error.item]&&r.type==="FETCH_".concat(e[r.payload.error.item].actionType,"_ERROR"))return _objectSpread2(_objectSpread2({},a),{},{itemErrors:[...a.itemErrors,r.payload.error]});if(r.payload.item&&e[r.payload.item]){const t=e[r.payload.item];if((n=t.actionType,["RECEIVE_".concat(n),"RECEIVE_NEW_".concat(n),"RECEIVE_UPDATED_".concat(n)]).indexOf(r.type)>-1)return _objectSpread2(_objectSpread2({},a),{},{itemErrors:a.itemErrors.filter(e=>e.item!==r.payload.item)});if(r.type==="CLEAR_".concat(t.actionType,"_ERRORS"))return _objectSpread2(_objectSpread2({},a),{},{itemErrors:a.itemErrors.filter(e=>e.item!==r.payload.item)})}}var n;return"CLEAR_ITEM_ERRORS"===r.type?_objectSpread2(_objectSpread2({},a),{},{itemErrors:[]}):r.error?_objectSpread2(_objectSpread2({},a),{},{requestErrors:[...a.requestErrors,_objectSpread2(_objectSpread2({},r.payload),{},{type:r.type})]}):r.error?a:_objectSpread2(_objectSpread2({},a),{},{requestErrors:a.requestErrors.filter(e=>e.type!==r.type)})}},exports.fetchMenu=fetchMenu,exports.fetchNews=fetchNews,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var a,r,n,o,l;return(null===(a=getItemError(e,t))||void 0===a||null===(r=a.details)||void 0===r?void 0:r.message)||(null===(n=getItemError(e,t))||void 0===n||null===(o=n.details)||void 0===o||null===(l=o.errors)||void 0===l?void 0:l[0])||null},exports.getItemErrors=e=>{const t=e.errors;if(!t||!t.itemErrors)return null;const a=t.itemErrors;return a.length>0?a:null},exports.getPreviousPaths=e=>e.historyStore,exports.getRequestErrors=e=>{const t=e.errors;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getUsername=getUsername,exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.initialiseOnMount=initialiseOnMount,exports.itemStoreFactory=function itemStoreFactory(e,t,a={loading:!1,item:null,editStatus:"view",snackbarVisible:!1}){return(r=a,n)=>{switch(n.type){case t["REQUEST_ADD_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0,editStatus:"create"});case t["REQUEST_CREATE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,item:null,editStatus:"create"});case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{item:null,loading:!0,editStatus:"view"});case t["REQUEST_APPLICATION_STATE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{applicationState:{loading:!0}});case t["REQUEST_UPDATE_".concat(e)]:case t["REQUEST_DELETE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0});case t["FETCH_".concat(e,"_ERROR")]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1});case t["SET_".concat(e,"_EDIT_STATUS")]:return _objectSpread2(_objectSpread2({},r),{},{editStatus:n.payload});case t["RESET_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{editStatus:"view"});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,item:n.payload.data,editStatus:"view"});case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{applicationState:{links:n.payload.data?n.payload.data.links:[],loading:!1}});case t["RECEIVE_UPDATED_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,item:n.payload.data,editStatus:"view",snackbarVisible:!0});case t["RECEIVE_DELETED_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,item:n.payload.data,editStatus:"deleted",snackbarVisible:!0});case t["RECEIVE_NEW_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,item:n.payload.data,editStatus:"view",snackbarVisible:!0});case t["SHOW_".concat(e,"_SNACKBAR")]:return _objectSpread2(_objectSpread2({},r),{},{snackbarVisible:!0});case t["HIDE_".concat(e,"_SNACKBAR")]:return _objectSpread2(_objectSpread2({},r),{},{snackbarVisible:!1});case t["CLEAR_".concat(e,"_DATA")]:return a}return r}},exports.linnTheme=Ie,exports.makeActionTypes=(e,t=!0,a=!1)=>{const r={};return r["REQUEST_".concat(e)]="REQUEST_".concat(e),r["REQUEST_APPLICATION_STATE_".concat(e)]="REQUEST_APPLICATION_STATE_".concat(e),r["RECEIVE_".concat(e)]="RECEIVE_".concat(e),r["RECEIVE_APPLICATION_STATE_".concat(e)]="RECEIVE_APPLICATION_STATE_".concat(e),r["REQUEST_SEARCH_".concat(e)]="REQUEST_SEARCH_".concat(e),r["RECEIVE_SEARCH_".concat(e)]="RECEIVE_SEARCH_".concat(e),r["CLEAR_SEARCH_".concat(e)]="CLEAR_SEARCH_".concat(e),r["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),r["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),r["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t&&(r["REQUEST_ADD_".concat(e)]="REQUEST_ADD_".concat(e),r["REQUEST_CREATE_".concat(e)]="REQUEST_CREATE_".concat(e),r["REQUEST_UPDATE_".concat(e)]="REQUEST_UPDATE_".concat(e),r["RECEIVE_UPDATED_".concat(e)]="RECEIVE_UPDATED_".concat(e),r["RESET_".concat(e)]="RESET_".concat(e),r["RECEIVE_NEW_".concat(e)]="RECEIVE_NEW_".concat(e),r["SET_".concat(e,"_EDIT_STATUS")]="SET_".concat(e,"_EDIT_STATUS"),r["SHOW_".concat(e,"_SNACKBAR")]="SHOW_".concat(e,"_SNACKBAR"),r["HIDE_".concat(e,"_SNACKBAR")]="HIDE_".concat(e,"_SNACKBAR")),a&&(r["REQUEST_DELETE_".concat(e)]="REQUEST_DELETE_".concat(e),r["RECEIVE_DELETED_".concat(e)]="RECEIVE_DELETED_".concat(e)),r},exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.makeReportActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t},exports.markNotificationSeen=markNotificationSeen,exports.menu=menu,exports.menuSelectors=nt,exports.news=news,exports.newsSelectors=ot,exports.paginationStoreFactory=function paginationStoreFactory(e,t,a={loading:!1,page:{elements:[]}}){const getItems=e=>{if("undefined"!==e.elements){const t=e.elements.map(e=>{return _objectSpread2(_objectSpread2({},t=e),{},{href:Ze.getSelfHref(t)});var t});return _objectSpread2(_objectSpread2({},e),{},{elements:t})}return e};return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,page:getItems(n.payload.data)})}return r}},exports.processStoreFactory=function processStoreFactory(e,t,a={working:!1,messageText:"",messageVisible:!1},r="Completed successfully"){return(n=a,o)=>{switch(o.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},n),{},{working:!0,data:null});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},n),{},{working:!1,messageText:(l=o.payload,l.data&&l.data.message?l.data.message:r),messageVisible:!0,data:o.payload.data});case t["SHOW_".concat(e,"_MESSAGE")]:return _objectSpread2(_objectSpread2({},n),{},{messageVisible:!0});case t["HIDE_".concat(e,"_MESSAGE")]:return _objectSpread2(_objectSpread2({},n),{},{messageVisible:!1});case t["CLEAR_".concat(e,"_DATA")]:return _objectSpread2(_objectSpread2({},n),{},{working:!1,messageText:r,messageVisible:!1,data:null})}var l;return n}},exports.reducers=Tt,exports.reportOptionsFactory=function reportOptionsFactory(e,t,a={}){return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2({},n.payload.options);default:return r}}},exports.reportResultsFactory=function reportResultsFactory(e,t,a={loading:!1,data:null}){return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0,data:null});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,data:n.payload.data.reportResults?n.payload.data.reportResults[0]:n.payload.data});case t["FETCH_".concat(e,"_ERROR")]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1});default:return r}}},exports.reportsResultsFactory=function reportsResultsFactory(e,t,a={loading:!1,data:null}){return(r=a,n)=>{switch(n.type){case t["REQUEST_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!0,data:null});case t["RECEIVE_".concat(e)]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1,data:n.payload.data.reportResults});case t["FETCH_".concat(e,"_ERROR")]:return _objectSpread2(_objectSpread2({},r),{},{loading:!1});default:return r}}},exports.smartGoBack=(e,t)=>{var a;null!=e&&null!==(a=e[e.length-1])&&void 0!==a&&a.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=({rows:t,defaultRow:a,setEditStatus:r})=>{const n=_slicedToArray(e.useState([]),2),o=n[0],l=n[1],i=_slicedToArray(e.useState(),2),c=i[0],s=i[1];e.useEffect(()=>{l(t)},[t]);return{data:o,setData:l,addRow:()=>{r&&r("edit"),l(a?[...o,_objectSpread2(_objectSpread2({},a),{},{editing:!0,isNewRow:!0})]:[...o,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,a,n)=>{r&&r("edit"),l(()=>o.map(t=>t.id===e.id?_objectSpread2(_objectSpread2({},t),{},{[a]:n,editing:!0}):t))},removeRow:e=>{r&&r("edit"),l(o.filter(t=>t.id!==e))},resetRow:e=>{const a=t.find(t=>t.id===e.id);l(()=>o.map(t=>t.id===e.id?_objectSpread2(_objectSpread2({},a),{},{editing:!1}):t))},setRowToBeDeleted:(e,t)=>{r&&r("edit"),l(o.map(a=>a.id===e?_objectSpread2(_objectSpread2({},a),{},{toBeDeleted:t,editing:!t}):a))},setRowToBeSaved:(e,t)=>{l(o.map(a=>a.id===e?_objectSpread2(_objectSpread2({},a),{},{toBeSaved:t,editing:!t}):a))},setEditing:(e,t)=>{l(a=>a.map(a=>a.id===e?_objectSpread2(_objectSpread2({},a),{},{editing:t,toBeSaved:!1,toBeDeleted:!1}):a))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{l(o.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{l(o.map(e=>!0===e.editing?_objectSpread2(_objectSpread2({},t.find(t=>t.id===e.id)),{},{editing:!1}):e))},valid:c}},exports.useSearch=useSearch,exports.useTablePagination=function useTablePagination(t,a){const r=_slicedToArray(e.useState({orderBy:"",orderAscending:!1,currentPage:0,rowsPerPage:10}),2),n=r[0],o=r[1];return e.useEffect(()=>{n.orderBy&&a?a(n.currentPage+1,n.rowsPerPage,n.orderBy,n.orderAscending):t(n.currentPage+1,n.rowsPerPage)},[n.currentPage,n.rowsPerPage,n.orderBy,n.orderAscending,t,a]),[n,o]},exports.utilities=Ze;
|
|
1
|
+
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var e=require("react"),t=_interopDefault(e),a=_interopDefault(require("@material-ui/styles/makeStyles")),n=_interopDefault(require("@material-ui/core/Button")),r=_interopDefault(require("prop-types")),o=_interopDefault(require("@material-ui/core/Tooltip")),l=_interopDefault(require("@material-ui/core/SvgIcon")),i=_interopDefault(require("@material-ui/core/Typography")),s=_interopDefault(require("@material-ui/core/Link")),c=require("@material-ui/styles"),u=_interopDefault(require("@material-ui/core/Table")),d=_interopDefault(require("@material-ui/core/TableBody")),p=_interopDefault(require("@material-ui/core/TableCell")),m=_interopDefault(require("@material-ui/core/TableHead")),g=_interopDefault(require("@material-ui/core/TableRow")),E=_interopDefault(require("@material-ui/core/Paper")),h=_interopDefault(require("numeral")),y=_interopDefault(require("@material-ui/core/Modal")),f=require("react-router-dom"),b=_interopDefault(require("@material-ui/core/Card")),R=_interopDefault(require("@material-ui/icons/Error")),w=_interopDefault(require("@material-ui/core/styles/withStyles")),T=require("@material-ui/core/styles"),S=_interopDefault(require("@material-ui/core/colors/red")),k=_interopDefault(require("@material-ui/core/colors/pink")),C=_interopDefault(require("classnames")),v=_interopDefault(require("@material-ui/core/Box")),_=_interopDefault(require("@material-ui/core/CircularProgress")),x=_interopDefault(require("@material-ui/core/TextField")),A=_interopDefault(require("@material-ui/core/InputLabel")),D=_interopDefault(require("@material-ui/core/FormControlLabel")),q=_interopDefault(require("@material-ui/core/Checkbox")),I=_interopDefault(require("@material-ui/styles/withStyles")),P=_interopDefault(require("@material-ui/core/InputAdornment")),O=_interopDefault(require("moment")),L=_interopDefault(require("@material-ui/core/List")),N=_interopDefault(require("@material-ui/core/ListItem")),B=_interopDefault(require("@material-ui/core/Divider")),F=_interopDefault(require("@material-ui/core/Grid")),V=_interopDefault(require("@material-ui/core/Dialog")),W=_interopDefault(require("@material-ui/core/IconButton")),H=_interopDefault(require("@material-ui/icons/Close")),U=require("@material-ui/core"),z=require("notistack"),M=_interopDefault(require("@material-ui/core/Switch")),Q=_interopDefault(require("@material-ui/core/Snackbar")),j=require("@material-ui/pickers"),G=_interopDefault(require("@material-ui/core/TablePagination")),Y=_interopDefault(require("@material-ui/core/TableSortLabel")),K=_interopDefault(require("@material-ui/icons/Edit")),J=_interopDefault(require("@material-ui/core/LinearProgress")),X=_interopDefault(require("@material-ui/icons/FirstPage")),Z=_interopDefault(require("@material-ui/icons/KeyboardArrowLeft")),$=_interopDefault(require("@material-ui/icons/KeyboardArrowRight")),ee=_interopDefault(require("@material-ui/icons/LastPage")),te=_interopDefault(require("@material-ui/icons/Search")),ae=require("redux-api-middleware"),ne=_interopDefault(require("query-string")),re=require("react-redux"),oe=require("react-router"),le=_interopDefault(require("@material-ui/core/Tabs")),ie=_interopDefault(require("@material-ui/core/Tab")),se=_interopDefault(require("@material-ui/core/AppBar")),ce=_interopDefault(require("@material-ui/core/ClickAwayListener")),ue=_interopDefault(require("@material-ui/core/Menu")),de=_interopDefault(require("@material-ui/core/MenuItem")),pe=_interopDefault(require("@material-ui/core/Toolbar")),me=_interopDefault(require("@material-ui/core/Badge")),ge=_interopDefault(require("@material-ui/icons/AccountCircle")),Ee=_interopDefault(require("@material-ui/icons/Notifications")),he=_interopDefault(require("@material-ui/core/ListItemSecondaryAction")),ye=_interopDefault(require("@material-ui/core/ListItemText")),fe=_interopDefault(require("@material-ui/icons/Delete")),be=_interopDefault(require("@material-ui/icons/Done")),Re=_interopDefault(require("@material-ui/styles/ThemeProvider")),we=_interopDefault(require("@material-ui/icons/Add")),Te=_interopDefault(require("clsx")),Se=_interopDefault(require("@material-ui/icons/Save")),ke=_interopDefault(require("@material-ui/icons/Clear")),Ce=require("@material-ui/core/colors");const ve=a(()=>({pullLeft:{float:"left"}})),BackButton=e=>{let{backClick:a,text:r}=e;const o=ve();return t.createElement("div",{className:o.pullLeft},t.createElement(n,{id:"back-button",onClick:()=>a()},r||"Back"))};BackButton.propTypes={backClick:r.func.isRequired,text:r.string},BackButton.defaultProps={text:null};const ExportButton=e=>{let{href:a}=e;return t.createElement("div",{style:{float:"right"}},t.createElement(o,{title:"Download report as CSV file",placement:"top-end"},t.createElement(n,{href:a,color:"primary",variant:"outlined"},"Export",t.createElement(l,null,t.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"})))))};ExportButton.propTypes={href:r.string.isRequired};const _e=c.makeStyles(()=>({root:{width:"100%"},link:{"&:hover":{cursor:"pointer"}}})),Slash=()=>t.createElement(t.Fragment,null," "," / "," ");function Breadcrumbs(a){let{history:n,rootPathLength:r,homeUrl:o}=a;const l=_e();let c=n.location.pathname;c.endsWith("/")&&(c=c.substring(0,c.length-1));const u=c.split("/").filter(e=>"report"!==e).reduce((e,t,a,o)=>{c=o.slice(0,a+1);const l=c.join("/")||"/";return t?[...e,{key:a,caption:t,href:l,onClick:e=>(e=>{c.length>r&&(e.preventDefault(),n.push(l))})(e)}]:e},[]);return t.createElement("div",{className:l.root},t.createElement(t.Fragment,null,t.createElement(s,{key:"home",href:o,classes:{root:l.link},variant:"button"},"HOME"),t.createElement(Slash,null)),u.map((a,n)=>n<u.length-1?t.createElement(e.Fragment,{key:n},t.createElement(s,{key:a.href,to:a.href,classes:{root:l.link},variant:"button",onClick:a.onClick},a.caption),t.createElement(Slash,null)):t.createElement(i,{display:"inline",variant:"button",key:n},a.caption)))}Breadcrumbs.propTypes={history:r.shape({push:r.func,location:r.shape({pathname:r.string})}).isRequired,rootPathLength:r.number,homeUrl:r.string},Breadcrumbs.defaultProps={rootPathLength:2,homeUrl:"https://app.linn.co.uk"};const xe=c.makeStyles(e=>({pullRight:{float:"right"},cancel:{marginRight:e.spacing(1)}}));function SaveBackCancelButtons(e){let{saveClick:a,cancelClick:r,saveDisabled:o,backClick:l}=e;const i=xe();return t.createElement("div",{className:i.pullRight},t.createElement(n,{id:"cancel-button",onClick:()=>{o?l():r()},variant:"outlined",className:i.cancel},o?"Back":"Cancel"),t.createElement(n,{id:"save-button",variant:"contained",color:"primary",onClick:()=>a(),disabled:o},"Save"))}SaveBackCancelButtons.propTypes={saveClick:r.func.isRequired,cancelClick:r.func.isRequired,backClick:r.func.isRequired,saveDisabled:r.bool},SaveBackCancelButtons.defaultProps={saveDisabled:!1};const Ae=a(e=>({link:{textDecoration:"none",color:e.palette.primary.main,padding:0,"&:hover":{cursor:"pointer",textDecoration:"underline",background:"transparent"}}}));function LinkOrAnchor(e){let{hasExternalLinks:a,text:r,href:o}=e;const l=Ae();return a?t.createElement("a",{style:{textDecoration:"none"},href:o},t.createElement(n,{size:"small",className:l.link},r)):t.createElement(s,{className:l.link,component:f.Link,to:o}," ",r," ")}const format=(e,t,a,n)=>{let r;return r=n&&"0"!==n?".".concat(Array(n+1).join("0")):"",e||0===e?(t||"")+h(e).format("0,0".concat(r))+(a||""):null},setDrilldown=(e,t)=>{let a,n;e&&e.hasOwnProperty("displayString")?(a=e.displayString,e.drillDowns.length>0&&(n=e.drillDowns[0].href)):a=e;return n?LinkOrAnchor({hasExternalLinks:t,text:a,href:n}):a},formatTitle=(a,n,r,o,l)=>{if(o)return t.createElement("strong",null,"Error");if(!n)return"";let s;return s=a&&a.displayString?a.displayString:a,r?t.createElement(i,{variant:"subtitle1"},"".concat(s," (loading)")):t.createElement(e.Fragment,null,t.createElement("div",null,t.createElement(i,{variant:"subtitle1"},setDrilldown(a))),l?t.createElement("div",null,t.createElement(y,{"aria-labelledby":"simple-modal-title","aria-describedby":"simple-modal-description"},l)):"")},setValueDrilldown=(e,t)=>{let a;if(e&&(e.displayValue||0===e.displayValue))if(e.drillDowns&&e.drillDowns.length>0){const n=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces),{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,href:r,text:n})}else a=format(e.displayValue,e.prefix,e.suffix,e.decimalPlaces);else a=null;return a},De=r.shape({rowHeader:r.string.isRequired,columnHeaders:r.arrayOf(r.string).isRequired,varianceColumns:r.arrayOf(r.number).isRequired}),qe=r.shape({rowTitle:r.object.isRequired,rowSortOrder:r.number,values:r.arrayOf(r.object).isRequired}),Ie=r.shape({title:r.object,resultType:r.string,reportValueType:r.string,headers:De,results:r.arrayOf(qe).isRequired,totals:qe}),Title=e=>{let{text:a}=e;return t.createElement(i,{variant:"h4",gutterBottom:!0},a)};Title.propTypes={text:r.string.isRequired};const Pe=T.createTheme({palette:{background:{paper:S[100]}}}),Oe=T.createTheme({palette:{primary:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastText:"rgba(0, 0, 0, 0.87)",dark:"#0097a7",light:"#4dd0e1",main:"#00acc1"},secondary:k}}),ErrorCard=e=>{let{classes:a,errorMessage:n}=e;return t.createElement(T.MuiThemeProvider,{theme:Pe},t.createElement(b,{className:a.root},t.createElement(R,{color:"error",className:a.icon}),t.createElement(i,{align:"center",className:a.typography},n)))};ErrorCard.propTypes={classes:r.shape({}),errorMessage:r.string.isRequired},ErrorCard.defaultProps={classes:{}};var Le=w(()=>({root:{display:"flex",justifyContent:"center",width:"50%",margin:"auto",padding:10},icon:{marginRight:5},typography:{fontSize:16}}))(ErrorCard);const Ne=a(()=>({subTotal:{fontWeight:"bolder"},root:{width:"100%",overflow:"auto",textAlign:"center",pageBreakInside:"avoid"},rootAllowsPageBreaks:{width:"100%",overflow:"auto",textAlign:"center"},numberField:{textAlign:"right"},noWrap:{whiteSpace:"nowrap"},smallCol:{width:"100px",overflow:"auto"},mediumCol:{width:"200px",overflow:"auto"},largeCol:{width:"300px",overflow:"auto"}})),setCellClasses=(e,t,a,n,r,o,l,i,s)=>{let c="";return("Subtotal"===n||l)&&(c+="".concat(e.subTotal," ")),o||a||(c+="".concat(e.numberField," ")),i||(c+="".concat(e.noWrap," ")),s&&(c+="".concat(s," ")),c},setHeaderCellClasses=(e,t,a,n,r,o)=>{let l="";return a||(l+="".concat(e.numberField," ")),"small"===r&&(l+="".concat(e.smallCol," ")),"medium"===r&&(l+="".concat(e.mediumCol," ")),"large"===r&&(l+="".concat(e.largeCol," ")),o&&(l+="".concat(o," ")),l},Results=e=>{let{reportData:a,classes:n,title:r,showTitle:o,showTotals:l,hasExternalLinks:i,showRowTitles:s,columnClasses:c,allowPageBreakInside:h}=e;return t.createElement(E,{className:h?n.rootAllowsPageBreaks:n.root},t.createElement(Title,{text:formatTitle(r,o,!a,a&&a.error,a?a.reportHelpText:"")}),t.createElement("div",{style:{backgroundColor:"white"}},t.createElement(u,{size:"small"},t.createElement(m,{key:"headers"},t.createElement(g,null,s?t.createElement(p,null," ",a.headers.rowHeader," "):null,a.headers.columnHeaders.map((e,r)=>t.createElement(p,{className:setHeaderCellClasses(n,a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),c?c[r]:null),key:e},e)))),t.createElement(d,null,a.results.map((e,r)=>t.createElement(g,{key:r},s?t.createElement(p,{className:n.noWrap},setDrilldown(e.rowTitle,i)):null,e.values.map((r,o)=>t.createElement(p,{className:setCellClasses(n,r&&r.displayValue,r?r.textDisplayValue:null,e.rowType,a.headers.varianceColumns.includes(o),a.headers.textColumns.includes(o),a.headers.totalColumns.includes(o),!r||r.allowWrap),key:o},setValueDrilldown(r,i),((e,t)=>{let a;if(e&&e.textDisplayValue)if(e.drillDowns&&e.drillDowns.length>0){const n=e.textDisplayValue,{href:r}=e.drillDowns[0];a=LinkOrAnchor({hasExternalLinks:t,text:n,href:r})}else a=e.textDisplayValue;else a=null;return a})(r,i))))),!!l&&t.createElement(g,{key:"totals"},s?t.createElement(p,null,a.totals.rowTitle.displayString):null,a.totals.values.map((e,r)=>t.createElement(p,{className:setCellClasses(n,e&&e.displayValue,e?e.textDisplayValue:null,"Total",a.headers.varianceColumns.includes(r),a.headers.textColumns.includes(r),a.headers.totalColumns.includes(r),!e||e.allowWrap),key:r},setValueDrilldown(e,i))))))))};function ReportTable(e){let{placeholderRows:a,placeholderColumns:n,reportData:r,hasExternalLinks:o,title:l,showTitle:i,showTotals:s,showRowTitles:c,columnClasses:m,allowPageBreakInside:h}=e;const y=Ne();return r?r.message?t.createElement(Le,{errorMessage:r.message}):Results({reportData:r,hasExternalLinks:o,classes:y,title:l,showRowTitles:c,showTitle:i,showTotals:s,columnClasses:m,allowPageBreakInside:h}):t.createElement(E,{className:h?y.rootAllowsPageBreaks:y.root},t.createElement(u,null,t.createElement(d,null,[...Array(a).keys()].map(e=>t.createElement(g,{key:e},[...Array(n).keys()].map(e=>t.createElement(p,{key:e})))))))}Results.propTypes={hasExternalLinks:r.bool,reportData:Ie,classes:r.shape({root:r.shape({}),noWrap:r.shape({}),rootAllowsPageBreaks:r.shape({})}).isRequired,title:r.oneOfType([r.string,r.shape({})]),showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool.isRequired},Results.defaultProps={reportData:null,title:null,showTitle:!0,showTotals:!0,showRowTitles:!0,hasExternalLinks:!1,columnClasses:null},ReportTable.propTypes={hasExternalLinks:r.bool,placeholderRows:r.number.isRequired,placeholderColumns:r.number.isRequired,reportData:r.shape({}),columnClasses:r.arrayOf(r.string),allowPageBreakInside:r.bool},ReportTable.defaultProps={reportData:null,placeholderRows:5,placeholderColumns:6,hasExternalLinks:!1,columnClasses:null,allowPageBreakInside:!1};const setPageBreaks=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return C(a,{"new-page-after":t.includes(e)})},Placeholder=e=>{let{rows:a,columns:n}=e;return t.createElement("table",{className:"table placeholder table-placeholder"},t.createElement("tbody",null,[...Array(a).keys()].map(e=>t.createElement("tr",{key:e},[...Array(n).keys()].map(e=>t.createElement("td",{key:e}))))))},Results$1=e=>{let{reportData:a,showTotals:n,placeholderRows:r,placeholderColumns:o,pageBreaksAfter:l,fixColumnWidths:i,containsSubtotals:s,showRowTitles:c,showTitle:u,allowPageBreakInside:d}=e;return t.createElement("div",null,a.error?(p=a.message,t.createElement("h5",{className:"error-message"},p)):t.createElement(t.Fragment,null,a.sort((e,t)=>e.displaySequence>t.displaySequence?1:t.displaySequence>e.displaySequence?-1:0).map((e,p)=>t.createElement(v,{paddingBottom:3,key:p,className:setPageBreaks(p,l)},formatTitle(e.title,u,!a,a&&a.error),t.createElement(ReportTable,{reportData:e,containsSubtotals:s,showTitle:!1,showTotals:n,fixColumnWidths:i,placeholderRows:r,placeholderColumns:o,showRowTitles:c,allowPageBreakInside:d})))));var p},MultiReportTable=e=>{let{reportData:a,title:n,showTitle:r,showTotals:o,placeholderRows:l,placeholderColumns:i,pageBreaksAfter:s,fixColumnWidths:c,containsSubtotals:u,showRowTitles:d,allowPageBreakInside:p}=e;return t.createElement("div",null,((e,a,n,r)=>{if(!a)return!1;if(r)return t.createElement("strong",null,"Error");let o;return o=e&&e.displayString?e.displayString:e,n?t.createElement("h5",null,"".concat(o," (loading)")):t.createElement("strong",null,o)})(n,r,!a,a&&a.error),a?t.createElement(Results$1,{reportData:a,showTotals:o,placeholderRows:10,placeholderColumns:3,showRowTitles:d,containsSubtotals:u,pageBreaksAfter:s,fixColumnWidths:c,showTitle:r,allowPageBreakInside:p}):t.createElement("div",null,t.createElement(Placeholder,{rows:l,columns:i}),t.createElement(Placeholder,{rows:l,columns:i})))};MultiReportTable.propTypes={reportData:r.arrayOf(r.shape({})),title:r.string,showTitle:r.bool,showTotals:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool},MultiReportTable.defaultProps={reportData:[],title:"",showTitle:!0,showTotals:!0,showRowTitles:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1,allowPageBreakInside:!1},Results$1.propTypes={reportData:r.arrayOf(r.shape({})),showTotals:r.bool,showTitle:r.bool,showRowTitles:r.bool,placeholderRows:r.number,placeholderColumns:r.number,pageBreaksAfter:r.arrayOf(r.number),fixColumnWidths:r.bool,containsSubtotals:r.bool,allowPageBreakInside:r.bool.isRequired},Results$1.defaultProps={reportData:[],showTotals:!0,showRowTitles:!0,showTitle:!0,placeholderRows:4,placeholderColumns:4,pageBreaksAfter:[],fixColumnWidths:!1,containsSubtotals:!1},Placeholder.propTypes={rows:r.number,columns:r.number},Placeholder.defaultProps={rows:4,columns:4};const Be=T.makeStyles(e=>({outer:{textAlign:"center",margin:e.spacing(4),height:"40px"}}));function Loading(){const e=Be();return t.createElement("div",{className:e.outer},t.createElement(_,null))}const Fe=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},helperText:{color:e.palette.error.main},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue=e=>e||0===e,hasDisplayText=e=>e.some(e=>e.displayText||""===e.displayText),getOptions=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(a)return["loading..."];const n=e?[...e]:[];return t&&(hasDisplayText(e)?n.push({id:"",displayText:""}):n.push("")),n};function Dropdown(e){let{onChange:a,optionsLoading:n,propertyName:r,required:o,disabled:l,label:i,items:s,allowNoValue:c,value:u,helperText:d,fullWidth:p,adornment:m,type:g,error:E,margin:h,autoFocus:y}=e;const f=Fe();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:f.label,asterisk:f.labelAsterisk},required:o,error:E,htmlFor:r},i),t.createElement(x,{classes:{root:f.root},autoFocus:y,error:E,id:r,type:g,select:!0,adornment:m,disabled:l,fullWidth:p,value:(b=u,hasValue(b)?b:""),onChange:e=>(e=>{const t=e.target.value;let n;n="number"===g?hasValue(t)?parseFloat(t):null:hasValue(t)?t:"",a(r,n)})(e),SelectProps:{native:!0},helperText:d,margin:h,variant:"outlined",required:o,InputProps:{classes:{disabled:f.disabled}},FormHelperTextProps:{classes:{required:f.required,error:f.error}}},hasDisplayText(s)?getOptions(s,c,n).map(e=>t.createElement("option",{key:e.id,value:e.id},e.displayText)):getOptions(s,c,n).map(e=>t.createElement("option",{key:e,value:e},e))));var b}Dropdown.propTypes={adornment:r.string,disabled:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,items:r.oneOfType([r.arrayOf(r.string),r.arrayOf(r.number),r.arrayOf(r.shape({id:r.oneOfType([r.PropTypes.string,r.PropTypes.number]),displayText:r.string}))]),propertyName:r.string.isRequired,required:r.bool,value:e=>{const{items:t,value:a,allowNoValue:n,optionsLoading:r}=e;return null===a?new Error("Please provide a value that is not null"):r||((e,t)=>hasDisplayText(t)?t.some(t=>t.id===e):t.includes(e))(a,getOptions(t,n))?null:new Error("Please provide a value that is in the items list")},type:r.string,onChange:r.func.isRequired,error:r.bool,margin:r.string,allowNoValue:r.bool,optionsLoading:r.bool,autoFocus:r.bool},Dropdown.defaultProps={adornment:"",disabled:!1,fullWidth:!1,items:[],helperText:"",type:"text",required:!1,value:"",error:!1,margin:"dense",allowNoValue:!0,optionsLoading:!1,label:"",autoFocus:!1};const CheckboxWithLabel=e=>{let{classes:a,checked:n,color:r="primary",label:o,onChange:l}=e;return t.createElement(D,{label:o,classes:{label:"".concat(a.root)},control:t.createElement(q,{checked:n,onChange:l,color:r})})};CheckboxWithLabel.propTypes={classes:r.shape({}),checked:r.bool,color:r.string,label:r.string,onChange:r.func.isRequired},CheckboxWithLabel.defaultProps={classes:{},checked:!1,color:"primary",label:""};var Ve=I({root:{width:"100%",fontSize:14}})(CheckboxWithLabel);function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}const We=a(e=>({root:{paddingTop:0,marginTop:e.spacing(1)},disabled:{background:e.palette.grey[100],color:e.palette.text.secondary},label:{fontSize:e.typography.fontSize},labelAsterisk:{color:e.palette.error.main},required:{color:e.palette.error.main},error:{color:e.palette.error.main}})),hasValue$1=e=>e||0===e;function InputField(e){let{onChange:a,propertyName:n,type:r,adornment:o,disabled:l,error:i,fullWidth:s,helperText:c,label:u,margin:d,maxLength:p,rows:m,name:g,placeholder:E,required:h,value:y,decimalPlaces:f,textFieldProps:b,autoFocus:R}=e;const w=We();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:w.label,asterisk:w.labelAsterisk},required:h,error:i,htmlFor:n},u),t.createElement(x,_extends({classes:{root:w.root},disabled:l,error:i,fullWidth:s,helperText:c,margin:d,multiline:m>0,name:g,id:n,placeholder:E,required:h,rows:m,type:r,value:"date"===r?O(y).format("YYYY-MM-DD"):(T=y,hasValue$1(T)?T:""),onChange:e=>(e=>{const t=e.target.value;let o=t;"date"===r&&(o=t?O(t).utc().format():""),"number"===r&&(o=hasValue$1(t)?parseFloat(t):null,o&&f&&t.indexOf(".")<t.length-f&&-1!==t.indexOf(".")&&(o=parseFloat(t.slice(0,t.indexOf(".")+f+1)))),a(n,o)})(e),InputProps:{startAdornment:o?t.createElement(P,{position:"start"},o):null,inputProps:{maxLength:p},classes:{disabled:w.disabled}},FormHelperTextProps:{classes:{required:w.required,error:w.error}},onInput:e=>{"number"===r&&p&&(e.target.value=e.target.value.slice(0,p))},variant:"outlined",autoFocus:R},b)));var T}InputField.propTypes={adornment:r.oneOfType([r.string,r.shape({})]),disabled:r.bool,error:r.bool,fullWidth:r.bool,helperText:r.string,label:r.string,margin:r.string,maxLength:r.number,required:r.bool,rows:r.number,name:r.string,placeholder:r.string,propertyName:r.string.isRequired,type:r.string,value:r.oneOfType([r.string,r.number]),onChange:r.func,decimalPlaces:r.number,textFieldProps:r.shape({}),autoFocus:r.bool},InputField.defaultProps={adornment:"",disabled:!1,error:!1,fullWidth:!1,helperText:"",label:"",margin:"dense",maxLength:null,required:!1,rows:null,name:"",placeholder:"",type:"text",value:"",onChange:null,decimalPlaces:null,textFieldProps:null,autoFocus:!1};const He=a(e=>({button:{marginLeft:e.spacing(1),marginTop:e.spacing(3)},a:{textDecoration:"none"}}));function LinkButton(e){let{to:a,external:r,tooltip:l,text:i,disabled:s}=e;const c=He(),button=()=>l?t.createElement(o,{title:l},t.createElement("div",null,t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i))):t.createElement(n,{color:"primary","aria-label":"Search",variant:"outlined",className:c.button,disabled:s},i);return s?button():t.createElement("div",null,r?t.createElement("a",{className:c.a,href:a},button()):t.createElement(f.Link,{className:c.a,to:a},button()))}function useSearch(t,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:500,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;const[s,c]=e.useState(null),u=e.useRef(),d=e.useRef(),p=e.useRef();e.useEffect(()=>{u.current=t},[t]),e.useEffect(()=>{d.current=s},[s]),e.useEffect(()=>{n&&(p.current=n)},[n]),e.useEffect(()=>{a&&(null==a?void 0:a.toString().replace(/\s/g,"").length)>=i?(d.current&&clearTimeout(d.current),c(r?setTimeout(()=>u.current(r,a),l):o?setTimeout(()=>u.current(a,o),l):setTimeout(()=>u.current(a),l))):d.current&&clearTimeout(d.current),p.current&&p.current()},[a,r])}LinkButton.propTypes={text:r.string.isRequired,tooltip:r.string,to:r.string.isRequired,external:r.bool,disabled:r.bool},LinkButton.defaultProps={external:!1,disabled:!1,tooltip:null};const SearchIcon=e=>t.createElement(U.IconButton,{onClick:()=>!!e&&e()},t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},t.createElement("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}))),Ue=a(e=>({a:{textDecoration:"none"},nameText:{fontWeight:e.typography.fontWeightBold},bodyText:{color:e.palette.text.primary},pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)},clearButtonInline:{marginTop:e.spacing(1),display:"inline-block"},clearButton:{padding:"7px 0px"}}));function Typeahead(a){let{fetchItems:l,items:c,title:u,loading:d,clearSearch:p,modal:m,openModalOnClick:g,handleFieldChange:E,links:h,label:y,onSelect:b,value:R,placeholder:w,disabled:T,minimumSearchTermLength:S,debounce:k,searchButtonOnly:C,propertyName:v,priorityFunction:_,resultLimit:x,clearable:A,clearTooltipText:D,onClear:q}=a;const[I,P]=e.useState(""),[O,U]=e.useState(!1),z=Ue();useSearch(l,I,p,null,null,k,S);const handleSearchTermChange=function(){P(arguments.length<=1?void 0:arguments[1])},handleClick=e=>{m&&U(!1),p&&p(),P(null),h||b(e)},Item=e=>{let{item:a,onClick:n}=e;return t.createElement(N,{button:!0,onClick:m?n:void 0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:z.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,{classes:{root:z.bodyText}},a.description))))};Item.propTypes={item:r.shape({name:r.string,description:r.string,href:r.string}).isRequired,onClick:r.func},Item.defaultProps={onClick:null};const results=()=>{var a;if(d)return t.createElement(Loading,null);let n=c;return _&&(n=n.map(e=>({...e,priority:_(e,I)})).sort((e,t)=>e.priority>t.priority?-1:e.priority<t.priority?1:0)),x&&(n=n.slice(0,x)),(null===(a=n)||void 0===a?void 0:a.length)>0?t.createElement(L,{dense:!0},n.map(a=>t.createElement(e.Fragment,{key:a.id},h?t.createElement(s,{className:z.a,component:f.Link,to:null==a?void 0:a.href},t.createElement(Item,{item:a,onClick:()=>handleClick(a)})):t.createElement(Item,{item:a,onClick:()=>handleClick(a)}),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")};return t.createElement(t.Fragment,null,m?t.createElement(t.Fragment,null):t.createElement(Title,{text:u}),m&&C?t.createElement(o,{title:y},t.createElement(W,{disabled:T,onClick:()=>{U(!0),p()}},SearchIcon())):t.createElement(InputField,{adornment:SearchIcon(()=>U(!0)),propertyName:v,textFieldProps:{onClick:()=>{T||g&&(U(!0),p())},disabled:T},value:m?R:I,label:y,placeholder:w,onChange:m&&!g?E:m&&g?()=>U(!0):handleSearchTermChange}),A&&t.createElement("div",{className:z.clearButtonInline},t.createElement(o,{title:D},t.createElement(n,{variant:"outlined",onClick:q,disabled:T,className:z.clearButton},"X"))),m?t.createElement(V,{"data-testid":"modal",open:O,onClose:()=>U(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:z.pullRight,"aria-label":"Close",onClick:()=>U(!1)},t.createElement(H,null)),t.createElement("div",{className:z.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},u),t.createElement(InputField,{propertyName:v,adornment:SearchIcon(),textFieldProps:{autoFocus:!0},placeholder:w,onChange:handleSearchTermChange,value:I}),d?t.createElement(Loading,null):results()))):results())}const ze={id:r.oneOfType([r.string,r.number]),name:r.oneOfType([r.string,r.number]),description:r.string,href:r.string};Typeahead.propTypes={propertyName:r.string,items:r.arrayOf(r.shape(ze)).isRequired,title:r.string,loading:r.bool,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,modal:r.bool,openModalOnClick:r.bool,handleFieldChange:r.func,links:r.bool,label:r.string,onSelect:r.func,value:r.string,placeholder:r.string,disabled:r.bool,minimumSearchTermLength:r.number,debounce:r.number,searchButtonOnly:r.bool,priorityFunction:r.func,resultLimit:r.number,clearable:r.bool,clearTooltipText:r.string,onClear:r.func},Typeahead.defaultProps={title:"",loading:!1,modal:!1,openModalOnClick:!0,links:!0,label:null,onSelect:null,value:null,placeholder:"Search by id or by description",disabled:!1,minimumSearchTermLength:1,debounce:500,searchButtonOnly:!1,propertyName:"",priorityFunction:null,resultLimit:null,handleFieldChange:null,resultLimit:null,clearable:!1,clearTooltipText:"Clear",onClear:()=>{}};const Me=a(e=>({root:{padding:e.spacing(4)},breadcrumbs:{marginTop:e.spacing(4),marginLeft:e.spacing(4),marginRight:e.spacing(4),padding:e.spacing(2)},grid:{marginTop:e.spacing(4),width:"100%"}})),Qe={xs:4,s:6,m:8,l:10,xl:12},je={xs:4,s:3,m:2,l:1,xl:!1};function Page(a){let{children:n,history:r,width:o,requestErrors:l,showRequestErrors:i,homeUrl:s,showBreadcrumbs:c}=a;const u=Me(),{enqueueSnackbar:d}=z.useSnackbar();return e.useEffect(()=>{l&&i&&l.forEach(e=>{d("".concat(e.message," - ").concat(e.type),{variant:"error",preventDuplicate:!0})})},[l,d]),t.createElement(t.Fragment,null,t.createElement(F,{container:!0,spacing:3,className:u.grid},t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:10,className:"hide-when-printing"},c&&t.createElement(Breadcrumbs,{history:r,homeUrl:s})),t.createElement(F,{item:!0,xs:1}),t.createElement(F,{item:!0,xs:je[o]}),t.createElement(F,{item:!0,xs:Qe[o]},t.createElement(E,{className:u.root,square:!0},n)),t.createElement(F,{item:!0,xs:je[o]})))}Page.propTypes={children:r.node.isRequired,history:r.shape({}).isRequired,width:r.oneOf(["xs","s","m","l","xl"]),showRequestErrors:r.bool,requestErrors:r.arrayOf(r.shape({})),homeUrl:r.string,showBreadcrumbs:r.bool},Page.defaultProps={width:"l",showRequestErrors:!1,requestErrors:[],homeUrl:null,showBreadcrumbs:!0};function EntityList(a){let{title:n,entityList:r,entityId:o,descriptionFieldName:l,hasExternalLinks:s}=a;const c=s?"a":f.Link;return t.createElement(e.Fragment,null,t.createElement(Title,{text:n}),t.createElement(L,null,r.map(e=>t.createElement(N,{key:e[o],button:!0,component:c,to:e.href,href:e.href},t.createElement(i,{color:"primary",variant:"subtitle2"},((e,t,a)=>a?"".concat(e[t]," - ").concat(e[a]):e[t])(e,o,l))))))}EntityList.propTypes={title:r.string,entityId:r.string.isRequired,entityList:r.arrayOf(r.shape({})).isRequired,descriptionFieldName:r.string,hasExternalLinks:r.bool},EntityList.defaultProps={descriptionFieldName:null,title:"",hasExternalLinks:!1};const CreateButton=e=>{let{createUrl:a,classes:r,disabled:o}=e;return t.createElement(f.Link,{to:a},t.createElement(n,{color:"primary",variant:"outlined",className:r.root,disabled:o},"Create"))};CreateButton.propTypes={createUrl:r.string.isRequired,classes:r.shape({}).isRequired,disabled:r.bool},CreateButton.defaultProps={disabled:!1};var Ge=I(()=>({root:{float:"right"}}))(CreateButton);class OnOffSwitch extends t.Component{change(){const{onChange:e,propertyName:t,value:a}=this.props;e(t,!a)}render(){const{value:e,label:a,disabled:n}=this.props;return t.createElement(D,{control:t.createElement(M,{checked:e,onChange:()=>this.change(),value:e,color:"primary",disabled:n}),label:a})}}OnOffSwitch.propTypes={value:r.bool,disabled:r.bool,label:r.string,onChange:r.func.isRequired,propertyName:r.string.isRequired},OnOffSwitch.defaultProps={value:!1,disabled:!1,label:""};const Ye=a(e=>({root:{backgroundColor:e.palette.primary.main}}));function SnackbarMessage(e){let{message:a,visible:n,onClose:r,timeOut:o}=e;const l=Ye();return t.createElement(Q,{anchorOrigin:{vertical:"bottom",horizontal:"left"},ContentProps:{classes:{root:l.root}},open:n,autoHideDuration:o,onClose:()=>r(!1),message:a,action:[t.createElement(W,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>r(!1)},t.createElement(H,null))]})}SnackbarMessage.propTypes={classes:r.shape({}),message:r.string.isRequired,timeOut:r.number,visible:r.bool,onClose:r.func.isRequired},SnackbarMessage.defaultProps={classes:{},timeOut:3e3,visible:!1};const Ke=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Je=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DatePicker(e){let{value:a,minDate:n,maxDate:r,label:o,onChange:l,required:i,disabled:s}=e;const c=Je(),u=Ke();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:u.root},required:i},o),t.createElement(j.KeyboardDatePicker,{allowKeyboardControl:!0,margin:"dense",inputVariant:"outlined",autoOk:!0,format:"DD/MM/YYYY",value:a,minDate:n,maxDate:r,onChange:l,classes:c,disabled:s,className:c.root,InputAdornmentProps:{className:c.root},InputProps:{classes:{disabled:c.disabled}}}))}DatePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,required:r.bool,value:r.oneOfType([r.shape({}),r.string]),disabled:r.bool,onChange:r.func},DatePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}};const Xe=T.makeStyles(e=>({root:{fontSize:e.typography.fontSize}})),Ze=T.makeStyles(e=>({root:{marginTop:e.spacing(1),fontSize:e.typography.fontSize}}));function DateTimePicker(a){let{label:n,value:r,onChange:o,minDate:l,maxDate:i,required:s,disabled:c}=a;const u=Ze(),d=Xe();return t.createElement(e.Fragment,null,t.createElement(A,{classes:{root:d.root},required:s},n),t.createElement(j.KeyboardDateTimePicker,{allowKeyboardControl:!0,autoOk:!0,margin:"dense",inputVariant:"outlined",ampm:!1,value:r,minDate:l,maxDate:i,onChange:o,classes:u,className:u.root,disabled:c,InputAdornmentProps:{className:u.root},InputProps:{classes:{disabled:u.disabled}},format:"DD/MM/YYYY HH:mm"}))}function SearchInputField(e){let{autoFocus:a,...n}=e;return t.createElement(InputField,_extends({adornment:SearchIcon(),autoFocus:a},n))}DateTimePicker.propTypes={label:r.string,minDate:r.string,maxDate:r.string,onChange:r.func,required:r.bool,value:r.string,disabled:r.bool},DateTimePicker.defaultProps={label:"",minDate:void 0,maxDate:void 0,required:!1,value:(new Date).toISOString(),disabled:!1,onChange:()=>{}},SearchInputField.propTypes={autoFocus:r.bool},SearchInputField.defaultProps={autoFocus:!1};const $e={getHref:(e,t)=>{if(e&&e.links&&e.links.length>0){const a=e.links.find(e=>e.rel===t);return a?a.href:null}return null},getSelfHref:e=>$e.getHref(e,"self"),sortList:e=>e.slice().sort((e,t)=>e<t?-1:e>t?1:0),sortEntityList:(e,t)=>e.slice().sort((e,a)=>e[t]<a[t]?-1:e[t]>a[t]?1:0)},et=a(e=>({root:{flexShrink:0,color:e.palette.text.secondary,marginLeft:e.spacing(2),direction:e.direction}}));function TablePaginationActions(e){let{count:a,page:n,rowsPerPage:r,onChangePage:o}=e;const l=et();return t.createElement("div",{className:l.root},t.createElement(W,{onClick:function handleFirstPageButtonClick(e){o(e,0)},disabled:0===n,"aria-label":"First Page"},"rtl"===l.direction?t.createElement(ee,null):t.createElement(X,null)),t.createElement(W,{onClick:function handleBackButtonClick(e){o(e,n-1)},disabled:0===n,"aria-label":"Previous Page"},"rtl"===l.direction?t.createElement($,null):t.createElement(Z,null)),t.createElement(W,{onClick:function handleNextButtonClick(e){o(e,n+1)},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Next Page"},"rtl"===l.direction?t.createElement(Z,null):t.createElement($,null)),t.createElement(W,{onClick:function handleLastPageButtonClick(e){o(e,Math.max(0,Math.ceil(a/r)-1))},disabled:n>=Math.ceil(a/r)-1,"aria-label":"Last Page"},"rtl"===l.direction?t.createElement(X,null):t.createElement(ee,null)))}TablePaginationActions.propTypes={count:r.number.isRequired,onChangePage:r.func.isRequired,page:r.number.isRequired,rowsPerPage:r.number.isRequired};const tt=a(e=>({link:{"&:hover":{cursor:"pointer"}},button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},exandedRow:{background:e.palette.grey[100]},expandedTitleText:{fontWeight:e.typography.fontWeightBold}}));function PaginatedTable(a){let{sortable:r,handleRowLinkClick:o,expandable:l,loading:s,columns:c,rows:E,pageOptions:h,setPageOptions:y,totalItemCount:f}=a;const[b,R]=e.useState(),w=tt();return t.createElement(u,{size:"small"},t.createElement(m,null,t.createElement(g,null,Object.keys(c).map(e=>r?t.createElement(p,{key:e,sortDirection:h.orderBy===e&&h.orderAscending?"asc":"desc"},t.createElement(Y,{active:h.orderBy===e,direction:h.orderAscending?"asc":"desc",onClick:()=>{return t=e,void y(e=>({...e,orderBy:t,orderAscending:!e.orderAscending}));var t}},c[e])):t.createElement(p,{key:e},c[e])),l&&t.createElement(p,null,"Actions"))),s?t.createElement(d,null,t.createElement(p,{colspan:Object.keyscolumns().length+1},t.createElement(J,null))," "):t.createElement(e.Fragment,null,t.createElement(d,null,E.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(g,{key:a.id,className:w.link,hover:!0,onClick:()=>{return l?(e=a.id,R(b===e?null:e)):o($e.getSelfHref(a));var e}},Object.keys(a).filter(e=>(e=>"elements"!==e&&"links"!==e&&"href"!==e&&"id"!==e)(e)).map(e=>t.createElement(p,{key:e,component:"th",scope:"row"},a[e]||"-")),l&&t.createElement(p,null,t.createElement(n,{classes:{root:w.button},key:$e.getSelfHref(a),onClick:()=>o($e.getSelfHref(a)),size:"small",variant:"outlined",color:"primary"},t.createElement(K,{fontSize:"small"})))),l&&b===a.id&&a.elements&&t.createElement(e.Fragment,null,a.elements.map(e=>t.createElement(g,{colSpan:Object.keys(c).length+1,key:e.id},Object.keys(e).filter(e=>"id"!==e).map(a=>t.createElement(p,{key:a,classes:{root:w.exandedRow},size:"small"},t.createElement(i,{classes:{root:w.expandedTitleText},variant:"caption"},a,":"),t.createElement(i,{variant:"caption"}," ".concat(e[a]))))))))),f&&t.createElement(g,null,t.createElement(G,{rowsPerPageOptions:[5,10,25,50],count:f,rowsPerPage:h.rowsPerPage,page:h.currentPage,SelectProps:{native:!0},onChangePage:(e,t)=>{y(e=>({...e,currentPage:t}))},onChangeRowsPerPage:e=>{const{value:t}=e.target;y(e=>({...e,rowsPerPage:parseInt(t,10),currentPage:0}))},ActionsComponent:TablePaginationActions})))))}PaginatedTable.propTypes={sortable:r.bool,handleRowLinkClick:r.func.isRequired,expandable:r.bool,loading:r.bool,columns:r.shape({}).isRequired,rows:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired,elements:r.arrayOf(r.shape({id:r.oneOfType([r.number,r.string]).isRequired}))})),pageOptions:r.shape({orderBy:r.string,orderAscending:r.bool,currentPage:r.number,rowsPerPage:r.number}).isRequired,setPageOptions:r.func.isRequired,totalItemCount:r.number},PaginatedTable.defaultProps={rows:[],sortable:!1,expandable:!1,loading:!1,totalItemCount:0};const at=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)}}));function TypeaheadTable(a){let{fetchItems:n,table:r,columnNames:o,title:l,loading:s,clearSearch:c,history:E,placeholder:h,label:y,debounce:f,searchOptions:b,queryString:R,minimumSearchTermLength:w,modal:T,links:S,disabled:k,onSelect:C,value:v}=a;const[_,x]=e.useState(),[A,D]=e.useState(!1);useSearch(n,_,c,R,b,f,w);const q=at(),handleSearchTermChange=(e,t)=>{x(t)},I={cursor:"pointer",textDecoration:"none"},results=()=>r.rows.length>0?t.createElement(u,null,t.createElement(m,null,t.createElement(g,null,o.map(e=>t.createElement(p,{key:e},e)))),t.createElement(d,null,r.rows&&r.rows.map(e=>t.createElement(g,{style:I,onClick:()=>{return S?E.push($e.getSelfHref(e)):(t=e,T&&D(!1),c&&c(),x(null),void(S||C(t)));var t},hover:!0,key:e.id},e.values.map(e=>t.createElement(p,{key:e.id,component:"th",scope:"row"},e.value)))))):t.createElement(i,null,"No matching items"),renderTypeahead=()=>t.createElement(t.Fragment,null,l&&t.createElement(Title,{text:l}),t.createElement(SearchInputField,{placeholder:h,onChange:handleSearchTermChange,type:"search",label:y,variant:"outlined",value:_,textFieldProps:{autoFocus:!0}}),s?t.createElement(Loading,null):results());return T?t.createElement(t.Fragment,null,t.createElement(InputField,{adornment:SearchIcon(),textFieldProps:{onClick:()=>{k||(D(!0),c())},disabled:k},value:T?v:_,label:y,placeholder:h,onChange:T?()=>D(!0):handleSearchTermChange}),t.createElement(V,{"data-testid":"modal",open:A,onClose:()=>D(!1),fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:q.pullRight,"aria-label":"Close",onClick:()=>D(!1)},t.createElement(H,null)),t.createElement("div",{className:q.dialog},renderTypeahead())))):t.createElement(t.Fragment,null," ",renderTypeahead())}TypeaheadTable.propTypes={table:r.shape({rows:r.arrayOf(r.shape({Id:r.oneOfType([r.string,r.number]),values:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number]),value:r.string}))})).isRequired}),columnNames:r.arrayOf(r.string).isRequired,history:r.shape({push:r.func}).isRequired,fetchItems:r.func.isRequired,clearSearch:r.func.isRequired,title:r.string,loading:r.bool,placeholder:r.string,label:r.string,debounce:r.number,minimumSearchTermLength:r.number,queryString:r.string,searchOptions:r.string,modal:r.bool,links:r.bool,onSelect:r.func,disabled:r.bool,value:r.string},TypeaheadTable.defaultProps={title:null,loading:!1,placeholder:"",table:{rows:[]},label:"",debounce:500,minimumSearchTermLength:1,queryString:"",searchOptions:"",modal:!1,links:!0,onSelect:null,disabled:!1,value:null};const nt=a(e=>({pullRight:{float:"right"},a:{textDecoration:"none"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},nameText:{fontWeight:e.typography.fontWeightMedium},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function TypeaheadDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,onSelect:u,clearSearch:d,debounce:p,minimumSearchTermLength:m}=a;const[g,E]=e.useState(),[h,y]=e.useState(!1),f=nt();useSearch(s,g,d,null,null,p,m);const handleClose=()=>{y(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{y(!0)},variant:"outlined",className:f.button},t.createElement(te,null))),t.createElement(V,{open:h,onClose:handleClose,fullWidth:!0,maxWidth:"md",disableAutoFocus:!0},t.createElement("div",null,t.createElement(W,{className:f.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:f.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(SearchInputField,{placeholder:"Search by id or description",onChange:function(){E(arguments.length<=1?void 0:arguments[1])},label:"",value:g,autoFocus:!0}),l?t.createElement(Loading,null):c.length>0?t.createElement(L,null,c.map(a=>t.createElement(e.Fragment,{key:a.id},t.createElement(N,{onClick:()=>{return e=a,y(!1),d(),E(null),void u(e);var e},button:!0},t.createElement(F,{container:!0,spacing:3},t.createElement(F,{item:!0,xs:3},t.createElement(i,{classes:{root:f.nameText}},a.name)),t.createElement(F,{item:!0,xs:9},t.createElement(i,null,a.description)))),t.createElement(B,{component:"li"})))):t.createElement(i,null,"No matching items")))))}TypeaheadDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onSelect:r.func.isRequired,clearSearch:r.func.isRequired,debounce:r.number,minimumSearchTermLength:r.number},TypeaheadDialog.defaultProps={title:"Start typing to search",loading:!1,debounce:500,minimumSearchTermLength:1};const successPayload=e=>async(t,a,n)=>({data:await n.json(),item:e}),requested=(e,t)=>({type:e["REQUEST_".concat(t)],payload:{}}),requestedState=(e,t)=>({type:e["REQUEST_APPLICATION_STATE_".concat(t)],payload:{}}),requestAdd=(e,t)=>({type:e["REQUEST_ADD_".concat(t)],payload:{}}),requestUpdate=(e,t)=>({type:e["REQUEST_UPDATE_".concat(t)],payload:{}}),requestDelete=(e,t)=>({type:e["REQUEST_DELETE_".concat(t)],payload:{}}),receiveUpdated=(e,t,a)=>({type:e["RECEIVE_UPDATED_".concat(t)],payload:successPayload(a)}),received=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receivedState=(e,t,a)=>({type:e["RECEIVE_APPLICATION_STATE_".concat(t)],payload:successPayload(a)}),receiveAdded=(e,t,a)=>({type:e["RECEIVE_NEW_".concat(t)],payload:successPayload(a)}),receivedProcess=(e,t,a)=>({type:e["RECEIVE_".concat(t)],payload:successPayload(a)}),receiveDeleted=(e,t,a)=>({type:e["RECEIVE_DELETED_".concat(t)],payload:successPayload(a)}),requestSearch=(e,t)=>({type:e["REQUEST_SEARCH_".concat(t)],payload:{}}),requestReport=(e,t,a)=>({type:e["REQUEST_".concat(t)],payload:{options:a}}),receiveSearch=(e,t,a)=>({type:e["RECEIVE_SEARCH_".concat(t)],payload:successPayload(a)}),error=(e,t,a)=>({type:e["FETCH_".concat(t,"_ERROR")],payload:async(e,t,n)=>n?{error:{status:n.status,statusText:"Error - ".concat(n.status," ").concat(n.statusText),details:await n.json(),item:a}}:"Network request failed"});const receiveTypes=e=>["RECEIVE_".concat(e),"RECEIVE_NEW_".concat(e),"RECEIVE_UPDATED_".concat(e)],fetchNews=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/notifications"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_NEWS",payload:{}},{type:"RECEIVE_NEWS",payload:async(e,t,a)=>({news:await a.json(),item:"news"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}}),markNotificationSeen=e=>({type:"MARK_NOTIFICATION_SEEN",title:e.title}),fetchMenu=(e,t)=>({[ae.RSAA]:{endpoint:"".concat(t,"/intranet/menu-no-auth"),method:"GET",options:{requiresAuth:!1},headers:{Accept:"application/json"},types:[{type:"REQUEST_MENU",payload:{}},{type:"RECEIVE_MENU",payload:async(e,t,a)=>({menu:await a.json(),item:"menu"})},{type:"FETCH_ERROR",payload:(e,t,a)=>a?"Report - ".concat(a.status," ").concat(a.statusText):"Network request failed"}]}});function menu(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,data:null},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_MENU":return{...e,loading:!0,data:null};case"RECEIVE_MENU":return{...e,loading:!1,data:t.payload.menu};default:return e}}function news(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!1,seen:[],unseen:[]},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"REQUEST_NEWS":return{...e,loading:!0};case"RECEIVE_NEWS":return{...e,loading:!1,unseen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>!localStorage.getItem(e.title)):[],seen:t.payload.news.notifications?t.payload.news.notifications.filter(e=>localStorage.getItem(e.title)):[]};case"MARK_NOTIFICATION_SEEN":return{...e,seen:[...e.seen,...e.unseen.filter(e=>e.title===t.title)],unseen:e.unseen.filter(e=>e.title!==t.title)};default:return e}}const rt={getSections:e=>{const{menu:t}=e;return t&&t.data?t.data.sections:null},getMenuSection:(e,t)=>{const a=rt.getSections(e);if(a){const e=a.filter(e=>e.id===t),{columns:n}=e[0];return n}return[]},getMyStuff:e=>{const{menu:t}=e;return t&&t.data?t.data.myStuff:null},getMenuLoading:e=>!!e&&e.loading},ot={getSeenNotifications:e=>{const{news:t}=e;return t?t.seen:null},getUnseenNotifications:e=>{const{news:t}=e;return t?t.unseen:null},getNewsLoading:e=>{const{news:t}=e;return t.loading}},getUsername=e=>{const{oidc:t}=e;return t.user?t.user.profile.preferred_username:null},initialiseOnMount=a=>function HOC(n){const{initialise:r,itemId:o}=n;return e.useEffect(()=>{r&&o?r({itemId:o}):r&&r(n)},[r,o]),t.createElement(a,n)},lt={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1}};function Panel(e){let{section:a,classes:r,close:o}=e;const{columns:l}=a;return t.createElement(E,{classes:{root:r.paper}},t.createElement(n,{onClick:o,color:"secondary",style:lt.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0,justifyContent:"flex-start"},l.map((e,a)=>t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,key:a},e.categories.filter(e=>e.items.filter(e=>e.showInMenu).length>0).map(e=>t.createElement(L,{key:e.title},t.createElement(N,null,t.createElement(i,{variant:"button",gutterBottom:!0},e.title.replace("&","&"))),e.items.map(e=>t.createElement("div",{key:e.href},e.showInMenu&&t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:r.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:r.menuItems},color:"primary"},e.title))))))))),t.createElement(F,{item:!0,xs:12},t.createElement("a",{href:"/".concat(a.id)},t.createElement(n,{onClick:o,color:"primary",style:{marginRight:"10px",marginBottom:"10px",float:"right"}},"SHOW ALL OPTIONS...")," "))))}Panel.propTypes={classes:r.shape({}).isRequired,section:r.shape({}).isRequired,close:r.func.isRequired};var it=w(lt)(Panel);const st={listItemText:{"&:first-child":{paddingLeft:30,paddingTop:0,paddingBottom:0}},paper:{backgroundColor:"#f5f5f5",position:"relative",zIndex:-1},menuItems:{fontSize:"12px",lineHeight:2},closeButton:{marginRight:"10px",marginTop:"10px",position:"absolute",top:0,right:0,zIndex:1},searchInputField:{float:"right"}};function SearchPanel(a){let{menu:r,classes:o,close:l}=a;const[s,c]=e.useState(),u=r.map(e=>e.columns).flat().map(e=>e.categories).flat().map(e=>e.items).flat(),d=Object.values(u.reduce((e,t)=>e[t.href]?e:{...e,[t.href]:t},{}));return t.createElement(E,{classes:{root:o.paper}},t.createElement(n,{onClick:l,color:"secondary",style:st.closeButton},t.createElement(H,null)),t.createElement(F,{container:!0},t.createElement(F,{item:!0,xs:12,sm:6,md:4,lg:3,xl:3,"justify-content":"flex-end"},t.createElement(SearchInputField,{value:s,onChange:(e,t)=>{c(t)},textFieldProps:{autoFocus:!0},placeholder:"start typing..."}),(null==s?void 0:s.length)>1&&d.filter(e=>e.title.toLowerCase().includes(s.toLowerCase())||e.href.toLowerCase().includes(s.toLowerCase())).map(e=>t.createElement(t.Fragment,{key:e.href},t.createElement("a",{href:e.href,style:{textDecoration:"none"}},t.createElement(N,{classes:{root:o.listItemText},button:!0},t.createElement(i,{variant:"overline",classes:{overline:o.menuItems},color:"primary"},e.title))))))))}SearchPanel.propTypes={classes:r.shape({listItemText:r.string,menuItems:r.string,paper:r.string}).isRequired,close:r.func.isRequired,menu:r.arrayOf(r.shape({})).isRequired};var ct=w(st)(SearchPanel);function Navigation(a){let{classes:r,sections:o,loading:l,username:s,myStuff:c,seenNotifications:u,unseenNotifications:d,markNotificationSeen:p,authRoot:m}=a;const[g,E]=e.useState(!1),[h,y]=e.useState(),{enqueueSnackbar:f,closeSnackbar:b}=z.useSnackbar();if(o){const e=o.map(e=>e.id),handleClick=e=>{y(e.currentTarget)},handleClose=()=>{y()},handleSignOut=()=>{window.location.assign("".concat(m,"account/logout"))},actions=(e,a)=>t.createElement(t.Fragment,null,t.createElement(n,{variant:"contained",onClick:()=>{window.location=$e.getSelfHref(a)}},"View"),t.createElement(n,{onClick:()=>{b(e),localStorage.setItem(a.title,a.content),p(a)}},"Dismiss")),noNotifications=()=>!u&&!d||u.length+d.length===0,queueNotifications=()=>{noNotifications()?f("No notifications to show!",{anchorOrigin:{vertical:"bottom",horizontal:"right"},variant:"info",preventDuplicate:!0}):d.concat(u).forEach((e,t)=>{setTimeout(()=>{f("".concat(e.title," ").concat(e.content),{anchorOrigin:{vertical:"bottom",horizontal:"right"},ContentProps:{classes:{root:localStorage.getItem(e.title)?r.snackbarSeen:r.snackbarNew}},action:t=>actions(t,e),preventDuplicate:!0})},200*t)})};return t.createElement(t.Fragment,null,t.createElement(ce,{onClickAway:()=>E(!1)},t.createElement("div",{className:"hide-when-printing"},t.createElement("div",{className:r.root},o&&!l&&t.createElement(se,{position:"static",classes:{root:r.appBar}},t.createElement(pe,{classes:{gutters:r.toolbar}},t.createElement(F,{container:!0,alignItems:"center",justifyContent:"space-between",spacing:3,classes:{container:r.container}},t.createElement(F,{item:!0,xs:9},t.createElement(le,{classes:{root:r.tabs},value:g,onChange:(e,t)=>{E(g!==t&&t)},scrollButtons:"auto",variant:"scrollable",indicatorColor:"primary",textColor:"primary"},o.map(e=>t.createElement(ie,{id:e.id,key:e.id,classes:{root:r.tab},label:t.createElement("span",{className:r.tabLabel},e.title),selected:!1})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(ge,{className:r.icons,"aria-owns":h?"simple-menu":void 0,onClick:handleClick,id:o.length,key:o.length}))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(me,{badgeContent:d?d.length:0,color:"primary",variant:"dot"},t.createElement(Ee,{className:r.icons,onClick:queueNotifications})))),t.createElement(F,{item:!0,xs:1},t.createElement(i,{variant:"h4"},t.createElement(te,{className:r.icons,onClick:()=>E(o.length)}))),t.createElement(ue,{id:"simple-menu",anchorEl:h,open:Boolean(h),onClose:handleClose},t.createElement(de,{onClick:handleClose},s),s&&c.groups.map(e=>t.createElement("span",{key:e.items[0].href},t.createElement("a",{href:e.items[0].href},t.createElement(de,{onClick:handleClose},e.items[0].title)))),t.createElement(de,{onClick:handleSignOut},"Sign Out"))))),e.map((e,a)=>g===a&&t.createElement(it,{key:e,section:o.find(t=>t.id===e),id:e,style:{align:"right"},anchorEl:e.id,close:()=>E(!1)})),g===o.length&&t.createElement(ct,{menu:o,close:()=>E(!1)})))))}return t.createElement("div",{className:r.root},t.createElement(se,{position:"static",color:"default"},t.createElement(pe,{classes:{gutters:r.toolbar}})))}Navigation.propTypes={classes:r.shape({snackbarNew:r.string,snackbarSeen:r.string,root:r.string,tabs:r.string,tab:r.string,tabLabel:r.string,toolbar:r.string,container:r.string,appBar:r.string,icons:r.string}).isRequired,sections:r.arrayOf(r.shape({})),history:r.shape({}).isRequired,loading:r.bool,username:r.string,myStuff:r.shape({groups:r.arrayOf(r.shape({}))}),seenNotifications:r.arrayOf(r.shape({})),unseenNotifications:r.arrayOf(r.shape({})),markNotificationSeen:r.func.isRequired,authRoot:r.string.isRequired},Navigation.defaultProps={sections:null,myStuff:null,seenNotifications:[],unseenNotifications:[],loading:!1,username:""};var ut=w(e=>({root:{position:"absolute",width:"100%",top:0,zIndex:10},tabLabel:{fontSize:e.typography.fontSize,color:e.palette.grey[200]},snackbarNew:{background:e.palette.primary.dark,width:"800px"},snackbarSeen:{width:"800px"},panel:{position:"relative"},menuButton:{marginLeft:-12,marginRight:20},tab:{...e.mixins.toolbar,minWidth:"100px"},toolbar:{paddingLeft:0,paddingRight:0},tabs:{...e.mixins.toolbar,paddingLeft:40},container:{width:"100%"},appBar:{backgroundColor:e.palette.grey[800]},icons:{cursor:"pointer",color:"white"}}))(Navigation);var dt={appRoot:"",...window.APPLICATION_SETTINGS};const pt={initialise:e=>e=>{e(fetchMenu(0,dt.proxyRoot)),e(fetchNews(0,dt.proxyRoot))},markNotificationSeen:markNotificationSeen};var mt=oe.withRouter(re.connect(e=>({sections:rt.getSections(e),myStuff:rt.getMyStuff(e),username:getUsername(e),loading:rt.getMenuLoading(e),seenNotifications:ot.getSeenNotifications(e),unseenNotifications:ot.getUnseenNotifications(e),authRoot:dt.authorityUri}),pt)(initialiseOnMount(ut)));const getItemError=(e,t)=>{const{errors:a}=e;return a&&a.itemErrors&&a.itemErrors.find(e=>e.item&&e.item===t)||null},gt=T.makeStyles(()=>({list:e=>{const t={width:"100%",position:"relative",overflow:"auto"};return e.maxHeight?{...t,maxHeight:e.maxHeight}:t}}));function SelectedItemsList(e){let{items:a,removeItem:n,title:r,maxHeight:o}=e;const l=gt({maxHeight:o});return t.createElement(t.Fragment,null,t.createElement(i,{variant:"body1"},r),t.createElement(L,{dense:!0,className:l.list},a.map(e=>t.createElement(t.Fragment,null,t.createElement(N,{key:e.id?e.id:e},t.createElement(ye,{primary:e.displayText?e.displayText:e}),n?t.createElement(he,null,t.createElement(W,{edge:"end","aria-label":"delete",onClick:()=>n(e.Id?e.Id:e)},t.createElement(fe,null))):""),t.createElement(B,null)))))}SelectedItemsList.propTypes={items:r.arrayOf(r.oneOfType([r.string,r.shape({})])),removeItem:r.func,title:r.string,maxHeight:r.number},SelectedItemsList.defaultProps={items:[],removeItem:null,title:"Items Selected",maxHeight:null};const Et=T.createTheme({palette:{primary:{main:"#4BB543"},secondary:{main:"#FF9494"}}}),ht=T.createTheme({palette:{primary:{main:"#FF9494"}}}),yt=a(e=>({pullRight:{float:"right"},dialog:{margin:e.spacing(6),minWidth:e.spacing(62)},button:{marginLeft:e.spacing(1),marginTop:e.spacing(1)}}));function ValidatedInputDialog(a){let{title:r,loading:l,fetchItems:s,searchItems:c,clearSearch:u,onAccept:d}=a;const[p,m]=e.useState(),[g,E]=e.useState(!1),h=yt();useSearch(s,p,u);const handleClose=()=>{E(!1)};return t.createElement(t.Fragment,null,t.createElement(o,{title:r},t.createElement(n,{color:"primary","aria-label":"Search",onClick:()=>{E(!0)},variant:"outlined",className:h.button},t.createElement(K,null))),t.createElement(V,{open:g,onClose:handleClose,fullWidth:!0,maxWidth:"md"},t.createElement("div",null,t.createElement(W,{className:h.pullRight,"aria-label":"Close",onClick:handleClose},t.createElement(H,null)),t.createElement("div",{className:h.dialog},t.createElement(i,{variant:"h5",gutterBottom:!0},r),t.createElement(Re,{theme:!p||l?Oe:1===c.length?Et:ht},t.createElement(InputField,{onChange:function(){m(arguments.length<=1?void 0:arguments[1])},label:"",value:p})),1===c.length&&t.createElement(Re,{theme:Et},t.createElement(W,{"aria-label":"Close",onClick:()=>{return e=c[0],d(e),void E(!1);var e}},t.createElement(be,{color:"primary"}))),p&&t.createElement(W,{"aria-label":"Close",onClick:()=>{u(),m("")}},t.createElement(H,null)),l&&t.createElement(Loading,null)))))}function TableWithInlineEditing(a){let{content:r,columnsInfo:l,updateContent:i,allowedToEdit:s,allowedToCreate:c,allowedToDelete:E}=a;const[h,y]=e.useState(""),handleRowChange=(e,t,a)=>{var n,o;const s={...r[a],[e]:t},c=null===(n=(o=l.find(t=>t.key===e)).updateValues)||void 0===n?void 0:n.call(o,t);if(c)for(let e=0;e<c.length;e+=1)s[c[e].propertyName]=c[e].value;i(r.slice(0,a).concat(s).concat(r.slice(a+1,r.length+1)))},handleRemoveRow=e=>{i(r.slice(0,e).concat(r.slice(e+1,r.length+1)))},switchToEditingDifferentCell=e=>{y(e)},clearEditingCell=()=>{y("")};return t.createElement(u,null,t.createElement(m,{key:"headers",onClick:clearEditingCell},t.createElement(g,null,l.map(e=>t.createElement(p,{key:e.key},e.title)),E&&t.createElement(p,{key:"Deleteplaceholdercell"}))),t.createElement(d,null,r.map((e,a)=>t.createElement(Row,{rowContent:e,key:e.id,rowIndex:a,updateField:handleRowChange,columnsInfo:l,currentlyEditing:h,changeCell:switchToEditingDifferentCell,allowedToEdit:s,clearEditingCell:clearEditingCell,removeRow:handleRemoveRow,allowedToDelete:E})),c&&t.createElement(g,null,t.createElement(p,null,t.createElement(o,{title:"Add new row","aria-label":"add"},t.createElement(n,{onClick:()=>{let e={id:(new Date).getTime()};l.forEach(t=>{e={...e,[t.key]:null}}),i(r.concat(e))}},t.createElement(we,{"data-testid":"addIcon"})))))))}ValidatedInputDialog.propTypes={title:r.string,loading:r.bool,fetchItems:r.func.isRequired,searchItems:r.arrayOf(r.shape({})).isRequired,onAccept:r.func.isRequired,clearSearch:r.func.isRequired},ValidatedInputDialog.defaultProps={title:"Start typing...",loading:!1},TableWithInlineEditing.propTypes={content:r.arrayOf(r.shape({id:r.oneOfType([r.string,r.number])})),updateContent:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number])})).isRequired,allowedToEdit:r.bool.isRequired,allowedToCreate:r.bool,allowedToDelete:r.bool},TableWithInlineEditing.defaultProps={content:[{}],allowedToCreate:!1,allowedToDelete:!1};const Row=a=>{let{rowContent:r,rowIndex:l,updateField:i,columnsInfo:s,currentlyEditing:u,changeCell:d,allowedToEdit:m,clearEditingCell:E,removeRow:h,allowedToDelete:y}=a;const f=c.makeStyles(()=>({pointer:{cursor:"pointer"},notClickable:{cursor:"text"}}))(),handleCellChange=(e,t)=>{i(e,t,l)};return t.createElement(g,{key:r.id},r!=={}&&s&&(m?t.createElement(t.Fragment,null,s.map((a,n)=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,{onClick:()=>d("".concat(l).concat(a.key)),onKeyDown:e=>((e,t)=>{"Enter"===e.key?E():e.shiftKey&&"Tab"===e.key?d(t>0?"".concat(l).concat(s[t-1].key):"".concat(l-1).concat(s[s.length-1].key)):"Tab"===e.key&&(t<s.length-1?d("".concat(l).concat(s[t+1].key)):d("".concat(l+1).concat(s[0].key)))})(e,n),className:f.pointer},u!=="".concat(l).concat(a.key)?t.createElement("span",{id:"outer".concat(l,"-").concat(n),name:a.key},r[a.key]):t.createElement("div",{id:"inner".concat(l,"-").concat(n)},"dropdown"===a.type?t.createElement(Dropdown,{onChange:handleCellChange,items:a.options,value:r[a.key],disabled:a.notEditable,required:a.required,propertyName:a.key,label:"",allowNoValue:!1,textFieldProps:{autoFocus:!0},autoFocus:!0}):t.createElement(InputField,{type:a.type,value:r[a.key],disabled:a.notEditable,required:a.required,textFieldProps:{autoFocus:!0},onChange:handleCellChange,propertyName:a.key}))))),y&&t.createElement(p,{key:"DeleteIcon"},t.createElement(o,{title:"Delete row","aria-label":"add"},t.createElement(n,{onClick:()=>{h(l)}},t.createElement(fe,{"data-testid":"deleteIcon"}))))):t.createElement(t.Fragment,null,s.map(a=>t.createElement(e.Fragment,{key:a.title},t.createElement(p,null,t.createElement("span",{name:a.key,className:f.notClickable},r[a.key])))))))};function cloneDate(e){return O.isMoment(e)?e.clone():O(e,"MM-DD-YYYY")}function getWeekStartDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week"):t.startOf("week").subtract(1,"days")}function getWeekEndDate(e){const t=cloneDate(e);return 6===t.day()?t.endOf("week").add(6,"days"):t.endOf("week").subtract(1,"days")}Row.propTypes={rowContent:r.shape({id:r.oneOfType([r.string,r.number])}),rowIndex:r.number.isRequired,updateField:r.func.isRequired,currentlyEditing:r.string.isRequired,changeCell:r.func.isRequired,allowedToEdit:r.bool.isRequired,clearEditingCell:r.func.isRequired,columnsInfo:r.arrayOf(r.shape({title:r.string,type:r.string,key:r.oneOfType([r.string,r.number]),notEditable:r.bool,updateValues:r.func})).isRequired,removeRow:r.func.isRequired,allowedToDelete:r.bool.isRequired},Row.defaultProps={rowContent:{}};const ft=c.makeStyles(e=>({dayWrapper:{position:"relative"},day:{width:36,height:36,fontSize:e.typography.caption.fontSize,margin:"0 2px",color:"inherit"},customDayHighlight:{position:"absolute",top:0,bottom:0,left:"2px",right:"2px",border:"1px solid ".concat(e.palette.secondary.main),borderRadius:"50%"},nonCurrentMonthDay:{color:e.palette.text.disabled},highlightNonCurrentMonthDay:{color:"#676767"},highlight:{background:e.palette.primary.main,color:e.palette.common.white},firstHighlight:{extend:"highlight",borderTopLeftRadius:"50%",borderBottomLeftRadius:"50%"},endHighlight:{extend:"highlight",borderTopRightRadius:"50%",borderBottomRightRadius:"50%"},label:{fontSize:e.typography.fontSize}}));function LinnWeekPicker(e){let{selectedDate:a,setWeekStartDate:n,propertyName:r,label:o,disabled:l,required:i}=e;const s=ft();return t.createElement(t.Fragment,null,t.createElement(A,{classes:{root:s.label},required:i},o),t.createElement(j.KeyboardDatePicker,{autoOk:!0,disabled:l,margin:"dense",inputVariant:"outlined",value:a?O(a):null,onChange:e=>{n(r,getWeekStartDate(e))},renderDay:(e,a,n)=>{const r=getWeekStartDate(a),o=getWeekEndDate(a),l=e.isBetween(r,o,"days","[]"),i=e.isSame(r,"day"),c=e.isSame(o,"day"),u=Te({[s.highlight]:l,[s.firstHighlight]:i,[s.endHighlight]:c}),d=Te(s.day,{[s.nonCurrentMonthDay]:!n,[s.highlightNonCurrentMonthDay]:!n&&l});return t.createElement("div",{className:u},t.createElement(U.IconButton,{className:d},t.createElement("span",null," ",e.format("D")," ")))},format:"DD/MM/YYYY"}))}LinnWeekPicker.propTypes={selectedDate:r.oneOfType([r.shape({}),r.string]),setWeekStartDate:r.func.isRequired,propertyName:r.string,label:r.string,disabled:r.bool,required:r.bool},LinnWeekPicker.defaultProps={selectedDate:new Date,propertyName:"",disabled:!1,required:!1,label:""};!function styleInject(e,t){void 0===t&&(t={});var a=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===a&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("@media print {\n @page {\n size: portrait;\n margin: 0mm;\n margin-right: 0mm;\n }\n \n @page land {\n size: landscape !important;\n margin: 0mm;\n margin-right: 0mm;\n }\n .print-landscape {\n page: land;\n }\n .pageContainer {\n width: 1100px;\n height: 800px;\n }\n table {\n zoom: 0.85;\n }\n .zoomed-in-printing {\n zoom: 1.45;\n }\n .date-for-printing {\n display: block !important;\n }\n .hide-when-printing {\n display: none !important;\n }\n .show-only-when-printing {\n display: block !important;\n }\n .padding-top-when-not-printing {\n padding-top: 0 !important;\n margin-top: -50px;\n }\n}\n\n.date-for-printing {\n display: none;\n right: 40px;\n top: 40px;\n position: absolute;\n font-size: small;\n}\n\n.show-only-when-printing {\n display: none;\n}\n\n.padding-top-when-not-printing {\n padding-top: 40px;\n}\n");const bt={minWidth:"120px"};function EditableTableCell(a){var n;let{column:r,item:l,editable:i,editing:s,isNewRow:c,handleValueChange:u,...d}=a;const Content=()=>s&&r.editable&&i||c&&s&&r.required?function inputComponentFactory(e,a,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4?arguments[4]:void 0;switch(a.type){case"text":return t.createElement(InputField,{value:e[a.id],onChange:n,fullWidth:!0,rows:r,propertyName:a.id,required:a.required});case"number":return t.createElement(InputField,{value:e[a.id],type:"number",onChange:n,propertyName:a.id,required:a.required});case"date":return t.createElement(DatePicker,{value:e[a.id]||null,onChange:e=>n(a.id,e),required:a.required});case"linnWeek":return t.createElement(LinnWeekPicker,{selectedDate:e[a.id]||null,setWeekStartDate:n,propertyName:a.id,required:a.required});case"search":return t.createElement(Typeahead,{clearSearch:()=>a.clearSearch,fetchItems:a.search,items:a.searchResults,links:!1,loading:a.searchLoading,modal:!0,onSelect:t=>a.selectSearchResult(a.id,t,e),propertyName:a.id,title:a.searchTitle,value:e[a.id],required:a.required,minimumSearchTermLength:a.minimumSearchTermLength});case"dropdown":return t.createElement(Dropdown,{fullWidth:!0,value:e[a.id],onChange:n,items:a.options,propertyName:a.id,required:a.required});case"component":return t.createElement(a.component,_extends({value:e[a.id],onChange:e=>n(a.id,e),required:a.required},o));default:return""}}(l,r,u,r.textFieldRows,d):function displayComponentFactory(e,t){switch(t.type){case"date":case"linnWeek":return e[t.id]?O(e[t.id]).format("DD MMM YYYY"):"";case"component":return((e,t)=>{switch(t.componentViewDisplay){case"nothing":return"";default:return e[t.id]}})(e,t);default:return e[t.id]}}(l,r),m=null!==(n=r.style)&&void 0!==n&&n.body?{...bt,...r.style.body}:bt;return r.tooltip?t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(o,{title:r.tooltip(l)||""},t.createElement(p,{id:r.type,key:"".concat(null==r?void 0:r.id).concat(l.id),style:m},Content()))):t.createElement(e.Fragment,{key:"".concat(null==r?void 0:r.id).concat(l.id)},t.createElement(p,{id:r.type,style:m},Content()))}EditableTableCell.propTypes={column:r.shape({tooltip:r.func,id:r.oneOfType([r.number,r.string]),editable:r.bool,type:r.string,required:r.bool,textFieldRows:r.number,style:r.shape({body:r.shape({})})}).isRequired,item:r.shape({id:r.oneOfType([r.string,r.number])}).isRequired,editable:r.bool,editing:r.bool,isNewRow:r.bool,handleValueChange:r.func.isRequired},EditableTableCell.defaultProps={editable:!1,editing:!1,isNewRow:!1};const Rt=r.shape({id:r.oneOfType([r.number,r.string]).isRequired,type:r.string.isRequired,component:r.func,editable:r.bool,options:r.arrayOf(r.oneOfType([r.shape({}),r.string,r.number])),required:r.bool,searchLoading:r.bool,searchResults:r.arrayOf(r.shape({})),searchTitle:r.string,tooltip:r.oneOfType([r.string,r.func]),clearSearch:r.func,closeRowOnClickAway:r.func,search:r.func,selectSearchResult:r.func,minimumSearchTermLength:r.number,textFieldRows:r.number,componentViewDisplay:r.oneOf(["value","nothing"])}),wt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0},row:{backgroundColor:e=>e.toBeSaved?Ce.green[50]:e.toBeDeleted?Ce.red[50]:"transparent"}}));function GroupEditableTableRow(a){let{row:r,columns:l,editable:i,updateRow:s,validateRow:c,removeRow:u,isRowValid:d,resetRow:m,deleteRowPreEdit:E,handleEditClick:h,setRowToBeSaved:y,setRowToBeDeleted:f,removeRowOnDelete:b,closeRowOnClickAway:R,editOnRowClick:w,...T}=a;const[S,k]=e.useState(),C=e.useRef(),v=wt({toBeSaved:r.toBeSaved,toBeDeleted:r.toBeDeleted});e.useEffect(()=>{C.current=d},[d]),e.useEffect(()=>{if(r.editing){let e=!0;c&&(e=c(r)),l.forEach(t=>{!0!==t.required||r[t.id]||(e=!1)}),C.current&&r.id&&C.current(e,r.id),k(e)}},[c,l,r]);const handleValueChange=(e,t)=>{s(r,null,e,t)},handleEditButtonClick=()=>{h(r.id,!0)},handleDeleteClick=()=>{b||r.isNewRow?u(r.id):f(r.id,!0)},deleteButtonEnabled=()=>!r.toBeDeleted&&!r.toBeSaved;return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&R&&R&&r.editing&&h(r.id,!1)})(e)},t.createElement(g,{onClick:!r.editing&&w&&!E&&handleEditButtonClick,classes:{root:v.row}},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:r,editable:i,editing:r.editing,handleValueChange:handleValueChange},T))),i&&(r.editing?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{y(r.id,!0)},color:"primary",variant:"outlined",size:"small",classes:{root:v.button},disabled:!(S&&!r.toBeDeleted&&!r.toBeSaved),"data-testid":"saveButton"},t.createElement(Se,{fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{r.isNewRow?u(r.id):m(r)},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),u&&t.createElement(p,null,t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),u&&E&&t.createElement(p,null,t.createElement(o,{title:"Remove Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton",disabled:!deleteButtonEnabled()},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function GroupEditTable(a){let{columns:r,rows:o,editable:l,updateRow:i,validateRow:s,deleteRow:c,allowNewRowCreation:h,addRow:y,tableValid:f,removeRow:b,resetRow:R,closeRowOnClickAway:w,deleteRowPreEdit:T,handleEditClick:S,setRowToBeSaved:k,setRowToBeDeleted:C,removeRowOnDelete:v,editOnRowClick:_,...x}=a;const[A,D]=e.useState([]);e.useEffect(()=>{f&&f(!A.some(e=>!e.valid))},[A,f]);const handleRemoveRow=e=>{b(e)},handleIsRowValid=(e,t)=>{A.some(e=>e.id===t)?D(A.map(a=>a.id===t?{...a,valid:e}:a)):D([...A,{id:t,valid:e}]),f&&f(!A.some(e=>!e.valid))};return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{style:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),c&&t.createElement(p,null))),t.createElement(d,null,o.map(e=>t.createElement(GroupEditableTableRow,_extends({key:e.id,row:e,columns:r,editable:l,updateRow:i,validateRow:s,removeRow:b?handleRemoveRow:null,isRowValid:handleIsRowValid,resetRow:R,deleteRowPreEdit:T,handleEditClick:S,setRowToBeDeleted:C,setRowToBeSaved:k,removeRowOnDelete:v,closeRowOnClickAway:w,editOnRowClick:_},x))),l&&h&&t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>{y()},"data-testid":"addButton"},t.createElement(we,{size:"small"})))))))}GroupEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number]),toBeDeleted:r.bool,toBeSaved:r.bool,isNewRow:r.bool}).isRequired,columns:r.arrayOf(Rt).isRequired,updateRow:r.func.isRequired,editable:r.bool,removeRow:r.func,validateRow:r.func,isRowValid:r.func,resetRow:r.func,deleteRowPreEdit:r.bool,handleEditClick:r.func,setRowToBeDeleted:r.func,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,closeRowOnClickAway:r.bool,editOnRowClick:r.bool},GroupEditableTableRow.defaultProps={editable:!0,removeRow:null,validateRow:null,isRowValid:null,resetRow:null,deleteRowPreEdit:!1,handleEditClick:()=>{},removeRowOnDelete:!1,setRowToBeDeleted:()=>{},closeRowOnClickAway:!1,editOnRowClick:!1},GroupEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,handleEditClick:r.func.isRequired,editable:r.bool,updateRow:r.func,validateRow:r.func,deleteRow:r.func,allowNewRowCreation:r.bool,addRow:r.func,tableValid:r.func,removeRow:r.func,resetRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,setRowToBeDeleted:r.func.isRequired,setRowToBeSaved:r.func.isRequired,removeRowOnDelete:r.bool,editOnRowClick:r.bool},GroupEditTable.defaultProps={editable:!0,updateRow:null,validateRow:null,deleteRow:null,allowNewRowCreation:!0,addRow:null,tableValid:null,removeRow:null,resetRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,removeRowOnDelete:!1,editOnRowClick:!1};const Tt=c.makeStyles(e=>({button:{maxWidth:e.spacing(5),minWidth:e.spacing(5),maxHeight:e.spacing(3),minHeight:e.spacing(3),padding:0}}));function SingleEditableTableRow(a){let{row:r,columns:l,saveRow:i,editable:s,isNewRow:c,removeRow:u,updateRow:d,validateRow:m,deleteRow:E,closeRowOnClickAway:h,deleteRowPreEdit:y,editOnRowClick:f,...b}=a;const[R,w]=e.useState(!1),[T,S]=e.useState({}),[k,C]=e.useState({});e.useEffect(()=>{C(r),S(r),c&&w(!0)},[r,c]);const v=Tt(),handleDeleteClick=()=>{E(k.id)},handleValueChange=(e,t)=>{d?d(k,C,e,t):C({...k,[e]:t})},handleEditButtonClick=()=>{w(!0)};return t.createElement(ce,{onClickAway:e=>(e=>{"INPUT"!==e.target.tagName.toUpperCase()&&h&&h&&w(!1)})(e)},t.createElement(g,{onClick:!R&&f&&!y&&handleEditButtonClick},l.map(e=>t.createElement(EditableTableCell,_extends({key:"".concat(r.id).concat(e.id),column:e,item:k,editable:s,editing:R,isNewRow:c,handleValueChange:handleValueChange},b))),s&&(R?t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(n,{onClick:()=>{i(k)},color:"primary",variant:"contained",size:"small",classes:{root:v.button},disabled:!(()=>{let e=!0;return m&&(e=m(k)),l.forEach(t=>{!0!==t.required||k[t.id]||(e=!1)}),e})(),"data-testid":"saveButton"},t.createElement(be,{style:{color:Ce.grey[50]},fontSize:"small"}))),t.createElement(p,null,t.createElement(o,{title:"Revert changes to row"},t.createElement(n,{onClick:()=>{c?u(k.id):(w(!1),C(T))},color:"secondary",variant:"outlined",classes:{root:v.button},size:"small","data-testid":"cancelButton"},t.createElement(ke,{fontSize:"small"})))),E&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"}))))):t.createElement(t.Fragment,null,t.createElement(p,null,t.createElement(o,{title:"Edit Row"},t.createElement(n,{color:"primary",variant:"outlined",onClick:handleEditButtonClick,size:"small",classes:{root:v.button},"data-testid":"editButton"},t.createElement(K,{fontSize:"small"})))),!c&&E&&y&&t.createElement(p,null,t.createElement(o,{title:"Delete Row"},t.createElement(n,{onClick:handleDeleteClick,color:"secondary",variant:"contained",classes:{root:v.button},size:"small","data-testid":"deleteButton"},t.createElement(fe,{fontSize:"small"})))),t.createElement(p,null)))))}function SingleEditTable(a){let{columns:r,rows:o,saveRow:l,createRow:i,editable:s,newRow:c,updateRow:h,validateRow:y,deleteRow:f,allowNewRowCreation:b,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T,newRowPosition:S,...k}=a;const[C,v]=e.useState(!1),handleRemoveRow=()=>{v(!1)},renderNewRow=()=>C?t.createElement(SingleEditableTableRow,_extends({row:c,columns:r,saveRow:i,editable:s,isNewRow:!0,updateRow:h,validateRow:y,removeRow:handleRemoveRow,editOnRowClick:T},k)):t.createElement(g,null,t.createElement(p,null,t.createElement(n,{size:"small",onClick:()=>v(!0),"data-testid":"addButton"},t.createElement(we,{size:"small"}))));return t.createElement(E,{style:{overflow:"auto"}},t.createElement(u,{tyle:{tableLayout:"auto"},size:"small"},t.createElement(m,null,t.createElement(g,null,r.map(e=>{var a;return t.createElement(p,{key:e.id,style:null===(a=e.style)||void 0===a?void 0:a.head},e.title)}),t.createElement(p,null),t.createElement(p,null),f&&t.createElement(p,null))),t.createElement(d,null,"top"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "),o.map(e=>t.createElement(SingleEditableTableRow,{key:e.id,row:e,columns:r,saveRow:l,editable:s,updateRow:h,validateRow:y,deleteRow:f,closeRowOnClickAway:R,deleteRowPreEdit:w,editOnRowClick:T})),"bottom"===S&&s&&b&&t.createElement(t.Fragment,null," ",renderNewRow()," "))))}SingleEditableTableRow.propTypes={row:r.shape({editing:r.bool,id:r.oneOfType([r.string,r.number])}).isRequired,columns:r.arrayOf(Rt).isRequired,saveRow:r.func,editable:r.bool,isNewRow:r.bool,removeRow:r.func,updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool},SingleEditableTableRow.defaultProps={saveRow:()=>{},editable:!0,isNewRow:!1,removeRow:null,updateRow:null,validateRow:null,deleteRow:null,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1},SingleEditTable.propTypes={columns:r.arrayOf(Rt).isRequired,rows:r.arrayOf(r.shape({})).isRequired,saveRow:r.func,createRow:r.func,editable:r.bool,newRow:r.shape({}),updateRow:r.func,validateRow:r.func,deleteRow:r.func,closeEditingOnSave:r.bool,allowNewRowCreation:r.bool,closeRowOnClickAway:r.bool,deleteRowPreEdit:r.bool,editOnRowClick:r.bool,newRowPosition:r.string},SingleEditTable.defaultProps={saveRow:()=>{},createRow:()=>{},editable:!0,newRow:{},updateRow:null,validateRow:null,deleteRow:null,closeEditingOnSave:!1,allowNewRowCreation:!0,closeRowOnClickAway:!1,deleteRowPreEdit:!1,editOnRowClick:!1,newRowPosition:"bottom"};const St={menu:menu,news:news};exports.BackButton=BackButton,exports.Breadcrumbs=Breadcrumbs,exports.CheckboxWithLabel=Ve,exports.CollectionSelectors=function CollectionSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getItems=t=>{const a=t[e];return a&&a.items?a.items:[]},this.getSearchItems=function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=t[e];return n?a?n.searchItems?n.searchItems.slice(0,a):[]:n.searchItems?n.searchItems:[]:[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getSearchLoading=t=>{const a=t[e];return a?a.searchLoading:null},this.getLinks=t=>{const a=t[e];return a&&a.links?a.links:[]},this.hasPrivilege=(e,t)=>{const a=this.getLinks(e);return!!a&&a.some(e=>e.rel===t)},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.CreateButton=Ge,exports.DatePicker=DatePicker,exports.DateTimePicker=DateTimePicker,exports.Dropdown=Dropdown,exports.EntityList=EntityList,exports.ErrorCard=Le,exports.ExportButton=ExportButton,exports.FetchApiActions=function FetchApiActions(e,t,a,n,r,o){this.fetch=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchById=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchPage=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchSortedPage=(l,i,s,c)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i,"/").concat(s,"/").concat(c),method:"GET",options:{requires:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.search=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.searchWithOptions=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?searchTerm=").concat(l).concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requestSearch(n,t),receiveSearch(n,t,e),error(n,t,e)]}}),this.clearSearch=()=>({type:n["CLEAR_SEARCH_".concat(t)],payload:{}}),this.clearItems=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.GroupEditTable=GroupEditTable,exports.InputField=InputField,exports.ItemSelectors=function ItemSelectors(e){this.getItem=t=>{const a=t[e];return a&&a.item?a.item:null},this.getLoading=t=>{const a=t[e];return a?a.loading:null},this.getEditStatus=t=>{const a=t[e];return a?a.editStatus?a.editStatus:"view":null},this.getSnackbarVisible=t=>{const a=t[e];return a?a.snackbarVisible:null},this.getApplicationState=t=>{const a=t[e];return a&&a.applicationState?a.applicationState:null},this.getApplicationStateLoading=t=>{const a=t[e];return!!a&&(!!a.applicationState&&a.applicationState.loading)}},exports.ItemType=function ItemType(e,t,a){this.item=e,this.actionType=t,this.uri=a},exports.LinkButton=LinkButton,exports.LinnWeekPicker=LinnWeekPicker,exports.Loading=Loading,exports.MultiReportTable=MultiReportTable,exports.Navigation=mt,exports.NotFound=function NotFound(){return t.createElement(F,{container:!0,alignItems:"flex-start",styles:{alignItems:"flex-start"}},t.createElement(Title,{text:"Page not found"}))},exports.OnOffSwitch=OnOffSwitch,exports.Page=Page,exports.PaginatedTable=PaginatedTable,exports.PaginationSelectors=function PaginationSelectors(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"id";this.getPage=t=>{const a=t[e].page;return a||null},this.getItems=t=>{const a=t[e].page.elements;return a||[]},this.getItem=(e,a)=>this.getItems(e).find(e=>e[t]===a),this.getItemByHref=(e,t)=>this.getItems(e).find(e=>e.href===t),this.getLoading=t=>{const a=t[e];return a?a.loading:null}},exports.ProcessActions=function ProcessActions(e,t,a,n,r){this.requestProcessStart=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:o?JSON.stringify(o):"",types:[requested(n,t),receivedProcess(n,t,e),error(n,t,e)]}}),this.setMessageVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_MESSAGE")],payload:{}}:{type:n["HIDE_".concat(t,"_MESSAGE")],payload:{}},this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.clearProcessData=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ProcessSelectors=function ProcessSelectors(e){this.getWorking=t=>{const a=t[e];return a?a.working:null},this.getMessageVisible=t=>{const a=t[e];return a?a.messageVisible:null},this.getMessageText=t=>{const a=t[e];return a?a.messageText:null},this.getData=t=>{const a=t[e];return a?a.data:null}},exports.ReportActions=function ReportActions(e,t,a,n,r){this.fetchReport=o=>({[ae.RSAA]:{endpoint:o?"".concat(r).concat(a,"?").concat(ne.stringify(o)):"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/json"},types:[requestReport(n,t,o),received(n,t,e),error(n,t,e)]}})},exports.ReportSelectors=function ReportSelectors(e){this.getReportState=t=>t[e]||{},this.getReportData=e=>{const t=this.getReportState(e);return t.results?t.results.data:null},this.getReportLoading=e=>{const t=this.getReportState(e);return!!t.results&&t.results.loading},this.getReportOptions=e=>this.getReportState(e).options},exports.ReportTable=ReportTable,exports.SaveBackCancelButtons=SaveBackCancelButtons,exports.SearchInputField=SearchInputField,exports.SelectedItemsList=SelectedItemsList,exports.SingleEditTable=SingleEditTable,exports.SnackbarMessage=SnackbarMessage,exports.StateApiActions=function StateApiActions(e,t,a,n,r,o){this.fetchState=()=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(o),method:"GET",options:{requiresAuth:!0},headers:{Accept:"application/vnd.linn.application-state+json;version=1"},types:[requestedState(n,t),receivedState(n,t,e),error(n,t,e)]}})},exports.TableWithInlineEditing=TableWithInlineEditing,exports.Title=Title,exports.Typeahead=Typeahead,exports.TypeaheadDialog=TypeaheadDialog,exports.TypeaheadTable=TypeaheadTable,exports.UpdateApiActions=function UpdateApiActions(e,t,a,n,r,o){this.fetch=l=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByHref=a=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByPath=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"/").concat(l,"/").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.fetchByQueryString=(l,i)=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a,"?").concat(l,"=").concat(i),method:"GET",options:{requiresAuth:!0},headers:{Accept:null!=o?o:"application/json"},types:[requested(n,t),received(n,t,e),error(n,t,e)]}}),this.add=o=>({[ae.RSAA]:{endpoint:"".concat(r).concat(a),method:"POST",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o),types:[requestAdd(n,t),receiveAdded(n,t,e),error(n,t,e)]}}),this.update=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"PUT",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l),types:[requestUpdate(n,t),receiveUpdated(n,t,e),error(n,t,e)]}}),this.delete=(o,l)=>({[ae.RSAA]:{endpoint:null!==o?"".concat(r).concat(a,"/").concat(o):"".concat(r).concat(a),method:"DELETE",options:{requiresAuth:!0},headers:{Accept:"application/json","Content-Type":"application/json"},body:l?JSON.stringify(l):null,types:[requestDelete(n,t),receiveDeleted(n,t,e),error(n,t,e)]}}),this.reset=()=>({type:n["RESET_".concat(t)],payload:{}}),this.setEditStatus=e=>({type:n["SET_".concat(t,"_EDIT_STATUS")],payload:e}),this.clearErrorsForItem=()=>({type:n["CLEAR_".concat(t,"_ERRORS")],payload:{item:e}}),this.create=()=>({type:n["REQUEST_CREATE_".concat(t)],payload:{}}),this.setSnackbarVisible=e=>!0===e?{type:n["SHOW_".concat(t,"_SNACKBAR")],payload:{}}:{type:n["HIDE_".concat(t,"_SNACKBAR")],payload:{}},this.clearItem=()=>({type:n["CLEAR_".concat(t,"_DATA")],payload:{}})},exports.ValidatedInputDialog=ValidatedInputDialog,exports.collectionStoreFactory=function collectionStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data)};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data)};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.collectionWithLinksStoreFactory=function collectionWithLinksStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,searchLoading:!1,items:[],searchItems:[],links:[]};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>e?e.map(e=>makeItem(e)):e;return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,items:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["REQUEST_SEARCH_".concat(e)]:return{...n,searchLoading:!0,searchItems:[]};case t["RECEIVE_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:getItems(r.payload.data.responseData),links:r.payload.data.links};case t["CLEAR_SEARCH_".concat(e)]:return{...n,searchLoading:!1,searchItems:[]};case t["CLEAR_".concat(e,"_DATA")]:return a;case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1}}return n}},exports.errorTheme=Pe,exports.fetchErrorReducer=function fetchErrorReducerFactory(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{requestErrors:[],itemErrors:[]};return function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,n=arguments.length>1?arguments[1]:void 0;if(n.payload){if(n.payload.error&&e[n.payload.error.item]&&n.type==="FETCH_".concat(e[n.payload.error.item].actionType,"_ERROR"))return{...a,itemErrors:[...a.itemErrors,n.payload.error]};if(n.payload.item&&e[n.payload.item]){const t=e[n.payload.item];if(receiveTypes(t.actionType).indexOf(n.type)>-1)return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)};if(n.type==="CLEAR_".concat(t.actionType,"_ERRORS"))return{...a,itemErrors:a.itemErrors.filter(e=>e.item!==n.payload.item)}}}return"CLEAR_ITEM_ERRORS"===n.type?{...a,itemErrors:[]}:n.error?{...a,requestErrors:[...a.requestErrors,{...n.payload,type:n.type}]}:n.error?a:{...a,requestErrors:a.requestErrors.filter(e=>e.type!==n.type)}}},exports.fetchMenu=fetchMenu,exports.fetchNews=fetchNews,exports.getItemError=getItemError,exports.getItemErrorDetailMessage=(e,t)=>{var a,n,r,o,l;return(null===(a=getItemError(e,t))||void 0===a||null===(n=a.details)||void 0===n?void 0:n.message)||(null===(r=getItemError(e,t))||void 0===r||null===(o=r.details)||void 0===o||null===(l=o.errors)||void 0===l?void 0:l[0])||null},exports.getItemErrors=e=>{const{errors:t}=e;if(!t||!t.itemErrors)return null;const a=t.itemErrors;return a.length>0?a:null},exports.getPreviousPaths=e=>{const{historyStore:t}=e;return t},exports.getRequestErrors=e=>{const{errors:t}=e;return t&&t.requestErrors&&t.requestErrors.length>0?t.requestErrors:null},exports.getUsername=getUsername,exports.getWeekEndDate=getWeekEndDate,exports.getWeekStartDate=getWeekStartDate,exports.initialiseOnMount=initialiseOnMount,exports.itemStoreFactory=function itemStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,item:null,editStatus:"view",snackbarVisible:!1};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_ADD_".concat(e)]:return{...n,loading:!0,editStatus:"create"};case t["REQUEST_CREATE_".concat(e)]:return{...n,loading:!1,item:null,editStatus:"create"};case t["REQUEST_".concat(e)]:return{...n,item:null,loading:!0,editStatus:"view"};case t["REQUEST_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{loading:!0}};case t["REQUEST_UPDATE_".concat(e)]:case t["REQUEST_DELETE_".concat(e)]:return{...n,loading:!0};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};case t["SET_".concat(e,"_EDIT_STATUS")]:return{...n,editStatus:r.payload};case t["RESET_".concat(e)]:return{...n,editStatus:"view"};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view"};case t["RECEIVE_APPLICATION_STATE_".concat(e)]:return{...n,applicationState:{links:r.payload.data?r.payload.data.links:[],loading:!1}};case t["RECEIVE_UPDATED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["RECEIVE_DELETED_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"deleted",snackbarVisible:!0};case t["RECEIVE_NEW_".concat(e)]:return{...n,loading:!1,item:r.payload.data,editStatus:"view",snackbarVisible:!0};case t["SHOW_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!0};case t["HIDE_".concat(e,"_SNACKBAR")]:return{...n,snackbarVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return a}return n}},exports.linnTheme=Oe,exports.makeActionTypes=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n={};return n["REQUEST_".concat(e)]="REQUEST_".concat(e),n["REQUEST_APPLICATION_STATE_".concat(e)]="REQUEST_APPLICATION_STATE_".concat(e),n["RECEIVE_".concat(e)]="RECEIVE_".concat(e),n["RECEIVE_APPLICATION_STATE_".concat(e)]="RECEIVE_APPLICATION_STATE_".concat(e),n["REQUEST_SEARCH_".concat(e)]="REQUEST_SEARCH_".concat(e),n["RECEIVE_SEARCH_".concat(e)]="RECEIVE_SEARCH_".concat(e),n["CLEAR_SEARCH_".concat(e)]="CLEAR_SEARCH_".concat(e),n["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),n["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),n["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t&&(n["REQUEST_ADD_".concat(e)]="REQUEST_ADD_".concat(e),n["REQUEST_CREATE_".concat(e)]="REQUEST_CREATE_".concat(e),n["REQUEST_UPDATE_".concat(e)]="REQUEST_UPDATE_".concat(e),n["RECEIVE_UPDATED_".concat(e)]="RECEIVE_UPDATED_".concat(e),n["RESET_".concat(e)]="RESET_".concat(e),n["RECEIVE_NEW_".concat(e)]="RECEIVE_NEW_".concat(e),n["SET_".concat(e,"_EDIT_STATUS")]="SET_".concat(e,"_EDIT_STATUS"),n["SHOW_".concat(e,"_SNACKBAR")]="SHOW_".concat(e,"_SNACKBAR"),n["HIDE_".concat(e,"_SNACKBAR")]="HIDE_".concat(e,"_SNACKBAR")),a&&(n["REQUEST_DELETE_".concat(e)]="REQUEST_DELETE_".concat(e),n["RECEIVE_DELETED_".concat(e)]="RECEIVE_DELETED_".concat(e)),n},exports.makeProcessActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["SHOW_".concat(e,"_MESSAGE")]="SHOW_".concat(e,"_MESSAGE"),t["HIDE_".concat(e,"_MESSAGE")]="HIDE_".concat(e,"_MESSAGE"),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t["CLEAR_".concat(e,"_DATA")]="CLEAR_".concat(e,"_DATA"),t},exports.makeReportActionTypes=e=>{const t={};return t["REQUEST_".concat(e)]="REQUEST_".concat(e),t["RECEIVE_".concat(e)]="RECEIVE_".concat(e),t["FETCH_".concat(e,"_ERROR")]="FETCH_".concat(e,"_ERROR"),t["CLEAR_".concat(e,"_ERRORS")]="CLEAR_".concat(e,"_ERRORS"),t},exports.markNotificationSeen=markNotificationSeen,exports.menu=menu,exports.menuSelectors=rt,exports.news=news,exports.newsSelectors=ot,exports.paginationStoreFactory=function paginationStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,page:{elements:[]}};const makeItem=e=>({...e,href:$e.getSelfHref(e)}),getItems=e=>{if("undefined"!==e.elements){const t=e.elements.map(e=>makeItem(e));return{...e,elements:t}}return e};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,page:getItems(r.payload.data)}}return n}},exports.processStoreFactory=function processStoreFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{working:!1,messageText:"",messageVisible:!1},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"Completed successfully";const getMessage=e=>e.data&&e.data.message?e.data.message:n;return function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,o=arguments.length>1?arguments[1]:void 0;switch(o.type){case t["REQUEST_".concat(e)]:return{...r,working:!0,data:null};case t["RECEIVE_".concat(e)]:return{...r,working:!1,messageText:getMessage(o.payload),messageVisible:!0,data:o.payload.data};case t["SHOW_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!0};case t["HIDE_".concat(e,"_MESSAGE")]:return{...r,messageVisible:!1};case t["CLEAR_".concat(e,"_DATA")]:return{...r,working:!1,messageText:n,messageVisible:!1,data:null};case t["FETCH_".concat(e,"_ERROR")]:return{...r,working:!1}}return r}},exports.reducers=St,exports.reportOptionsFactory=function reportOptionsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...r.payload.options};default:return n}}},exports.reportResultsFactory=function reportResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults?r.payload.data.reportResults[0]:r.payload.data};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.reportsResultsFactory=function reportsResultsFactory(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1,data:null};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case t["REQUEST_".concat(e)]:return{...n,loading:!0,data:null};case t["RECEIVE_".concat(e)]:return{...n,loading:!1,data:r.payload.data.reportResults};case t["FETCH_".concat(e,"_ERROR")]:return{...n,loading:!1};default:return n}}},exports.smartGoBack=(e,t)=>{var a;null!=e&&null!==(a=e[e.length-1])&&void 0!==a&&a.includes("signin-oidc")?global.window.history.go(-3):null!=e&&e.length?t():global.window.history.back()},exports.useGroupEditTable=t=>{let{rows:a,defaultRow:n,setEditStatus:r}=t;const[o,l]=e.useState([]),[i,s]=e.useState();e.useEffect(()=>{l(a)},[a]);return{data:o,setData:l,addRow:()=>{r&&r("edit"),l(n?[...o,{...n,editing:!0,isNewRow:!0}]:[...o,{id:(new Date).getTime(),editing:!0,isNewRow:!0}])},updateRow:(e,t,a,n)=>{r&&r("edit"),l(()=>o.map(t=>t.id===e.id?{...t,[a]:n,editing:!0}:t))},replaceRow:(e,t)=>{r&&r("edit"),l(()=>o.map(a=>a.id===e.id?{...t,editing:!0}:a))},removeRow:e=>{r&&r("edit"),l(o.filter(t=>t.id!==e))},resetRow:e=>{const t=a.find(t=>t.id===e.id);l(()=>o.map(a=>a.id===e.id?{...t,editing:!1}:a))},setRowToBeDeleted:(e,t)=>{r&&r("edit"),l(o.map(a=>a.id===e?{...a,toBeDeleted:t,editing:!t}:a))},setRowToBeSaved:(e,t)=>{l(o.map(a=>a.id===e?{...a,toBeSaved:t,editing:!t}:a))},setEditing:(e,t)=>{l(a=>a.map(a=>a.id===e?{...a,editing:t,toBeSaved:!1,toBeDeleted:!1}:a))},setTableValid:e=>s(e),removeRowsToBeDeleted:()=>{l(o.filter(e=>!0!==e.toBeDeleted))},resetUnsavedRows:()=>{l(o.map(e=>!0===e.editing?{...a.find(t=>t.id===e.id),editing:!1}:e))},valid:i}},exports.useSearch=useSearch,exports.useTablePagination=function useTablePagination(t,a){const[n,r]=e.useState({orderBy:"",orderAscending:!1,currentPage:0,rowsPerPage:10});return e.useEffect(()=>{n.orderBy&&a?a(n.currentPage+1,n.rowsPerPage,n.orderBy,n.orderAscending):t(n.currentPage+1,n.rowsPerPage)},[n.currentPage,n.rowsPerPage,n.orderBy,n.orderAscending,t,a]),[n,r]},exports.utilities=$e;
|