@oc-digital/react-component-library 2.0.6 → 2.0.7-beta.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.
Files changed (65) hide show
  1. package/README.md +14 -4
  2. package/build/Alert/Alert.d.ts +4 -4
  3. package/build/AlphabeticalList/AlphabeticalList.d.ts +4 -4
  4. package/build/AlphabeticalList/AlphabeticalList.types.d.ts +16 -16
  5. package/build/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  6. package/build/Breadcrumbs/Breadcrumbs.types.d.ts +23 -23
  7. package/build/Button/Button.d.ts +4 -4
  8. package/build/Button/Button.types.d.ts +14 -14
  9. package/build/ButtonWithConfirm/ButtonWithConfirm.d.ts +4 -4
  10. package/build/ButtonWithConfirm/ButtonWithConfirm.types.d.ts +12 -12
  11. package/build/ContentBox/ContentBox.d.ts +4 -4
  12. package/build/ContentBox/ContentBox.types.d.ts +6 -6
  13. package/build/ContentLabel/ContentLabel.d.ts +4 -4
  14. package/build/ContentLabel/ContentLabel.types.d.ts +5 -5
  15. package/build/DatePicker/DatePicker.d.ts +4 -4
  16. package/build/DatePicker/DatePicker.types.d.ts +5 -5
  17. package/build/EditableTable/EditableTable.d.ts +4 -4
  18. package/build/EditableTable/EditableTable.types.d.ts +105 -105
  19. package/build/EditableTable/defaultCells.d.ts +33 -33
  20. package/build/EntityList/EntityList.d.ts +4 -4
  21. package/build/EntityList/EntityList.types.d.ts +14 -14
  22. package/build/ErrorIndicator/ErrorIndicator.d.ts +4 -4
  23. package/build/ErrorIndicator/ErrorIndicator.types.d.ts +4 -4
  24. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.d.ts +4 -4
  25. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.d.ts +8 -8
  26. package/build/KeyboardDatePicker/KeyboardDatePicker.d.ts +4 -4
  27. package/build/KeyboardDatePicker/KeyboardDatePicker.types.d.ts +5 -5
  28. package/build/LeftNavigation/LeftNavigation.d.ts +4 -4
  29. package/build/LeftNavigation/LeftNavigation.types.d.ts +96 -96
  30. package/build/LeftNavigation/NavListItem.d.ts +4 -4
  31. package/build/LeftNavigation/PrimaryLeftNavigation.d.ts +4 -4
  32. package/build/LeftNavigation/SecondaryLeftNavigation.d.ts +4 -4
  33. package/build/LoadingSpinner/LoadingSpinner.d.ts +4 -4
  34. package/build/LoadingSpinner/LoadingSpinner.types.d.ts +5 -5
  35. package/build/MainLayout/MainLayout.d.ts +4 -4
  36. package/build/MainLayout/MainLayout.types.d.ts +9 -9
  37. package/build/SearchBar/SearchBar.d.ts +4 -4
  38. package/build/SearchBar/SearchBar.types.d.ts +23 -23
  39. package/build/Select/Select.d.ts +4 -4
  40. package/build/Select/Select.types.d.ts +14 -14
  41. package/build/StaticTable/StaticTable.d.ts +4 -4
  42. package/build/StaticTable/StaticTable.types.d.ts +21 -21
  43. package/build/SvgComponents/ContainedPartnersLogo.d.ts +4 -4
  44. package/build/SvgComponents/HomeSvg.d.ts +4 -4
  45. package/build/SvgComponents/NovelLogoSvg.d.ts +4 -4
  46. package/build/SvgComponents/OrganisationList.d.ts +4 -4
  47. package/build/SvgComponents/ProjectsSvg.d.ts +4 -4
  48. package/build/SvgComponents/index.d.ts +5 -5
  49. package/build/SvgComponents/types.d.ts +6 -6
  50. package/build/TextField/TextField.d.ts +16 -15
  51. package/build/TextField/TextField.types.d.ts +7 -7
  52. package/build/globals/index.d.ts +24 -24
  53. package/build/hooks/index.d.ts +3 -3
  54. package/build/hooks/useDebounceEffect.d.ts +2 -2
  55. package/build/hooks/useInterval.d.ts +2 -2
  56. package/build/hooks/useWhyDidYouUpdate.d.ts +1 -1
  57. package/build/index.d.ts +29 -29
  58. package/build/index.js +1 -1
  59. package/build/index.js.map +1 -1
  60. package/build/styles/font.d.ts +1 -1
  61. package/build/styles/index.d.ts +3 -3
  62. package/build/styles/layout.d.ts +1 -1
  63. package/build/styles/spacing.d.ts +1 -1
  64. package/build/utils/index.d.ts +5 -5
  65. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/globals/index.ts","../src/styles/spacing.ts","../src/styles/font.ts","../src/styles/layout.ts","../src/Button/Button.tsx","../src/ContentLabel/ContentLabel.tsx","../src/ContentBox/ContentBox.tsx","../src/LoadingSpinner/LoadingSpinner.tsx","../src/StaticTable/StaticTable.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/EntityList/EntityList.tsx","../src/ErrorIndicator/ErrorIndicator.tsx","../src/LeftNavigation/NavListItem.tsx","../src/utils/index.ts","../src/LeftNavigation/SecondaryLeftNavigation.tsx","../src/LeftNavigation/PrimaryLeftNavigation.tsx","../src/LeftNavigation/LeftNavigation.tsx","../src/MainLayout/MainLayout.tsx","../src/hooks/useDebounceEffect.tsx","../src/hooks/useInterval.ts","../src/hooks/useWhyDidYouUpdate.tsx","../src/AlphabeticalList/AlphabeticalList.tsx","../src/SearchBar/SearchBar.tsx","../src/TextField/TextField.tsx","../src/Select/Select.tsx","../src/DatePicker/DatePicker.tsx","../src/KeyboardDatePicker/KeyboardDatePicker.tsx","../src/ButtonWithConfirm/ButtonWithConfirm.tsx","../src/EditableTable/defaultCells.tsx","../src/EditableTable/EditableTable.tsx","../src/Alert/Alert.tsx","../src/ImageDisplayAndUpload/ImageDisplayAndUpload.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","string","trim","required","matches","FORM_SUCCESS","FORM_ERROR","FORM_WARNING","READ_LEVEL","NO_ACCESS_LEVEL","useSpacingStyles","makeStyles","labelBreak","marginBottom","contentBreak","sectionBreak","doubleSectionBreak","rightSpacer1","marginRight","rightSpacer2","leftSpacer1","marginLeft","leftSpacer2","buttonSpacing","leftRightPadding1","paddingLeft","paddingRight","leftRightPadding2","topBottomPadding1","paddingTop","paddingBottom","topBottomPadding2","classNamePrefix","index","useFontStyles","theme","boldText","fontWeight","bolderText","smallText","fontSize","warningColor","color","palette","warning","main","centerText","textAlign","useLayoutStyles","contentBox","background","borderRadius","padding","limitWidth60rem","maxWidth","limitWidth50rem","limitWidth45rem","limitWidth40rem","limitWidth35rem","limitWidth30rem","limitWidth25rem","centeredText","startAlignedText","width20","width","width49","width50","width60","width100","flexCenter","display","alignItems","justifyContent","centerJustify","leftJustify","rightJustify","useButtonStyles","submitButton","textTransform","containedText","spinnerColour","grey","Button","_a","_b","loading","children","_c","errors","_d","type","onClick","_e","disabled","_f","variant","_g","styling","_h","_j","accessLevel","rest","classes","includes","disabledProp","React","createElement","MaterialButton","className","CircularProgress","size","thickness","ContentLabel","Typography","ContentBox","limitWidth","Box","boxShadow","LoadingSpinner","text","StyledTableRow","withStyles","createStyles","root","backgroundColor","MUITableRow","ShadedTableRow","useTableCellStyles","borderBottom","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","head","border","borderTop","primary","borderLeft","borderRight","TableCell","align","headerColours","MUITableCell","TableRow","rowBorderSeparation","SingleCellRow","colSpan","useStaticTableStyles","adjustedCellPadding","tableStyles","borderCollapse","pointer","cursor","bottomBorder","noShading","StaticTable","headers","rows","headerCellAlignment","rowCellAlignment","paginate","itemsPerPage","useState","page","setPage","hasRowsAndPaginated","useMemo","visibleRows","setVisibleRows","handlePageChange","useCallback","event","useEffect","Fragment","Table","TableHead","map","header","key","TableBody","data","containsOnClick","undefined","row","cell","Pagination","count","Math","ceil","onChange","shape","showFirstButton","showLastButton","useStyles","logoContainer","height","logo","logoInBreadcrumb","margin","logoSpacing","spacing","flexItemsCenter","nonPrimaryBreadcrumbOffset","BreadcrumbsContainer","primaryBreadcrumbItem","common","white","zIndex","secondaryBreadcrumbItem","secondary","tertiaryBreadcrumbItem","tertiary","breadCrumbShadow","shadows","breadcrumbRightMargin","breadcrumbTextOverflow","overflow","textOverflow","activeBreadcrumb","noWrap","whiteSpace","fullBorderRadius","Breadcrumbs","content","colors","first","second","third","Link","component","RouterLink","ButtonBase","underline","link","name","container","svgContainer","button","textDecoration","orgLabel","EntityList","entities","icon","loadingMessage","emptyMessage","Grid","entity","item","xs","md","ErrorIndicator","ErrorIcon","useNavListStyles","listIcon","minWidth","mainIconSize","mainIconMarginAdjustment","marginTop","textOverflowElipsis","mainListItem","props","mainBackground","mainText","mainHover","action","hover","mainIconColor","mainIcon","activeMainIconColor","mainActiveText","subListItem","subItemBackground","subItemText","subItemHover","activeSubListItem","subItemActiveBackground","subItemActiveText","subItemActiveHover","subItemBorder","relativeWrapper","position","subItemBorderMask","top","bottom","transition","activeSubItemBorder","subItemWrapper","noYMargin","isItemActive","currentPathname","id","split","NavListItem","mainItem","subItems","config","Icon","mainItemColors","subItemColors","location","useLocation","activeMainItem","pathname","subExpanded","setSubExpanded","ListItem","dense","route","ListItemIcon","ListItemText","disableTypography","preventDefault","stopPropagation","expanded","ExpandLess","ExpandMore","Collapse","in","timeout","unmountOnExit","List","disablePadding","sortDescendingStartDateString","array","sort","a","b","startDate","replaceAll","didCellValueChange","oldVal","newVal","isDateValue","isValid","Date","getTime","useSecondaryNavStyles","secondaryNavWrapper","overflowY","overflowX","boxSizing","titleWrapper","title","titleColor","titleIcons","titleIconColor","closeButton","archivedSeparator","archivedBorder","listWrapper","SecondaryLeftNavContainer","secondaryNavItems","primaryNavItems","expandedOptions","setExpandedOptions","stylesProps","history","useHistory","navItem","view","mainItemIcon","find","field","IconButton","url","AddBoxOutlinedIcon","closeButtonSvg","CloseIcon","items","archivedItems","usePrimaryLeftNavStyles","primaryNavContainer","activeBorderColor","flexDirection","itemWrapper","itemBorder","right","activeBorder","iconWrapper","itemName","textColour","activeTextColour","activeText","lastItem","PrimaryLeftNavContainer","navigationLinks","applyActiveBackground","fieldName","path","rootRouteName","startsWith","arr","moveLastItemToBottom","hasSecondary","useLeftNavStyles","leftNavContainer","LeftNavigation","styles","navsWithSecondary","reduce","navs","nav","prev","useMainLayoutStyles","remainingHeightBox","topOffset","left","fullHeightFlexbox","relativeContainer","scrollWrapper","componentWrapper","MainLayout","sideNavigation","desktopWidth","Container","disableGutters","useDebounceEffect","effect","deps","delay","callback","setTimeout","clearTimeout","useInterval","savedCallback","useRef","current","id_1","setInterval","clearInterval","useWhyDidYouUpdate","latestProps","allKeys","keys","changesObj","forEach","changedKeys","k","filter","Boolean","isDeepEqual","isEqual","console","log","changes","values","useAlphabeticalListStyles","divider","letterHeader","listItem","topMargin","AlphabeticalList","sortFn","sortKey","buttonClick","linkTo","ItemTemplate","arrayKey","alphabetisedHeader","lastSection","showHeader","currentKey","toLowerCase","toUpperCase","Divider","useSearchBarStyles","searchBox","alignContent","searchField","searchIcon","SearchBar","inputBackgroundColor","placeholder","disabledSearch","minQueryLength","handleOnChange","searchKeys","_k","searchInput","setSearchInput","_l","blockSearch","setBlockSearch","_m","setResult","itemIsFound","some","InputBase","target","endAdornment","InputAdornment","SearchIcon","inputField","typography","body2","labelStyles","transform","TextField","numberField","inputProps","InputProps","fixedDecimalScale","inputPropsForNumberField","MaterialTextField","inputComponent","NumberFormatField","InputLabelProps","inputRef","other","NumberFormat","getInputRef","onValueChange","thousandSeparator","decimalScale","isNumericString","useSelectStyles","scrollbarWidth","inputStyles","selectedListItem","Select","selectOptions","SelectProps","select","option","MenuItem","selected","description","DatePicker","format","minDate","MuiPickersUtilsProvider","utils","DateFnsUtils","MaterialDatePicker","inputVariant","autoOk","TextFieldComponent","KeyboardDatePicker","allowKeyboardControl","useButtonWithConfirmStyles","confirmWrapper","confirmContainer","whiteText","ButtonWithConfirm","confirmView","setConfirmView","stopInterval","setStopInterval","determineWidth","valueLength","toString","floor","useDefaultTableCellsStyles","inputBase","input","startAdornment","modifiedUnderline","body2Text","dateFieldWidth","fullDateWidth","justifyStart","justifyCenter","justifyEnd","totalContainer","selectFocusBackground","TableTextField","error","onBlur","prefix","suffix","style","helperText","tableNumericStringField","tableProps","tableNumericStringFixedDecimalField","SelectionCheckbox","Checkbox","TableDatePicker","fullDate","views","tableDateField","tableInvoiceDateField","TableCheckbox","checked","tableCheckbox","NonEditableField","displayType","TableSelect","FormControl","entries","FormHelperText","TableMultipleSelect","renderValue","multiple","newRowHighlight","editedCellHighlight","backgroundClip","editedBorder","borderWidth","errorBorder","light","emptyLoadingPadding","pagination","virtualisationContainer","maxHeight","EditableCell","initialValue","original","column","syncCellWithState","setRows","fieldConfig","validationRule","dependentValidationRule","isCheckbox","isDateField","customRenderFn","configOnBlur","onChangeValueModifier","setError","setValue","checkbox","validateValue","returnValue","validateSync","message","fieldValue","rowIndex","errorStatus","renderFnProps","disabledRow","adjustedDateValue","eventValue","originalValues","TableRowContents","includeRowSelect","rowStatus","cells","getCellProps","edited","render","emptyRows","EditableTable","memo","tableRows","tableHeaders","skipPageReset","setSelectedRows","filterData","filterTypes","emptyTableText","defaultPageSize","virtContainerStyling","overscan","rowHeight","includeGlobalSearch","parentRef","defaultColumn","Cell","useTable","columns","autoResetPage","initialState","pageSize","useFilters","useGlobalFilter","usePagination","useRowSelect","hooks","visibleColumns","Header","getToggleAllRowsSelectedProps","getToggleAllPageRowsSelectedProps","getToggleRowSelectedProps","getTableProps","getTableBodyProps","headerGroups","prepareRow","state","selectedRowIds","pageIndex","setFilter","pageCount","gotoPage","preGlobalFilteredRows","setGlobalFilter","isAllRowsSelected","selectedFlatRows","rowVirtualizer","useVirtual","estimateSize","rowsToRender","virtualItems","start","totalSize","end","filterRow","filterValues","GlobalSearch","globalFilter","ref","TableContent","virtualRows","useGlobalSearchStyles","marginInline","borderColor","useAsyncDebounce","MUITable","stickyHeader","TableHeaderContent","TableRows","headerGroup","getHeaderGroupProps","getHeaderProps","virtualRow","rowKey","getRowProps","Tooltip","tooltipText","arrow","useAlertStyles","alertStyling","showCursor","Alert","alertActionHandler","formStatus","actionButton","alertMessage","addBreak","MUIAlert","severity","handler","useImageDisplayAndUploadStyles","greyBox","widthLimiter","hiddenInput","buttonColor","iconStyling","dropBox","dropArrowStyling","topLeftArrow","topRightArrow","bottomLeftArrow","bottomRightArrow","hiddenDisplay","loadingCircle","roundedAvatarButton","roundedAvatar","organisationImage","ImageDisplayAndUpload","handleSaveImage","alt","displayImage","setDisplayImage","uploadState","setUploadState","infoMessage","setInfoMessage","htmlToDisplay","handleImageUpload","files","imageUpload","dataTransfer","file","arrayBuffer","buffer","e_1","pointerEvents","Forward","htmlFor","CloudUpload","onDragEnter","onDragOver","MUIButton","Avatar","src","onDragLeave","onDrop","accept"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/globals/index.ts","../src/styles/spacing.ts","../src/styles/font.ts","../src/styles/layout.ts","../src/Button/Button.tsx","../src/ContentLabel/ContentLabel.tsx","../src/ContentBox/ContentBox.tsx","../src/LoadingSpinner/LoadingSpinner.tsx","../src/StaticTable/StaticTable.tsx","../src/Breadcrumbs/Breadcrumbs.tsx","../src/EntityList/EntityList.tsx","../src/ErrorIndicator/ErrorIndicator.tsx","../src/LeftNavigation/NavListItem.tsx","../src/utils/index.ts","../src/LeftNavigation/SecondaryLeftNavigation.tsx","../src/LeftNavigation/PrimaryLeftNavigation.tsx","../src/LeftNavigation/LeftNavigation.tsx","../src/MainLayout/MainLayout.tsx","../src/hooks/useDebounceEffect.tsx","../src/hooks/useInterval.ts","../src/hooks/useWhyDidYouUpdate.tsx","../src/AlphabeticalList/AlphabeticalList.tsx","../src/SearchBar/SearchBar.tsx","../src/TextField/TextField.tsx","../src/Select/Select.tsx","../src/DatePicker/DatePicker.tsx","../src/KeyboardDatePicker/KeyboardDatePicker.tsx","../src/ButtonWithConfirm/ButtonWithConfirm.tsx","../src/EditableTable/defaultCells.tsx","../src/EditableTable/EditableTable.tsx","../src/Alert/Alert.tsx","../src/ImageDisplayAndUpload/ImageDisplayAndUpload.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { string } from \"yup\";\n\nexport const HALF_REM = \"0.5rem\";\nexport const ONE_REM = \"1rem\";\nexport const ONE_AND_HALF_REM = \"1.5rem\";\nexport const TWO_REM = \"3rem\";\nexport const THREE_REM = \"3rem\";\n\nexport const EDITED_STATUS = \"EDITED\";\nexport const NEW_STATUS = \"NEW\";\n\nexport const VALIDATION_MESSAGE_REQUIRED = \"Required\";\nexport const REGEX_NUMBER_WITH_DECIMALS = /^\\d*\\.?\\d*$/;\n\nexport const YUP_REQUIRED_STRING_SHORT_MESSAGE = string()\n .trim()\n .required(VALIDATION_MESSAGE_REQUIRED);\n\nexport const YUP_STRING_NUMBER_WITH_DECIMALS = string()\n .trim()\n .required(VALIDATION_MESSAGE_REQUIRED)\n .matches(REGEX_NUMBER_WITH_DECIMALS, \"Must be a Number\");\n\nexport const FORM_SUCCESS = \"success\";\nexport const FORM_ERROR = \"error\";\nexport const FORM_LOADING = \"loading\";\nexport const FORM_ENABLED = \"enabled\";\nexport const FORM_WARNING = \"warning\";\n\nexport type FormStatuses =\n | typeof FORM_SUCCESS\n | typeof FORM_ERROR\n | typeof FORM_LOADING\n | typeof FORM_ENABLED\n | typeof FORM_WARNING;\n\nexport const READ_LEVEL = \"read\";\nexport const WRITE_LEVEL = \"write\";\nexport const NO_ACCESS_LEVEL = \"noAccess\";\n\nexport interface IAuthoriserProp {\n accessLevel?: typeof READ_LEVEL | typeof WRITE_LEVEL | typeof NO_ACCESS_LEVEL;\n}\n\nexport const BORDER_RADIUS = \"14px\";\n","import { makeStyles } from \"@material-ui/core\";\nimport { HALF_REM, ONE_AND_HALF_REM, THREE_REM, ONE_REM } from \"../globals\";\n\nexport const useSpacingStyles = makeStyles(\n {\n labelBreak: {\n marginBottom: HALF_REM,\n },\n contentBreak: {\n marginBottom: ONE_REM,\n },\n sectionBreak: {\n marginBottom: ONE_AND_HALF_REM,\n },\n doubleSectionBreak: {\n marginBottom: THREE_REM,\n },\n rightSpacer1: {\n marginRight: HALF_REM,\n },\n rightSpacer2: {\n marginRight: ONE_REM,\n },\n leftSpacer1: {\n marginLeft: HALF_REM,\n },\n leftSpacer2: {\n marginLeft: ONE_REM,\n },\n buttonSpacing: {\n marginLeft: HALF_REM,\n marginRight: HALF_REM,\n marginBottom: ONE_REM,\n },\n leftRightPadding1: {\n paddingLeft: HALF_REM,\n paddingRight: HALF_REM,\n },\n leftRightPadding2: {\n paddingLeft: ONE_REM,\n paddingRight: ONE_REM,\n },\n topBottomPadding1: {\n paddingTop: HALF_REM,\n paddingBottom: HALF_REM,\n },\n topBottomPadding2: {\n paddingTop: ONE_REM,\n paddingBottom: ONE_REM,\n },\n },\n { classNamePrefix: \"spacing\", index: 2 }\n);\n","import { makeStyles } from \"@material-ui/core\";\n\nexport const useFontStyles = makeStyles(\n (theme) => ({\n boldText: {\n fontWeight: 700,\n },\n bolderText: {\n fontWeight: 500,\n },\n smallText: {\n fontSize: \"0.7rem\",\n },\n warningColor: {\n color: theme.palette.warning.main,\n },\n centerText: {\n textAlign: \"center\",\n },\n }),\n { classNamePrefix: \"font\" }\n);\n","import { makeStyles } from \"@material-ui/core\";\nimport { BORDER_RADIUS, ONE_REM, THREE_REM } from \"../globals\";\n\nexport const useLayoutStyles = makeStyles(\n {\n contentBox: {\n background: \"white\",\n borderRadius: BORDER_RADIUS,\n marginBottom: ONE_REM,\n padding: THREE_REM,\n },\n limitWidth60rem: {\n maxWidth: \"60rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth50rem: {\n maxWidth: \"50rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth45rem: {\n maxWidth: \"45rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth40rem: {\n maxWidth: \"40rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth35rem: {\n maxWidth: \"35rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth30rem: {\n maxWidth: \"30rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n limitWidth25rem: {\n maxWidth: \"25rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n centeredText: {\n textAlign: \"center\",\n },\n startAlignedText: {\n textAlign: \"start\",\n },\n width20: {\n width: \"20%\",\n },\n width49: {\n width: \"49%\",\n },\n width50: {\n width: \"50%\",\n },\n width60: {\n width: \"60%\",\n },\n width100: {\n width: \"100%\",\n },\n flexCenter: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n centerJustify: {\n justifyContent: \"center\",\n },\n leftJustify: {\n justifyContent: \"left\",\n },\n rightJustify: {\n justifyContent: \"right\",\n },\n },\n { classNamePrefix: \"layout\", index: 2 }\n);\n","import React from \"react\";\nimport {\n makeStyles,\n Button as MaterialButton,\n CircularProgress,\n} from \"@material-ui/core\";\nimport { useSpacingStyles } from \"../styles\";\nimport { IButtonProps } from \"./Button.types\";\nimport { NO_ACCESS_LEVEL, ONE_AND_HALF_REM, READ_LEVEL } from \"../globals\";\n\nconst useButtonStyles = makeStyles((theme) => ({\n submitButton: {\n borderRadius: ONE_AND_HALF_REM,\n padding: `0.4rem 1rem`,\n textTransform: \"none\",\n },\n containedText: {\n color: \"white\",\n },\n spinnerColour: {\n color: theme.palette.grey[500],\n },\n}));\n\nconst Button: React.FC<IButtonProps> = ({\n loading = false,\n children,\n errors = false,\n type = \"submit\",\n onClick,\n disabled = false,\n variant = \"outlined\",\n styling = \"\",\n color = \"primary\",\n accessLevel = \"\",\n ...rest\n}) => {\n const classes = { ...useSpacingStyles(), ...useButtonStyles() };\n\n if ([NO_ACCESS_LEVEL, READ_LEVEL].includes(accessLevel)) return null;\n\n let disabledProp = disabled;\n\n if (!disabled && (loading || errors)) {\n disabledProp = true;\n }\n\n return (\n <MaterialButton\n {...rest}\n variant={variant}\n color={color}\n type={type}\n className={`${classes.submitButton} ${\n variant === \"contained\" && classes.containedText\n } ${styling}`}\n disabled={disabledProp}\n onClick={onClick}\n >\n {children}\n {loading ? (\n <CircularProgress\n className={`${classes.leftSpacer1} ${classes.spinnerColour}`}\n size=\"1.1rem\"\n thickness={6}\n />\n ) : (\n \"\"\n )}\n </MaterialButton>\n );\n};\n\nexport default Button;\n","import React from \"react\";\nimport { Typography } from \"@material-ui/core\";\nimport { useFontStyles } from \"../styles\";\nimport { IContentLabelProps } from \"./ContentLabel.types\";\n\nconst ContentLabel: React.FC<IContentLabelProps> = ({ children, styling = null }) => {\n const classes = useFontStyles();\n return (\n <Typography variant=\"h6\" className={`${classes.bolderText} ${styling || \"\"}`}>\n {children}\n </Typography>\n );\n};\n\nexport default ContentLabel;\n","import React from \"react\";\nimport { Box } from \"@material-ui/core\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { IContentBoxProps } from \"./ContentBox.types\";\n\nconst ContentBox: React.FC<IContentBoxProps> = ({\n limitWidth = false,\n children,\n styling,\n}) => {\n const classes = { ...useSpacingStyles(), ...useLayoutStyles() };\n return (\n <Box boxShadow={3} className={`${classes.contentBox} ${styling || \"\"}`}>\n <Box\n className={`${classes.centeredText} ${limitWidth ? classes.limitWidth50rem : \"\"}`}\n >\n {children}\n </Box>\n </Box>\n );\n};\nexport default ContentBox;\n","import React from \"react\";\nimport { Box, Typography, CircularProgress } from \"@material-ui/core\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { ILoadingSpinnerProps } from \"./LoadingSpinner.types\";\n\nconst LoadingSpinner: React.FC<ILoadingSpinnerProps> = ({\n text = \"Loading data...\",\n styling,\n}) => {\n const classes = { ...useSpacingStyles(), ...useLayoutStyles() };\n\n return (\n <Box className={`${classes.flexCenter} ${styling || \"\"}`}>\n <Typography variant=\"body2\" color=\"textSecondary\" className={classes.rightSpacer1}>\n {text}\n </Typography>\n <CircularProgress size=\"1.5rem\" />\n </Box>\n );\n};\n\nexport default LoadingSpinner;\n","import React, { ReactNode, useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n createStyles,\n makeStyles,\n Table,\n TableBody,\n TableCell as MUITableCell,\n TableHead,\n TableRow as MUITableRow,\n withStyles,\n TableRowProps,\n TableCellProps,\n Box,\n} from \"@material-ui/core\";\nimport {\n cellAlignmentOptions,\n headerColours,\n IStaticTableProps,\n} from \"./StaticTable.types\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport LoadingSpinner from \"../LoadingSpinner/LoadingSpinner\";\nimport { BORDER_RADIUS } from \"../globals\";\nimport { Pagination } from \"@material-ui/lab\";\n\nconst StyledTableRow = withStyles(\n createStyles({\n root: {\n \"&:hover td\": {\n backgroundColor: \"rgba(0, 0, 0, 0.06)\",\n },\n },\n })\n)(MUITableRow);\n\nconst ShadedTableRow = withStyles(\n createStyles({\n root: {\n \"&:nth-of-type(even) td\": {\n backgroundColor: \"rgba(0, 0, 0, 0.03)\",\n },\n \"&:hover td\": {\n backgroundColor: \"rgba(0, 0, 0, 0.06)\",\n },\n },\n })\n)(MUITableRow);\n\nconst useTableCellStyles = makeStyles((theme) => ({\n root: {\n borderBottom: \"none\",\n paddingTop: \"8px\",\n paddingBottom: \"8px\",\n \"&:first-child\": {\n borderTopLeftRadius: BORDER_RADIUS,\n borderBottomLeftRadius: BORDER_RADIUS,\n },\n \"&:last-child\": {\n borderTopRightRadius: BORDER_RADIUS,\n borderBottomRightRadius: BORDER_RADIUS,\n },\n },\n head: ({ background, border, text }: headerColours) => ({\n backgroundColor: background || \"HSLA(204, 58.3%, 81.2%, 0.1)\",\n borderTop: `1px solid ${border || \"HSLA(204, 58.3%, 81.2%, 0.3)\"}`,\n borderBottom: `1px solid ${border || \"HSLA(204, 58.3%, 81.2%, 0.3)\"}`,\n color: text || theme.palette.text.primary,\n fontWeight: 500,\n \"&:first-child\": {\n borderLeft: `1px solid ${border || \"HSLA(204, 58.3%, 81.2%, 0.3)\"}`,\n },\n \"&:last-child\": {\n borderRight: `1px solid ${border || \"HSLA(204, 58.3%, 81.2%, 0.3)\"}`,\n },\n }),\n}));\n\ninterface ITableCellProps extends Omit<TableCellProps, \"align\"> {\n align?: cellAlignmentOptions;\n headerColours?: headerColours;\n withoutHeaders?: boolean;\n}\n\nconst TableCell = ({\n children,\n align = \"centerJustify\",\n headerColours,\n ...rest\n}: ITableCellProps) => {\n const classes = {\n ...useLayoutStyles(),\n ...useTableCellStyles({ ...(headerColours || {}) }),\n };\n return (\n <MUITableCell\n {...rest}\n classes={{\n root: classes.root,\n head: classes.head,\n }}\n >\n <Box className={`${classes.flexCenter} ${classes[align]}`}>{children}</Box>\n </MUITableCell>\n );\n};\n\ninterface ITableRow extends TableRowProps {\n rowBorderSeparation?: boolean;\n}\n\nconst TableRow = ({ rowBorderSeparation = false, children, ...rest }: ITableRow) => {\n if (rowBorderSeparation) {\n return <StyledTableRow {...rest}>{children}</StyledTableRow>;\n }\n return <ShadedTableRow {...rest}>{children}</ShadedTableRow>;\n};\n\ninterface ISingleCellRowProps {\n colSpan: number;\n children: ReactNode;\n}\n\nconst SingleCellRow = ({ colSpan, children }: ISingleCellRowProps) => {\n const classes = useStaticTableStyles();\n return (\n <TableRow>\n <TableCell className={classes.adjustedCellPadding} colSpan={colSpan}>\n {children}\n </TableCell>\n </TableRow>\n );\n};\n\nconst useStaticTableStyles = makeStyles({\n tableStyles: {\n borderCollapse: \"separate\",\n borderBottom: \"1px solid rgb(224, 224, 224)\",\n },\n pointer: {\n cursor: \"pointer\",\n },\n bottomBorder: {\n borderBottom: \"1px solid rgba(224, 224, 224, 1)\",\n },\n noShading: {\n backgroundColor: \"transparent !important\",\n },\n adjustedCellPadding: {\n paddingTop: \"11px\",\n paddingBottom: \"11px\",\n },\n});\n\nconst StaticTable: React.FC<IStaticTableProps> = ({\n rowBorderSeparation = false,\n headers,\n rows,\n headerCellAlignment = [],\n rowCellAlignment = [],\n styling,\n headerColours,\n paginate = false,\n itemsPerPage = 30,\n}) => {\n const classes = {\n ...useLayoutStyles(),\n ...useSpacingStyles(),\n ...useStaticTableStyles(),\n };\n const [page, setPage] = useState(1);\n\n const hasRowsAndPaginated = useMemo(\n () => !!(paginate && (rows?.length || 0) > itemsPerPage),\n [itemsPerPage, paginate, rows]\n );\n\n const [visibleRows, setVisibleRows] = useState<typeof rows>(\n hasRowsAndPaginated ? rows!.slice(0, itemsPerPage) : rows\n );\n\n const handlePageChange = useCallback(\n (event: React.ChangeEvent<unknown>, value: number) => {\n setPage(value);\n },\n []\n );\n\n useEffect(() => {\n setVisibleRows(\n hasRowsAndPaginated\n ? rows!.slice(itemsPerPage * (page - 1), itemsPerPage * page)\n : rows\n );\n }, [hasRowsAndPaginated, itemsPerPage, page, rows]);\n\n return (\n <>\n <Table\n className={`${classes.tableStyles} ${\n hasRowsAndPaginated ? classes.contentBreak : \"\"\n } ${styling || \"\"}`}\n >\n {headers ? (\n <TableHead>\n <MUITableRow>\n {headers.map((header: ReactNode, i) => (\n <TableCell\n align={headerCellAlignment[i] || \"centerJustify\"}\n key={`header-cell-${i}`}\n headerColours={headerColours}\n >\n {header}\n </TableCell>\n ))}\n </MUITableRow>\n </TableHead>\n ) : null}\n\n <TableBody>\n {visibleRows ? (\n visibleRows.length ? (\n visibleRows.map((data, i) => {\n const containsOnClick = !!data.onClick;\n return (\n <TableRow\n rowBorderSeparation={rowBorderSeparation}\n className={containsOnClick ? classes.pointer : undefined}\n key={`row-${i}`}\n onClick={containsOnClick ? data.onClick : undefined}\n >\n {data.row.map((cell: ReactNode, n) => (\n <TableCell\n align={rowCellAlignment[n] || \"centerJustify\"}\n className={\n rowBorderSeparation && visibleRows.length !== i + 1\n ? classes.bottomBorder\n : undefined\n }\n key={`row-${i}-cell-${n}`}\n >\n {cell}\n </TableCell>\n ))}\n </TableRow>\n );\n })\n ) : (\n <SingleCellRow colSpan={headers?.length || 0}>Table is empty</SingleCellRow>\n )\n ) : (\n <SingleCellRow colSpan={headers?.length || 0}>\n <LoadingSpinner />\n </SingleCellRow>\n )}\n </TableBody>\n </Table>\n {hasRowsAndPaginated ? (\n <Pagination\n className={classes.flexCenter}\n count={Math.ceil(rows!.length / itemsPerPage)}\n page={page}\n onChange={handlePageChange}\n shape=\"rounded\"\n showFirstButton\n showLastButton\n />\n ) : null}\n </>\n );\n};\n\nexport default StaticTable;\n","import React from \"react\";\nimport { makeStyles, Typography, Link, Box, ButtonBase } from \"@material-ui/core\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { IBreadcrumbColors, IBreadcrumbsProps } from \"./Breadcrumbs.types\";\n\nconst useStyles = makeStyles((theme) => ({\n logoContainer: {\n width: \"3rem\",\n height: \"3rem\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n logo: {\n width: \"100%\",\n height: \"100%\",\n \"& > div\": {\n width: \"100%\",\n height: \"100%\",\n },\n \"& > svg\": {\n width: \"100%\",\n height: \"100%\",\n },\n },\n logoInBreadcrumb: {\n width: \"2rem\",\n height: \"2rem\",\n margin: \"0.125rem 0 0.125rem 0.313rem\",\n },\n logoSpacing: {\n marginRight: theme.spacing(1),\n },\n flexItemsCenter: {\n display: \"flex\",\n alignItems: \"center\",\n },\n nonPrimaryBreadcrumbOffset: {\n marginLeft: \"2.5rem\",\n },\n BreadcrumbsContainer: {\n height: \"2.25rem\",\n marginLeft: \"0.875rem\",\n marginRight: \"1.5rem\",\n },\n primaryBreadcrumbItem: ({ primary }: IBreadcrumbColors) => ({\n backgroundColor: primary?.background || theme.palette.common.white,\n color: primary?.color || theme.palette.text.primary,\n borderRadius: \"2rem\",\n zIndex: 3,\n height: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n }),\n secondaryBreadcrumbItem: ({ secondary }: IBreadcrumbColors) => ({\n height: \"2.25rem\",\n backgroundColor: secondary?.background || \"#D7D4E4\",\n borderRadius: \"2rem\",\n zIndex: 2,\n marginLeft: \"-2rem\",\n color: secondary?.color || theme.palette.text.primary,\n }),\n tertiaryBreadcrumbItem: ({ tertiary }: IBreadcrumbColors) => ({\n height: \"2.25rem\",\n backgroundColor: tertiary?.background || \"#D7D4E4\",\n borderRadius: \"2rem\",\n zIndex: 1,\n marginLeft: \"-2rem\",\n color: tertiary?.color || theme.palette.common.white,\n }),\n breadCrumbShadow: {\n boxShadow: theme.shadows[2],\n },\n breadcrumbRightMargin: {\n marginRight: \"1rem\",\n },\n breadcrumbTextOverflow: {\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n maxWidth: \"12rem\",\n },\n boldText: {\n fontWeight: 500,\n },\n activeBreadcrumb: ({ tertiary }: IBreadcrumbColors) => ({\n backgroundColor: tertiary?.background || \"#D7D4E4\",\n color: tertiary?.color || theme.palette.common.white,\n }),\n noWrap: {\n whiteSpace: \"nowrap\",\n },\n fullBorderRadius: {\n borderRadius: \"100%\",\n },\n}));\n\nconst Breadcrumbs: React.FC<IBreadcrumbsProps> = ({ logo, content, colors }) => {\n const classes = useStyles({ ...(colors || {}) });\n\n const { first = null, second = null, third = null } = content;\n\n return (\n <Box className={`${classes.BreadcrumbsContainer} ${classes.flexItemsCenter}`}>\n <Box\n className={`${\n first ? `${classes.primaryBreadcrumbItem} ${classes.breadCrumbShadow}` : \"\"\n } ${classes.flexItemsCenter}`}\n >\n <Link component={RouterLink} to=\"/\" className={classes.logoSpacing}>\n <Box\n className={`${classes.logoContainer} \n ${first ? classes.logoInBreadcrumb : \"\"}`}\n >\n <ButtonBase className={`${classes.logo} ${classes.fullBorderRadius}`}>\n {logo}\n </ButtonBase>\n </Box>\n </Link>\n {first && (\n <Typography\n color=\"textPrimary\"\n className={`${classes.boldText} ${classes.noWrap} ${classes.primaryBreadcrumbItem}`}\n >\n <Link\n underline=\"none\"\n component={RouterLink}\n to={first.link}\n color=\"inherit\"\n className={`${classes.breadcrumbRightMargin} ${classes.breadcrumbTextOverflow}`}\n >\n {first.name}\n </Link>\n </Typography>\n )}\n </Box>\n\n {second && (\n <Box\n className={`${classes.flexItemsCenter} ${classes.secondaryBreadcrumbItem} ${\n classes.breadCrumbShadow\n } ${!third ? classes.activeBreadcrumb : \"\"}`}\n >\n <Typography color=\"inherit\" className={`${classes.boldText} ${classes.noWrap}`}>\n <Link\n component={RouterLink}\n underline=\"none\"\n to={second.link}\n color=\"inherit\"\n className={`${classes.nonPrimaryBreadcrumbOffset} ${classes.breadcrumbRightMargin} ${classes.breadcrumbTextOverflow}`}\n >\n {second.name}\n </Link>\n </Typography>\n </Box>\n )}\n {third && (\n <Box\n className={`${classes.flexItemsCenter} ${classes.tertiaryBreadcrumbItem} ${classes.breadCrumbShadow}`}\n >\n <Typography color=\"inherit\" className={`${classes.boldText} ${classes.noWrap}`}>\n <Link\n component={RouterLink}\n underline=\"none\"\n to={third.link}\n color=\"inherit\"\n className={`${classes.nonPrimaryBreadcrumbOffset} ${classes.breadcrumbRightMargin} ${classes.breadcrumbTextOverflow}`}\n >\n {third.name}\n </Link>\n </Typography>\n </Box>\n )}\n </Box>\n );\n};\n\nexport default Breadcrumbs;\n","import { Box, Button, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport LoadingSpinner from \"../LoadingSpinner/LoadingSpinner\";\nimport React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { useFontStyles, useSpacingStyles } from \"../styles\";\nimport { IEntityListProps } from \"./EntityList.types\";\nimport { BORDER_RADIUS } from \"../globals\";\n\nconst useStyles = makeStyles((theme) => ({\n container: {\n marginRight: theme.spacing(-1.5),\n marginLeft: theme.spacing(-1.5),\n },\n svgContainer: {\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n button: {\n display: \"block\",\n textDecoration: \"none\",\n borderRadius: BORDER_RADIUS,\n height: \"100%\",\n width: \"100%\",\n textAlign: \"center\",\n },\n orgLabel: {\n padding: theme.spacing(1),\n paddingTop: 0,\n },\n}));\n\nconst EntityList: React.FC<IEntityListProps> = ({\n entities,\n icon,\n loadingMessage = \"Loading list...\",\n emptyMessage = \"List is empty\",\n onClick,\n}) => {\n const classes = {\n ...useStyles(),\n ...useSpacingStyles(),\n ...useFontStyles(),\n };\n\n return (\n <Box className={classes.container}>\n {!entities ? (\n <LoadingSpinner text={loadingMessage} />\n ) : entities.length ? (\n <Grid container spacing={3}>\n {entities.map((entity, index) => (\n <Grid key={`${entity.name}-${index}`} item xs={4} md={3}>\n <Button\n className={classes.button}\n key={entity.name}\n {...(onClick\n ? { onClick: () => onClick(entity) }\n : {\n component: RouterLink,\n to: entity.link,\n })}\n >\n <Box className={`${classes.svgContainer} ${classes.labelBreak}`}>\n {icon(entity)}\n </Box>\n <Typography className={classes.orgLabel} variant=\"body1\">\n {entity.name}\n </Typography>\n </Button>\n </Grid>\n ))}\n </Grid>\n ) : (\n <Typography className={classes.centerText} variant=\"body2\" color=\"textSecondary\">\n {emptyMessage}\n </Typography>\n )}\n </Box>\n );\n};\n\nexport default EntityList;\n","import React from \"react\";\nimport ErrorIcon from \"@material-ui/icons/Error\";\nimport { Typography, Box } from \"@material-ui/core\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { IErrorIndicatorProps } from \"./ErrorIndicator.types\";\n\nconst ErrorIndicator: React.FC<IErrorIndicatorProps> = ({\n text = \"Something went wrong\",\n}) => {\n const classes = { ...useSpacingStyles(), ...useLayoutStyles() };\n\n return (\n <Box className={classes.flexCenter}>\n <ErrorIcon fontSize=\"medium\" className={classes.rightSpacer1} color=\"error\" />\n <Typography variant=\"body2\" color=\"textSecondary\">\n {text}\n </Typography>\n </Box>\n );\n};\n\nexport default ErrorIndicator;\n","import React, { useState } from \"react\";\nimport {\n makeStyles,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Collapse,\n Typography,\n Box,\n} from \"@material-ui/core\";\nimport { ExpandLess, ExpandMore } from \"@material-ui/icons\";\nimport { useLocation, Link as RouterLink } from \"react-router-dom\";\nimport { useFontStyles, useSpacingStyles } from \"../styles\";\nimport { IListItemProps, INavListItemStyleProps } from \"./LeftNavigation.types\";\n\nconst useNavListStyles = makeStyles((theme) => ({\n listIcon: {\n minWidth: \"auto\",\n paddingRight: \"0.25rem\",\n },\n mainIconSize: {\n fontSize: \"1rem\",\n },\n mainIconMarginAdjustment: {\n marginTop: \"3px\",\n },\n textOverflowElipsis: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n mainListItem: (props: INavListItemStyleProps) => ({\n padding: \"8px 24px 8px 16px\",\n alignItems: \"flex-start\",\n backgroundColor: props.mainBackground || theme.palette.common.white,\n color: props.mainText || theme.palette.text.primary,\n borderRadius: theme.spacing(0.6),\n \"&:hover\": {\n backgroundColor: props.mainHover || theme.palette.action.hover,\n },\n }),\n mainIconColor: (props: INavListItemStyleProps) => ({\n color: props.mainIcon || theme.palette.grey[500],\n }),\n\n activeMainIconColor: (props: INavListItemStyleProps) => ({\n color: props.mainActiveText || \"#8FC1FF\",\n }),\n\n subListItem: (props: INavListItemStyleProps) => ({\n backgroundColor: props.subItemBackground || \"#FFFFFF\",\n color: props.subItemText || theme.palette.text.secondary,\n borderRadius: \"8px\",\n \"&:hover\": {\n backgroundColor: props.subItemHover || \"rgba(143,193,255,0.3)\",\n },\n }),\n\n activeSubListItem: (props: INavListItemStyleProps) => ({\n backgroundColor: props.subItemActiveBackground || \"#FFFFFF\",\n color: props.subItemActiveText || \"#8FC1FF\",\n \"&:hover\": {\n backgroundColor: props.subItemActiveHover || \"rgba(143,193,255,0.3)\",\n },\n }),\n\n subItemBorder: {\n borderLeft: `1px solid ${theme.palette.grey[600]}`,\n marginLeft: \"1px\",\n marginRight: \"1px\",\n width: \"100%\",\n height: \"100%\",\n },\n relativeWrapper: {\n position: \"relative\",\n },\n subItemBorderMask: (props: INavListItemStyleProps) => ({\n borderLeft: `3px solid ${props.subItemActiveText || \"#8FC1FF\"}`,\n borderRadius: \"1px\",\n position: \"absolute\",\n top: \"50%\",\n bottom: \"50%\",\n transition: \"all 0.2s ease-in-out\",\n }),\n activeSubItemBorder: {\n top: \"0 !important\",\n bottom: \"0 !important\",\n },\n subItemWrapper: {\n display: \"flex\",\n marginLeft: \"13px\",\n marginRight: \"16px\",\n },\n noYMargin: {\n marginTop: \"unset\",\n marginBottom: \"unset\",\n },\n}));\n\nconst isItemActive = (currentPathname: string, id: string) => {\n if (currentPathname.split(\"/\").includes(id)) {\n return true;\n }\n return false;\n};\n\nconst NavListItem: React.FC<IListItemProps> = ({ mainItem, subItems, config, Icon }) => {\n const classes = {\n ...useFontStyles(),\n ...useSpacingStyles(),\n ...useNavListStyles({\n ...(config.secondary?.mainItemColors || {}),\n ...(config.secondary?.subItemColors || {}),\n }),\n };\n const location = useLocation();\n\n const activeMainItem = isItemActive(location.pathname, mainItem.id);\n const [subExpanded, setSubExpanded] = useState<boolean>(\n subItems?.length ? activeMainItem : false\n );\n\n return (\n <>\n <ListItem\n button\n dense\n className={classes.mainListItem}\n component={RouterLink}\n to={mainItem.route}\n >\n <ListItemIcon\n className={`${classes.listIcon} ${classes.mainIconMarginAdjustment} ${classes.rightSpacer1}`}\n >\n <Icon\n id=\"second-nav-item\"\n styling={`${classes.mainIconSize} ${classes.mainIconColor} ${\n activeMainItem ? classes.activeMainIconColor : \"\"\n }`}\n />\n </ListItemIcon>\n <ListItemText\n disableTypography\n className={classes.noYMargin}\n primary={\n <Typography\n variant=\"body2\"\n className={`${classes.bolderText} ${classes.textOverflowElipsis}`}\n color=\"inherit\"\n >\n {mainItem.name}\n {subItems?.length ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={classes.bolderText}\n color=\"inherit\"\n >\n {\" \"}\n ({subItems.length})\n </Typography>\n ) : null}\n </Typography>\n }\n />\n {subItems?.length ? (\n <ListItemIcon\n className={classes.listIcon}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setSubExpanded((expanded) => !expanded);\n }}\n >\n {subExpanded ? <ExpandLess /> : <ExpandMore />}\n </ListItemIcon>\n ) : null}\n </ListItem>\n {subItems?.length ? (\n <Collapse in={subExpanded} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {subItems.map(({ name, route, id }) => (\n <Box key={id} className={classes.subItemWrapper}>\n <Box className={`${classes.relativeWrapper} ${classes.rightSpacer1}`}>\n <Box className={`${classes.subItemBorder} `} />\n <Box\n className={`${classes.subItemBorderMask} ${\n isItemActive(location.pathname, id)\n ? classes.activeSubItemBorder\n : \"\"\n } `}\n />\n </Box>\n\n <ListItem\n key={route}\n component={RouterLink}\n to={route}\n button\n dense\n className={`${classes.subListItem} ${\n isItemActive(location.pathname, id) ? classes.activeSubListItem : \"\"\n }`}\n >\n <ListItemText\n disableTypography\n primary={\n <Typography\n variant=\"body2\"\n className={classes.textOverflowElipsis}\n color=\"inherit\"\n >\n {name}\n </Typography>\n }\n />\n </ListItem>\n </Box>\n ))}\n </List>\n </Collapse>\n ) : null}\n </>\n );\n};\n\nexport default NavListItem;\n","import { isValid } from \"date-fns\";\nimport { TableCellValues } from \"../EditableTable/EditableTable.types\";\n\nexport function sortDescendingStartDateString<T extends { startDate: string }>(\n array: T[]\n): T[] {\n return array.sort(\n (a, b) =>\n +b.startDate.split(\"T\")[0].replaceAll(\"-\", \"\") -\n +a.startDate.split(\"T\")[0].replaceAll(\"-\", \"\")\n );\n}\n\nexport const didCellValueChange = (\n oldVal: TableCellValues,\n newVal: TableCellValues,\n isDateValue?: boolean\n) =>\n isDateValue\n ? ((oldVal && isValid(oldVal) ? oldVal : new Date(0)) as Date).getTime() ===\n ((newVal && isValid(newVal) ? newVal : new Date(0)) as Date).getTime()\n : oldVal === newVal;\n","import React from \"react\";\nimport { Box, IconButton, makeStyles, Typography, List } from \"@material-ui/core\";\nimport NavListItem from \"./NavListItem\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n ISecondaryLeftNavContainerProps,\n ISecondaryNavigationItem,\n} from \"./LeftNavigation.types\";\nimport { sortDescendingStartDateString } from \"../utils\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport AddBoxOutlinedIcon from \"@material-ui/icons/AddBoxOutlined\";\nimport { useFontStyles, useSpacingStyles } from \"../styles\";\nimport { BORDER_RADIUS } from \"../globals\";\n\ntype SecondaryNavStyles = {\n titleColor?: string;\n titleIconColor?: string;\n};\n\nconst useSecondaryNavStyles = makeStyles((theme) => ({\n secondaryNavWrapper: {\n height: \"100%\",\n width: \"300px\",\n background: \"white\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n borderTopRightRadius: BORDER_RADIUS,\n borderBottomRightRadius: BORDER_RADIUS,\n marginLeft: \"-16px\",\n paddingLeft: \"16px\",\n border: `1px solid ${theme.palette.grey[300]}`,\n boxShadow: \"0 2px 4px 0 rgba(0, 0, 0, 0.3)\",\n boxSizing: \"border-box\",\n },\n titleWrapper: {\n marginTop: \"24px\",\n display: \"flex\",\n alignItems: \"center\",\n paddingLeft: \"16px\",\n paddingRight: \"16px\",\n },\n title: {\n fontSize: \"18px\",\n fontWeight: 500,\n color: (props: SecondaryNavStyles) => props.titleColor || \"#8FC1FF\",\n },\n titleIcons: {\n color: (props: SecondaryNavStyles) => props.titleIconColor || \"#8FC1FF\",\n },\n closeButton: {\n marginLeft: \"auto\",\n },\n archivedSeparator: {\n paddingLeft: \"8px\",\n color: theme.palette.grey[500],\n },\n archivedBorder: {\n marginTop: \"3rem\",\n border: `1px solid ${theme.palette.grey[200]}`,\n width: \"33%\",\n marginLeft: \"8px\",\n },\n listWrapper: {\n marginLeft: theme.spacing(1),\n marginRight: theme.spacing(1),\n },\n}));\n\nconst SecondaryLeftNavContainer: React.FC<ISecondaryLeftNavContainerProps> = ({\n secondaryNavItems,\n primaryNavItems,\n expandedOptions,\n setExpandedOptions,\n config,\n}) => {\n const stylesProps = {\n titleColor: config.secondary?.titleColor,\n titleIconColor: config.secondary?.titleIconColor,\n };\n const classes = {\n ...useSpacingStyles(),\n ...useFontStyles(),\n ...useSecondaryNavStyles(stylesProps),\n };\n const history = useHistory();\n\n const navItem = secondaryNavItems[expandedOptions.view];\n\n if (!navItem) return null;\n\n const mainItemIcon = primaryNavItems.find(\n (item) => item.field === expandedOptions.view\n )!.Icon;\n\n return (\n <Box className={classes.secondaryNavWrapper}>\n <Box className={classes.titleWrapper}>\n <Typography className={`${classes.rightSpacer1} ${classes.title}`}>\n {expandedOptions.view}\n </Typography>\n {navItem.button ? (\n <IconButton\n className={classes.titleIcons}\n size=\"small\"\n type=\"button\"\n onClick={() => history.push(navItem.button!.url)}\n >\n <AddBoxOutlinedIcon />\n </IconButton>\n ) : null}\n <IconButton\n className={`${classes.titleIcons} ${classes.closeButton}`}\n size=\"small\"\n type=\"button\"\n onClick={() => setExpandedOptions({ view: \"\", expanded: false })}\n >\n {config.secondary?.closeButtonSvg || <CloseIcon />}\n </IconButton>\n </Box>\n\n <List className={classes.listWrapper} component=\"div\">\n {sortDescendingStartDateString<ISecondaryNavigationItem>(navItem.items).map(\n (item) => (\n <NavListItem\n key={item.mainItem.route}\n {...item}\n config={config}\n Icon={mainItemIcon}\n />\n )\n )}\n {navItem.archivedItems?.length ? (\n <>\n <Box className={`${classes.archivedBorder} ${classes.contentBreak}`} />\n <Typography\n variant=\"body2\"\n className={`${classes.archivedSeparator} ${classes.bolderText}`}\n >\n Archived {expandedOptions.view}\n </Typography>\n {sortDescendingStartDateString<ISecondaryNavigationItem>(\n navItem.archivedItems\n ).map((item) => (\n <NavListItem\n key={item.mainItem.route}\n {...item}\n config={config}\n Icon={mainItemIcon}\n />\n ))}\n </>\n ) : null}\n </List>\n </Box>\n );\n};\n\nexport default SecondaryLeftNavContainer;\n","import React from \"react\";\nimport { useLocation, Link as RouterLink } from \"react-router-dom\";\nimport {\n Box,\n List,\n ListItem,\n ListItemIcon,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport { IPrimaryConfig, IPrimaryLeftNavContainerProps } from \"./LeftNavigation.types\";\nimport { BORDER_RADIUS } from \"../globals\";\n\nconst usePrimaryLeftNavStyles = makeStyles((theme) => ({\n primaryNavContainer: (props: IPrimaryConfig) => ({\n background: props.background || \"linear-gradient(to bottom, #253a68 40%, #73c4ca)\",\n border: `2px solid ${props.activeBorderColor || \"#8FC1FF\"}`,\n borderLeft: \"none\",\n borderTopRightRadius: BORDER_RADIUS,\n borderBottomRightRadius: BORDER_RADIUS,\n minWidth: \"4.5rem\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n }),\n listWrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n paddingTop: 0,\n },\n itemWrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n padding: \"0.75rem 0.5rem 0.5rem 0.5rem\",\n },\n itemBorder: {\n borderRight: (props: IPrimaryConfig) =>\n `6px solid ${props.activeBorderColor || \"#8FC1FF\"}`,\n position: \"absolute\",\n bottom: \"50%\",\n top: \"50%\",\n transition: \"all 0.2s ease-in-out\",\n right: \"-3px\",\n },\n activeBorder: {\n top: \"15%\",\n bottom: \"15%\",\n },\n iconWrapper: {\n minWidth: 0,\n marginBottom: \"4px\",\n position: \"relative\",\n },\n itemName: {\n fontSize: \"0.7rem\",\n maxWidth: \"3.5rem\",\n textAlign: \"center\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n textColour: {\n color: (props: IPrimaryConfig) => props.text || \"#FFFFFF\",\n },\n activeTextColour: {\n color: (props: IPrimaryConfig) => props.activeText || \"#8FC1FF\",\n },\n lastItem: {\n marginTop: \"auto\",\n },\n}));\n\nconst PrimaryLeftNavContainer: React.FC<IPrimaryLeftNavContainerProps> = ({\n expandedOptions,\n setExpandedOptions,\n navigationLinks,\n config,\n}) => {\n const location = useLocation();\n const classes = usePrimaryLeftNavStyles({ ...(config.primary || {}) });\n\n const applyActiveBackground = (fieldName: string, path: string) => {\n if (expandedOptions.view === \"\") {\n if (location.pathname === path) {\n return true;\n } else if (\n fieldName !== config.rootRouteName &&\n location.pathname.startsWith(path)\n ) {\n return true;\n } else return false;\n } else if (expandedOptions.view === fieldName) {\n return true;\n } else return false;\n };\n\n return (\n <List className={`${classes.primaryNavContainer} ${classes.listWrapper}`}>\n {navigationLinks.map((item, index, arr) => (\n <ListItem\n key={item.field}\n button\n className={`${classes.itemWrapper} ${classes.textColour} ${\n config.primary?.moveLastItemToBottom && index === arr.length - 1\n ? classes.lastItem\n : \"\"\n }`}\n {...(!!item.hasSecondary ? {} : { component: RouterLink, to: item.path })}\n onClick={() => {\n setExpandedOptions({ view: item.field, expanded: !!item.hasSecondary });\n }}\n >\n <ListItemIcon className={classes.iconWrapper}>\n <item.Icon\n styling={`${classes.textColour} ${\n applyActiveBackground(item.field, item.path)\n ? classes.activeTextColour\n : \"\"\n }`}\n />\n </ListItemIcon>\n <Typography\n variant=\"caption\"\n className={`${classes.itemName} ${classes.textColour} ${\n applyActiveBackground(item.field, item.path) ? classes.activeTextColour : \"\"\n }`}\n >\n {item.field}\n </Typography>\n <Box\n className={`${classes.itemBorder} ${\n applyActiveBackground(item.field, item.path) ? classes.activeBorder : \"\"\n }`}\n />\n </ListItem>\n ))}\n </List>\n );\n};\n\nexport default PrimaryLeftNavContainer;\n","import React, { useState, useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport SecondaryLeftNavContainer from \"./SecondaryLeftNavigation\";\nimport PrimaryLeftNavContainer from \"./PrimaryLeftNavigation\";\nimport { Box, makeStyles } from \"@material-ui/core\";\nimport { ILeftNavigationProps } from \"./LeftNavigation.types\";\n\nconst useLeftNavStyles = makeStyles({\n leftNavContainer: {\n height: \"100%\",\n display: \"flex\",\n position: \"relative\",\n width: \"max-content\",\n },\n});\n\nconst LeftNavigation: React.FC<ILeftNavigationProps> = ({\n primaryNavItems,\n secondaryNavItems,\n config,\n}) => {\n const [expandedOptions, setExpandedOptions] = useState({\n view: \"\",\n expanded: false,\n });\n\n const styles = useLeftNavStyles();\n const location = useLocation();\n\n const navsWithSecondary = primaryNavItems.reduce(\n (navs, nav) => (nav.hasSecondary ? [...navs, nav.field] : navs),\n [] as string[]\n );\n\n useEffect(() => {\n setExpandedOptions((prev) => {\n if (navsWithSecondary.includes(prev.view) && prev.expanded === true) {\n return prev;\n } else return { view: \"\", expanded: false };\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n return (\n <Box component=\"nav\" className={styles.leftNavContainer}>\n <PrimaryLeftNavContainer\n expandedOptions={expandedOptions}\n setExpandedOptions={setExpandedOptions}\n navigationLinks={primaryNavItems}\n config={config}\n />\n\n {expandedOptions.expanded && (\n <SecondaryLeftNavContainer\n secondaryNavItems={secondaryNavItems}\n primaryNavItems={primaryNavItems}\n expandedOptions={expandedOptions}\n setExpandedOptions={setExpandedOptions}\n config={config}\n />\n )}\n </Box>\n );\n};\nexport default LeftNavigation;\n","import React from \"react\";\nimport { Box, Container, makeStyles } from \"@material-ui/core\";\nimport { IMainLayoutProps, IMainLayoutStyleProps } from \"./MainLayout.types\";\n\nconst useMainLayoutStyles = makeStyles((theme) => ({\n remainingHeightBox: {\n position: \"absolute\",\n top: (props: IMainLayoutStyleProps) => props.topOffset ?? \"4rem\",\n bottom: 0,\n left: 0,\n right: 0,\n display: \"flex\",\n },\n fullHeightFlexbox: {\n display: \"flex\",\n height: \"100%\",\n },\n relativeContainer: {\n position: \"relative\",\n },\n scrollWrapper: {\n overflow: \"auto\",\n },\n componentWrapper: {\n padding: theme.spacing(2),\n paddingBottom: theme.spacing(2),\n position: \"relative\",\n },\n}));\n\nconst MainLayout: React.FC<IMainLayoutProps> = ({\n sideNavigation,\n children,\n desktopWidth,\n topOffset,\n}) => {\n const classes = useMainLayoutStyles({ topOffset });\n return (\n <Box className={classes.remainingHeightBox}>\n {sideNavigation ? (\n <Box className={`${classes.fullHeightFlexbox} ${classes.relativeContainer}`}>\n {sideNavigation}\n </Box>\n ) : null}\n <Container disableGutters maxWidth={false} className={classes.scrollWrapper}>\n <Container\n disableGutters\n maxWidth={desktopWidth ? \"xl\" : \"lg\"}\n className={classes.componentWrapper}\n >\n {children}\n </Container>\n </Container>\n </Box>\n );\n};\n\nexport default MainLayout;\n","import { useCallback, useEffect } from \"react\";\n\nconst useDebounceEffect = (\n effect: (query: string) => void,\n deps: any[],\n delay: number = 250\n) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const callback = useCallback(effect, deps);\n\n useEffect(() => {\n const timeout = setTimeout(callback, delay);\n return () => clearTimeout(timeout);\n }, [callback, delay]);\n};\n\nexport default useDebounceEffect;\n","import { useEffect, useRef } from \"react\";\n\nconst useInterval = (callback: () => void, delay: number | null) => {\n const savedCallback = useRef<() => void | undefined>();\n\n useEffect(() => {\n savedCallback.current = callback;\n });\n\n useEffect(() => {\n const tick = () => {\n if (savedCallback.current) savedCallback.current();\n };\n\n if (delay !== null) {\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n};\n\nexport default useInterval;\n","import { isEqual } from \"lodash\";\nimport { useRef, useEffect } from \"react\";\n\nexport default function useWhyDidYouUpdate(name: string, props: Record<string, any>) {\n const latestProps = useRef(props);\n\n useEffect(() => {\n const allKeys = Object.keys({ ...latestProps.current, ...props });\n\n const changesObj: Record<\n string,\n { from: any; to: any; isDeepEqual: boolean; changedKeys?: string[] }\n > = {};\n allKeys.forEach((key) => {\n if (latestProps.current[key] !== props[key]) {\n changesObj[key] = {\n from: latestProps.current[key],\n to: props[key],\n changedKeys:\n props[key] && typeof props[key] === \"object\"\n ? Object.keys(latestProps.current[key])\n .map((k) => (latestProps.current[key][k] === props[key][k] ? \"\" : k))\n .filter(Boolean)\n : undefined,\n isDeepEqual: isEqual(latestProps.current[key], props[key]),\n };\n }\n });\n\n if (Object.keys(changesObj).length) {\n console.log(\"[why-did-you-update]\", name, {\n changes: changesObj,\n props: { from: latestProps.current, to: props },\n });\n }\n\n latestProps.current = props;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, Object.values(props));\n}\n","import { Divider, List, ListItem, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { BORDER_RADIUS } from \"../globals\";\nimport LoadingSpinner from \"../LoadingSpinner/LoadingSpinner\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { IAlphabeticalListProps } from \"./AlphabeticalList.types\";\n\nconst useAlphabeticalListStyles = makeStyles((theme) => ({\n divider: {\n background: theme.palette.primary.main,\n height: \"0.2rem\",\n },\n letterHeader: {\n cursor: \"default\",\n color: theme.palette.primary.main,\n marginTop: \"1rem\",\n },\n listItem: {\n borderRadius: BORDER_RADIUS,\n border: `1px solid ${theme.palette.grey[300]}`,\n marginBottom: \"0.5rem\",\n paddingLeft: \"24px\",\n boxShadow: theme.shadows[1],\n },\n topMargin: {\n marginTop: theme.spacing(2),\n display: \"block\",\n },\n}));\n\nconst AlphabeticalList: React.FC<IAlphabeticalListProps> = ({\n array,\n sortFn,\n sortKey = \"name\",\n buttonClick,\n linkTo,\n ItemTemplate,\n arrayKey = \"id\",\n loadingMessage = \"Loading list...\",\n emptyMessage = \"List is empty\",\n alphabetisedHeader = true,\n}) => {\n const classes = {\n ...useAlphabeticalListStyles(),\n ...useSpacingStyles(),\n ...useLayoutStyles(),\n };\n\n if (array === undefined) {\n return <LoadingSpinner styling={classes.topMargin} text={loadingMessage} />;\n }\n\n if (!array?.length) {\n return (\n <Typography\n className={classes.topMargin}\n align=\"center\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n {emptyMessage}\n </Typography>\n );\n }\n\n const result = sortFn ? [...array].sort(sortFn) : array;\n let lastSection = \"\";\n\n return (\n <List className={classes.limitWidth50rem}>\n {result.map((item, index) => {\n let showHeader = false;\n if (alphabetisedHeader) {\n const currentKey = (item[sortKey]?.[0] || \"???\").toLowerCase();\n\n if (currentKey !== lastSection) {\n lastSection = currentKey;\n showHeader = true;\n }\n }\n\n return (\n <React.Fragment key={item[arrayKey] || `alphabetical-list-${index}`}>\n {alphabetisedHeader && showHeader ? (\n <>\n <Typography className={`${classes.letterHeader}`} align=\"left\">\n {lastSection.toUpperCase()}\n </Typography>\n <Divider className={`${classes.contentBreak} ${classes.divider}`} />\n </>\n ) : null}\n\n <ListItem\n className={classes.listItem}\n alignItems=\"flex-start\"\n button={(buttonClick || linkTo ? true : undefined) as true & undefined}\n onClick={buttonClick ? () => buttonClick(item) : undefined}\n {...(linkTo && !buttonClick\n ? { component: RouterLink, to: linkTo(item) }\n : {})}\n >\n <ItemTemplate item={item} />\n </ListItem>\n </React.Fragment>\n );\n })}\n </List>\n );\n};\n\nexport default AlphabeticalList;\n","import React, { useEffect, useState } from \"react\";\nimport { Box, InputBase, InputAdornment, makeStyles } from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { useDebounceEffect } from \"../hooks\";\nimport { ISearchBarProps } from \"./SearchBar.types\";\nimport { BORDER_RADIUS } from \"../globals\";\nimport AlphabeticalList from \"../AlphabeticalList/AlphabeticalList\";\n\ntype StylesProps = {\n background: string | undefined;\n};\n\nconst useSearchBarStyles = makeStyles((theme) => ({\n searchBox: {\n display: \"flex\",\n alignContent: \"center\",\n alignItems: \"center\",\n padding: \"8px\",\n border: `2px solid ${theme.palette.grey[300]}`,\n borderRadius: BORDER_RADIUS,\n },\n searchField: {\n borderRadius: BORDER_RADIUS,\n width: \"100%\",\n background: ({ background }: StylesProps) => background || \"RGBA(179, 213, 235, 0.1)\",\n height: \"46px\",\n paddingLeft: \"24px\",\n color: theme.palette.grey[600],\n },\n searchIcon: {\n color: theme.palette.grey[600],\n },\n}));\n\nconst SearchBar: React.FC<ISearchBarProps> = ({\n array,\n sortFn,\n sortKey = \"name\",\n buttonClick,\n linkTo,\n ItemTemplate,\n arrayKey = \"id\",\n loadingMessage = \"Loading list...\",\n emptyMessage = \"List is empty\",\n inputBackgroundColor,\n placeholder,\n disabledSearch,\n delay = 500,\n minQueryLength = 3,\n handleOnChange,\n searchKeys = [\"name\"],\n alphabetisedHeader = true,\n}) => {\n const classes = {\n ...useSpacingStyles(),\n ...useLayoutStyles(),\n ...useSearchBarStyles({ background: inputBackgroundColor }),\n };\n const [searchInput, setSearchInput] = useState(\"\");\n const [blockSearch, setBlockSearch] = useState(false);\n const [result, setResult] = useState(array);\n\n useDebounceEffect(\n () => {\n if (!blockSearch && searchInput.length >= minQueryLength) {\n if (handleOnChange) {\n handleOnChange(searchInput);\n } else {\n setResult(\n array?.filter((item) => {\n const itemIsFound = searchKeys.some((key) =>\n item[key]?.toLowerCase().includes(searchInput.toLowerCase())\n );\n return itemIsFound;\n })\n );\n }\n }\n },\n [searchInput],\n delay\n );\n\n useEffect(() => {\n setResult(array);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [array]);\n\n return (\n <>\n <Box className={`${classes.searchBox} ${classes.limitWidth50rem}`}>\n <InputBase\n disabled={disabledSearch}\n type=\"text\"\n value={searchInput}\n placeholder={placeholder || \"Enter to search\"}\n onChange={(event) => {\n if (blockSearch) setBlockSearch(false);\n setSearchInput(event.target.value);\n }}\n className={classes.searchField}\n endAdornment={\n <InputAdornment position=\"end\" className={classes.rightSpacer2}>\n <SearchIcon className={classes.searchIcon} />\n </InputAdornment>\n }\n />\n </Box>\n {array !== null && (\n <AlphabeticalList\n array={result}\n sortFn={sortFn}\n sortKey={sortKey}\n buttonClick={buttonClick}\n linkTo={linkTo}\n ItemTemplate={ItemTemplate}\n arrayKey={arrayKey}\n loadingMessage={loadingMessage}\n emptyMessage={emptyMessage}\n alphabetisedHeader={alphabetisedHeader}\n />\n )}\n </>\n );\n};\n\nexport default SearchBar;\n","import React from \"react\";\nimport { TextField as MaterialTextField, makeStyles } from \"@material-ui/core\";\nimport NumberFormat, { NumberFormatProps } from \"react-number-format\";\nimport { ITextFieldProps } from \"./TextField.types\";\nimport { BORDER_RADIUS, NO_ACCESS_LEVEL, READ_LEVEL } from \"../globals\";\n\nconst useStyles = makeStyles((theme) => ({\n inputField: ({ size }: { size: \"small\" | \"medium\" }) => ({\n borderRadius: BORDER_RADIUS,\n ...(size === \"small\" ? theme.typography.body2 : {}),\n }),\n labelStyles: ({ size }: { size: \"small\" | \"medium\" }) => ({\n ...(size === \"small\"\n ? {\n transform: \"translate(14px, 9px) scale(1) !important\",\n ...theme.typography.body2,\n \"&.MuiInputLabel-outlined.MuiInputLabel-shrink\": {\n transform: \"translate(15px, -9px) scale(0.75) !important\",\n },\n }\n : {}),\n }),\n}));\n\nconst TextField: React.FC<ITextFieldProps> = ({\n size = \"small\",\n styling,\n numberField,\n inputProps = {},\n InputProps = {},\n accessLevel,\n disabled,\n fixedDecimalScale,\n ...rest\n}) => {\n const classes = useStyles({ size });\n\n if (accessLevel === NO_ACCESS_LEVEL) return null;\n\n let disabledProp = disabled;\n\n if (accessLevel === READ_LEVEL) {\n disabledProp = true;\n }\n\n const inputPropsForNumberField = {\n ...(numberField && { fixedDecimalScale: !!fixedDecimalScale }),\n };\n\n return (\n <MaterialTextField\n className={styling || \"\"}\n disabled={disabledProp}\n {...rest}\n inputProps={{\n ...inputProps,\n ...inputPropsForNumberField,\n }}\n InputProps={{\n ...InputProps,\n className: classes.inputField,\n inputComponent: numberField ? (NumberFormatField as any) : undefined,\n }}\n InputLabelProps={{\n className: classes.labelStyles,\n }}\n variant=\"outlined\"\n size={size}\n />\n );\n};\n\nexport default TextField;\n\ninterface INumberFormatProps extends Omit<NumberFormatProps, \"onChange\"> {\n onChange: (event: { target: { name: string; value: string } }) => void;\n inputRef: (instance: NumberFormat | null) => void;\n fixedDecimalScale: boolean;\n}\n\nexport const NumberFormatField = (props: INumberFormatProps) => {\n const { inputRef, onChange, ...other } = props;\n\n return (\n <NumberFormat\n {...other}\n getInputRef={inputRef}\n onValueChange={(values) => {\n onChange({\n target: {\n name: props.name || \"\",\n value: values.value,\n },\n });\n }}\n thousandSeparator\n decimalScale={2}\n isNumericString\n />\n );\n};\n","import { makeStyles, MenuItem } from \"@material-ui/core\";\nimport React from \"react\";\nimport { BORDER_RADIUS, NO_ACCESS_LEVEL, READ_LEVEL } from \"../globals\";\nimport TextField from \"../TextField/TextField\";\nimport { ISelectProps, IStyleProps } from \"./Select.types\";\n\nconst useSelectStyles = makeStyles((theme) => ({\n listItem: ({ background, size }: IStyleProps) => ({\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n ...(size === \"small\" ? theme.typography.body2 : {}),\n \"&:hover\": {\n backgroundColor: `${background} !important`,\n },\n }),\n inputStyles: ({ background, size }: IStyleProps) => ({\n borderRadius: `${BORDER_RADIUS} !important`,\n ...(size === \"small\"\n ? { paddingTop: \"9.5px\", paddingBottom: \"8.5px\", ...theme.typography.body2 }\n : {}),\n \"&:focus\": {\n backgroundColor: background,\n },\n }),\n selectedListItem: ({ background }: IStyleProps) => ({\n \"&:focus\": {\n background: `${background} !important`,\n },\n }),\n}));\n\nconst Select: React.FC<ISelectProps> = ({\n selectOptions,\n background = \"#EFEDFF\",\n size = \"small\",\n styling,\n disabled,\n accessLevel,\n ...rest\n}) => {\n const classes = useSelectStyles({ background, size });\n\n if (accessLevel === NO_ACCESS_LEVEL) return null;\n\n let disabledProp = disabled;\n\n if (accessLevel === READ_LEVEL) {\n disabledProp = true;\n }\n\n return (\n <TextField\n className={styling || \"\"}\n {...rest}\n disabled={disabledProp}\n size={size}\n SelectProps={{\n inputProps: {\n className: classes.inputStyles,\n },\n }}\n select\n >\n {selectOptions.map((option) => (\n <MenuItem\n key={option.value}\n value={option.value}\n className={classes.listItem}\n classes={{ selected: classes.selectedListItem }}\n >\n {option.description}\n </MenuItem>\n ))}\n </TextField>\n );\n};\n\nexport default Select;\n","import React from \"react\";\nimport {\n DatePicker as MaterialDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport TextField from \"../TextField/TextField\";\nimport { IDatePickerProps } from \"./DatePicker.types\";\nimport { NO_ACCESS_LEVEL, READ_LEVEL } from \"../globals\";\n\nconst DatePicker: React.FC<IDatePickerProps> = ({\n styling,\n format = \"dd MMM yyyy\",\n minDate = new Date(\"1856-09-25\"),\n accessLevel,\n disabled,\n ...rest\n}) => {\n if (accessLevel === NO_ACCESS_LEVEL) return null;\n\n let disabledProp = disabled;\n\n if (accessLevel === READ_LEVEL) {\n disabledProp = true;\n }\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <MaterialDatePicker\n className={styling || \"\"}\n {...rest}\n disabled={disabledProp}\n inputVariant=\"outlined\"\n autoOk\n format={format}\n minDate={minDate}\n TextFieldComponent={TextField}\n />\n </MuiPickersUtilsProvider>\n );\n};\n\nexport default DatePicker;\n","import React from \"react\";\nimport {\n KeyboardDatePicker as MaterialDatePicker,\n MuiPickersUtilsProvider,\n} from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport TextField from \"../TextField/TextField\";\nimport { IKeyboardDatePickerProps } from \"./KeyboardDatePicker.types\";\nimport { NO_ACCESS_LEVEL, READ_LEVEL } from \"../globals\";\n\nconst KeyboardDatePicker: React.FC<IKeyboardDatePickerProps> = ({\n styling,\n format = \"dd/MM/yyyy\",\n minDate = new Date(\"1856-09-25\"),\n accessLevel,\n disabled,\n ...rest\n}) => {\n if (accessLevel === NO_ACCESS_LEVEL) return null;\n\n let disabledProp = disabled;\n\n if (accessLevel === READ_LEVEL) {\n disabledProp = true;\n }\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <MaterialDatePicker\n className={styling || \"\"}\n {...rest}\n disabled={disabledProp}\n inputVariant=\"outlined\"\n autoOk\n allowKeyboardControl\n format={format}\n minDate={minDate}\n TextFieldComponent={TextField}\n />\n </MuiPickersUtilsProvider>\n );\n};\n\nexport default KeyboardDatePicker;\n","import { Box, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport Button from \"../Button/Button\";\nimport { NO_ACCESS_LEVEL, READ_LEVEL } from \"../globals\";\nimport { useInterval } from \"../hooks\";\nimport { useSpacingStyles } from \"../styles\";\nimport { IButtonWithConfirmProps } from \"./ButtonWithConfirm.types\";\n\nconst useButtonWithConfirmStyles = makeStyles((theme) => ({\n confirmWrapper: {\n display: \"inline-block\",\n },\n confirmContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n whiteText: {\n color: theme.palette.common.white,\n },\n}));\n\nconst ButtonWithConfirm: React.FC<IButtonWithConfirmProps> = ({\n children,\n onClick,\n styling,\n disabled = false,\n variant = \"outlined\",\n color = \"primary\",\n accessLevel = \"\",\n ...rest\n}) => {\n const classes = { ...useSpacingStyles(), ...useButtonWithConfirmStyles() };\n const [confirmView, setConfirmView] = useState(false);\n const [stopInterval, setStopInterval] = useState<boolean>(false);\n\n useInterval(() => setConfirmView(false), !confirmView || stopInterval ? null : 4500);\n\n useEffect(() => {\n setStopInterval(rest.loading);\n setConfirmView(rest.loading);\n }, [rest.loading]);\n\n if ([NO_ACCESS_LEVEL, READ_LEVEL].includes(accessLevel)) return null;\n\n if (confirmView)\n return (\n <Box className={classes.confirmWrapper}>\n <Box className={classes.confirmContainer}>\n <Typography className={classes.rightSpacer1} variant=\"body1\">\n Are you sure?\n </Typography>\n <Button\n {...rest}\n type=\"button\"\n onClick={(e) => {\n setStopInterval(true);\n onClick(e);\n }}\n variant={\"contained\"}\n styling={classes.whiteText}\n disabled={disabled}\n color={color}\n >\n Confirm{rest.loading ? \"ing\" : \"\"}\n </Button>\n </Box>\n </Box>\n );\n\n return (\n <Button\n type=\"button\"\n variant={variant}\n disabled={disabled}\n styling={styling}\n color={color}\n onClick={() => setConfirmView(true)}\n >\n {children}\n </Button>\n );\n};\n\nexport default ButtonWithConfirm;\n","import React, { ReactChild, ReactNode } from \"react\";\nimport {\n Box,\n Checkbox,\n createStyles,\n FormControl,\n FormHelperText,\n InputAdornment,\n makeStyles,\n MenuItem,\n Select,\n TextField,\n Typography,\n withStyles,\n} from \"@material-ui/core\";\nimport { NumberFormatField } from \"../TextField/TextField\";\nimport {\n IAlignment,\n ICustomRenderFnProps,\n IEssentialRenderFnProps,\n} from \"./EditableTable.types\";\nimport { DatePicker, MuiPickersUtilsProvider } from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/date-fns\";\nimport NumberFormat from \"react-number-format\";\n\nconst determineWidth = (value: string | number, fixedDecimalScale: boolean) => {\n const valueLength = value.toString().length;\n if (!valueLength) return \"6ch\";\n return `${\n valueLength + (fixedDecimalScale ? 3 : 1) + Math.floor(valueLength / 3) / 3\n }ch`;\n};\n\nconst useDefaultTableCellsStyles = makeStyles((theme) => ({\n inputBase: ({ textAlign }: { textAlign?: IAlignment }) => ({\n height: \"unset\",\n padding: 0,\n textAlign: textAlign || \"center\",\n }),\n input: ({ textAlign }: { textAlign?: IAlignment }) => ({\n textAlign: textAlign || \"center\",\n marginRight: \"0.4rem\",\n marginLeft: \"0.4rem\",\n }),\n startAdornment: {\n color: theme.palette.text.secondary,\n },\n modifiedUnderline: {\n \"&:not(.Mui-disabled):before\": {\n borderBottom: \"none\",\n transition: \"none\",\n },\n \"&:hover:not(.Mui-disabled):before\": {\n borderBottom: `1px solid ${theme.palette.grey[\"500\"]} !important`,\n },\n },\n body2Text: {\n ...theme.typography.body2,\n },\n dateFieldWidth: {\n width: \"8ch\",\n },\n fullDateWidth: {\n width: \"11ch\",\n },\n justifyStart: {\n justifyContent: \"flex-start\",\n },\n justifyCenter: {\n justifyContent: \"center\",\n },\n justifyEnd: {\n justifyContent: \"flex-end\",\n },\n totalContainer: {\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"default\",\n },\n selectFocusBackground: {\n \"&:focus\": {\n backgroundColor: \"unset\",\n },\n },\n}));\n\nexport const TableTextField: React.FC<IEssentialRenderFnProps> = ({\n error,\n disabled,\n value,\n onBlur,\n onChange,\n prefix,\n suffix,\n numberField = false,\n textAlign,\n fixedDecimalScale,\n}) => {\n const classes = useDefaultTableCellsStyles({ textAlign });\n\n const inputPropsForNumberField = {\n ...(numberField && { fixedDecimalScale: !!fixedDecimalScale }),\n };\n\n if (typeof value === \"string\" || typeof value === \"number\") {\n return (\n <TextField\n error={!!error}\n inputProps={{\n className: classes.inputBase,\n style: { width: determineWidth(value, !!fixedDecimalScale) },\n ...inputPropsForNumberField,\n }}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n InputProps={{\n startAdornment: prefix ? (\n <InputAdornment position=\"end\" className={classes.startAdornment}>\n {prefix}\n </InputAdornment>\n ) : null,\n endAdornment: suffix ? (\n <InputAdornment position=\"start\" className={classes.startAdornment}>\n {suffix}\n </InputAdornment>\n ) : null,\n inputComponent: numberField ? (NumberFormatField as any) : undefined,\n className: `${classes.body2Text} ${classes.modifiedUnderline}`,\n classes: { input: classes.input },\n }}\n helperText={error || undefined}\n disabled={disabled}\n />\n );\n } else return <Typography variant=\"body2\">Incorrect value type</Typography>;\n};\n\nexport const tableTextField = (tableProps: ICustomRenderFnProps) => {\n return <TableTextField {...{ ...tableProps }} />;\n};\n\nexport const tableNumericStringField = (tableProps: ICustomRenderFnProps) => {\n return <TableTextField {...{ ...tableProps, numberField: true }} />;\n};\n\nexport const tableNumericStringFixedDecimalField = (tableProps: ICustomRenderFnProps) => {\n return (\n <TableTextField {...{ ...tableProps, numberField: true, fixedDecimalScale: true }} />\n );\n};\n\nexport const SelectionCheckbox = withStyles(\n createStyles({\n root: {\n padding: \"3px\",\n },\n })\n)(Checkbox);\n\ninterface ITableDatePicker extends IEssentialRenderFnProps {\n fullDate?: boolean;\n}\n\nexport const TableDatePicker: React.FC<ITableDatePicker> = ({\n disabled,\n fullDate = false,\n value,\n error,\n onChange,\n onBlur,\n textAlign,\n}) => {\n const classes = useDefaultTableCellsStyles({ textAlign });\n\n return (\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <DatePicker\n disabled={disabled}\n views={fullDate ? undefined : [\"year\", \"month\"]}\n value={value as string | Date}\n autoOk\n format={fullDate ? \"dd MMM yyyy\" : \"MMM yyyy\"}\n InputProps={{\n className: `${classes.body2Text} ${classes.modifiedUnderline}`,\n }}\n inputProps={{\n className: `${classes.inputBase} ${\n fullDate ? classes.fullDateWidth : classes.dateFieldWidth\n }`,\n classes: { input: classes.input },\n }}\n error={!!error}\n helperText={error || undefined}\n onChange={onChange}\n onBlur={onBlur}\n />\n </MuiPickersUtilsProvider>\n );\n};\n\nexport const tableDateField = (tableProps: ICustomRenderFnProps) => {\n return <TableDatePicker {...tableProps} />;\n};\n\nexport const tableInvoiceDateField = (tableProps: ICustomRenderFnProps) => {\n return <TableDatePicker {...tableProps} fullDate />;\n};\n\nconst TableCheckbox: React.FC<IEssentialRenderFnProps> = ({\n value,\n disabled,\n onChange,\n}) => {\n return (\n <Checkbox\n disabled={disabled}\n checked={value as boolean}\n onChange={onChange}\n color=\"primary\"\n size=\"small\"\n />\n );\n};\n\nexport const tableCheckbox = (tableProps: ICustomRenderFnProps) => {\n return <TableCheckbox {...tableProps} />;\n};\n\ninterface INonEditableField\n extends Pick<\n IEssentialRenderFnProps,\n \"numberField\" | \"prefix\" | \"suffix\" | \"textAlign\" | \"fixedDecimalScale\"\n > {\n text: React.ReactText;\n}\n\nexport const NonEditableField: React.FC<INonEditableField> = ({\n text,\n numberField = false,\n prefix = null,\n suffix = null,\n textAlign,\n fixedDecimalScale,\n}) => {\n const classes = useDefaultTableCellsStyles({});\n return (\n <Box\n className={`${classes.totalContainer} ${classes.body2Text} ${\n textAlign === \"left\"\n ? classes.justifyStart\n : textAlign === \"right\"\n ? classes.justifyEnd\n : classes.justifyCenter\n }`}\n >\n {prefix && prefix}\n <Box className={classes.body2Text}>\n {numberField ? (\n <NumberFormat\n value={text}\n displayType={\"text\"}\n thousandSeparator\n isNumericString\n decimalScale={2}\n fixedDecimalScale={fixedDecimalScale}\n />\n ) : (\n text\n )}\n </Box>\n {suffix && suffix}\n </Box>\n );\n};\n\ninterface ITableSelect extends IEssentialRenderFnProps {\n selectOptions: { [key: string]: ReactChild };\n}\n\nexport const TableSelect: React.FC<ITableSelect> = ({\n error,\n value,\n onBlur,\n onChange,\n selectOptions,\n disabled,\n}) => {\n const classes = useDefaultTableCellsStyles({});\n return (\n <FormControl margin=\"none\" error={!!error}>\n <Select\n className={`${classes.body2Text} ${classes.modifiedUnderline}`}\n inputProps={{ className: classes.selectFocusBackground }}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n disabled={disabled}\n >\n {Object.entries(selectOptions).map(([key, value]) => (\n <MenuItem className={classes.body2Text} key={key} value={key}>\n {value}\n </MenuItem>\n ))}\n </Select>\n {error && <FormHelperText>{error}</FormHelperText>}\n </FormControl>\n );\n};\n\ninterface IMultipleTableSelect extends Omit<IEssentialRenderFnProps, \"value\"> {\n selectOptions: { [key: string]: ReactChild };\n value: string[];\n renderValue?: (value: any) => ReactNode;\n}\n\nexport const TableMultipleSelect: React.FC<IMultipleTableSelect> = ({\n error,\n value,\n onBlur,\n onChange,\n selectOptions,\n disabled,\n renderValue,\n}) => {\n const classes = useDefaultTableCellsStyles({});\n return (\n <FormControl margin=\"none\" error={!!error}>\n <Select\n className={`${classes.body2Text} ${classes.modifiedUnderline}`}\n inputProps={{ className: classes.selectFocusBackground }}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n disabled={disabled}\n renderValue={renderValue}\n multiple={true}\n >\n {Object.entries(selectOptions).map(([key, value]) => (\n <MenuItem className={classes.body2Text} key={key} value={key}>\n {value}\n </MenuItem>\n ))}\n </Select>\n {error && <FormHelperText>{error}</FormHelperText>}\n </FormControl>\n );\n};\n","import React, { FC, Fragment, memo, useCallback, useEffect, useState } from \"react\";\nimport {\n useTable,\n useRowSelect,\n useFilters,\n CellProps,\n HeaderProps,\n HeaderGroup,\n usePagination,\n useGlobalFilter,\n useAsyncDebounce,\n} from \"react-table\";\nimport {\n Table as MUITable,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n makeStyles,\n Typography,\n Box,\n Tooltip,\n InputBase,\n} from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { EDITED_STATUS, NEW_STATUS } from \"../globals\";\nimport { SelectionCheckbox, tableTextField } from \"./defaultCells\";\nimport { didCellValueChange } from \"../utils\";\nimport {\n IEditableTableProps,\n RowData,\n ExtendedCellProps,\n TableCellValues,\n ITableContentProps,\n IGlobalFilterProps,\n} from \"./EditableTable.types\";\nimport LoadingSpinner from \"../LoadingSpinner/LoadingSpinner\";\nimport { Pagination } from \"@material-ui/lab\";\nimport { useLayoutStyles, useSpacingStyles } from \"../styles\";\nimport { useVirtual } from \"react-virtual\";\n\nconst useStyles = makeStyles((theme) => ({\n newRowHighlight: {\n backgroundColor: \"#73c4ca30\",\n },\n editedCellHighlight: {\n backgroundColor: \"#5840f52e\",\n backgroundClip: \"padding-box\",\n },\n editedBorder: {\n border: \"3px solid #5840f52e\",\n borderWidth: \"2px 4px\",\n },\n errorBorder: {\n border: `3px solid ${theme.palette.error.light}`,\n borderWidth: \"2px 4px\",\n },\n emptyLoadingPadding: {\n paddingTop: \"0.75rem\",\n paddingBottom: \"0.75rem\",\n },\n centeredText: {\n textAlign: \"center\",\n },\n disabled: {\n backgroundColor: theme.palette.action.hover,\n },\n pagination: {\n marginTop: \"1rem\",\n marginBottom: \"1rem\",\n },\n virtualisationContainer: {\n maxHeight: \"500px\",\n overflow: \"auto\",\n },\n}));\n\nconst EditableCell: FC<ExtendedCellProps> = ({\n value: initialValue = \"\",\n row: { index, values, original },\n column: { id },\n syncCellWithState,\n setRows,\n fieldConfig,\n disabled,\n}) => {\n const {\n validationRule,\n dependentValidationRule,\n isCheckbox,\n isDateField,\n customRenderFn,\n prefix,\n suffix,\n textAlign,\n onBlur: configOnBlur,\n onChangeValueModifier,\n } = fieldConfig[id];\n const [error, setError] = useState<false | string>(false);\n // We need to keep and update the state of the cell normally\n const [value, setValue] = useState<TableCellValues>(initialValue);\n const checkbox = isCheckbox;\n\n const validateValue = (value: TableCellValues) => {\n let returnValue = false;\n if (validationRule) {\n try {\n validationRule.validateSync(value);\n if (error) setError(false);\n } catch (e) {\n returnValue = true;\n !error && setError(e.message);\n }\n }\n if (dependentValidationRule) {\n try {\n dependentValidationRule(values).validateSync(value);\n if (error) setError(false);\n } catch (e) {\n returnValue = true;\n !error && setError(e.message);\n }\n }\n return returnValue;\n };\n\n // We'll only update the external data when the input is blurred\n const onBlur = async (fieldValue: TableCellValues) => {\n if (checkbox) {\n syncCellWithState(index, id, fieldValue, false);\n } else syncCellWithState(index, id, value, !!error);\n if (\n configOnBlur &&\n setRows &&\n !error &&\n !didCellValueChange(values[id], value, isDateField)\n ) {\n await configOnBlur!({\n rowIndex: index,\n value: value as string,\n setRows,\n values: original,\n });\n }\n };\n\n const onChange = (e: string | React.ChangeEvent<HTMLInputElement>) => {\n let event;\n if (isDateField) {\n event = e as string;\n const adjustedDateValue = onChangeValueModifier\n ? onChangeValueModifier(event)\n : event;\n setValue(adjustedDateValue);\n validateValue(adjustedDateValue);\n return;\n }\n event = e as React.ChangeEvent<HTMLInputElement>;\n const eventValue = checkbox ? event.target.checked : event.target.value;\n\n if (checkbox) {\n setValue(eventValue);\n onBlur(eventValue);\n } else {\n setValue(eventValue);\n validateValue(eventValue);\n }\n };\n\n // If the initialValue is changed external, sync it up with our state\n useEffect(() => {\n setValue(initialValue);\n const errorStatus = validateValue(initialValue);\n if (error !== errorStatus) {\n syncCellWithState(index, id, initialValue, errorStatus, true);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialValue]);\n\n useEffect(() => {\n if (original.errors && !!original.errors[id] !== !!error) {\n validateValue(initialValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [original.errors]);\n\n const renderFnProps = {\n value,\n values,\n disabled: disabled || original.disabledRow,\n error,\n onChange,\n onBlur,\n prefix,\n suffix,\n textAlign,\n originalValues: original,\n };\n\n if (customRenderFn) {\n return customRenderFn(renderFnProps);\n } else return tableTextField(renderFnProps);\n};\n\nconst TableRowContents = ({\n row,\n classes,\n disabled,\n includeRowSelect,\n}: {\n row: RowData;\n classes: ReturnType<typeof useStyles>;\n disabled: boolean;\n includeRowSelect: boolean;\n}) => (\n <TableRow\n hover={true}\n className={`${row.original.rowStatus === NEW_STATUS ? classes.newRowHighlight : \"\"} ${\n row.original.rowStatus === EDITED_STATUS ? classes.editedBorder : \"\"\n }\n${\n row.original.hasOwnProperty(\"errors\") &&\n Object.values(row.original.errors).includes(true)\n ? classes.errorBorder\n : \"\"\n} ${row.original.disabledRow || disabled ? classes.disabled : \"\"}`}\n >\n {row.cells.map((cell: any, n: number) => (\n <TableCell\n {...cell.getCellProps()}\n //@ts-ignore FIX REQUIRED incorrect use of react table props\n align={cell.column.textAlign || \"center\"}\n className={\n cell.row.original.rowStatus === EDITED_STATUS &&\n cell.row.original.edited[cell.column.id]\n ? classes.editedCellHighlight\n : \"\"\n }\n padding={(includeRowSelect && n) === 0 ? \"checkbox\" : \"normal\"}\n >\n {cell.render(\"Cell\")}\n </TableCell>\n ))}\n </TableRow>\n);\n\n// emptyRows is needed for when incoming data is null (loading state).\n// useTable requires memoised row data to be defined at all times.\nconst emptyRows: RowData[] = [];\n\nconst EditableTable: React.FC<IEditableTableProps> = memo(\n ({\n tableRows,\n tableHeaders,\n syncCellWithState,\n setRows = undefined,\n skipPageReset = false,\n fieldConfig,\n disabled = false,\n setSelectedRows,\n includeRowSelect = true,\n filterData,\n filterTypes,\n emptyTableText = \"Table is empty\",\n paginate = false,\n defaultPageSize = 50,\n virtContainerStyling,\n overscan,\n rowHeight,\n includeGlobalSearch,\n }) => {\n const classes = { ...useStyles(), ...useLayoutStyles() };\n const parentRef = React.useRef<HTMLDivElement | null>(null);\n\n // Set our editable cell renderer as the default Cell renderer\n const defaultColumn = React.useMemo(\n () => ({\n Cell: EditableCell,\n }),\n []\n );\n\n const {\n getTableProps, // props to use in table, supplied by react-table\n getTableBodyProps, // props to use in table, supplied by react-table\n headerGroups, // headers enriched with methods by react-table\n rows, // rows enriched with methods by react-table\n page, // selected slice of data subset of rows. Visible paginated data\n prepareRow, // row optimisation function that must be called when rendering rows\n state: { selectedRowIds, pageIndex }, // ids of selected rows and page index from internal table state\n state,\n setFilter, // manipulate filter criteria\n pageCount,\n gotoPage,\n preGlobalFilteredRows,\n setGlobalFilter,\n isAllRowsSelected, // used only to induce re-render in the header and update checkbox state\n selectedFlatRows, // used only to induce re-render in the rows and update checkbox state\n } = useTable<RowData>(\n {\n columns: tableHeaders,\n data: tableRows || emptyRows,\n defaultColumn, // custom cell renderer, that we defined above\n autoResetPage: paginate ? !skipPageReset : false, // value that is used internally to control page number resets\n filterTypes, // fileting config for useFilters hook\n initialState: { pageSize: paginate ? defaultPageSize : undefined }, // setting up initial state for\n\n // below are custom methods and variables that will be supplied to EditableCell\n syncCellWithState, // state function used that controls the state of table\n setRows, // similar to syncCellWithState but you can manipulate whole state\n fieldConfig, //configuration for each of the cells\n disabled,\n autoResetGlobalFilter: false,\n },\n useFilters, // plugging in useFilters hook\n useGlobalFilter, // plugging in useGlobalFilters hook\n usePagination, // plugging in usePagination hook\n useRowSelect, // plugging in useRowSelect hook\n (hooks) => {\n if (includeRowSelect) {\n hooks.visibleColumns.push((columns) => [\n // Let's make a column for selection\n {\n id: \"selection\",\n // The header can use the table's getToggleAllRowsSelectedProps method\n // to render a checkbox\n Header: ({\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n }: HeaderProps<RowData>) => (\n <SelectionCheckbox\n {...(paginate\n ? getToggleAllPageRowsSelectedProps()\n : getToggleAllRowsSelectedProps())}\n disabled={disabled}\n size=\"small\"\n />\n ),\n // The cell can use the individual row's getToggleRowSelectedProps method\n // to the render a checkbox\n Cell: ({ row }: CellProps<RowData>) => (\n <SelectionCheckbox\n {...row.getToggleRowSelectedProps()}\n disabled={disabled || row.original.disableSelection}\n size=\"small\"\n />\n ),\n },\n ...columns,\n ]);\n }\n }\n );\n\n /* Few resources that helped the most with virtualisation work\n * https://github.com/TanStack/virtual/issues/10\n * https://codesandbox.io/s/poc-react-virtual-table-forked-857kdi?file=/src/index.js:2037-2101\n */\n const rowVirtualizer = useVirtual({\n size: (paginate ? page : rows).length,\n parentRef,\n // amount of rows to render above and below visible rows\n overscan: overscan || 5,\n // estimated row size to determine how many rows are visible\n estimateSize: useCallback(() => rowHeight || 54, [rowHeight]),\n });\n\n const rowsToRender = paginate ? page : rows;\n\n const items = rowVirtualizer.virtualItems;\n const paddingTop = items.length > 0 ? items[0].start : 0;\n const paddingBottom =\n items.length > 0 ? rowVirtualizer.totalSize - items[items.length - 1].end : 0;\n\n const handlePageChange = useCallback(\n (event: React.ChangeEvent<unknown>, value: number) => {\n gotoPage(value - 1);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n // provide the data to filter on, if filter types is not present the default filter will be used\n useEffect(() => {\n if (filterData) {\n setFilter(filterData.filterRow, filterData.filterValues);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterData]);\n\n useEffect(() => {\n if (setSelectedRows) {\n setSelectedRows(Object.keys(selectedRowIds).map((id) => +id));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedRowIds]);\n\n return (\n <>\n {includeGlobalSearch ? (\n <GlobalSearch\n preGlobalFilteredRows={preGlobalFilteredRows}\n globalFilter={\n (state as unknown as { globalFilter: string | undefined }).globalFilter\n }\n setGlobalFilter={setGlobalFilter}\n />\n ) : null}\n <div\n ref={parentRef}\n className={virtContainerStyling || classes.virtualisationContainer}\n >\n <TableContent\n {...{\n disabled,\n includeRowSelect,\n getTableProps,\n headerGroups,\n getTableBodyProps,\n rowsToRender,\n prepareRow,\n paddingTop,\n paddingBottom,\n virtualRows: items,\n isAllRowsSelected,\n selectedFlatRows,\n }}\n />\n </div>\n {tableRows === null ? (\n <Box className={classes.emptyLoadingPadding}>\n <LoadingSpinner />\n </Box>\n ) : null}\n {tableRows && !tableRows.length ? (\n <Box className={`${classes.emptyLoadingPadding} ${classes.centeredText}`}>\n <Typography variant=\"body2\">{emptyTableText}</Typography>\n </Box>\n ) : null}\n {paginate && tableRows?.length ? (\n <Pagination\n className={`${classes.flexCenter} ${classes.pagination}`}\n count={pageCount}\n page={pageIndex + 1}\n onChange={handlePageChange}\n shape=\"rounded\"\n showFirstButton\n showLastButton\n />\n ) : null}\n </>\n );\n }\n);\n\nexport default EditableTable;\n\nconst useGlobalSearchStyles = makeStyles((theme) => ({\n container: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n border: `1px solid ${theme.palette.grey[600]}`,\n borderRadius: \"8px\",\n width: \"100%\",\n maxWidth: \"20rem\",\n marginInline: \"auto\",\n color: theme.palette.grey[600],\n \"&:hover\": {\n borderColor: theme.palette.grey[800],\n color: theme.palette.grey[800],\n },\n \"&:focus-within\": {\n borderColor: theme.palette.grey[800],\n color: theme.palette.grey[800],\n },\n },\n input: {\n width: \"100%\",\n maxWidth: \"18rem\",\n color: \"inherit\",\n ...theme.typography.body2,\n },\n}));\n\nconst GlobalSearch: React.FC<IGlobalFilterProps> = memo(\n ({ preGlobalFilteredRows, globalFilter, setGlobalFilter }) => {\n const [value, setValue] = useState(globalFilter);\n\n const classes = { ...useSpacingStyles(), ...useGlobalSearchStyles() };\n\n const onChange = useAsyncDebounce((value: string) => {\n setGlobalFilter(value || undefined);\n }, 200);\n\n const count = preGlobalFilteredRows.length;\n\n return (\n <div className={`${classes.container} ${classes.contentBreak}`}>\n <SearchIcon className={`${classes.rightSpacer1} ${classes.leftSpacer1}`} />\n\n <InputBase\n className={`${classes.input}`}\n value={value || \"\"}\n onChange={(e) => {\n setValue(e.target.value);\n onChange(e.target.value);\n }}\n placeholder={`Search ${count} records...`}\n inputProps={{ \"aria-label\": \"search\" }}\n />\n </div>\n );\n }\n);\n\nconst TableContent: FC<ITableContentProps> = memo(\n ({\n disabled,\n includeRowSelect,\n getTableProps,\n headerGroups,\n getTableBodyProps,\n rowsToRender,\n prepareRow,\n paddingTop,\n paddingBottom,\n virtualRows,\n isAllRowsSelected,\n selectedFlatRows,\n }) => {\n return (\n <MUITable {...getTableProps()} stickyHeader style={{ borderCollapse: \"collapse\" }}>\n <TableHeaderContent\n headerGroups={headerGroups}\n includeRowSelect={includeRowSelect}\n isAllRowsSelected={isAllRowsSelected}\n />\n <TableBody {...getTableBodyProps()}>\n {paddingTop > 0 && (\n <tr>\n <td style={{ height: `${paddingTop}px` }} />\n </tr>\n )}\n\n <TableRows\n {...{\n disabled,\n includeRowSelect,\n rowsToRender,\n prepareRow,\n virtualRows,\n selectedFlatRows,\n }}\n />\n\n {paddingBottom > 0 && (\n <tr>\n <td style={{ height: `${paddingBottom}px` }} />\n </tr>\n )}\n </TableBody>\n </MUITable>\n );\n }\n);\n\nconst TableHeaderContent: FC<\n Pick<ITableContentProps, \"headerGroups\" | \"includeRowSelect\" | \"isAllRowsSelected\">\n> = memo(({ headerGroups, includeRowSelect, isAllRowsSelected }) => {\n return (\n <TableHead>\n {headerGroups.map((headerGroup: HeaderGroup<RowData>) => (\n <TableRow {...headerGroup.getHeaderGroupProps()}>\n {headerGroup.headers.map((column, i) => (\n <TableCell\n {...column.getHeaderProps()}\n //@ts-ignore FIX REQUIRED incorrect use of react table props\n align={column.textAlign || \"center\"}\n padding={(includeRowSelect && i) === 0 ? \"checkbox\" : \"normal\"}\n >\n {column.render(\"Header\")}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableHead>\n );\n});\n\nconst TableRows: FC<\n Pick<\n ITableContentProps,\n | \"rowsToRender\"\n | \"prepareRow\"\n | \"disabled\"\n | \"includeRowSelect\"\n | \"virtualRows\"\n | \"selectedFlatRows\"\n >\n> = memo(({ rowsToRender, virtualRows, prepareRow, ...rest }) => {\n const classes = { ...useStyles(), ...useLayoutStyles() };\n\n return (\n <>\n {virtualRows.map((virtualRow) => {\n const row = rowsToRender[virtualRow.index];\n prepareRow(row);\n return (\n <Fragment key={row.original.rowKey || row.getRowProps().key}>\n {row.original.disabledRow ? (\n //At the moment disabledRow prop is only passed on xero costs so this check is fine\n // If this changes will need to change the check to be more specific\n <Tooltip title={row.original.tooltipText || \"This row is disabled\"} arrow>\n <TableRowContents {...{ ...rest, row, classes }} />\n </Tooltip>\n ) : (\n <TableRowContents {...{ ...rest, row, classes }} />\n )}\n </Fragment>\n );\n })}\n </>\n );\n});\n","import React from \"react\";\nimport { Collapse, Button, makeStyles } from \"@material-ui/core\";\nimport { Alert as MUIAlert } from \"@material-ui/lab\";\nimport { useSpacingStyles } from \"../styles\";\nimport { BORDER_RADIUS, FORM_ERROR, FORM_SUCCESS, FORM_WARNING } from \"../globals\";\nimport { IAlertProps } from \"./Alert.types\";\n\nconst useAlertStyles = makeStyles((theme) => ({\n alertStyling: {\n borderRadius: BORDER_RADIUS,\n },\n closeButton: {\n color: theme.palette.text.secondary,\n marginRight: theme.spacing(2),\n },\n showCursor: {\n cursor: \"pointer\",\n },\n}));\n\nconst Alert: React.FC<IAlertProps> = ({\n alertActionHandler,\n formStatus,\n actionButton,\n alertMessage,\n addBreak = true,\n styling,\n}) => {\n const classes = { ...useSpacingStyles(), ...useAlertStyles() };\n return (\n <Collapse in={[FORM_SUCCESS, FORM_ERROR, FORM_WARNING].includes(formStatus)}>\n <MUIAlert\n onClick={alertActionHandler}\n className={`${classes.alertStyling} ${addBreak ? classes.sectionBreak : \"\"} ${\n styling || \"\"\n } ${alertActionHandler ? classes.showCursor : \"\"}`}\n severity={\n formStatus === FORM_ERROR\n ? FORM_ERROR\n : formStatus === FORM_SUCCESS\n ? FORM_SUCCESS\n : FORM_WARNING\n }\n action={\n actionButton ? (\n <Button\n className={classes.closeButton}\n aria-label=\"close\"\n color=\"inherit\"\n size=\"small\"\n onClick={(event) => {\n event.stopPropagation();\n actionButton.handler();\n }}\n >\n {actionButton.text}\n </Button>\n ) : null\n }\n >\n {alertMessage}\n </MUIAlert>\n </Collapse>\n );\n};\n\nexport default Alert;\n","import {\n Box,\n makeStyles,\n IconButton,\n Typography,\n Button as MUIButton,\n CircularProgress,\n Avatar,\n} from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { CloudUpload, Forward } from \"@material-ui/icons\";\nimport { useSpacingStyles } from \"../styles\";\nimport { IImageDisplayAndUploadProps } from \"./ImageDisplayAndUpload.types\";\nimport Alert from \"../Alert/Alert\";\nimport {\n BORDER_RADIUS,\n FormStatuses,\n FORM_ENABLED,\n FORM_ERROR,\n FORM_LOADING,\n FORM_SUCCESS,\n NO_ACCESS_LEVEL,\n READ_LEVEL,\n} from \"../globals\";\n\nconst useImageDisplayAndUploadStyles = makeStyles((theme) => ({\n greyBox: {\n backgroundColor: theme.palette.grey[200],\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: \"1.5rem\",\n borderRadius: BORDER_RADIUS,\n position: \"relative\",\n height: \"13.25rem\",\n },\n widthLimiter: {\n width: \"100%\",\n maxWidth: \"28rem\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n hiddenInput: {\n display: \"none\",\n },\n buttonColor: {\n backgroundColor: theme.palette.primary.main,\n },\n iconStyling: {\n color: theme.palette.common.white,\n fontSize: \"3rem\",\n },\n sectionBreak: {\n marginBottom: theme.spacing(3),\n },\n dropBox: {\n height: \"100%\",\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dropArrowStyling: {\n color: theme.palette.text.secondary,\n fontSize: \"3rem\",\n },\n topLeftArrow: {\n position: \"absolute\",\n top: 0,\n left: 0,\n transform: \"rotate(45deg)\",\n },\n topRightArrow: {\n position: \"absolute\",\n top: 0,\n right: 0,\n transform: \"rotate(135deg)\",\n },\n bottomLeftArrow: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n transform: \"rotate(-45deg)\",\n },\n bottomRightArrow: {\n position: \"absolute\",\n bottom: 0,\n right: 0,\n transform: \"rotate(225deg)\",\n },\n hiddenDisplay: {\n display: \"none\",\n },\n loadingCircle: {\n marginLeft: theme.spacing(1),\n },\n roundedAvatarButton: {\n borderRadius: \"100%\",\n },\n roundedAvatar: {\n width: \"16vmax\",\n height: \"16vmax\",\n maxWidth: \"13rem\",\n maxHeight: \"13rem\",\n },\n organisationImage: {\n maxWidth: \"8rem\",\n minWidth: \"5rem\",\n maxHeight: \"8rem\",\n },\n}));\n\nconst DRAG_ENTER = \"dragEnter\";\nconst INPUT = \"input\";\nconst DRAG_DROP = \"dragDrop\";\n\nconst ImageDisplayAndUpload: React.FC<IImageDisplayAndUploadProps> = ({\n id = \"image-upload\",\n url,\n roundedAvatar = false,\n handleSaveImage,\n alt,\n accessLevel,\n}) => {\n const classes = { ...useImageDisplayAndUploadStyles(), ...useSpacingStyles() };\n const [displayImage, setDisplayImage] = useState<boolean>(!!url);\n const [uploadState, setUploadState] = useState<FormStatuses | typeof DRAG_ENTER>(\n FORM_ENABLED\n );\n const [infoMessage, setInfoMessage] = useState<null | string>(null);\n\n useEffect(() => {\n if (!!url) {\n setDisplayImage(true);\n }\n }, [url]);\n\n if (accessLevel === NO_ACCESS_LEVEL) return null;\n\n let disabledProp = false;\n if (accessLevel === READ_LEVEL) disabledProp = true;\n\n const handleImageUpload = async (\n type: typeof INPUT | typeof DRAG_DROP,\n e: React.ChangeEvent<HTMLInputElement> | React.DragEvent<HTMLElement>\n ) => {\n if (disabledProp) return;\n setInfoMessage(null);\n if (type === INPUT) {\n const target = (e as React.ChangeEvent<HTMLInputElement>).target;\n if (target.files && target.files[0]) {\n await imageUpload(target.files[0]);\n } else {\n setUploadState(FORM_ERROR);\n setDisplayImage(url ? true : false);\n }\n } else if (type === DRAG_DROP) {\n const dataTransfer = (e as React.DragEvent<HTMLElement>).dataTransfer;\n if (dataTransfer.files && dataTransfer.files[0]) {\n await imageUpload(dataTransfer.files[0]);\n } else {\n setUploadState(FORM_ERROR);\n setDisplayImage(url ? true : false);\n }\n }\n };\n\n const imageUpload = async (file: File) => {\n setUploadState(FORM_LOADING);\n if (file.size >= 1024 * 1024 * 0.5) {\n setInfoMessage(\"Image size should be less than 0.5MB\");\n setUploadState(FORM_ERROR);\n setDisplayImage(url ? true : false);\n return;\n }\n const format = file.name.split(\".\")[1].toLowerCase();\n\n if (![\"png\", \"jpg\", \"jpeg\"].includes(format)) {\n setInfoMessage(\"Please provide an image in png, jpg or jpeg format\");\n setUploadState(FORM_ERROR);\n setDisplayImage(url ? true : false);\n\n return;\n }\n const buffer = await file.arrayBuffer();\n try {\n await handleSaveImage(format, buffer, file);\n setUploadState(FORM_SUCCESS);\n setDisplayImage(true);\n } catch (e) {\n console.log(e);\n setUploadState(FORM_ERROR);\n setDisplayImage(url ? true : false);\n }\n };\n\n let htmlToDisplay;\n switch (uploadState) {\n case DRAG_ENTER:\n htmlToDisplay = (\n <Box className={classes.dropBox} style={{ pointerEvents: \"none\" }}>\n <Forward className={`${classes.dropArrowStyling} ${classes.topLeftArrow}`} />\n <Forward className={`${classes.dropArrowStyling} ${classes.topRightArrow}`} />\n <Typography variant=\"h5\" color=\"textSecondary\">\n Drop Here\n </Typography>\n <Forward className={`${classes.dropArrowStyling} ${classes.bottomLeftArrow}`} />\n <Forward\n className={`${classes.dropArrowStyling} ${classes.bottomRightArrow}`}\n />\n </Box>\n );\n break;\n\n case FORM_LOADING:\n htmlToDisplay = (\n <Box className={classes.dropBox}>\n <Typography color=\"textSecondary\">Loading...</Typography>\n <CircularProgress className={classes.loadingCircle} size={25} />\n </Box>\n );\n break;\n\n default:\n htmlToDisplay = (\n <label htmlFor={id}>\n <IconButton\n className={`${classes.buttonColor} ${classes.sectionBreak}`}\n aria-label=\"upload picture\"\n component=\"span\"\n >\n <CloudUpload className={classes.iconStyling} />\n </IconButton>\n <Typography variant=\"body2\" color=\"textSecondary\">\n Drag and drop or browse to upload your image or logo.\n </Typography>\n </label>\n );\n break;\n }\n\n return (\n <Box\n className={classes.labelBreak}\n onDragEnter={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n setDisplayImage(false);\n }}\n onDragOver={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n setDisplayImage(false);\n }}\n >\n {displayImage && (\n <Box className={classes.labelBreak}>\n <label htmlFor={id}>\n <MUIButton\n className={`${roundedAvatar ? classes.roundedAvatarButton : \"\"}`}\n aria-label=\"upload picture\"\n component=\"span\"\n >\n {roundedAvatar ? (\n <Avatar\n className={classes.roundedAvatar}\n src={url!}\n alt={alt || \"Profile Avatar\"}\n />\n ) : (\n <img\n className={classes.organisationImage}\n src={url!}\n alt={alt || \"Company Logo\"}\n />\n )}\n </MUIButton>\n </label>\n </Box>\n )}\n\n <Box\n className={`${classes.greyBox} ${classes.widthLimiter} ${classes.sectionBreak} ${\n displayImage ? classes.hiddenDisplay : \"\"\n }`}\n onDragEnter={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n setUploadState(DRAG_ENTER);\n }}\n onDragLeave={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n setUploadState(FORM_ENABLED);\n setDisplayImage(url ? true : false);\n }}\n onDragOver={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n setUploadState(DRAG_ENTER);\n }}\n onDrop={(e) => {\n if (disabledProp) return;\n e.preventDefault();\n e.stopPropagation();\n handleImageUpload(DRAG_DROP, e);\n }}\n >\n <input\n id={id}\n className={classes.hiddenInput}\n type=\"file\"\n accept=\".png, .jpg, .jpeg\"\n disabled={disabledProp}\n onChange={(e) => handleImageUpload(INPUT, e)}\n />\n\n {htmlToDisplay}\n </Box>\n\n <Box className={classes.widthLimiter}>\n <Alert\n formStatus={uploadState as FormStatuses}\n alertMessage={\n infoMessage ||\n (uploadState === FORM_SUCCESS\n ? \"Uploaded successfully!\"\n : \"Something went wrong.\")\n }\n />\n </Box>\n </Box>\n );\n};\n\nexport default ImageDisplayAndUpload;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","string","trim","required","matches","FORM_SUCCESS","FORM_ERROR","FORM_WARNING","READ_LEVEL","NO_ACCESS_LEVEL","useSpacingStyles","makeStyles","labelBreak","marginBottom","contentBreak","sectionBreak","doubleSectionBreak","rightSpacer1","marginRight","rightSpacer2","leftSpacer1","marginLeft","leftSpacer2","buttonSpacing","leftRightPadding1","paddingLeft","paddingRight","leftRightPadding2","topBottomPadding1","paddingTop","paddingBottom","topBottomPadding2","classNamePrefix","index","useFontStyles","theme","boldText","fontWeight","bolderText","smallText","fontSize","warningColor","color","palette","warning","main","centerText","textAlign","useLayoutStyles","contentBox","background","borderRadius","padding","limitWidth60rem","maxWidth","limitWidth50rem","limitWidth45rem","limitWidth40rem","limitWidth35rem","limitWidth30rem","limitWidth25rem","centeredText","startAlignedText","width20","width","width49","width50","width60","width100","flexCenter","display","alignItems","justifyContent","centerJustify","leftJustify","rightJustify","useButtonStyles","submitButton","textTransform","containedText","spinnerColour","grey","Button","_a","_b","loading","children","_c","errors","_d","type","onClick","_e","disabled","_f","variant","_g","styling","_h","_j","accessLevel","rest","classes","includes","disabledProp","React","MaterialButton","className","CircularProgress","size","thickness","ContentLabel","Typography","ContentBox","limitWidth","Box","boxShadow","LoadingSpinner","text","StyledTableRow","withStyles","createStyles","root","backgroundColor","MUITableRow","ShadedTableRow","useTableCellStyles","borderBottom","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","head","border","borderTop","primary","borderLeft","borderRight","TableCell","align","headerColours","MUITableCell","TableRow","rowBorderSeparation","SingleCellRow","colSpan","useStaticTableStyles","adjustedCellPadding","tableStyles","borderCollapse","pointer","cursor","bottomBorder","noShading","StaticTable","headers","rows","headerCellAlignment","rowCellAlignment","paginate","itemsPerPage","useState","page","setPage","hasRowsAndPaginated","useMemo","visibleRows","setVisibleRows","handlePageChange","useCallback","event","useEffect","Table","TableHead","map","header","key","TableBody","data","containsOnClick","undefined","row","cell","Pagination","count","Math","ceil","onChange","shape","showFirstButton","showLastButton","useStyles","logoContainer","height","logo","logoInBreadcrumb","margin","logoSpacing","spacing","flexItemsCenter","nonPrimaryBreadcrumbOffset","BreadcrumbsContainer","primaryBreadcrumbItem","common","white","zIndex","secondaryBreadcrumbItem","secondary","tertiaryBreadcrumbItem","tertiary","breadCrumbShadow","shadows","breadcrumbRightMargin","breadcrumbTextOverflow","overflow","textOverflow","activeBreadcrumb","noWrap","whiteSpace","fullBorderRadius","Breadcrumbs","content","colors","first","second","third","Link","component","RouterLink","ButtonBase","underline","link","name","container","svgContainer","button","textDecoration","orgLabel","EntityList","entities","icon","loadingMessage","emptyMessage","Grid","entity","item","xs","md","ErrorIndicator","ErrorIcon","useNavListStyles","listIcon","minWidth","mainIconSize","mainIconMarginAdjustment","marginTop","textOverflowElipsis","mainListItem","props","mainBackground","mainText","mainHover","action","hover","mainIconColor","mainIcon","activeMainIconColor","mainActiveText","subListItem","subItemBackground","subItemText","subItemHover","activeSubListItem","subItemActiveBackground","subItemActiveText","subItemActiveHover","subItemBorder","relativeWrapper","position","subItemBorderMask","top","bottom","transition","activeSubItemBorder","subItemWrapper","noYMargin","isItemActive","currentPathname","id","split","NavListItem","mainItem","subItems","config","Icon","mainItemColors","subItemColors","location","useLocation","activeMainItem","pathname","subExpanded","setSubExpanded","ListItem","dense","route","ListItemIcon","ListItemText","disableTypography","preventDefault","stopPropagation","expanded","ExpandLess","ExpandMore","Collapse","in","timeout","unmountOnExit","List","disablePadding","sortDescendingStartDateString","array","sort","a","b","startDate","replaceAll","didCellValueChange","oldVal","newVal","isDateValue","isValid","Date","getTime","useSecondaryNavStyles","secondaryNavWrapper","overflowY","overflowX","boxSizing","titleWrapper","title","titleColor","titleIcons","titleIconColor","closeButton","archivedSeparator","archivedBorder","listWrapper","SecondaryLeftNavContainer","secondaryNavItems","primaryNavItems","expandedOptions","setExpandedOptions","stylesProps","history","useHistory","navItem","view","mainItemIcon","find","field","IconButton","url","AddBoxOutlinedIcon","closeButtonSvg","CloseIcon","items","archivedItems","usePrimaryLeftNavStyles","primaryNavContainer","activeBorderColor","flexDirection","itemWrapper","itemBorder","right","activeBorder","iconWrapper","itemName","textColour","activeTextColour","activeText","lastItem","PrimaryLeftNavContainer","navigationLinks","applyActiveBackground","fieldName","path","rootRouteName","startsWith","arr","moveLastItemToBottom","hasSecondary","useLeftNavStyles","leftNavContainer","LeftNavigation","styles","navsWithSecondary","reduce","navs","nav","prev","useMainLayoutStyles","remainingHeightBox","topOffset","left","fullHeightFlexbox","relativeContainer","scrollWrapper","componentWrapper","MainLayout","sideNavigation","desktopWidth","Container","disableGutters","useDebounceEffect","effect","deps","delay","callback","setTimeout","clearTimeout","useInterval","savedCallback","useRef","current","id_1","setInterval","clearInterval","useWhyDidYouUpdate","latestProps","allKeys","keys","changesObj","forEach","changedKeys","k","filter","Boolean","isDeepEqual","isEqual","console","log","changes","values","useAlphabeticalListStyles","divider","letterHeader","listItem","topMargin","AlphabeticalList","sortFn","sortKey","buttonClick","linkTo","ItemTemplate","arrayKey","alphabetisedHeader","lastSection","showHeader","currentKey","toLowerCase","Fragment","toUpperCase","Divider","useSearchBarStyles","searchBox","alignContent","searchField","searchIcon","SearchBar","inputBackgroundColor","placeholder","disabledSearch","minQueryLength","handleOnChange","searchKeys","_k","searchInput","setSearchInput","_l","blockSearch","setBlockSearch","_m","setResult","itemIsFound","some","InputBase","target","endAdornment","InputAdornment","SearchIcon","inputField","typography","body2","labelStyles","transform","TextField","numberField","inputProps","InputProps","fixedDecimalScale","inputPropsForNumberField","MaterialTextField","inputComponent","NumberFormatField","InputLabelProps","inputRef","other","NumberFormat","getInputRef","onValueChange","thousandSeparator","decimalScale","isNumericString","useSelectStyles","scrollbarWidth","inputStyles","BORDER_RADIUS","selectedListItem","Select","selectOptions","SelectProps","select","option","MenuItem","selected","description","DatePicker","format","minDate","MuiPickersUtilsProvider","utils","DateFnsUtils","MaterialDatePicker","inputVariant","autoOk","TextFieldComponent","KeyboardDatePicker","allowKeyboardControl","useButtonWithConfirmStyles","confirmWrapper","confirmContainer","whiteText","ButtonWithConfirm","confirmView","setConfirmView","stopInterval","setStopInterval","determineWidth","valueLength","toString","floor","useDefaultTableCellsStyles","inputBase","input","startAdornment","modifiedUnderline","body2Text","dateFieldWidth","fullDateWidth","justifyStart","justifyCenter","justifyEnd","totalContainer","selectFocusBackground","TableTextField","error","onBlur","prefix","suffix","style","helperText","tableNumericStringField","tableProps","tableNumericStringFixedDecimalField","SelectionCheckbox","Checkbox","TableDatePicker","fullDate","views","tableDateField","tableInvoiceDateField","TableCheckbox","checked","tableCheckbox","NonEditableField","displayType","TableSelect","FormControl","entries","FormHelperText","TableMultipleSelect","renderValue","multiple","newRowHighlight","editedCellHighlight","backgroundClip","editedBorder","borderWidth","errorBorder","light","emptyLoadingPadding","pagination","virtualisationContainer","maxHeight","EditableCell","initialValue","original","syncCellWithState","setRows","fieldConfig","validationRule","dependentValidationRule","isCheckbox","isDateField","customRenderFn","configOnBlur","onChangeValueModifier","setError","setValue","checkbox","validateValue","returnValue","validateSync","message","fieldValue","rowIndex","errorStatus","renderFnProps","disabledRow","adjustedDateValue","eventValue","originalValues","TableRowContents","includeRowSelect","rowStatus","cells","getCellProps","column","edited","render","emptyRows","EditableTable","memo","tableRows","tableHeaders","skipPageReset","setSelectedRows","filterData","filterTypes","emptyTableText","defaultPageSize","virtContainerStyling","overscan","rowHeight","includeGlobalSearch","parentRef","defaultColumn","Cell","useTable","columns","autoResetPage","initialState","pageSize","autoResetGlobalFilter","useFilters","useGlobalFilter","usePagination","useRowSelect","hooks","visibleColumns","Header","getToggleAllRowsSelectedProps","getToggleAllPageRowsSelectedProps","getToggleRowSelectedProps","disableSelection","getTableProps","getTableBodyProps","headerGroups","prepareRow","selectedRowIds","pageIndex","state","setFilter","pageCount","gotoPage","preGlobalFilteredRows","setGlobalFilter","isAllRowsSelected","selectedFlatRows","rowVirtualizer","useVirtual","estimateSize","rowsToRender","virtualItems","start","totalSize","end","filterRow","filterValues","GlobalSearch","globalFilter","ref","TableContent","virtualRows","useGlobalSearchStyles","marginInline","borderColor","useAsyncDebounce","MUITable","stickyHeader","TableHeaderContent","TableRows","headerGroup","getHeaderGroupProps","getHeaderProps","virtualRow","rowKey","getRowProps","Tooltip","tooltipText","arrow","useAlertStyles","alertStyling","showCursor","Alert","alertActionHandler","formStatus","actionButton","alertMessage","addBreak","MUIAlert","severity","handler","useImageDisplayAndUploadStyles","greyBox","widthLimiter","hiddenInput","buttonColor","iconStyling","dropBox","dropArrowStyling","topLeftArrow","topRightArrow","bottomLeftArrow","bottomRightArrow","hiddenDisplay","loadingCircle","roundedAvatarButton","roundedAvatar","organisationImage","ImageDisplayAndUpload","handleSaveImage","alt","displayImage","setDisplayImage","uploadState","setUploadState","infoMessage","setInfoMessage","htmlToDisplay","handleImageUpload","files","imageUpload","dataTransfer","file","arrayBuffer","buffer","e_1","pointerEvents","Forward","htmlFor","CloudUpload","onDragEnter","onDragOver","MUIButton","Avatar","src","onDragLeave","onDrop","accept"],"mappings":"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"}