aefis-core-ui 2.1.5 → 2.1.6-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import React, { useState, forwardRef, useEffect, Fragment as Fragment$1, memo, useRef, Children, useMemo, useCallback, useImperativeHandle, createRef, createElement, useContext, createContext } from 'react';
3
3
  import { useUID, useUIDSeed } from 'react-uid';
4
- import { IconButton as IconButton$1, Menu as Menu$1, MenuItem, ListItemIcon, Typography, Tooltip as Tooltip$1, Box as Box$1, Alert as Alert$1, AlertTitle, Collapse, Avatar as Avatar$1, createTheme, Button as Button$1, CircularProgress, Badge, Card, CardMedia, CardHeader, CardContent, CardActions, Chip as Chip$1, Grid, Skeleton as Skeleton$6, Stack, useScrollTrigger, Tabs, Tab, useMediaQuery, List as List$1, ListItem as ListItem$2, ListItemAvatar, ListItemText, Divider, DialogTitle as DialogTitle$1, Fade, LinearProgress, AppBar as AppBar$1, Toolbar, DialogContent as DialogContent$1, DialogActions as DialogActions$1, Dialog, Slide, styled, Checkbox, TableSortLabel, TextField, InputAdornment, Icon as Icon$2, Grow, Breadcrumbs as Breadcrumbs$1, Link as Link$1, Drawer as Drawer$1, Autocomplete, Paper, Zoom, Fab, Stepper, Step, StepLabel, ToggleButtonGroup, ToggleButton, FormHelperText, FormControl, InputLabel, Popover, ClickAwayListener, MenuList, ButtonGroup, Select, Hidden } from '@mui/material';
4
+ import { IconButton as IconButton$1, Menu as Menu$1, MenuItem, ListItemIcon, Typography, Tooltip as Tooltip$1, Box as Box$1, Alert as Alert$1, AlertTitle, Collapse, Avatar as Avatar$1, createTheme, Button as Button$1, CircularProgress, Badge, Card, CardMedia, CardHeader, CardContent, CardActions, Chip as Chip$1, Grid, Skeleton as Skeleton$6, Stack, useScrollTrigger, Tabs, Tab, useMediaQuery, List as List$1, ListItem as ListItem$2, ListItemAvatar, ListItemText, Divider, DialogTitle as DialogTitle$1, Fade, LinearProgress, AppBar as AppBar$1, Toolbar, DialogContent as DialogContent$1, DialogActions as DialogActions$1, Dialog, Slide, styled, Checkbox, TableSortLabel, TextField, InputAdornment, Icon as Icon$1, Grow, Breadcrumbs as Breadcrumbs$1, Link as Link$1, Drawer as Drawer$1, createFilterOptions, Autocomplete, Paper, Zoom, Fab, Stepper, Step, StepLabel, ToggleButtonGroup, ToggleButton, FormHelperText, FormControl, InputLabel, ButtonGroup, Popover, ClickAwayListener, MenuList, Select, Hidden } from '@mui/material';
5
5
  import { makeStyles, useTheme as useTheme$1, withStyles as withStyles$1, createStyles, styled as styled$2 } from '@mui/styles';
6
6
  import clsx from 'clsx';
7
- import { AccountBalanceOutlined as AccountBalanceOutlined$1, AssignmentOutlined as AssignmentOutlined$1, BookOutlined as BookOutlined$1, Check as Check$1, CollectionsBookmarkOutlined as CollectionsBookmarkOutlined$1, Edit, ErrorOutlined as ErrorOutlined$1, EventOutlined as EventOutlined$1, ExploreOutlined as ExploreOutlined$1, InfoOutlined as InfoOutlined$1, KeyboardArrowRight as KeyboardArrowRight$1, MapOutlined as MapOutlined$1, PersonOutlined as PersonOutlined$1, SchoolOutlined as SchoolOutlined$1, Search as Search$1, ViewListOutlined as ViewListOutlined$1, WarningOutlined as WarningOutlined$1, WidgetsOutlined as WidgetsOutlined$1, AccountBalance as AccountBalance$1, AccountCircle as AccountCircle$1, AccountTreeOutlined, AccountTreeTwoTone, Add as Add$1, AddCircle as AddCircle$1, AddLocation, AddLocationOutlined, AddOutlined, AddTask, AddTaskOutlined, Apps, ArrowBack as ArrowBack$1, ArrowForward as ArrowForward$1, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUpward as ArrowUpward$1, Article, ArticleOutlined as ArticleOutlined$1, Assignment, AssignmentLate, AssignmentLateOutlined, AssignmentTurnedIn, AssignmentTurnedInOutlined, AssignmentTwoTone, AttachFile, BarChartOutlined, Book, BookTwoTone, BrushOutlined, BuildOutlined, BuildTwoTone, BusinessCenterOutlined, Calculate, CalculateTwoTone, CalculateOutlined as CalculateOutlined$1, Cancel as Cancel$1, ChatOutlined, CheckCircle as CheckCircle$1, CheckCircleOutlined, CheckOutlined as CheckOutlined$1, Clear as Clear$1, Close as Close$1, CloudOutlined, CloudDownload, CloudDownloadOutlined, CloudUpload, CloudUploadOutlined, Comment, ContactMail as ContactMail$1, ContentCopy, Dashboard, DashboardOutlined, DashboardTwoTone, DateRange, DateRangeOutlined, Delete as Delete$2, DeleteOutlined, Description, Done, EditOutlined as EditOutlined$1, EmojiPeople, EmojiPeopleOutlined, EmojiEventsOutlined, Error as Error$2, ErrorOutline, Event as Event$1, EventRepeat, EventRepeatOutlined, ExpandLess as ExpandLess$1, ExpandMore as ExpandMore$1, Explore, ExploreTwoTone, Extension, ExtensionOutlined, Face, FaceOutlined, FilterList as FilterList$1, FlightOutlined, Flight, FlagOutlined, Fullscreen, FullscreenExit, GetApp as GetApp$1, GetAppOutlined, Group, Help, HelpOutlined as HelpOutlined$1, HelpTwoTone, Hiking, Home, HomeTwoTone, HomeOutlined, HomeWorkOutlined, ImageSearch, Info as Info$1, KeyboardArrowLeft as KeyboardArrowLeft$1, KeyboardArrowUp as KeyboardArrowUp$1, Lens, Lightbulb, LightbulbOutlined as LightbulbOutlined$1, Link, ListAlt, ListAltOutlined, ListAltTwoTone, LocalOffer, LocalOfferOutlined as LocalOfferOutlined$1, LocalPhone, LocalPhoneOutlined as LocalPhoneOutlined$1, Login, Map, Menu, MenuBookOutlined, Message, MessageOutlined as MessageOutlined$1, MilitaryTechOutlined, MoreVert as MoreVert$1, MoreHoriz, Notifications, NotificationsActive, Palette, PaletteOutlined, Person, PersonOutline, People, PeopleOutlined, PersonAddAltOutlined, PersonAddOutlined as PersonAddOutlined$1, PictureAsPdf, PictureAsPdfOutlined as PictureAsPdfOutlined$1, Place, PlaceOutlined, PlayArrow, PlayArrowOutlined, Print, PrintOutlined as PrintOutlined$1, PrintTwoTone, PriorityHigh as PriorityHigh$1, PublicOutlined, RecordVoiceOverOutlined, Receipt, Refresh as Refresh$1, RestartAlt, RoomServiceOutlined, Save, SaveOutlined, Schedule as Schedule$1, School, SchoolTwoTone, Science, ScienceOutlined, SearchOutlined, Settings as Settings$1, SettingsOutlined, ShareOutlined, SportsOutlined, Star as Star$1, StarBorder as StarBorder$1, SwapVert, TableView, TableViewOutlined, TrendingDownOutlined, TrendingFlatOutlined, TrendingUpOutlined, Tune as Tune$1, Verified, VerifiedOutlined, ViewList, Visibility, VisibilityOutlined as VisibilityOutlined$1, Warning, Web, WebOutlined, Widgets, WorkOutline } from '@mui/icons-material/';
7
+ import { KeyboardArrowRight as KeyboardArrowRight$1, AccountBalance as AccountBalance$1, AccountBalanceOutlined as AccountBalanceOutlined$1, AccountCircle as AccountCircle$1, AccountTreeOutlined, AccountTreeTwoTone, Add as Add$1, AddCircle as AddCircle$1, AddLocation, AddLocationOutlined, AddOutlined, AddTask, AddTaskOutlined, Apps, ArrowBack as ArrowBack$1, ArrowForward as ArrowForward$1, ArrowLeft, ArrowRight as ArrowRight$1, ArrowUpward as ArrowUpward$1, Article, ArticleOutlined as ArticleOutlined$1, Assignment, AssignmentOutlined as AssignmentOutlined$1, AssignmentLate, AssignmentLateOutlined, AssignmentTurnedIn, AssignmentTurnedInOutlined, AssignmentTwoTone, AttachFile, BarChartOutlined, Book, BookOutlined as BookOutlined$1, BookTwoTone, BrushOutlined, BuildOutlined, BuildTwoTone, BusinessCenterOutlined, Calculate, CalculateTwoTone, CalculateOutlined as CalculateOutlined$1, Cancel as Cancel$1, ChatOutlined, Check as Check$1, CheckCircle as CheckCircle$1, CheckCircleOutlined, CheckOutlined as CheckOutlined$1, Clear as Clear$1, Close as Close$1, CloudOutlined, CloudDownload, CloudDownloadOutlined, CloudUpload, CloudUploadOutlined, CollectionsBookmarkOutlined as CollectionsBookmarkOutlined$1, Comment, ContactMail as ContactMail$1, ContentCopy, Dashboard, DashboardOutlined, DashboardTwoTone, DateRange, DateRangeOutlined, Delete as Delete$2, DeleteOutlined, Description, ViewListOutlined as ViewListOutlined$1, Done, Edit, EditOutlined as EditOutlined$1, EmojiPeople, EmojiPeopleOutlined, EmojiEventsOutlined, Error as Error$2, ErrorOutline, ErrorOutlined as ErrorOutlined$1, Event as Event$1, EventOutlined as EventOutlined$1, EventRepeat, EventRepeatOutlined, ExpandLess as ExpandLess$1, ExpandMore as ExpandMore$1, Explore, ExploreOutlined as ExploreOutlined$1, ExploreTwoTone, Extension, ExtensionOutlined, Face, FaceOutlined, FilterList as FilterList$1, FlightOutlined, Flight, FlagOutlined, Fullscreen, FullscreenExit, GetApp as GetApp$1, GetAppOutlined, Group, Help, HelpOutlined as HelpOutlined$1, HelpTwoTone, Hiking, Home, HomeTwoTone, HomeOutlined, HomeWorkOutlined, ImageSearch, Info as Info$1, InfoOutlined as InfoOutlined$1, KeyboardArrowLeft as KeyboardArrowLeft$1, KeyboardArrowUp as KeyboardArrowUp$1, Lens, Lightbulb, LightbulbOutlined as LightbulbOutlined$1, Link, ListAlt, ListAltOutlined, ListAltTwoTone, LocalOffer, LocalOfferOutlined as LocalOfferOutlined$1, LocalPhone, LocalPhoneOutlined as LocalPhoneOutlined$1, Login, Map, MapOutlined as MapOutlined$1, Menu, MenuBookOutlined, Message, MessageOutlined as MessageOutlined$1, MilitaryTechOutlined, MoreVert as MoreVert$1, MoreHoriz, Notifications, NotificationsActive, Palette, PaletteOutlined, Person, PersonOutline, PersonOutlined as PersonOutlined$1, People, PeopleOutlined, PersonAddAltOutlined, PersonAddOutlined as PersonAddOutlined$1, PictureAsPdf, PictureAsPdfOutlined as PictureAsPdfOutlined$1, Place, PlaceOutlined, PlayArrow, PlayArrowOutlined, Print, PrintOutlined as PrintOutlined$1, PrintTwoTone, PriorityHigh as PriorityHigh$1, PublicOutlined, RecordVoiceOverOutlined, Receipt, Refresh as Refresh$1, RestartAlt, RoomServiceOutlined, Save, SaveOutlined, Schedule as Schedule$1, School, SchoolOutlined as SchoolOutlined$1, SchoolTwoTone, Science, ScienceOutlined, Search as Search$1, SearchOutlined, Settings as Settings$1, SettingsOutlined, ShareOutlined, SportsOutlined, Star as Star$1, StarBorder as StarBorder$1, SwapVert, TableView, TableViewOutlined, TrendingDownOutlined, TrendingFlatOutlined, TrendingUpOutlined, Tune as Tune$1, Verified, VerifiedOutlined, ViewList, Visibility, VisibilityOutlined as VisibilityOutlined$1, Warning, WarningOutlined as WarningOutlined$1, Web, WebOutlined, Widgets, WidgetsOutlined as WidgetsOutlined$1, WorkOutline } from '@mui/icons-material/';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { red, orange, green, blue, grey, yellow, indigo, purple, cyan, teal, lime, blueGrey, amber, lightBlue, deepOrange } from '@mui/material/colors';
10
10
  import makeStyles$1 from '@mui/styles/makeStyles';
@@ -55,6 +55,7 @@ import Edit$1 from '@mui/icons-material/Edit';
55
55
  import AutorenewIcon from '@mui/icons-material/Autorenew';
56
56
  import { VerticalTimeline, VerticalTimelineElement } from 'react-vertical-timeline-component';
57
57
  import Moment from 'react-moment';
58
+ import AddIcon from '@mui/icons-material/Add';
58
59
  import { useInView } from 'react-intersection-observer';
59
60
  import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
60
61
  import { useSyncExternalStore } from 'use-sync-external-store/shim';
@@ -374,15 +375,12 @@ const CollectionsBookmarkOutlined = props => {
374
375
  const ContactMail = props => {
375
376
  return /*#__PURE__*/jsx(ContactMail$1, _extends({}, props));
376
377
  };
377
- const Delete$1 = props => {
378
+ const Delete = props => {
378
379
  return /*#__PURE__*/jsx(Delete$2, _extends({}, props));
379
380
  };
380
381
  const EditOutlined = props => {
381
382
  return /*#__PURE__*/jsx(EditOutlined$1, _extends({}, props));
382
383
  };
383
- const EditNote = props => {
384
- return /*#__PURE__*/jsx(Edit, _extends({}, props));
385
- };
386
384
  const Error$1 = props => {
387
385
  return /*#__PURE__*/jsx(Error$2, _extends({}, props));
388
386
  };
@@ -504,10 +502,9 @@ Icon.propTypes = {
504
502
  /** The name of the MUI icon. */
505
503
  name: PropTypes.string.isRequired
506
504
  };
507
- var Icon$1 = Icon;
508
505
 
509
506
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
510
- const useStyles$H = makeStyles(theme => ({
507
+ const useStyles = makeStyles(theme => ({
511
508
  menu: {
512
509
  textDecoration: "none",
513
510
  color: "inherit"
@@ -524,7 +521,7 @@ const useStyles$H = makeStyles(theme => ({
524
521
  }
525
522
  }));
526
523
  const ActionMenu = props => {
527
- const classes = useStyles$H();
524
+ const classes = useStyles();
528
525
  const [anchorEl, setAnchorEl] = useState(null);
529
526
  const open = Boolean(anchorEl);
530
527
  const handleClick = event => {
@@ -656,7 +653,7 @@ Action.propTypes = {
656
653
  };
657
654
 
658
655
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
659
- const Actions$1 = props => {
656
+ const Actions = props => {
660
657
  var _props$configuration;
661
658
  const seededKeyValue = useUIDSeed();
662
659
  const getStyle = item => {
@@ -671,7 +668,7 @@ const Actions$1 = props => {
671
668
  })
672
669
  }, `actionMenuItem-${seededKeyValue(index)}`));
673
670
  };
674
- Actions$1.propTypes = {
671
+ Actions.propTypes = {
675
672
  /** Data from the object. */
676
673
  data: PropTypes.any,
677
674
  /** Action configuration. */
@@ -810,42 +807,42 @@ Alert.propTypes = {
810
807
  };
811
808
 
812
809
  // Copyright (c) 2020 AEFIS, all rights reserved.
813
- const danger$1 = {
810
+ const danger = {
814
811
  light: red[50],
815
812
  default: red[500],
816
813
  dark: red[900]
817
814
  };
818
815
 
819
816
  // Copyright (c) 2020 AEFIS, all rights reserved.
820
- const warning$1 = {
817
+ const warning = {
821
818
  light: orange[50],
822
819
  default: orange[500],
823
820
  dark: orange[900]
824
821
  };
825
822
 
826
823
  // Copyright (c) 2020 AEFIS, all rights reserved.
827
- const success$1 = {
824
+ const success = {
828
825
  light: green[50],
829
826
  default: green[500],
830
827
  dark: green[900]
831
828
  };
832
829
 
833
830
  // Copyright (c) 2020 AEFIS, all rights reserved.
834
- const info$1 = {
831
+ const info = {
835
832
  light: blue[50],
836
833
  default: blue[500],
837
834
  dark: blue[900]
838
835
  };
839
836
 
840
837
  // Copyright (c) 2020 AEFIS, all rights reserved.
841
- const common$1 = {
838
+ const common = {
842
839
  light: grey[200],
843
840
  default: grey[500],
844
841
  dark: grey[900]
845
842
  };
846
843
 
847
844
  // Copyright (c) 2020 AEFIS, all rights reserved.
848
- const dynamicSuccess$1 = {
845
+ const dynamicSuccess = {
849
846
  0: red[500],
850
847
  1: red[500],
851
848
  2: red[500],
@@ -950,14 +947,14 @@ const dynamicSuccess$1 = {
950
947
  };
951
948
 
952
949
  // Copyright (c) 2020 AEFIS, all rights reserved.
953
- const inProgress$2 = {
950
+ const inProgress = {
954
951
  light: blue[50],
955
952
  default: blue[500],
956
953
  dark: blue[900]
957
954
  };
958
955
 
959
956
  // Copyright (c) 2020 AEFIS, all rights reserved.
960
- const goalMet$1 = {
957
+ const goalMet = {
961
958
  light: green[50],
962
959
  default: green[500],
963
960
  dark: green[900]
@@ -983,63 +980,63 @@ const noData = _extends({}, inProgress$1, {
983
980
  return noData.default;
984
981
  }
985
982
  });
986
- const danger = _extends({}, danger$1, {
983
+ const danger$1 = _extends({}, danger, {
987
984
  enumerable: true,
988
985
  get() {
989
- return danger$1.default;
986
+ return danger.default;
990
987
  }
991
988
  });
992
- const goalMet = _extends({}, goalMet$1, {
989
+ const goalMet$1 = _extends({}, goalMet, {
993
990
  enumerable: true,
994
991
  get() {
995
- return goalMet$1.default;
992
+ return goalMet.default;
996
993
  }
997
994
  });
998
- _extends({}, goalNotMet, {
995
+ const goalNotMet$1 = _extends({}, goalNotMet, {
999
996
  enumerable: true,
1000
997
  get() {
1001
998
  return goalNotMet.default;
1002
999
  }
1003
1000
  });
1004
- const inProgress = _extends({}, inProgress$2, {
1001
+ const inProgress$2 = _extends({}, inProgress, {
1005
1002
  enumerable: true,
1006
1003
  get() {
1007
- return inProgress$2.default;
1004
+ return inProgress.default;
1008
1005
  }
1009
1006
  });
1010
- const warning = _extends({}, warning$1, {
1007
+ const warning$1 = _extends({}, warning, {
1011
1008
  enumerable: true,
1012
1009
  get() {
1013
- return warning$1.default;
1010
+ return warning.default;
1014
1011
  }
1015
1012
  });
1016
- const success = _extends({}, success$1, {
1013
+ const success$1 = _extends({}, success, {
1017
1014
  enumerable: true,
1018
1015
  get() {
1019
- return success$1.default;
1016
+ return success.default;
1020
1017
  }
1021
1018
  });
1022
- const info = _extends({}, info$1, {
1019
+ const info$1 = _extends({}, info, {
1023
1020
  enumerable: true,
1024
1021
  get() {
1025
- return info$1.default;
1022
+ return info.default;
1026
1023
  }
1027
1024
  });
1028
- const common = _extends({}, common$1, {
1025
+ const common$1 = _extends({}, common, {
1029
1026
  enumerable: true,
1030
1027
  get() {
1031
- return common$1.default;
1028
+ return common.default;
1032
1029
  }
1033
1030
  });
1034
- const dynamicSuccess = _extends({}, dynamicSuccess$1, {
1031
+ const dynamicSuccess$1 = _extends({}, dynamicSuccess, {
1035
1032
  enumerable: true,
1036
1033
  get() {
1037
- return dynamicSuccess$1.default;
1034
+ return dynamicSuccess.default;
1038
1035
  }
1039
1036
  });
1040
1037
 
1041
1038
  // Copyright (c) 2022 HelioCampus Inc, all rights reserved.
1042
- const useStyles$G = makeStyles$1(theme => ({
1039
+ const useStyles$1 = makeStyles$1(theme => ({
1043
1040
  title: {
1044
1041
  fontSize: "0.975rem",
1045
1042
  fontWeight: 400,
@@ -1075,7 +1072,7 @@ const useStyles$G = makeStyles$1(theme => ({
1075
1072
  selectedCircle: {
1076
1073
  width: 25,
1077
1074
  height: 25,
1078
- backgroundColor: success["default"],
1075
+ backgroundColor: success$1["default"],
1079
1076
  borderRadius: "50%",
1080
1077
  border: "2px solid #ffffff",
1081
1078
  position: "absolute",
@@ -1089,17 +1086,11 @@ const useStyles$G = makeStyles$1(theme => ({
1089
1086
  color: "#ffffff"
1090
1087
  }
1091
1088
  }));
1092
- ({
1093
- success: /*#__PURE__*/jsx(Check, {}),
1094
- info: /*#__PURE__*/jsx(InfoOutlined, {}),
1095
- warning: /*#__PURE__*/jsx(WarningOutlined, {}),
1096
- error: /*#__PURE__*/jsx(ErrorOutlined, {})
1097
- });
1098
1089
 
1099
1090
  /** Simple component to display a box with or without an avatar along with title and subtitle text. */
1100
1091
 
1101
1092
  const AvatarBox = props => {
1102
- const classes = useStyles$G();
1093
+ const classes = useStyles$1();
1103
1094
  const avatarStyle = {
1104
1095
  backgroundColor: grey[500]
1105
1096
  };
@@ -1138,30 +1129,30 @@ const AvatarBox = props => {
1138
1129
  avatarStyle.backgroundColor = props.avatarColor;
1139
1130
  boxStyle.backgroundColor = props.backgroundColor;
1140
1131
  } else if (props.type === "info") {
1141
- titleStyle.color = info.dark;
1142
- subtitleStyle.color = info.dark;
1143
- avatarStyle.backgroundColor = info.default;
1144
- boxStyle.backgroundColor = info.light;
1132
+ titleStyle.color = info$1.dark;
1133
+ subtitleStyle.color = info$1.dark;
1134
+ avatarStyle.backgroundColor = info$1.default;
1135
+ boxStyle.backgroundColor = info$1.light;
1145
1136
  } else if (props.type === "success") {
1146
- titleStyle.color = success.dark;
1147
- subtitleStyle.color = success.dark;
1148
- avatarStyle.backgroundColor = success.default;
1149
- boxStyle.backgroundColor = success.light;
1137
+ titleStyle.color = success$1.dark;
1138
+ subtitleStyle.color = success$1.dark;
1139
+ avatarStyle.backgroundColor = success$1.default;
1140
+ boxStyle.backgroundColor = success$1.light;
1150
1141
  } else if (props.type === "danger") {
1151
- titleStyle.color = danger.dark;
1152
- subtitleStyle.color = danger.dark;
1153
- avatarStyle.backgroundColor = danger.default;
1154
- boxStyle.backgroundColor = danger.light;
1142
+ titleStyle.color = danger$1.dark;
1143
+ subtitleStyle.color = danger$1.dark;
1144
+ avatarStyle.backgroundColor = danger$1.default;
1145
+ boxStyle.backgroundColor = danger$1.light;
1155
1146
  } else if (props.type === "error") {
1156
- titleStyle.color = danger.dark;
1157
- subtitleStyle.color = danger.dark;
1158
- avatarStyle.backgroundColor = danger.default;
1159
- boxStyle.backgroundColor = danger.light;
1147
+ titleStyle.color = danger$1.dark;
1148
+ subtitleStyle.color = danger$1.dark;
1149
+ avatarStyle.backgroundColor = danger$1.default;
1150
+ boxStyle.backgroundColor = danger$1.light;
1160
1151
  } else if (props.type === "warning") {
1161
- titleStyle.color = warning.dark;
1162
- subtitleStyle.color = warning.dark;
1163
- avatarStyle.backgroundColor = warning.default;
1164
- boxStyle.backgroundColor = warning.light;
1152
+ titleStyle.color = warning$1.dark;
1153
+ subtitleStyle.color = warning$1.dark;
1154
+ avatarStyle.backgroundColor = warning$1.default;
1155
+ boxStyle.backgroundColor = warning$1.light;
1165
1156
  }
1166
1157
  if (props.titleMaxWidth) {
1167
1158
  titleStyle.maxWidth = props.titleMaxWidth;
@@ -1257,7 +1248,7 @@ AvatarBox.propTypes = {
1257
1248
  };
1258
1249
 
1259
1250
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
1260
- const useStyles$F = makeStyles$1(theme => ({
1251
+ const useStyles$2 = makeStyles$1(theme => ({
1261
1252
  formattedContainer: {
1262
1253
  display: "flex",
1263
1254
  alignItems: "center",
@@ -1315,25 +1306,25 @@ const icon = {
1315
1306
  /** Component to display a title, subtitle, and caption along with an icon avatar. */
1316
1307
 
1317
1308
  const AvatarTitle = /*#__PURE__*/React.memo(function AvatarTitle(props) {
1318
- const classes = useStyles$F();
1309
+ const classes = useStyles$2();
1319
1310
  const avatarStyle = {
1320
1311
  info: {
1321
- backgroundColor: info.default,
1312
+ backgroundColor: info$1.default,
1322
1313
  boxShadow: props.avatarShadow ? "rgb(58 53 65 / 42%) 0px 4px 8px -4px" : "none",
1323
1314
  borderRadius: props.avatarVariant === "square" ? "6px" : "50%"
1324
1315
  },
1325
1316
  success: {
1326
- backgroundColor: success.default,
1317
+ backgroundColor: success$1.default,
1327
1318
  boxShadow: props.avatarShadow ? "rgb(58 53 65 / 42%) 0px 4px 8px -4px" : "none",
1328
1319
  borderRadius: props.avatarVariant === "square" ? "6px" : "50%"
1329
1320
  },
1330
1321
  error: {
1331
- backgroundColor: danger.default,
1322
+ backgroundColor: danger$1.default,
1332
1323
  boxShadow: props.avatarShadow ? "rgb(58 53 65 / 42%) 0px 4px 8px -4px" : "none",
1333
1324
  borderRadius: props.avatarVariant === "square" ? "6px" : "50%"
1334
1325
  },
1335
1326
  warning: {
1336
- backgroundColor: warning.default,
1327
+ backgroundColor: warning$1.default,
1337
1328
  boxShadow: props.avatarShadow ? "rgb(58 53 65 / 42%) 0px 4px 8px -4px" : "none",
1338
1329
  borderRadius: props.avatarVariant === "square" ? "6px" : "50%"
1339
1330
  },
@@ -1646,12 +1637,12 @@ const LegacyButtonTheme = createTheme(theme, {
1646
1637
  }
1647
1638
  });
1648
1639
 
1649
- const _excluded$j = ["name"];
1640
+ const _excluded = ["name"];
1650
1641
  const Button = /*#__PURE__*/forwardRef(function Button(_ref, ref) {
1651
1642
  let {
1652
1643
  name
1653
1644
  } = _ref,
1654
- props = _objectWithoutPropertiesLoose(_ref, _excluded$j);
1645
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
1655
1646
  const isColorDefault = props.color === undefined || props.color === "default";
1656
1647
  const colorThemeName = isColorDefault ? "grey" : props.color;
1657
1648
  const theme = useTheme$1();
@@ -1744,7 +1735,7 @@ AnimatedExpandMoreIcon.propTypes = {
1744
1735
  sx: PropTypes.any
1745
1736
  };
1746
1737
 
1747
- const _excluded$i = ["name", "icon", "menuConfiguration", "color", "displayType", "variant", "onClick", "link"];
1738
+ const _excluded$1 = ["name", "icon", "menuConfiguration", "color", "displayType", "variant", "onClick", "link"];
1748
1739
  const AefisButton = withStyles$1({
1749
1740
  root: {
1750
1741
  "&:focus": {
@@ -1766,7 +1757,7 @@ const MenuButton = /*#__PURE__*/forwardRef(function MenuButton(_ref, ref) {
1766
1757
  onClick,
1767
1758
  link
1768
1759
  } = _ref,
1769
- props = _objectWithoutPropertiesLoose(_ref, _excluded$i);
1760
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1770
1761
  const [anchorEl, setAnchorEl] = useState(null);
1771
1762
  const handleClick = (event, link, buttonId) => {
1772
1763
  setAnchorEl(event.currentTarget);
@@ -1793,7 +1784,7 @@ const MenuButton = /*#__PURE__*/forwardRef(function MenuButton(_ref, ref) {
1793
1784
  id: buttonId,
1794
1785
  color: displayType === "default" ? color : undefined,
1795
1786
  name: name,
1796
- startIcon: icon && displayType === "default" ? /*#__PURE__*/jsx(Icon$1, {
1787
+ startIcon: icon && displayType === "default" ? /*#__PURE__*/jsx(Icon, {
1797
1788
  name: props.icon
1798
1789
  }) : undefined,
1799
1790
  variant: displayType === "default" ? variant : undefined
@@ -1880,7 +1871,7 @@ const useTag = color => {
1880
1871
  return useStyles();
1881
1872
  };
1882
1873
 
1883
- const useStyles$E = makeStyles(theme => ({
1874
+ const useStyles$3 = makeStyles(theme => ({
1884
1875
  sectionHeader: {
1885
1876
  paddingTop: theme.spacing(2),
1886
1877
  paddingBottom: theme.spacing(2)
@@ -1942,7 +1933,7 @@ const getGradientBackgroundColorArray = arrayIndex => {
1942
1933
  const color2Array = [blue[600], indigo[600], purple[600], cyan[600], teal[600], green[600], blue[600], cyan[600], lime[600], indigo[600]];
1943
1934
  return [color1Array[arrayIndex], color2Array[arrayIndex]];
1944
1935
  };
1945
- const StyledBadge$1 = withStyles$1(() => ({
1936
+ const StyledBadge = withStyles$1(() => ({
1946
1937
  badge: {
1947
1938
  right: -12,
1948
1939
  top: 4,
@@ -1953,7 +1944,7 @@ const StyledBadge$1 = withStyles$1(() => ({
1953
1944
  /** Displays AEFIS content box similar to MUI Card. */
1954
1945
 
1955
1946
  const ContentBox = props => {
1956
- const classes = useStyles$E();
1947
+ const classes = useStyles$3();
1957
1948
  const [invisible, setInvisible] = useState(true);
1958
1949
  useEffect(() => {
1959
1950
  props.titleBadge && setInvisible(false);
@@ -1992,7 +1983,7 @@ const ContentBox = props => {
1992
1983
  }
1993
1984
  if (props.titleBadge) {
1994
1985
  headerProps.title = /*#__PURE__*/jsx("div", {
1995
- children: /*#__PURE__*/jsx(StyledBadge$1, {
1986
+ children: /*#__PURE__*/jsx(StyledBadge, {
1996
1987
  badgeContent: props.titleBadge,
1997
1988
  invisible: invisible,
1998
1989
  color: "secondary",
@@ -2049,7 +2040,8 @@ const ContentBox = props => {
2049
2040
  height: props.imageHeight,
2050
2041
  backgroundColor: props.imageBackgroundColor ? props.imageBackgroundColor : "transparent"
2051
2042
  } : {};
2052
- return /*#__PURE__*/jsxs("div", {
2043
+ return /*#__PURE__*/jsxs(Box$1, {
2044
+ sx: props.sx,
2053
2045
  style: props.containerStyle,
2054
2046
  children: [props.header && /*#__PURE__*/jsx("div", {
2055
2047
  className: classes.sectionHeader,
@@ -2153,7 +2145,9 @@ ContentBox.propTypes = {
2153
2145
  /** Additional styles for the card */
2154
2146
  cardStyle: PropTypes.any,
2155
2147
  /** Additional styles for the content box container */
2156
- containerStyle: PropTypes.any
2148
+ containerStyle: PropTypes.any,
2149
+ /** Additional styles to apply */
2150
+ sx: PropTypes.object
2157
2151
  };
2158
2152
 
2159
2153
  const defaultColorPalette = {
@@ -2315,12 +2309,12 @@ Chip.defaultProps = {
2315
2309
  displayType: "default"
2316
2310
  };
2317
2311
 
2318
- const colorPalette$v = {
2312
+ const colorPalette = {
2319
2313
  light: grey[200],
2320
2314
  default: grey[500],
2321
2315
  dark: grey[900]
2322
2316
  };
2323
- const modifiedPalette$1 = (palette, outlined) => {
2317
+ const modifiedPalette = (palette, outlined) => {
2324
2318
  if (!outlined) {
2325
2319
  return {
2326
2320
  light: palette.dark,
@@ -2330,8 +2324,8 @@ const modifiedPalette$1 = (palette, outlined) => {
2330
2324
  }
2331
2325
  return palette;
2332
2326
  };
2333
- const ChipDisplay$2 = props => {
2334
- const palette = _extends({}, colorPalette$v, props.configuration.palette);
2327
+ const ChipDisplay = props => {
2328
+ const palette = _extends({}, colorPalette, props.configuration.palette);
2335
2329
  const BusinessObjectIcon = props.configuration.Icon || AccountBalance;
2336
2330
  const classes = makeStyles(() => ({
2337
2331
  deleteIcon: {
@@ -2369,10 +2363,10 @@ const ChipDisplay$2 = props => {
2369
2363
  deleteIcon: /*#__PURE__*/jsx(Cancel, {
2370
2364
  className: classes.deleteIcon
2371
2365
  }),
2372
- colorPalette: modifiedPalette$1(palette, outlined)
2366
+ colorPalette: modifiedPalette(palette, outlined)
2373
2367
  });
2374
2368
  };
2375
- ChipDisplay$2.propTypes = {
2369
+ ChipDisplay.propTypes = {
2376
2370
  /** Size of the display small|default|large */
2377
2371
  size: PropTypes.any,
2378
2372
  /** Data from the entity itself */
@@ -2389,13 +2383,13 @@ ChipDisplay$2.propTypes = {
2389
2383
  /** OnDelete action for the chip. If an Action is set, a delete icon will be displayed */
2390
2384
  onDelete: PropTypes.any
2391
2385
  };
2392
- ChipDisplay$2.defaultProps = {
2386
+ ChipDisplay.defaultProps = {
2393
2387
  size: "small",
2394
2388
  hasIcon: false,
2395
2389
  outlined: false
2396
2390
  };
2397
2391
 
2398
- const colorPalette$u = {
2392
+ const colorPalette$1 = {
2399
2393
  light: grey[50],
2400
2394
  default: grey[500],
2401
2395
  dark: grey[900]
@@ -2405,12 +2399,12 @@ const colorPalette$u = {
2405
2399
  * ListItem display for Entities
2406
2400
  */
2407
2401
 
2408
- const ListItemDisplay$2 = props => {
2402
+ const ListItemDisplay = props => {
2409
2403
  const {
2410
2404
  data,
2411
2405
  size
2412
2406
  } = props;
2413
- const palette = _extends({}, colorPalette$u, props.configuration.palette);
2407
+ const palette = _extends({}, colorPalette$1, props.configuration.palette);
2414
2408
  const BusinessObjectIcon = props.configuration.Icon || HelpOutlined;
2415
2409
  const classes = makeStyles(theme => ({
2416
2410
  root: {
@@ -2503,10 +2497,10 @@ const ListItemDisplay$2 = props => {
2503
2497
  })]
2504
2498
  });
2505
2499
  };
2506
- ListItemDisplay$2.defaultProps = {
2500
+ ListItemDisplay.defaultProps = {
2507
2501
  size: "default"
2508
2502
  };
2509
- ListItemDisplay$2.propTypes = {
2503
+ ListItemDisplay.propTypes = {
2510
2504
  /** data from the entity itself */
2511
2505
  data: PropTypes.any,
2512
2506
  /** size of the list item. values are small | default | large */
@@ -2519,97 +2513,97 @@ ListItemDisplay$2.propTypes = {
2519
2513
  };
2520
2514
 
2521
2515
  // Copyright (c) 2020 AEFIS, all rights reserved.
2522
- const colorPalette$t = {
2516
+ const colorPalette$2 = {
2523
2517
  light: "#ffffff",
2524
2518
  default: green[500],
2525
2519
  dark: green[500]
2526
2520
  };
2527
- const institutionConfiguration$1 = {
2528
- palette: colorPalette$t,
2521
+ const institutionConfiguration = {
2522
+ palette: colorPalette$2,
2529
2523
  Icon: AccountBalanceOutlined,
2530
2524
  primaryTextAttribute: "name",
2531
2525
  secondaryTextAttribute: " "
2532
2526
  };
2533
2527
 
2534
2528
  // Copyright (c) 2020 AEFIS, all rights reserved.
2535
- const colorPalette$s = {
2529
+ const colorPalette$3 = {
2536
2530
  light: "#ffffff",
2537
2531
  default: purple[500],
2538
2532
  dark: purple[500]
2539
2533
  };
2540
- const collegeConfiguration$1 = {
2541
- palette: colorPalette$s,
2534
+ const collegeConfiguration = {
2535
+ palette: colorPalette$3,
2542
2536
  Icon: AccountBalanceOutlined,
2543
2537
  primaryTextAttribute: "name",
2544
2538
  secondaryTextAttribute: " "
2545
2539
  };
2546
2540
 
2547
2541
  // Copyright (c) 2020 AEFIS, all rights reserved.
2548
- const colorPalette$r = {
2542
+ const colorPalette$4 = {
2549
2543
  light: "#ffffff",
2550
2544
  default: blueGrey[500],
2551
2545
  dark: blueGrey[500]
2552
2546
  };
2553
- const departmentConfiguration$1 = {
2554
- palette: colorPalette$r,
2547
+ const departmentConfiguration = {
2548
+ palette: colorPalette$4,
2555
2549
  Icon: AccountBalanceOutlined,
2556
2550
  primaryTextAttribute: "name",
2557
2551
  secondaryTextAttribute: " "
2558
2552
  };
2559
2553
 
2560
2554
  // Copyright (c) 2020 AEFIS, all rights reserved.
2561
- const colorPalette$q = {
2555
+ const colorPalette$5 = {
2562
2556
  light: "#ffffff",
2563
2557
  default: blue[500],
2564
2558
  dark: blue[500]
2565
2559
  };
2566
- const programConfiguration$1 = {
2567
- palette: colorPalette$q,
2560
+ const programConfiguration = {
2561
+ palette: colorPalette$5,
2568
2562
  Icon: AccountBalanceOutlined,
2569
2563
  primaryTextAttribute: "name",
2570
2564
  secondaryTextAttribute: " "
2571
2565
  };
2572
2566
 
2573
2567
  // Copyright (c) 2020 AEFIS, all rights reserved.
2574
- const colorPalette$p = {
2568
+ const colorPalette$6 = {
2575
2569
  light: "#ffffff",
2576
2570
  default: red[800],
2577
2571
  dark: red[800]
2578
2572
  };
2579
2573
  const externalConfiguration = {
2580
- palette: colorPalette$p,
2574
+ palette: colorPalette$6,
2581
2575
  Icon: AccountBalanceOutlined,
2582
2576
  primaryTextAttribute: "name",
2583
2577
  secondaryTextAttribute: " "
2584
2578
  };
2585
2579
 
2586
2580
  // Copyright (c) 2020 AEFIS, all rights reserved.
2587
- const colorPalette$o = {
2581
+ const colorPalette$7 = {
2588
2582
  light: "#ffffff",
2589
2583
  default: purple[500],
2590
2584
  dark: purple[500]
2591
2585
  };
2592
- const administrativeUnitConfiguration$1 = {
2593
- palette: colorPalette$o,
2586
+ const administrativeUnitConfiguration = {
2587
+ palette: colorPalette$7,
2594
2588
  Icon: AccountBalanceOutlined,
2595
2589
  primaryTextAttribute: "name",
2596
2590
  secondaryTextAttribute: " "
2597
2591
  };
2598
2592
 
2599
2593
  // Copyright (c) 2020 AEFIS, all rights reserved.
2600
- const colorPalette$n = {
2594
+ const colorPalette$8 = {
2601
2595
  light: "#ffffff",
2602
2596
  default: blueGrey[500],
2603
2597
  dark: blueGrey[500]
2604
2598
  };
2605
- const administrativeDivisionConfiguration$1 = {
2606
- palette: colorPalette$n,
2599
+ const administrativeDivisionConfiguration = {
2600
+ palette: colorPalette$8,
2607
2601
  Icon: AccountBalanceOutlined,
2608
2602
  primaryTextAttribute: "name",
2609
2603
  secondaryTextAttribute: " "
2610
2604
  };
2611
2605
 
2612
- const fixData$1 = data => {
2606
+ const fixData = data => {
2613
2607
  let fixedData = _extends({}, data);
2614
2608
  for (let key in fixedData) {
2615
2609
  const otherKey = key.charAt(0) === key.charAt(0).toUpperCase() ? key.charAt(0).toLowerCase() + key.slice(1) : key.charAt(0).toUpperCase() + key.slice(1);
@@ -2619,18 +2613,18 @@ const fixData$1 = data => {
2619
2613
  }
2620
2614
  return fixedData;
2621
2615
  };
2622
- const entities$1 = {
2616
+ const entities = {
2623
2617
  accreditor: externalConfiguration,
2624
2618
  external: externalConfiguration,
2625
- administrativeDivision: administrativeDivisionConfiguration$1,
2626
- administrativeUnit: administrativeUnitConfiguration$1,
2627
- college: collegeConfiguration$1,
2628
- department: departmentConfiguration$1,
2629
- institution: institutionConfiguration$1,
2630
- program: programConfiguration$1
2619
+ administrativeDivision: administrativeDivisionConfiguration,
2620
+ administrativeUnit: administrativeUnitConfiguration,
2621
+ college: collegeConfiguration,
2622
+ department: departmentConfiguration,
2623
+ institution: institutionConfiguration,
2624
+ program: programConfiguration
2631
2625
  };
2632
2626
  const outcomeSpaceColor = outcomeSpaceType => {
2633
- return entities$1[outcomeSpaceType].palette.default;
2627
+ return entities[outcomeSpaceType].palette.default;
2634
2628
  };
2635
2629
  const outcomeSpaceTypeFromSource = source => {
2636
2630
  const InvalidSource = () => "Invalid Source Value";
@@ -2658,16 +2652,16 @@ const outcomeSpaceTypeFromSource = source => {
2658
2652
  * Dynamically displays any AEFIS outcome space.
2659
2653
  */
2660
2654
  const OutcomeSpace = props => {
2661
- const data = fixData$1(props.data);
2655
+ const data = fixData(props.data);
2662
2656
  const size = props.type === "chip" && (props.size === "medium" || props.size === "large") ? "medium" : props.size;
2663
- const configuration = _extends({}, entities$1[props.type], entities$1["BusinessEntity"]);
2657
+ const configuration = _extends({}, entities[props.type], entities["BusinessEntity"]);
2664
2658
  const Invalid = () => "Invalid Display Type";
2665
2659
  const selectComponent = (displayType, configuration) => {
2666
2660
  switch (displayType) {
2667
2661
  case "chip":
2668
- return configuration.chipDisplay || ChipDisplay$2;
2662
+ return configuration.chipDisplay || ChipDisplay;
2669
2663
  case "listItem":
2670
- return configuration.listItemDisplay || ListItemDisplay$2;
2664
+ return configuration.listItemDisplay || ListItemDisplay;
2671
2665
  default:
2672
2666
  return Invalid;
2673
2667
  }
@@ -2766,7 +2760,7 @@ CardDisplay.propTypes = {
2766
2760
  titleComponent: PropTypes.oneOf(["h1", "h2", "h3", "h4", "h5", "div", "p", "span"])
2767
2761
  };
2768
2762
 
2769
- const colorPalette$m = {
2763
+ const colorPalette$9 = {
2770
2764
  light: grey[200],
2771
2765
  default: grey[500],
2772
2766
  dark: grey[900]
@@ -2777,7 +2771,7 @@ const colorPalette$m = {
2777
2771
  */
2778
2772
 
2779
2773
  const ChipDisplay$1 = props => {
2780
- const palette = _extends({}, colorPalette$m, props.configuration.palette);
2774
+ const palette = _extends({}, colorPalette$9, props.configuration.palette);
2781
2775
  const BusinessObjectIcon = props.configuration.Icon || LocalOfferOutlined;
2782
2776
  const classes = makeStyles(() => ({
2783
2777
  icon: {
@@ -2830,7 +2824,7 @@ ChipDisplay$1.defaultProps = {
2830
2824
  outlined: false
2831
2825
  };
2832
2826
 
2833
- const colorPalette$l = {
2827
+ const colorPalette$a = {
2834
2828
  light: grey[50],
2835
2829
  default: grey[500],
2836
2830
  dark: grey[900]
@@ -2841,7 +2835,7 @@ const colorPalette$l = {
2841
2835
  */
2842
2836
 
2843
2837
  const ListItemDisplay$1 = props => {
2844
- const palette = _extends({}, colorPalette$l, props.configuration.palette);
2838
+ const palette = _extends({}, colorPalette$a, props.configuration.palette);
2845
2839
  const BusinessObjectIcon = props.configuration.Icon || HelpOutlined;
2846
2840
  const classes = makeStyles(theme => ({
2847
2841
  root: {
@@ -2966,68 +2960,55 @@ ListItemDisplay$1.propTypes = {
2966
2960
  };
2967
2961
 
2968
2962
  // Copyright (c) 2020 AEFIS, all rights reserved.
2969
- const colorPalette$k = {
2963
+ const colorPalette$b = {
2970
2964
  light: red[50],
2971
2965
  default: red[800],
2972
2966
  dark: red[900]
2973
2967
  };
2974
2968
  const accreditorConfiguration = {
2975
- palette: colorPalette$k,
2969
+ palette: colorPalette$b,
2976
2970
  Icon: AccountBalanceOutlined
2977
2971
  };
2978
2972
 
2979
2973
  // Copyright (c) 2020 AEFIS, all rights reserved.
2980
- const colorPalette$j = {
2974
+ const colorPalette$c = {
2981
2975
  light: blueGrey[50],
2982
2976
  default: blueGrey[700],
2983
2977
  dark: blueGrey[900]
2984
2978
  };
2985
- const administrativeDivisionConfiguration = {
2986
- palette: colorPalette$j,
2979
+ const administrativeDivisionConfiguration$1 = {
2980
+ palette: colorPalette$c,
2987
2981
  Icon: AccountBalanceOutlined,
2988
2982
  primaryTextAttribute: "name",
2989
2983
  secondaryTextAttribute: " "
2990
2984
  };
2991
2985
 
2992
2986
  // Copyright (c) 2020 AEFIS, all rights reserved.
2993
- const colorPalette$i = {
2987
+ const colorPalette$d = {
2994
2988
  light: purple[50],
2995
2989
  default: purple[700],
2996
2990
  dark: purple[900]
2997
2991
  };
2998
- const administrativeUnitConfiguration = {
2999
- palette: colorPalette$i,
2992
+ const administrativeUnitConfiguration$1 = {
2993
+ palette: colorPalette$d,
3000
2994
  Icon: AccountBalanceOutlined,
3001
2995
  primaryTextAttribute: "name",
3002
2996
  secondaryTextAttribute: " "
3003
2997
  };
3004
2998
 
3005
2999
  // Copyright (c) 2020 AEFIS, all rights reserved.
3006
- const colorPalette$h = {
3000
+ const colorPalette$e = {
3007
3001
  light: teal[50],
3008
3002
  default: teal[700],
3009
3003
  dark: teal[900]
3010
3004
  };
3011
3005
  const assignmentConfiguration = {
3012
- palette: colorPalette$h,
3006
+ palette: colorPalette$e,
3013
3007
  Icon: AssignmentOutlined,
3014
3008
  primaryTextAttribute: "name",
3015
3009
  secondaryTextAttribute: " "
3016
3010
  };
3017
3011
 
3018
- // Copyright (c) 2020 AEFIS, all rights reserved.
3019
- const colorPalette$g = {
3020
- light: teal[50],
3021
- default: teal[700],
3022
- dark: teal[900]
3023
- };
3024
- ({
3025
- palette: colorPalette$g,
3026
- Icon: EditNote,
3027
- primaryTextAttribute: "name",
3028
- secondaryTextAttribute: " "
3029
- });
3030
-
3031
3012
  const BadgeListItem = props => {
3032
3013
  const badgeData = props.data;
3033
3014
  if (badgeData != null && badgeData.document) {
@@ -3099,7 +3080,7 @@ const colorPalette$f = {
3099
3080
  default: purple[700],
3100
3081
  dark: purple[900]
3101
3082
  };
3102
- const collegeConfiguration = {
3083
+ const collegeConfiguration$1 = {
3103
3084
  palette: colorPalette$f,
3104
3085
  Icon: AccountBalanceOutlined,
3105
3086
  primaryTextAttribute: "name",
@@ -3107,146 +3088,146 @@ const collegeConfiguration = {
3107
3088
  };
3108
3089
 
3109
3090
  // Copyright (c) 2020 AEFIS, all rights reserved.
3110
- const colorPalette$e = {
3091
+ const colorPalette$g = {
3111
3092
  light: red[50],
3112
3093
  default: red[700],
3113
3094
  dark: red[900]
3114
3095
  };
3115
3096
  const courseConfiguration = {
3116
- palette: colorPalette$e,
3097
+ palette: colorPalette$g,
3117
3098
  Icon: BookOutlined,
3118
3099
  primaryTextAttribute: "code",
3119
3100
  secondaryTextAttribute: "name"
3120
3101
  };
3121
3102
 
3122
3103
  // Copyright (c) 2020 AEFIS, all rights reserved.
3123
- const colorPalette$d = {
3104
+ const colorPalette$h = {
3124
3105
  light: amber[50],
3125
3106
  default: amber[700],
3126
3107
  dark: amber[900]
3127
3108
  };
3128
3109
  const courseOutcomeConfiguration = {
3129
- palette: colorPalette$d,
3110
+ palette: colorPalette$h,
3130
3111
  Icon: ViewListOutlined,
3131
3112
  primaryTextAttribute: "code",
3132
3113
  secondaryTextAttribute: "description"
3133
3114
  };
3134
3115
 
3135
3116
  // Copyright (c) 2020 AEFIS, all rights reserved.
3136
- const colorPalette$c = {
3117
+ const colorPalette$i = {
3137
3118
  light: orange[50],
3138
3119
  default: orange[700],
3139
3120
  dark: orange[900]
3140
3121
  };
3141
3122
  const courseSectionConfiguration = {
3142
- palette: colorPalette$c,
3123
+ palette: colorPalette$i,
3143
3124
  Icon: CollectionsBookmarkOutlined,
3144
3125
  primaryTextAttribute: "code",
3145
3126
  secondaryTextAttribute: "name"
3146
3127
  };
3147
3128
 
3148
3129
  // Copyright (c) 2020 AEFIS, all rights reserved.
3149
- const colorPalette$b = {
3130
+ const colorPalette$j = {
3150
3131
  light: blueGrey[50],
3151
3132
  default: blueGrey[700],
3152
3133
  dark: blueGrey[900]
3153
3134
  };
3154
- const departmentConfiguration = {
3155
- palette: colorPalette$b,
3135
+ const departmentConfiguration$1 = {
3136
+ palette: colorPalette$j,
3156
3137
  Icon: AccountBalanceOutlined
3157
3138
  };
3158
3139
 
3159
3140
  // Copyright (c) 2020 AEFIS, all rights reserved.
3160
- const colorPalette$a = {
3141
+ const colorPalette$k = {
3161
3142
  light: lightBlue[50],
3162
3143
  default: lightBlue[700],
3163
3144
  dark: lightBlue[900]
3164
3145
  };
3165
3146
  const facultyConfiguration = {
3166
- palette: colorPalette$a,
3147
+ palette: colorPalette$k,
3167
3148
  Icon: PersonOutlined,
3168
3149
  primaryTextAttribute: "name",
3169
3150
  secondaryTextAttribute: " "
3170
3151
  };
3171
3152
 
3172
3153
  // Copyright (c) 2020 AEFIS, all rights reserved.
3173
- const colorPalette$9 = {
3154
+ const colorPalette$l = {
3174
3155
  light: green[50],
3175
3156
  default: green[700],
3176
3157
  dark: green[900]
3177
3158
  };
3178
- const institutionConfiguration = {
3179
- palette: colorPalette$9,
3159
+ const institutionConfiguration$1 = {
3160
+ palette: colorPalette$l,
3180
3161
  Icon: AccountBalanceOutlined,
3181
3162
  primaryTextAttribute: "name",
3182
3163
  secondaryTextAttribute: " "
3183
3164
  };
3184
3165
 
3185
3166
  // Copyright (c) 2020 AEFIS, all rights reserved.
3186
- const colorPalette$8 = {
3167
+ const colorPalette$m = {
3187
3168
  light: grey[50],
3188
3169
  default: grey[500],
3189
3170
  dark: grey[900]
3190
3171
  };
3191
3172
  const keywordConfiguration = {
3192
- palette: colorPalette$8,
3173
+ palette: colorPalette$m,
3193
3174
  Icon: Search
3194
3175
  };
3195
3176
 
3196
3177
  // Copyright (c) 2020 AEFIS, all rights reserved.
3197
- const colorPalette$7 = {
3178
+ const colorPalette$n = {
3198
3179
  light: blue[50],
3199
3180
  default: blue[700],
3200
3181
  dark: blue[900]
3201
3182
  };
3202
- const outcomeConfiguration$1 = {
3203
- palette: colorPalette$7,
3183
+ const outcomeConfiguration = {
3184
+ palette: colorPalette$n,
3204
3185
  Icon: ExploreOutlined
3205
3186
  };
3206
3187
 
3207
3188
  // Copyright (c) 2020 AEFIS, all rights reserved.
3208
- const colorPalette$6 = {
3189
+ const colorPalette$o = {
3209
3190
  light: teal[50],
3210
3191
  default: teal[700],
3211
3192
  dark: teal[900]
3212
3193
  };
3213
3194
  const outcomeSpaceConfiguration = {
3214
- palette: colorPalette$6,
3195
+ palette: colorPalette$o,
3215
3196
  Icon: AccountBalanceOutlined
3216
3197
  };
3217
3198
 
3218
3199
  // Copyright (c) 2020 AEFIS, all rights reserved.
3219
- const colorPalette$5 = {
3200
+ const colorPalette$p = {
3220
3201
  light: grey[50],
3221
3202
  default: grey[700],
3222
3203
  dark: grey[900]
3223
3204
  };
3224
3205
  const performanceIndicatorConfiguration = {
3225
- palette: colorPalette$5,
3206
+ palette: colorPalette$p,
3226
3207
  Icon: WidgetsOutlined,
3227
3208
  primaryTextAttribute: "name",
3228
3209
  secondaryTextAttribute: "code"
3229
3210
  };
3230
3211
 
3231
3212
  // Copyright (c) 2020 AEFIS, all rights reserved.
3232
- const colorPalette$4 = {
3213
+ const colorPalette$q = {
3233
3214
  light: blue[50],
3234
3215
  default: blue[700],
3235
3216
  dark: blue[900]
3236
3217
  };
3237
- const programConfiguration = {
3238
- palette: colorPalette$4,
3218
+ const programConfiguration$1 = {
3219
+ palette: colorPalette$q,
3239
3220
  Icon: SchoolOutlined
3240
3221
  };
3241
3222
 
3242
3223
  // Copyright (c) 2020 AEFIS, all rights reserved.
3243
- const colorPalette$3 = {
3224
+ const colorPalette$r = {
3244
3225
  light: indigo[50],
3245
3226
  default: indigo[700],
3246
3227
  dark: indigo[900]
3247
3228
  };
3248
- const outcomeConfiguration = {
3249
- palette: colorPalette$3,
3229
+ const outcomeConfiguration$1 = {
3230
+ palette: colorPalette$r,
3250
3231
  Icon: MapOutlined,
3251
3232
  primaryTextAttribute: "title"
3252
3233
  };
@@ -3255,26 +3236,26 @@ const outcomeConfiguration = {
3255
3236
  // about solution: https://stackoverflow.com/questions/22820162/mustache-js-escaping
3256
3237
  mustache.escape = _ => _;
3257
3238
  function compile() {}
3258
- function render$3(template, data, defaultValue) {
3239
+ function render(template, data, defaultValue) {
3259
3240
  return template ? mustache.render(template, data) : defaultValue;
3260
3241
  }
3261
3242
  var template = {
3262
3243
  compile,
3263
- render: render$3
3244
+ render
3264
3245
  };
3265
3246
 
3266
3247
  // Copyright (c) 2020 AEFIS, all rights reserved.
3267
- const colorPalette$2 = {
3248
+ const colorPalette$s = {
3268
3249
  light: indigo[50],
3269
3250
  default: indigo[700],
3270
3251
  dark: indigo[900]
3271
3252
  };
3272
3253
  const termConfiguration = {
3273
- palette: colorPalette$2,
3254
+ palette: colorPalette$s,
3274
3255
  Icon: EventOutlined
3275
3256
  };
3276
3257
 
3277
- const fixData = data => {
3258
+ const fixData$1 = data => {
3278
3259
  let fixedData = _extends({}, data);
3279
3260
  for (let key in fixedData) {
3280
3261
  const otherKey = key.charAt(0) === key.charAt(0).toUpperCase() ? key.charAt(0).toLowerCase() + key.slice(1) : key.charAt(0).toUpperCase() + key.slice(1);
@@ -3284,44 +3265,44 @@ const fixData = data => {
3284
3265
  }
3285
3266
  return fixedData;
3286
3267
  };
3287
- const entities = {
3268
+ const entities$1 = {
3288
3269
  accreditor: accreditorConfiguration,
3289
- administrativeDivision: administrativeDivisionConfiguration,
3290
- administrativeUnit: administrativeUnitConfiguration,
3270
+ administrativeDivision: administrativeDivisionConfiguration$1,
3271
+ administrativeUnit: administrativeUnitConfiguration$1,
3291
3272
  assignment: assignmentConfiguration,
3292
3273
  assessment: assignmentConfiguration,
3293
3274
  badge: badgeConfiguration,
3294
- college: collegeConfiguration,
3275
+ college: collegeConfiguration$1,
3295
3276
  course: courseConfiguration,
3296
3277
  courseOutcome: courseOutcomeConfiguration,
3297
3278
  courseSection: courseSectionConfiguration,
3298
- department: departmentConfiguration,
3279
+ department: departmentConfiguration$1,
3299
3280
  faculty: facultyConfiguration,
3300
- institution: institutionConfiguration,
3281
+ institution: institutionConfiguration$1,
3301
3282
  keyword: keywordConfiguration,
3302
- outcome: outcomeConfiguration$1,
3283
+ outcome: outcomeConfiguration,
3303
3284
  outcomeSpace: outcomeSpaceConfiguration,
3304
3285
  outcomeGroup: outcomeSpaceConfiguration,
3305
3286
  performanceIndicator: performanceIndicatorConfiguration,
3306
- program: programConfiguration,
3307
- programMap: outcomeConfiguration,
3287
+ program: programConfiguration$1,
3288
+ programMap: outcomeConfiguration$1,
3308
3289
  term: termConfiguration
3309
3290
  };
3310
3291
  const businessObjectColor = entity => {
3311
- return entities[entity].palette.default;
3292
+ return entities$1[entity].palette.default;
3312
3293
  };
3313
3294
  const businessObjectIcon = entity => {
3314
- return entities[entity].Icon;
3295
+ return entities$1[entity].Icon;
3315
3296
  };
3316
3297
  const businessObjectConfiguration = entity => {
3317
- return entities[entity];
3298
+ return entities$1[entity];
3318
3299
  };
3319
3300
 
3320
3301
  /**
3321
3302
  * Dynamically displays any AEFIS Business Object..
3322
3303
  */
3323
3304
  const BusinessObject = props => {
3324
- const configuration = _extends({}, entities[props.type], entities["businessEntity"]);
3305
+ const configuration = _extends({}, entities$1[props.type], entities$1["businessEntity"]);
3325
3306
  const selectComponent = (displayType, displayConfiguration) => {
3326
3307
  switch (displayType) {
3327
3308
  case "chip":
@@ -3334,7 +3315,7 @@ const BusinessObject = props => {
3334
3315
  return null;
3335
3316
  }
3336
3317
  };
3337
- const data = fixData(props.data);
3318
+ const data = fixData$1(props.data);
3338
3319
  // Adding template support to primary text. This should be extended to make it more flexible.
3339
3320
  data.primaryText = props.template ? template.render(props.template, data) : configuration.primaryTextAttribute ? data[configuration.primaryTextAttribute] : data.name;
3340
3321
  data.secondaryText = configuration.secondaryTextAttribute ? data[configuration.secondaryTextAttribute] : data.code;
@@ -3369,7 +3350,7 @@ BusinessObject.defaultProps = {
3369
3350
  };
3370
3351
 
3371
3352
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
3372
- const CardSectionTitle$1 = props => {
3353
+ const CardSectionTitle = props => {
3373
3354
  const titleStyle = {
3374
3355
  fontSize: 12,
3375
3356
  fontWeight: "bolder",
@@ -3383,38 +3364,38 @@ const CardSectionTitle$1 = props => {
3383
3364
  children: props.title
3384
3365
  });
3385
3366
  };
3386
- CardSectionTitle$1.defaultProps = {
3367
+ CardSectionTitle.defaultProps = {
3387
3368
  titleComponent: "div"
3388
3369
  };
3389
- CardSectionTitle$1.propTypes = {
3370
+ CardSectionTitle.propTypes = {
3390
3371
  titleComponent: PropTypes.oneOf(["h1", "h2", "h3", "h4", "h5", "div", "p", "span"]),
3391
3372
  title: PropTypes.string
3392
3373
  };
3393
3374
 
3394
- const _excluded$h = ["title", "children", "height", "titleComponent"];
3395
- const CardSection$1 = _ref => {
3375
+ const _excluded$2 = ["title", "children", "height", "titleComponent"];
3376
+ const CardSection = _ref => {
3396
3377
  let {
3397
3378
  title,
3398
3379
  children,
3399
3380
  height,
3400
3381
  titleComponent
3401
3382
  } = _ref,
3402
- props = _objectWithoutPropertiesLoose(_ref, _excluded$h);
3383
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
3403
3384
  return /*#__PURE__*/jsxs(Box$1, _extends({
3404
3385
  sx: {
3405
3386
  height: height || "inherit"
3406
3387
  }
3407
3388
  }, props, {
3408
- children: [title && /*#__PURE__*/jsx(CardSectionTitle$1, {
3389
+ children: [title && /*#__PURE__*/jsx(CardSectionTitle, {
3409
3390
  title: title,
3410
3391
  titleComponent: titleComponent
3411
3392
  }), children]
3412
3393
  }));
3413
3394
  };
3414
- CardSection$1.defaultProps = {
3395
+ CardSection.defaultProps = {
3415
3396
  titleComponent: "div"
3416
3397
  };
3417
- CardSection$1.propTypes = {
3398
+ CardSection.propTypes = {
3418
3399
  children: PropTypes.any,
3419
3400
  compact: PropTypes.bool,
3420
3401
  height: PropTypes.any,
@@ -3423,7 +3404,7 @@ CardSection$1.propTypes = {
3423
3404
  };
3424
3405
 
3425
3406
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
3426
- const Skeleton$3 = props => {
3407
+ const Skeleton = props => {
3427
3408
  return /*#__PURE__*/jsx(Skeleton$4, {
3428
3409
  style: {
3429
3410
  height: props.height,
@@ -3433,7 +3414,7 @@ const Skeleton$3 = props => {
3433
3414
  variant: "rect"
3434
3415
  });
3435
3416
  };
3436
- Skeleton$3.propTypes = {
3417
+ Skeleton.propTypes = {
3437
3418
  height: PropTypes.any,
3438
3419
  width: PropTypes.any
3439
3420
  };
@@ -3472,7 +3453,7 @@ const SvgImage = props => {
3472
3453
  useEffect(() => {
3473
3454
  fetch(src).then(res => res.text()).then(setSvg).catch(() => setIsError(true)).then(() => setIsLoading(false));
3474
3455
  }, [src]);
3475
- if (showSkeleton && isLoading) return /*#__PURE__*/jsx(Skeleton$3, {
3456
+ if (showSkeleton && isLoading) return /*#__PURE__*/jsx(Skeleton, {
3476
3457
  width: width,
3477
3458
  height: height
3478
3459
  });
@@ -3499,8 +3480,8 @@ SvgImage.propTypes = {
3499
3480
  width: PropTypes.any
3500
3481
  };
3501
3482
 
3502
- const _excluded$g = ["source", "description", "width", "height", "decorative", "showSkeleton", "fallbackImage"],
3503
- _excluded2$1 = ["src", "extension"];
3483
+ const _excluded$3 = ["source", "description", "width", "height", "decorative", "showSkeleton", "fallbackImage"],
3484
+ _excluded2 = ["src", "extension"];
3504
3485
  const RenderImage = _ref => {
3505
3486
  let {
3506
3487
  source,
@@ -3511,7 +3492,7 @@ const RenderImage = _ref => {
3511
3492
  showSkeleton,
3512
3493
  fallbackImage
3513
3494
  } = _ref,
3514
- other = _objectWithoutPropertiesLoose(_ref, _excluded$g);
3495
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$3);
3515
3496
  const altText = decorative ? "" : description;
3516
3497
  const role = decorative ? "presentation" : "img";
3517
3498
  const hidden = !!decorative;
@@ -3528,7 +3509,7 @@ const RenderImage = _ref => {
3528
3509
  width: width,
3529
3510
  height: height
3530
3511
  });
3531
- if (showSkeleton && isLoading) return /*#__PURE__*/jsx(Skeleton$3, {
3512
+ if (showSkeleton && isLoading) return /*#__PURE__*/jsx(Skeleton, {
3532
3513
  width: width,
3533
3514
  height: height
3534
3515
  });
@@ -3557,7 +3538,7 @@ const Image = props => {
3557
3538
  src,
3558
3539
  extension
3559
3540
  } = props,
3560
- others = _objectWithoutPropertiesLoose(props, _excluded2$1);
3541
+ others = _objectWithoutPropertiesLoose(props, _excluded2);
3561
3542
  if (extension === "svg") return /*#__PURE__*/jsx(SvgImage, _extends({}, props));
3562
3543
  return /*#__PURE__*/jsx(RenderImage, _extends({
3563
3544
  source: src
@@ -3589,7 +3570,7 @@ Image.propTypes = {
3589
3570
  extension: PropTypes.string
3590
3571
  };
3591
3572
 
3592
- const _excluded$f = ["type"];
3573
+ const _excluded$4 = ["type"];
3593
3574
  const imageProps = {
3594
3575
  award: Award,
3595
3576
  building: Building,
@@ -3615,9 +3596,8 @@ const IsometricImage = _ref => {
3615
3596
  let {
3616
3597
  type
3617
3598
  } = _ref,
3618
- other = _objectWithoutPropertiesLoose(_ref, _excluded$f);
3599
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$4);
3619
3600
  const image = getIsometricImage(type);
3620
- console.log("image ", image);
3621
3601
  return /*#__PURE__*/jsx(Image, _extends({
3622
3602
  src: image
3623
3603
  }, other));
@@ -3630,7 +3610,7 @@ IsometricImage.propTypes = {
3630
3610
  };
3631
3611
 
3632
3612
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
3633
- const EmptyCardSection$1 = props => {
3613
+ const EmptyCardSection = props => {
3634
3614
  return /*#__PURE__*/jsx(Box$1, {
3635
3615
  sx: {
3636
3616
  height: props.height,
@@ -3686,12 +3666,12 @@ const EmptyCardSection$1 = props => {
3686
3666
  })
3687
3667
  });
3688
3668
  };
3689
- EmptyCardSection$1.defaultProps = {
3669
+ EmptyCardSection.defaultProps = {
3690
3670
  height: 125,
3691
3671
  imageType: "working",
3692
3672
  titleComponent: "div"
3693
3673
  };
3694
- EmptyCardSection$1.propTypes = {
3674
+ EmptyCardSection.propTypes = {
3695
3675
  height: PropTypes.number,
3696
3676
  title: PropTypes.string.isRequired,
3697
3677
  titleComponent: PropTypes.string,
@@ -3776,7 +3756,7 @@ const AvatarMenuItem = () => {
3776
3756
  };
3777
3757
 
3778
3758
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
3779
- const Skeleton$2 = () => {
3759
+ const Skeleton$1 = () => {
3780
3760
  return /*#__PURE__*/jsxs(Grid, {
3781
3761
  container: true,
3782
3762
  spacing: 2,
@@ -3833,7 +3813,7 @@ Text.propTypes = {
3833
3813
  };
3834
3814
 
3835
3815
  // Copyright (c) 2020 AEFIS, all rights reserved.
3836
- const useStyles$D = makeStyles(() => ({
3816
+ const useStyles$4 = makeStyles(() => ({
3837
3817
  skeletonAvatar: {
3838
3818
  display: "inline-flex",
3839
3819
  verticalAlign: "middle",
@@ -3846,8 +3826,8 @@ const useStyles$D = makeStyles(() => ({
3846
3826
  width: "100%"
3847
3827
  }
3848
3828
  }));
3849
- const ListItem$1 = props => {
3850
- const classes = useStyles$D();
3829
+ const ListItem = props => {
3830
+ const classes = useStyles$4();
3851
3831
  return /*#__PURE__*/jsxs("div", {
3852
3832
  className: classes.skeletonContainer,
3853
3833
  style: {
@@ -3872,16 +3852,16 @@ const ListItem$1 = props => {
3872
3852
  })]
3873
3853
  }, props.keyValue);
3874
3854
  };
3875
- ListItem$1.defaultProps = {
3855
+ ListItem.defaultProps = {
3876
3856
  withAvatar: false
3877
3857
  };
3878
- ListItem$1.propTypes = {
3858
+ ListItem.propTypes = {
3879
3859
  keyValue: PropTypes.any,
3880
3860
  withAvatar: PropTypes.bool
3881
3861
  };
3882
3862
 
3883
3863
  // Copyright (c) 2020 AEFIS, all rights reserved.
3884
- const useStyles$C = makeStyles(theme => ({
3864
+ const useStyles$5 = makeStyles(theme => ({
3885
3865
  skeletonTitle: {
3886
3866
  width: "50%"
3887
3867
  },
@@ -3908,7 +3888,7 @@ const useStyles$C = makeStyles(theme => ({
3908
3888
  }
3909
3889
  }));
3910
3890
  const PageHeader = () => {
3911
- const classes = useStyles$C();
3891
+ const classes = useStyles$5();
3912
3892
  return /*#__PURE__*/jsxs("div", {
3913
3893
  className: classes.skeletonHeaderContainer,
3914
3894
  children: [/*#__PURE__*/jsx(Typography, {
@@ -3941,7 +3921,7 @@ PageHeader.propTypes = {
3941
3921
  };
3942
3922
 
3943
3923
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
3944
- const useStyles$B = makeStyles(theme => ({
3924
+ const useStyles$6 = makeStyles(theme => ({
3945
3925
  contentContainer: {
3946
3926
  padding: theme.spacing(1)
3947
3927
  },
@@ -3963,7 +3943,7 @@ const useStyles$B = makeStyles(theme => ({
3963
3943
  }
3964
3944
  }));
3965
3945
  const SkeletonCard = () => {
3966
- const classes = useStyles$B();
3946
+ const classes = useStyles$6();
3967
3947
  return /*#__PURE__*/jsxs(Fragment$1, {
3968
3948
  children: [/*#__PURE__*/jsx("div", {
3969
3949
  children: /*#__PURE__*/jsx(SkeletonContent, {
@@ -4096,11 +4076,11 @@ const SkeletonContent = props => {
4096
4076
  },
4097
4077
  children: [props.displayType && props.displayType === "text" && /*#__PURE__*/jsx(Text, _extends({
4098
4078
  keyValue: seededKeyValue(`skeleton-${item}`)
4099
- }, props)), props.displayType && props.displayType === "listItem" && /*#__PURE__*/jsx(ListItem$1, _extends({
4079
+ }, props)), props.displayType && props.displayType === "listItem" && /*#__PURE__*/jsx(ListItem, _extends({
4100
4080
  keyValue: seededKeyValue(`skeleton-${item}`)
4101
4081
  }, props)), props.displayType && props.displayType === "pageHeader" && /*#__PURE__*/jsx(PageHeader, _extends({
4102
4082
  keyValue: seededKeyValue(`skeleton-${item}`)
4103
- }, props)), props.displayType && props.displayType === "secondaryMenu" && /*#__PURE__*/jsx(Skeleton$2, _extends({
4083
+ }, props)), props.displayType && props.displayType === "secondaryMenu" && /*#__PURE__*/jsx(Skeleton$1, _extends({
4104
4084
  keyValue: seededKeyValue(`skeleton-${item}`)
4105
4085
  }, props)), props.displayType && props.displayType === "box" && /*#__PURE__*/jsx(Box, _extends({
4106
4086
  keyValue: seededKeyValue(`skeleton-${item}`)
@@ -4128,7 +4108,7 @@ SkeletonContent.propTypes = {
4128
4108
  };
4129
4109
 
4130
4110
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
4131
- const useStyles$A = makeStyles$1(theme => ({
4111
+ const useStyles$7 = makeStyles$1(theme => ({
4132
4112
  contentContainer: {
4133
4113
  padding: theme.spacing(1)
4134
4114
  },
@@ -4149,8 +4129,8 @@ const useStyles$A = makeStyles$1(theme => ({
4149
4129
  width: "25%"
4150
4130
  }
4151
4131
  }));
4152
- const Skeleton$1 = props => {
4153
- const classes = useStyles$A();
4132
+ const Skeleton$2 = props => {
4133
+ const classes = useStyles$7();
4154
4134
  return /*#__PURE__*/jsx(ContentBox, {
4155
4135
  hasGutter: false,
4156
4136
  formatContent: true,
@@ -4215,46 +4195,46 @@ const Skeleton$1 = props => {
4215
4195
  })
4216
4196
  });
4217
4197
  };
4218
- Skeleton$1.defaultProps = {
4198
+ Skeleton$2.defaultProps = {
4219
4199
  size: "medium"
4220
4200
  };
4221
- Skeleton$1.propTypes = {
4201
+ Skeleton$2.propTypes = {
4222
4202
  size: PropTypes.oneOf(["small", "medium", "full"])
4223
4203
  };
4224
4204
 
4225
4205
  const RenderSkeleton = /*#__PURE__*/memo(function RenderSkeleton(props) {
4226
- return /*#__PURE__*/jsx(Skeleton$1, _extends({}, props));
4206
+ return /*#__PURE__*/jsx(Skeleton$2, _extends({}, props));
4227
4207
  });
4228
- const CardSectionTitle = props => {
4229
- return /*#__PURE__*/jsx(CardSectionTitle$1, {
4208
+ const CardSectionTitle$1 = props => {
4209
+ return /*#__PURE__*/jsx(CardSectionTitle, {
4230
4210
  title: props.title
4231
4211
  });
4232
4212
  };
4233
- CardSectionTitle.propTypes = {
4213
+ CardSectionTitle$1.propTypes = {
4234
4214
  title: PropTypes.string.isRequired
4235
4215
  };
4236
- const EmptyCardSection = props => {
4237
- return /*#__PURE__*/jsx(EmptyCardSection$1, {
4216
+ const EmptyCardSection$1 = props => {
4217
+ return /*#__PURE__*/jsx(EmptyCardSection, {
4238
4218
  height: props.height,
4239
4219
  title: props.title,
4240
4220
  message: props.message,
4241
4221
  imageType: props.imageType
4242
4222
  });
4243
4223
  };
4244
- EmptyCardSection.defaultProps = {
4224
+ EmptyCardSection$1.defaultProps = {
4245
4225
  height: 125,
4246
4226
  imageType: "working"
4247
4227
  };
4248
- EmptyCardSection.propTypes = {
4228
+ EmptyCardSection$1.propTypes = {
4249
4229
  height: PropTypes,
4250
4230
  title: PropTypes.string.isRequired,
4251
4231
  message: PropTypes.string.isRequired,
4252
4232
  imageType: PropTypes.oneOf(["award", "building", "checklist_alt", "checklist", "completed", "construction", "error", "error_alt1", "error_alt2", "login", "report", "search", "search_alt1", "unknown", "working_alt", "working"])
4253
4233
  };
4254
- const CardSection = props => {
4255
- return /*#__PURE__*/jsx(CardSection$1, _extends({}, props));
4234
+ const CardSection$1 = props => {
4235
+ return /*#__PURE__*/jsx(CardSection, _extends({}, props));
4256
4236
  };
4257
- CardSection.propTypes = {
4237
+ CardSection$1.propTypes = {
4258
4238
  children: PropTypes.any,
4259
4239
  compact: PropTypes.bool,
4260
4240
  height: PropTypes.any,
@@ -4296,12 +4276,12 @@ const RenderCard = props => {
4296
4276
  children: /*#__PURE__*/jsx(AvatarIcon, {})
4297
4277
  }) : props.avatar || undefined,
4298
4278
  formatContent: true,
4299
- actions: props.actionsConfiguration && props.data ? /*#__PURE__*/jsx(Actions$1, {
4279
+ actions: props.actionsConfiguration && props.data ? /*#__PURE__*/jsx(Actions, {
4300
4280
  configuration: props.actionsConfiguration,
4301
4281
  data: props.data
4302
4282
  }) : undefined,
4303
4283
  children: /*#__PURE__*/jsxs(Fragment, {
4304
- children: [props.description && /*#__PURE__*/jsx(CardSection, {
4284
+ children: [props.description && /*#__PURE__*/jsx(CardSection$1, {
4305
4285
  sx: descriptionContainerStyle,
4306
4286
  children: /*#__PURE__*/jsx(Typography, {
4307
4287
  variant: props.size === "full" ? "body1" : "body2",
@@ -4381,13 +4361,13 @@ BusinessObjectCard.propTypes = {
4381
4361
  autoTruncateDescription: PropTypes.bool
4382
4362
  };
4383
4363
 
4384
- const _excluded$e = ["enableScrollTop", "containerProps"];
4364
+ const _excluded$5 = ["enableScrollTop", "containerProps"];
4385
4365
  const SwipeableViews = _ref => {
4386
4366
  let {
4387
4367
  enableScrollTop = true,
4388
4368
  containerProps = {}
4389
4369
  } = _ref,
4390
- props = _objectWithoutPropertiesLoose(_ref, _excluded$e);
4370
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$5);
4391
4371
  const containerRef = containerProps.ref || useRef();
4392
4372
  useEffect(() => {
4393
4373
  if (enableScrollTop) {
@@ -4434,7 +4414,7 @@ TabPanel.propTypes = {
4434
4414
  style: PropTypes.any
4435
4415
  };
4436
4416
 
4437
- const useStyles$z = makeStyles(() => ({
4417
+ const useStyles$8 = makeStyles(() => ({
4438
4418
  hiddenTab: {
4439
4419
  display: "none",
4440
4420
  visibility: "hidden"
@@ -4456,7 +4436,7 @@ const useStyles$z = makeStyles(() => ({
4456
4436
  flexDirection: "row"
4457
4437
  }
4458
4438
  }));
4459
- function a11yProps$1(index, uid) {
4439
+ function a11yProps(index, uid) {
4460
4440
  return {
4461
4441
  id: `swipeable-tab-${index}-${uid}`,
4462
4442
  "aria-controls": `swipeable-tabpanel-${index}-${uid}`
@@ -4572,7 +4552,7 @@ Content.propTypes = {
4572
4552
  /** Component to display swipeable tabs. */
4573
4553
 
4574
4554
  const SwipeableTabPanel = props => {
4575
- const classes = useStyles$z();
4555
+ const classes = useStyles$8();
4576
4556
  const [tabValue, setTabValue] = useState(getIndexFor(props.defaultTab, props.children));
4577
4557
  const containerRef = useRef();
4578
4558
  const scrollTrigger = useScrollTrigger({
@@ -4627,7 +4607,7 @@ const SwipeableTabPanel = props => {
4627
4607
  label: child.props.name,
4628
4608
  style: tabStyle,
4629
4609
  className: availableTabs.includes(child.props.id) ? classes.visibleTab : classes.hiddenTab
4630
- }, a11yProps$1(index, uid)), `tabKey-${child.props.id}`))
4610
+ }, a11yProps(index, uid)), `tabKey-${child.props.id}`))
4631
4611
  }))
4632
4612
  }), /*#__PURE__*/jsx(Box$2, {
4633
4613
  ref: containerRef,
@@ -4753,7 +4733,7 @@ const StyledMuiListItem = withStyles$1({
4753
4733
 
4754
4734
  /** List Item component to be used with List component. Displays items in a list. */
4755
4735
 
4756
- const ListItem = props => {
4736
+ const ListItem$1 = props => {
4757
4737
  const listItemStyle = {};
4758
4738
  const keyValue = useUID();
4759
4739
  if (!props.hasGutter) {
@@ -4814,7 +4794,7 @@ const ListItem = props => {
4814
4794
  })
4815
4795
  }, keyValue);
4816
4796
  };
4817
- ListItem.defaultProps = {
4797
+ ListItem$1.defaultProps = {
4818
4798
  displayType: "default",
4819
4799
  hasBorder: false,
4820
4800
  disabled: false,
@@ -4825,7 +4805,7 @@ ListItem.defaultProps = {
4825
4805
  selected: false,
4826
4806
  display: "vertical"
4827
4807
  };
4828
- ListItem.propTypes = {
4808
+ ListItem$1.propTypes = {
4829
4809
  /** The display type of the list item. */
4830
4810
  displayType: PropTypes.oneOf(["default", "skeleton"]),
4831
4811
  /** The avatar object to display. Can not be used if "icon" object is provided. */
@@ -4860,7 +4840,7 @@ ListItem.propTypes = {
4860
4840
  display: PropTypes.oneOf(["horizontal", "vertical"])
4861
4841
  };
4862
4842
 
4863
- const useStyles$y = makeStyles(theme => ({
4843
+ const useStyles$9 = makeStyles(theme => ({
4864
4844
  expand: {
4865
4845
  verticalAlign: "middle",
4866
4846
  color: "#000000",
@@ -4880,7 +4860,7 @@ const useStyles$y = makeStyles(theme => ({
4880
4860
  /** Groups List items with a header and option for collapsible container */
4881
4861
 
4882
4862
  const ListItemGroup = props => {
4883
- const classes = useStyles$y();
4863
+ const classes = useStyles$9();
4884
4864
  const [open, setOpen] = useState(true);
4885
4865
  const handleClick = () => {
4886
4866
  setOpen(!open);
@@ -5026,7 +5006,7 @@ SectionTitle.propTypes = {
5026
5006
  component: PropTypes.string
5027
5007
  };
5028
5008
 
5029
- const _excluded$d = ["title", "subtitle", "children", "display", "format", "renderList", "titleComponent"];
5009
+ const _excluded$6 = ["title", "subtitle", "children", "display", "format", "renderList", "titleComponent"];
5030
5010
  const Section = _ref => {
5031
5011
  let {
5032
5012
  title,
@@ -5037,7 +5017,7 @@ const Section = _ref => {
5037
5017
  renderList,
5038
5018
  titleComponent
5039
5019
  } = _ref,
5040
- props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
5020
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$6);
5041
5021
  const containerStyle = {
5042
5022
  boxSizing: "border-box",
5043
5023
  width: "100%",
@@ -5063,7 +5043,7 @@ const Section = _ref => {
5063
5043
  collapsible: true,
5064
5044
  titleComponent: props.titleComponent,
5065
5045
  children: renderList ? /*#__PURE__*/jsx(List, {
5066
- children: arrayChildren == null ? void 0 : arrayChildren.map((child, index) => /*#__PURE__*/jsx(ListItem, {
5046
+ children: arrayChildren == null ? void 0 : arrayChildren.map((child, index) => /*#__PURE__*/jsx(ListItem$1, {
5067
5047
  hasBorder: !isLast(index),
5068
5048
  borderStyle: "3px dashed #dddddd",
5069
5049
  children: /*#__PURE__*/jsx(Box$1, {
@@ -5097,7 +5077,7 @@ Section.propTypes = {
5097
5077
  };
5098
5078
 
5099
5079
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
5100
- const Header$1 = props => {
5080
+ const Header = props => {
5101
5081
  const containerStyle = {
5102
5082
  display: "flex",
5103
5083
  alignItems: "center",
@@ -5134,7 +5114,7 @@ const Header$1 = props => {
5134
5114
  subtitle: props.subtitle,
5135
5115
  subtitleCase: "upper",
5136
5116
  avatarColor: props.avatarColor || undefined,
5137
- avatar: props.avatarIcon || props.avatarIconName ? props.avatarIcon : props.avatarIcon ? /*#__PURE__*/jsx(Icon$1, {
5117
+ avatar: props.avatarIcon || props.avatarIconName ? props.avatarIcon : props.avatarIcon ? /*#__PURE__*/jsx(Icon, {
5138
5118
  name: props.avatarIconName
5139
5119
  }) : undefined,
5140
5120
  formatContent: false,
@@ -5150,11 +5130,11 @@ const Header$1 = props => {
5150
5130
  })]
5151
5131
  });
5152
5132
  };
5153
- Header$1.defaultProps = {
5133
+ Header.defaultProps = {
5154
5134
  titleComponent: "div",
5155
5135
  format: "default"
5156
5136
  };
5157
- Header$1.propTypes = {
5137
+ Header.propTypes = {
5158
5138
  imageUrl: PropTypes.any,
5159
5139
  imageStyle: PropTypes.any,
5160
5140
  title: PropTypes.any,
@@ -5253,7 +5233,7 @@ BusinessObjectPanel.propTypes = {
5253
5233
  backgroundType: PropTypes.oneOf(["light", "dark"])
5254
5234
  };
5255
5235
 
5256
- const useStyles$x = makeStyles(theme => ({
5236
+ const useStyles$a = makeStyles(theme => ({
5257
5237
  root: {
5258
5238
  margin: 0,
5259
5239
  padding: theme.spacing(2),
@@ -5273,7 +5253,7 @@ const useStyles$x = makeStyles(theme => ({
5273
5253
  }
5274
5254
  }));
5275
5255
  const DialogTitle = props => {
5276
- const classes = useStyles$x();
5256
+ const classes = useStyles$a();
5277
5257
  return /*#__PURE__*/jsxs(DialogTitle$1, {
5278
5258
  component: "div",
5279
5259
  className: classes.root,
@@ -5321,7 +5301,7 @@ DialogTitle.propTypes = {
5321
5301
  };
5322
5302
 
5323
5303
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
5324
- const useStyles$w = makeStyles(theme => ({
5304
+ const useStyles$b = makeStyles(theme => ({
5325
5305
  root: {
5326
5306
  "& > *": {
5327
5307
  margin: theme.spacing(1)
@@ -5354,7 +5334,7 @@ const ConfirmButton = withStyles$1(theme => ({
5354
5334
  }
5355
5335
  }))(Button);
5356
5336
  const FullScreenAppBar = props => {
5357
- const classes = useStyles$w();
5337
+ const classes = useStyles$b();
5358
5338
  return /*#__PURE__*/jsxs(AppBar$1, {
5359
5339
  component: "div",
5360
5340
  className: classes.appBar,
@@ -5427,7 +5407,7 @@ const DialogActions = withStyles$1(theme => ({
5427
5407
  padding: theme.spacing(1)
5428
5408
  }
5429
5409
  }))(DialogActions$1);
5430
- const Transition$1 = /*#__PURE__*/React.forwardRef(function Transition(props, ref) {
5410
+ const Transition = /*#__PURE__*/React.forwardRef(function Transition(props, ref) {
5431
5411
  return /*#__PURE__*/jsx(Slide, _extends({
5432
5412
  direction: "up",
5433
5413
  ref: ref
@@ -5448,7 +5428,7 @@ const ModalDialog = props => {
5448
5428
  const sizeProps = {};
5449
5429
  if (props.size === "fullscreen") {
5450
5430
  sizeProps.fullScreen = true;
5451
- sizeProps.TransitionComponent = Transition$1;
5431
+ sizeProps.TransitionComponent = Transition;
5452
5432
  } else {
5453
5433
  sizeProps.fullWidth = true;
5454
5434
  sizeProps.maxWidth = sizes[props.size];
@@ -5587,7 +5567,7 @@ DisplayInFrame.propTypes = {
5587
5567
  iframeAttributes: PropTypes.any
5588
5568
  };
5589
5569
 
5590
- const Transition = /*#__PURE__*/forwardRef(function Transition(props, ref) {
5570
+ const Transition$1 = /*#__PURE__*/forwardRef(function Transition(props, ref) {
5591
5571
  return /*#__PURE__*/jsx(Slide, _extends({
5592
5572
  direction: "up",
5593
5573
  ref: ref
@@ -5609,7 +5589,7 @@ const FullPageViewer = props => {
5609
5589
  size: "fullscreen",
5610
5590
  open: props.open,
5611
5591
  handleClose: () => handleClose(),
5612
- TransitionComponent: Transition,
5592
+ TransitionComponent: Transition$1,
5613
5593
  cancelButtonText: props.closeButtonText,
5614
5594
  formatContent: false,
5615
5595
  title: props.title,
@@ -5668,8 +5648,8 @@ FullPageViewer.propTypes = {
5668
5648
  onMessage: PropTypes.func
5669
5649
  };
5670
5650
 
5671
- const _excluded$c = ["height", "children", "onScroll", "showTopFade", "showBottomFade", "component", "onScrollReachStart", "onScrollReachEnd"];
5672
- const useStyles$v = makeStyles(() => ({
5651
+ const _excluded$7 = ["height", "children", "onScroll", "showTopFade", "showBottomFade", "component", "onScrollReachStart", "onScrollReachEnd"];
5652
+ const useStyles$c = makeStyles(() => ({
5673
5653
  scroller: {
5674
5654
  position: "relative",
5675
5655
  width: "100%",
@@ -5741,8 +5721,8 @@ const ScrollingContainer = _ref => {
5741
5721
  onScrollReachStart,
5742
5722
  onScrollReachEnd
5743
5723
  } = _ref,
5744
- props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
5745
- const classes = useStyles$v();
5724
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
5725
+ const classes = useStyles$c();
5746
5726
  const [scrolled, setScrolled] = useState(false);
5747
5727
  const rootStyle = {
5748
5728
  height: height,
@@ -5795,7 +5775,7 @@ ScrollingContainer.propTypes = {
5795
5775
  };
5796
5776
 
5797
5777
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
5798
- const useStyles$u = makeStyles(theme => createStyles({
5778
+ const useStyles$d = makeStyles(theme => createStyles({
5799
5779
  container: {
5800
5780
  display: "flex",
5801
5781
  flexDirection: "column"
@@ -6017,7 +5997,7 @@ const RowCheckbox = /*#__PURE__*/React.memo(styled(Checkbox)({
6017
5997
  }
6018
5998
  }), areEqual);
6019
5999
 
6020
- const useStyles$t = makeStyles({
6000
+ const useStyles$e = makeStyles({
6021
6001
  truncated: {
6022
6002
  textOverflow: "ellipsis",
6023
6003
  overflow: "hidden",
@@ -6044,7 +6024,7 @@ const Tooltip = ({
6044
6024
  tooltip: _tooltip = text,
6045
6025
  align
6046
6026
  }) => {
6047
- const classes = useStyles$t({});
6027
+ const classes = useStyles$e({});
6048
6028
  return /*#__PURE__*/jsx("div", {
6049
6029
  className: classes.truncated,
6050
6030
  style: {
@@ -6123,7 +6103,7 @@ const useRefDimensions = ref => {
6123
6103
  };
6124
6104
 
6125
6105
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
6126
- const useStyles$s = makeStyles$1(() => ({
6106
+ const useStyles$f = makeStyles$1(() => ({
6127
6107
  avatarContainer: {
6128
6108
  display: "flex",
6129
6109
  alignItems: "center",
@@ -6132,13 +6112,13 @@ const useStyles$s = makeStyles$1(() => ({
6132
6112
  }
6133
6113
  }));
6134
6114
  const AvatarHeader = props => {
6135
- const classes = useStyles$s();
6115
+ const classes = useStyles$f();
6136
6116
  const avatarStyle = type => {
6137
6117
  const backgroundColor = {
6138
- success: success["default"],
6139
- error: danger["default"],
6140
- warning: warning["default"],
6141
- info: info["default"]
6118
+ success: success$1["default"],
6119
+ error: danger$1["default"],
6120
+ warning: warning$1["default"],
6121
+ info: info$1["default"]
6142
6122
  };
6143
6123
  return {
6144
6124
  width: 50,
@@ -6156,7 +6136,7 @@ const AvatarHeader = props => {
6156
6136
  });
6157
6137
  };
6158
6138
  AvatarHeader.defaultProps = {
6159
- avatarColor: info["default"]
6139
+ avatarColor: info$1["default"]
6160
6140
  };
6161
6141
  AvatarHeader.propTypes = {
6162
6142
  type: PropTypes.string,
@@ -6165,7 +6145,7 @@ AvatarHeader.propTypes = {
6165
6145
  };
6166
6146
 
6167
6147
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
6168
- const useStyles$r = makeStyles$1(theme => ({
6148
+ const useStyles$g = makeStyles$1(theme => ({
6169
6149
  responsiveImageContainer: {
6170
6150
  display: "flex",
6171
6151
  [theme.breakpoints.down("md")]: {
@@ -6187,7 +6167,7 @@ const useStyles$r = makeStyles$1(theme => ({
6187
6167
  }
6188
6168
  }));
6189
6169
  const ImageHeader = /*#__PURE__*/memo(function ImageHeader(props) {
6190
- const classes = useStyles$r();
6170
+ const classes = useStyles$g();
6191
6171
  const IsometricImage = getIsometricImage(props.imageType);
6192
6172
  const imageContainerStyle = {
6193
6173
  height: props.imageHeight ? props.imageHeight : "auto"
@@ -6207,7 +6187,7 @@ ImageHeader.propTypes = {
6207
6187
  imageHeight: PropTypes.number
6208
6188
  };
6209
6189
 
6210
- const useStyles$q = makeStyles$1(theme => ({
6190
+ const useStyles$h = makeStyles$1(theme => ({
6211
6191
  container: {
6212
6192
  padding: theme.spacing(2)
6213
6193
  },
@@ -6241,7 +6221,7 @@ const useStyles$q = makeStyles$1(theme => ({
6241
6221
  }
6242
6222
  }));
6243
6223
  const RenderStatusMessage = props => {
6244
- const classes = useStyles$q();
6224
+ const classes = useStyles$h();
6245
6225
  const messageContainerStyle = {
6246
6226
  paddingTop: props.condensed ? 1 : 2
6247
6227
  };
@@ -6463,13 +6443,13 @@ function DataTable(props) {
6463
6443
  columns,
6464
6444
  onClick
6465
6445
  } = props;
6466
- const classes = useStyles$u();
6446
+ const classes = useStyles$d();
6467
6447
  const [headerElevated, setHeaderElevated] = useState(false);
6468
6448
  const [tableHeadHeight, setTableHeadHeight] = useState(0);
6469
6449
  const [tableBodyHeight, setTableBodyHeight] = useState(0);
6470
6450
  const [selectAllRows, setSelectAllRows] = useState(false);
6471
6451
  const [containerTop, setContainerTop] = useState(0);
6472
- useState(false);
6452
+ const [dataLoaded, setDataLoaded] = useState(false);
6473
6453
  const containerRef = /*#__PURE__*/createRef();
6474
6454
  const dimensions = useRefDimensions(containerRef);
6475
6455
  const tableHeadRef = useRef(null);
@@ -6800,7 +6780,7 @@ const setQueryStringWithoutPageReload = qsValue => {
6800
6780
  }, "", newurl);
6801
6781
  };
6802
6782
  const setQueryStringValue = (key, value, queryString = window.location.search) => {
6803
- const values = qs.parse(queryString);
6783
+ const values = qs.parse(queryString, options);
6804
6784
  const newQsValue = qs.stringify(_extends({}, values, {
6805
6785
  [key]: value
6806
6786
  }), options);
@@ -6810,7 +6790,7 @@ const parse = (url, customOptions) => {
6810
6790
  return qs.parse(url, _extends({}, options, customOptions));
6811
6791
  };
6812
6792
 
6813
- const windowKeys$1 = Object.keys(window).filter(key => {
6793
+ const windowKeys = Object.keys(window).filter(key => {
6814
6794
  try {
6815
6795
  Function.apply(null, [key, "return;"]);
6816
6796
  return true;
@@ -6828,7 +6808,7 @@ const windowKeys$1 = Object.keys(window).filter(key => {
6828
6808
  */
6829
6809
  const sanitizedEval = (code, context, options) => {
6830
6810
  const keys = Object.keys(context);
6831
- const allParams = keys.concat(windowKeys$1, [`"use strict"; return ${code}`]);
6811
+ const allParams = keys.concat(windowKeys, [`"use strict"; return ${code}`]);
6832
6812
  try {
6833
6813
  const fn = Function.apply(null, allParams);
6834
6814
  const params = keys.map(key => context[key]);
@@ -7371,7 +7351,7 @@ const useDataSourceMutation = (dataSource, baseParameters, options, invalidateQu
7371
7351
  var _mutationOptions;
7372
7352
  const queryClient = useQueryClient();
7373
7353
  const configuration = getConfiguration(dataSource);
7374
- getEndpoint(dataSource, configuration);
7354
+ const endPoint = getEndpoint(dataSource, configuration);
7375
7355
  const invalidateFunction = () => {
7376
7356
  if (invalidateQueries) {
7377
7357
  for (let q of invalidateQueries) {
@@ -7497,15 +7477,15 @@ var dataSourceManager = {
7497
7477
  getDataSourceUrl: getDataSourceUrl
7498
7478
  };
7499
7479
 
7500
- const _excluded$b = ["clearOnChange", "minimumLength"];
7480
+ const _excluded$8 = ["clearOnChange", "minimumLength"];
7501
7481
  const WAIT_INTERVAL = 1000;
7502
7482
  const ENTER_KEY = 13;
7503
- const TextSearch$1 = _ref => {
7483
+ const TextSearch = _ref => {
7504
7484
  let {
7505
7485
  clearOnChange,
7506
7486
  minimumLength
7507
7487
  } = _ref,
7508
- props = _objectWithoutPropertiesLoose(_ref, _excluded$b);
7488
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
7509
7489
  const [value, setValue] = useState("");
7510
7490
  const [timer, setTimer] = useState(null);
7511
7491
  const handleChange = e => {
@@ -7546,15 +7526,15 @@ const TextSearch$1 = _ref => {
7546
7526
  opacity: 0.7
7547
7527
  }
7548
7528
  }
7549
- },
7550
- inputProps: {
7551
- "aria-label": props.placeholder
7552
7529
  }
7553
7530
  }, props, {
7531
+ inputProps: _extends({}, props.inputProps, {
7532
+ "aria-label": props.placeholder
7533
+ }),
7554
7534
  onChange: handleChange
7555
7535
  }));
7556
7536
  };
7557
- TextSearch$1.propTypes = {
7537
+ TextSearch.propTypes = {
7558
7538
  /* Change handler */
7559
7539
  onChange: PropTypes.func,
7560
7540
  /* Placeholder text */
@@ -7564,14 +7544,14 @@ TextSearch$1.propTypes = {
7564
7544
  /* Optionally the field when a search is fired.*/
7565
7545
  clearOnChange: PropTypes.bool
7566
7546
  };
7567
- TextSearch$1.defaultProps = {
7547
+ TextSearch.defaultProps = {
7568
7548
  placeholder: "Type a search keyword",
7569
7549
  minimumLength: 3,
7570
7550
  clearOnChange: true
7571
7551
  };
7572
7552
 
7573
7553
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
7574
- const TextSearch = ({
7554
+ const TextSearch$1 = ({
7575
7555
  search,
7576
7556
  onChange,
7577
7557
  searchPlaceHolderText,
@@ -7580,7 +7560,7 @@ const TextSearch = ({
7580
7560
  const inputRef = useRef();
7581
7561
  if (search) {
7582
7562
  return /*#__PURE__*/jsxs(Fragment, {
7583
- children: [/*#__PURE__*/jsx(TextSearch$1, {
7563
+ children: [/*#__PURE__*/jsx(TextSearch, {
7584
7564
  style: {
7585
7565
  marginBottom: bottomGutter,
7586
7566
  width: "100%"
@@ -7608,10 +7588,10 @@ const TextSearch = ({
7608
7588
  return null;
7609
7589
  }
7610
7590
  };
7611
- TextSearch.defaultProps = {
7591
+ TextSearch$1.defaultProps = {
7612
7592
  onChange: () => {}
7613
7593
  };
7614
- TextSearch.propTypes = {
7594
+ TextSearch$1.propTypes = {
7615
7595
  search: PropTypes.any,
7616
7596
  searchPlaceHolderText: PropTypes.string,
7617
7597
  placeholder: PropTypes.string,
@@ -7620,7 +7600,7 @@ TextSearch.propTypes = {
7620
7600
  };
7621
7601
 
7622
7602
  const {
7623
- render: render$2
7603
+ render: render$1
7624
7604
  } = template;
7625
7605
 
7626
7606
  /**
@@ -7637,7 +7617,7 @@ const getFilterItemId = (item, configItem = {}) => {
7637
7617
  }
7638
7618
  const template = configItem.idTemplate || configItem.template || configItem.optionTemplate;
7639
7619
  if (template) {
7640
- return render$2(template, item.data || item);
7620
+ return render$1(template, item.data || item);
7641
7621
  }
7642
7622
  if ((_item$data = item.data) != null && _item$data.id) {
7643
7623
  return item.data.id;
@@ -7697,7 +7677,7 @@ const mapFilters = newFilters => {
7697
7677
  return mappedFilters;
7698
7678
  };
7699
7679
 
7700
- const _excluded$a = ["parentMenuOpen", "label", "rightIcon", "leftIcon", "children", "className", "tabIndex", "ContainerProps"];
7680
+ const _excluded$9 = ["parentMenuOpen", "label", "rightIcon", "leftIcon", "children", "className", "tabIndex", "ContainerProps"];
7701
7681
  const useMenuItemStyles = makeStyles(theme => ({
7702
7682
  root: props => ({
7703
7683
  backgroundColor: props.open ? theme.palette.action.hover : "rgba(0,0,0,0)"
@@ -7718,7 +7698,7 @@ const NestedMenuItem = /*#__PURE__*/React.forwardRef(function NestedMenuItem(pro
7718
7698
  tabIndex: tabIndexProp,
7719
7699
  ContainerProps: ContainerPropsProp = {}
7720
7700
  } = props,
7721
- MenuItemProps = _objectWithoutPropertiesLoose(props, _excluded$a);
7701
+ MenuItemProps = _objectWithoutPropertiesLoose(props, _excluded$9);
7722
7702
  const {
7723
7703
  ref: containerRefProp
7724
7704
  } = ContainerPropsProp,
@@ -7845,23 +7825,23 @@ NestedMenuItem.propTypes = {
7845
7825
  tabIndex: PropTypes.any
7846
7826
  };
7847
7827
 
7848
- const useStyles$p = makeStyles(() => ({
7828
+ const useStyles$i = makeStyles(() => ({
7849
7829
  filterPopup: {
7850
7830
  height: "400px",
7851
7831
  width: "300px"
7852
7832
  }
7853
7833
  }));
7854
7834
  const FilterMenu = props => {
7855
- const classes = useStyles$p();
7835
+ const classes = useStyles$i();
7856
7836
  return /*#__PURE__*/jsx(NestedMenuItem, {
7857
7837
  label: props.name,
7858
- leftIcon: props.icon && /*#__PURE__*/jsx(Icon$2, {
7838
+ leftIcon: props.icon && /*#__PURE__*/jsx(Icon$1, {
7859
7839
  children: "star"
7860
7840
  }),
7861
7841
  parentMenuOpen: !!props.menuPosition,
7862
7842
  children: /*#__PURE__*/jsx("div", {
7863
7843
  className: classes.filterPopup,
7864
- children: /*#__PURE__*/jsx(BusinessObjectPicker, _extends({}, props, {
7844
+ children: /*#__PURE__*/jsx(BusinessObjectPicker$1, _extends({}, props, {
7865
7845
  style: {
7866
7846
  marginBottom: props.bottomGutter
7867
7847
  },
@@ -7907,7 +7887,7 @@ const evaluatePickerFilter = (item, pickerFilters) => {
7907
7887
  return null;
7908
7888
  };
7909
7889
 
7910
- const useStyles$o = makeStyles(theme => ({
7890
+ const useStyles$j = makeStyles(theme => ({
7911
7891
  groupTitle: {
7912
7892
  margin: 0,
7913
7893
  fontWeight: 500,
@@ -7925,7 +7905,7 @@ const FilterItem = ({
7925
7905
  onFilterChange,
7926
7906
  pickerFilters
7927
7907
  }) => {
7928
- const classes = useStyles$o();
7908
+ const classes = useStyles$j();
7929
7909
  const isMultiple = useMemo(() => item.multiple !== undefined ? item.multiple : true, []);
7930
7910
  const value = useMemo(() => {
7931
7911
  const fieldFilters = filters ? filters.filter(i => i.index === index).map(i => i.data) : [];
@@ -7948,7 +7928,7 @@ const FilterItem = ({
7948
7928
  className: classes.groupTitle,
7949
7929
  children: item.groupName
7950
7930
  })]
7951
- }), /*#__PURE__*/jsx(BusinessObjectPicker, _extends({
7931
+ }), /*#__PURE__*/jsx(BusinessObjectPicker$1, _extends({
7952
7932
  style: {
7953
7933
  marginBottom: bottomGutter
7954
7934
  },
@@ -8021,7 +8001,7 @@ function SortingPicker({
8021
8001
  }
8022
8002
  onChange(newValue);
8023
8003
  };
8024
- return /*#__PURE__*/jsx(BusinessObjectPicker, {
8004
+ return /*#__PURE__*/jsx(BusinessObjectPicker$1, {
8025
8005
  style: style,
8026
8006
  data: _data,
8027
8007
  visibleValues: visibleValues,
@@ -8186,7 +8166,7 @@ FilterSelection.propTypes = {
8186
8166
  manualFilters: PropTypes.bool
8187
8167
  };
8188
8168
 
8189
- const useStyles$n = makeStyles(theme => ({
8169
+ const useStyles$k = makeStyles(theme => ({
8190
8170
  groupTitle: {
8191
8171
  margin: 0,
8192
8172
  fontWeight: 500,
@@ -8224,14 +8204,14 @@ const PanelDisplay = ({
8224
8204
  manualFilters,
8225
8205
  renderFilterSelection
8226
8206
  }) => {
8227
- const classes = useStyles$n();
8207
+ const classes = useStyles$k();
8228
8208
  return /*#__PURE__*/jsxs(Fragment, {
8229
8209
  children: [/*#__PURE__*/jsx(Typography, {
8230
8210
  variant: "h3",
8231
8211
  component: "h2",
8232
8212
  className: classes.mainTitle,
8233
8213
  children: "Filter Selection"
8234
- }), /*#__PURE__*/jsx(TextSearch, {
8214
+ }), /*#__PURE__*/jsx(TextSearch$1, {
8235
8215
  placeHolder: searchPlaceHolderText,
8236
8216
  onChange: onSearchChange,
8237
8217
  searchTooltip: searchTooltip,
@@ -8348,6 +8328,8 @@ const FilterPanel = props => {
8348
8328
  const [pickerFilters, setPickerFilters] = useState([]);
8349
8329
  useEffect(() => {
8350
8330
  const formattedFilters = formatFilters(filtersProp, configuration);
8331
+ console.log("filtersProp ", filtersProp);
8332
+ console.log("formattedFilters ", formattedFilters);
8351
8333
  setFilters(formattedFilters);
8352
8334
  }, [filtersProp]);
8353
8335
 
@@ -8558,7 +8540,7 @@ const FilterPanel = props => {
8558
8540
  menuPosition: menuPosition,
8559
8541
  onFilterClick: handleFilterClick
8560
8542
  }, item), index))
8561
- }), /*#__PURE__*/jsx(TextSearch, {
8543
+ }), /*#__PURE__*/jsx(TextSearch$1, {
8562
8544
  placeHolder: searchPlaceHolderText,
8563
8545
  onChange: handleSearchChange,
8564
8546
  searchTooltip: searchTooltip,
@@ -8576,7 +8558,7 @@ const FilterPanel = props => {
8576
8558
  };
8577
8559
  const renderHorizontalDisplay = renderFilterSelection => {
8578
8560
  return /*#__PURE__*/jsxs(Fragment, {
8579
- children: [/*#__PURE__*/jsx(TextSearch, {
8561
+ children: [/*#__PURE__*/jsx(TextSearch$1, {
8580
8562
  placeHolder: searchPlaceHolderText,
8581
8563
  onChange: handleSearchChange,
8582
8564
  searchTooltip: searchTooltip,
@@ -8594,7 +8576,7 @@ const FilterPanel = props => {
8594
8576
  style: {
8595
8577
  marginBottom: props.bottomGutter
8596
8578
  },
8597
- children: /*#__PURE__*/jsx(BusinessObjectPicker, _extends({
8579
+ children: /*#__PURE__*/jsx(BusinessObjectPicker$1, _extends({
8598
8580
  label: item.label !== undefined ? item.label : "Select Item",
8599
8581
  visibleValues: props.limitTags,
8600
8582
  multiple: item.multiple !== undefined ? item.multiple : true,
@@ -8843,7 +8825,7 @@ const ExportButton = props => {
8843
8825
  "aria-expanded": Boolean(anchorEl),
8844
8826
  role: "button"
8845
8827
  };
8846
- return /*#__PURE__*/jsxs(ListItem, {
8828
+ return /*#__PURE__*/jsxs(ListItem$1, {
8847
8829
  display: "horizontal",
8848
8830
  children: [/*#__PURE__*/jsx(Tooltip$1, {
8849
8831
  title: "Export Options",
@@ -8895,7 +8877,7 @@ ExportButton.propTypes = {
8895
8877
  /** Landscape or not */
8896
8878
  forcePDFLandscape: PropTypes.bool,
8897
8879
  /** List of Export options */
8898
- options: PropTypes.oneOf(PropTypes.shape({
8880
+ options: PropTypes.arrayOf(PropTypes.shape({
8899
8881
  /** The type of export. */
8900
8882
  type: PropTypes.oneOf(["pdf", "print", "csv", "excel", "word", "custom"]),
8901
8883
  /** If type is "custom", the you can define the text to display. */
@@ -8907,7 +8889,7 @@ ExportButton.propTypes = {
8907
8889
  }))
8908
8890
  };
8909
8891
 
8910
- const a11yProps = item => {
8892
+ const a11yProps$1 = item => {
8911
8893
  return {
8912
8894
  id: `titleActionHeaderButton-${item.name}`,
8913
8895
  "aria-label": `${item.name}`
@@ -8939,13 +8921,13 @@ const RenderAction = ({
8939
8921
  }) => {
8940
8922
  return item.displayType === undefined && item.icon !== undefined || item.displayType === "icon" && item.icon !== undefined ? /*#__PURE__*/jsx(Tooltip$1, {
8941
8923
  title: item.name,
8942
- children: /*#__PURE__*/jsx(IconButton$1, _extends({}, a11yProps(item), buttonProps(item, data), {
8924
+ children: /*#__PURE__*/jsx(IconButton$1, _extends({}, a11yProps$1(item), buttonProps(item, data), {
8943
8925
  size: "large",
8944
8926
  children: /*#__PURE__*/jsx(item.icon, {
8945
8927
  data: data
8946
8928
  })
8947
8929
  }))
8948
- }) : /*#__PURE__*/jsx(Button, _extends({}, a11yProps(item), buttonProps(item, data), {
8930
+ }) : /*#__PURE__*/jsx(Button, _extends({}, a11yProps$1(item), buttonProps(item, data), {
8949
8931
  children: item.name
8950
8932
  }));
8951
8933
  };
@@ -8954,9 +8936,9 @@ RenderAction.propTypes = {
8954
8936
  index: PropTypes.any,
8955
8937
  item: PropTypes.any
8956
8938
  };
8957
- const Actions = props => {
8939
+ const Actions$1 = props => {
8958
8940
  var _props$data;
8959
- return (_props$data = props.data) == null ? void 0 : _props$data.map((item, index) => (!item.hidden || typeof item.hidden === "function" && !item.hidden(props.data)) && /*#__PURE__*/jsx(ListItem, {
8941
+ return (_props$data = props.data) == null ? void 0 : _props$data.map((item, index) => (!item.hidden || typeof item.hidden === "function" && !item.hidden(props.data)) && /*#__PURE__*/jsx(ListItem$1, {
8960
8942
  display: "horizontal",
8961
8943
  children: /*#__PURE__*/jsx(Box$1, {
8962
8944
  sx: {
@@ -8979,7 +8961,7 @@ const Actions = props => {
8979
8961
  })
8980
8962
  }, `titleAndActionHeaderAction-${index}`));
8981
8963
  };
8982
- Actions.propTypes = {
8964
+ Actions$1.propTypes = {
8983
8965
  data: PropTypes.arrayOf(PropTypes.shape({
8984
8966
  name: PropTypes.string.isRequired,
8985
8967
  displayType: PropTypes.oneOf(["button", "icon"]),
@@ -8994,12 +8976,12 @@ Actions.propTypes = {
8994
8976
  onAction: PropTypes.func
8995
8977
  };
8996
8978
 
8997
- const _excluded$9 = ["hasFilters"];
8979
+ const _excluded$a = ["hasFilters"];
8998
8980
  const RenderFilterButton = /*#__PURE__*/React.forwardRef(function RenderFilterButton(_ref, ref) {
8999
8981
  let {
9000
8982
  hasFilters
9001
8983
  } = _ref,
9002
- props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
8984
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$a);
9003
8985
  return /*#__PURE__*/jsx(IconButton$1, _extends({}, props, {
9004
8986
  ref: ref,
9005
8987
  children: /*#__PURE__*/jsx(Badge, {
@@ -9043,7 +9025,7 @@ FilterButton.propTypes = {
9043
9025
  };
9044
9026
 
9045
9027
  const darkYellow = "#ECB753";
9046
- const useStyles$m = makeStyles(() => ({
9028
+ const useStyles$l = makeStyles(() => ({
9047
9029
  defaultButtonWrapper: {
9048
9030
  display: "flex"
9049
9031
  },
@@ -9057,7 +9039,7 @@ const DefaultIconButton = ({
9057
9039
  onClick,
9058
9040
  disableSetDefault
9059
9041
  }) => {
9060
- const classes = useStyles$m();
9042
+ const classes = useStyles$l();
9061
9043
  const [isMouseOver, setIsMouseOver] = useState();
9062
9044
  const Default = isActive ? Star : StarBorder;
9063
9045
  const mouseOverColor = isMouseOver ? "black" : "grey";
@@ -9092,8 +9074,8 @@ DefaultIconButton.propTypes = {
9092
9074
  onClick: PropTypes.func
9093
9075
  };
9094
9076
 
9095
- const _excluded$8 = ["filterSet", "onClick", "disableSetDefault", "index"];
9096
- const useStyles$l = makeStyles(theme => ({
9077
+ const _excluded$b = ["filterSet", "onClick", "disableSetDefault", "index"];
9078
+ const useStyles$m = makeStyles(theme => ({
9097
9079
  operations: {
9098
9080
  display: "flex",
9099
9081
  alignItems: "center",
@@ -9103,7 +9085,7 @@ const useStyles$l = makeStyles(theme => ({
9103
9085
  paddingRight: 30
9104
9086
  }
9105
9087
  }));
9106
- const Delete = ({
9088
+ const Delete$1 = ({
9107
9089
  visibility,
9108
9090
  onClick
9109
9091
  }) => {
@@ -9114,7 +9096,7 @@ const Delete = ({
9114
9096
  const handleMouseOut = useCallback(() => {
9115
9097
  setIconColor("grey");
9116
9098
  }, []);
9117
- return /*#__PURE__*/jsx(Delete$1, {
9099
+ return /*#__PURE__*/jsx(Delete, {
9118
9100
  style: {
9119
9101
  color: iconColor,
9120
9102
  visibility
@@ -9124,11 +9106,11 @@ const Delete = ({
9124
9106
  onClick: onClick
9125
9107
  });
9126
9108
  };
9127
- Delete.propTypes = {
9109
+ Delete$1.propTypes = {
9128
9110
  visibility: PropTypes.string,
9129
9111
  onClick: PropTypes.func
9130
9112
  };
9131
- const Operations$1 = ({
9113
+ const Operations = ({
9132
9114
  isVisible,
9133
9115
  isDefault,
9134
9116
  onDelete,
@@ -9136,10 +9118,10 @@ const Operations$1 = ({
9136
9118
  disableSetDefault
9137
9119
  }) => {
9138
9120
  const visibility = isVisible ? "visible" : "hidden";
9139
- const classes = useStyles$l();
9121
+ const classes = useStyles$m();
9140
9122
  return /*#__PURE__*/jsxs("span", {
9141
9123
  className: classes.operations,
9142
- children: [/*#__PURE__*/jsx(Delete, {
9124
+ children: [/*#__PURE__*/jsx(Delete$1, {
9143
9125
  visibility: visibility,
9144
9126
  onClick: onDelete
9145
9127
  }), /*#__PURE__*/jsx(DefaultIconButton, {
@@ -9150,28 +9132,28 @@ const Operations$1 = ({
9150
9132
  })]
9151
9133
  });
9152
9134
  };
9153
- Operations$1.propTypes = {
9135
+ Operations.propTypes = {
9154
9136
  isVisible: PropTypes.bool,
9155
9137
  isDefault: PropTypes.bool,
9156
9138
  disableSetDefault: PropTypes.bool,
9157
9139
  onDelete: PropTypes.func,
9158
9140
  onSetDefault: PropTypes.func
9159
9141
  };
9160
- const Item$1 = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9142
+ const Item = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9161
9143
  let {
9162
9144
  filterSet,
9163
9145
  onClick,
9164
9146
  disableSetDefault,
9165
9147
  index
9166
9148
  } = _ref,
9167
- props = _objectWithoutPropertiesLoose(_ref, _excluded$8);
9149
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$b);
9168
9150
  const {
9169
9151
  id,
9170
9152
  disabled,
9171
9153
  name,
9172
9154
  isDefault
9173
9155
  } = filterSet;
9174
- const classes = useStyles$l();
9156
+ const classes = useStyles$m();
9175
9157
  const [isMouseOver, setIsMouseOver] = useState();
9176
9158
  const handleFilterClick = e => onClick(e, filterSet, {
9177
9159
  action: "CLICK"
@@ -9201,7 +9183,7 @@ const Item$1 = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9201
9183
  }), /*#__PURE__*/jsx(ListItemText, {
9202
9184
  className: classes.listItemText,
9203
9185
  primary: name
9204
- }), /*#__PURE__*/jsx(Operations$1, {
9186
+ }), /*#__PURE__*/jsx(Operations, {
9205
9187
  isVisible: isMouseOver,
9206
9188
  isDefault: isDefault,
9207
9189
  onDelete: handleDelete,
@@ -9213,15 +9195,15 @@ const renderUserDefinedFilters = ({
9213
9195
  filterSetArray,
9214
9196
  disableSetDefault,
9215
9197
  onClick
9216
- }) => filterSetArray.map((filterSet, index) => /*#__PURE__*/jsx(Item$1, {
9198
+ }) => filterSetArray.map((filterSet, index) => /*#__PURE__*/jsx(Item, {
9217
9199
  filterSet: filterSet,
9218
9200
  disableSetDefault: disableSetDefault,
9219
9201
  onClick: onClick,
9220
9202
  index: index
9221
9203
  }, `user-defined-filters-${index}`));
9222
9204
 
9223
- const _excluded$7 = ["filterSet", "onClick", "disableSetDefault", "index"];
9224
- const useStyles$k = makeStyles(() => ({
9205
+ const _excluded$c = ["filterSet", "onClick", "disableSetDefault", "index"];
9206
+ const useStyles$n = makeStyles(() => ({
9225
9207
  operations: {
9226
9208
  display: "flex",
9227
9209
  alignItems: "center",
@@ -9231,14 +9213,14 @@ const useStyles$k = makeStyles(() => ({
9231
9213
  paddingRight: 30
9232
9214
  }
9233
9215
  }));
9234
- const Operations = ({
9216
+ const Operations$1 = ({
9235
9217
  isVisible,
9236
9218
  isDefault,
9237
9219
  onSetDefault,
9238
9220
  disableSetDefault
9239
9221
  }) => {
9240
9222
  const visibility = isVisible ? "visible" : "hidden";
9241
- const classes = useStyles$k();
9223
+ const classes = useStyles$n();
9242
9224
  return /*#__PURE__*/jsx("span", {
9243
9225
  className: classes.operations,
9244
9226
  children: /*#__PURE__*/jsx(DefaultIconButton, {
@@ -9249,27 +9231,27 @@ const Operations = ({
9249
9231
  })
9250
9232
  });
9251
9233
  };
9252
- Operations.propTypes = {
9234
+ Operations$1.propTypes = {
9253
9235
  isVisible: PropTypes.bool,
9254
9236
  isDefault: PropTypes.bool,
9255
9237
  onSetDefault: PropTypes.func,
9256
9238
  disableSetDefault: PropTypes.bool
9257
9239
  };
9258
- const Item = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9240
+ const Item$1 = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9259
9241
  let {
9260
9242
  filterSet,
9261
9243
  onClick,
9262
9244
  disableSetDefault,
9263
9245
  index
9264
9246
  } = _ref,
9265
- props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
9247
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$c);
9266
9248
  const {
9267
9249
  id,
9268
9250
  disabled,
9269
9251
  name,
9270
9252
  isDefault
9271
9253
  } = filterSet;
9272
- const classes = useStyles$k();
9254
+ const classes = useStyles$n();
9273
9255
  const [isMouseOver, setIsMouseOver] = useState();
9274
9256
  const handleFilterClick = e => onClick(e, filterSet, {
9275
9257
  action: "CLICK"
@@ -9296,7 +9278,7 @@ const Item = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9296
9278
  }), /*#__PURE__*/jsx(ListItemText, {
9297
9279
  className: classes.listItemText,
9298
9280
  primary: name
9299
- }), /*#__PURE__*/jsx(Operations, {
9281
+ }), /*#__PURE__*/jsx(Operations$1, {
9300
9282
  isVisible: isMouseOver,
9301
9283
  isDefault: isDefault,
9302
9284
  onSetDefault: handleSetDefault,
@@ -9307,7 +9289,7 @@ const renderPreDefinedFilters = ({
9307
9289
  filterSetArray,
9308
9290
  onClick,
9309
9291
  disableSetDefault
9310
- }) => filterSetArray.map((filterSet, index) => /*#__PURE__*/jsx(Item, {
9292
+ }) => filterSetArray.map((filterSet, index) => /*#__PURE__*/jsx(Item$1, {
9311
9293
  filterSet: filterSet,
9312
9294
  disableSetDefault: disableSetDefault,
9313
9295
  onClick: onClick,
@@ -9354,7 +9336,7 @@ Breadcrumbs.propTypes = {
9354
9336
  })).isRequired
9355
9337
  };
9356
9338
 
9357
- const useStyles$j = makeStyles(theme => ({
9339
+ const useStyles$o = makeStyles(theme => ({
9358
9340
  titleContainer: {
9359
9341
  display: "inline-flex",
9360
9342
  alignItems: "center"
@@ -9469,7 +9451,7 @@ const TitleAndActionHeader = ({
9469
9451
  });
9470
9452
  const [anchorEl, setAnchorEl] = useState(null);
9471
9453
  const anchorRef = useRef(null);
9472
- const classes = useStyles$j();
9454
+ const classes = useStyles$o();
9473
9455
  const {
9474
9456
  preDefinedFilters,
9475
9457
  userDefinedFilters
@@ -9614,7 +9596,7 @@ const TitleAndActionHeader = ({
9614
9596
  width: "inherit"
9615
9597
  },
9616
9598
  animate: false,
9617
- children: [additionalActions, actions && /*#__PURE__*/jsx(Actions, {
9599
+ children: [additionalActions, actions && /*#__PURE__*/jsx(Actions$1, {
9618
9600
  data: actions
9619
9601
  }), showExport && /*#__PURE__*/jsx(ExportButton, {
9620
9602
  options: exportOptions
@@ -9722,7 +9704,7 @@ const showView = {
9722
9704
  opacity: 1,
9723
9705
  transition: "max-width 0.4s"
9724
9706
  };
9725
- const useStyles$i = makeStyles(() => ({
9707
+ const useStyles$p = makeStyles(() => ({
9726
9708
  input: {
9727
9709
  flex: 1,
9728
9710
  marginLeft: 0
@@ -9772,7 +9754,7 @@ const EditableText = ({
9772
9754
  const [value, setValue] = useState(valueProp);
9773
9755
  const valueBeforeEditingRef = useRef();
9774
9756
  const [isEditMode, setIsEditMode] = useState();
9775
- const classes = useStyles$i();
9757
+ const classes = useStyles$p();
9776
9758
  const inputRef = useRef();
9777
9759
  useEffect(() => {
9778
9760
  if (isEditMode) {
@@ -9858,7 +9840,7 @@ EditableText.propTypes = {
9858
9840
  tooltipTitle: PropTypes.string
9859
9841
  };
9860
9842
 
9861
- const useStyles$h = makeStyles(theme => ({
9843
+ const useStyles$q = makeStyles(theme => ({
9862
9844
  drawerContent: {
9863
9845
  paddingBottom: "70px"
9864
9846
  },
@@ -9899,7 +9881,7 @@ const useStyles$h = makeStyles(theme => ({
9899
9881
 
9900
9882
  const Drawer = props => {
9901
9883
  var _props$actions;
9902
- const classes = useStyles$h();
9884
+ const classes = useStyles$q();
9903
9885
  const renderChildren = () => {
9904
9886
  return /*#__PURE__*/React.cloneElement(props.children, {
9905
9887
  data: props.data
@@ -10128,13 +10110,13 @@ Drawer.propTypes = {
10128
10110
  };
10129
10111
 
10130
10112
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
10131
- const useStyles$g = makeStyles(() => ({
10113
+ const useStyles$r = makeStyles(() => ({
10132
10114
  rootContainer: {
10133
10115
  backgroundColor: "rgb(239, 242, 246)"
10134
10116
  }
10135
10117
  }));
10136
- const Skeleton = () => {
10137
- const classes = useStyles$g();
10118
+ const Skeleton$3 = () => {
10119
+ const classes = useStyles$r();
10138
10120
  return /*#__PURE__*/jsx("div", {
10139
10121
  className: classes.rootContainer,
10140
10122
  children: /*#__PURE__*/jsx(VerticalTimeline, {
@@ -10172,7 +10154,7 @@ const Skeleton = () => {
10172
10154
  };
10173
10155
 
10174
10156
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
10175
- const useStyles$f = makeStyles(() => ({
10157
+ const useStyles$s = makeStyles(() => ({
10176
10158
  rootContainer: {
10177
10159
  backgroundColor: "rgb(239, 242, 246)"
10178
10160
  },
@@ -10188,7 +10170,7 @@ const getFormattedDate = date => {
10188
10170
  });
10189
10171
  };
10190
10172
  const RenderTimeline = props => {
10191
- const classes = useStyles$f();
10173
+ const classes = useStyles$s();
10192
10174
  const containerRef = useRef();
10193
10175
  const [containerTop, setContainerTop] = useState(0);
10194
10176
  useEffect(() => {
@@ -10215,7 +10197,7 @@ const RenderTimeline = props => {
10215
10197
  background: activity.icon && activity.icon.backgroundColor ? activity.icon.backgroundColor : blue[500],
10216
10198
  color: activity.icon && activity.icon.color ? activity.icon.color : "#fff"
10217
10199
  },
10218
- icon: activity.icon && activity.icon.name ? /*#__PURE__*/jsx(Icon$1, {
10200
+ icon: activity.icon && activity.icon.name ? /*#__PURE__*/jsx(Icon, {
10219
10201
  name: activity.icon.name
10220
10202
  }) : /*#__PURE__*/jsx(HelpOutlined, {}),
10221
10203
  children: [/*#__PURE__*/jsx(Typography, {
@@ -10249,7 +10231,7 @@ RenderTimeline.propTypes = {
10249
10231
  /** Component to display a vertical timeline. The timeline UI is usually displayed in an AEFIS business object panel. */
10250
10232
 
10251
10233
  const Timeline = props => {
10252
- return props.displayType === "skeleton" || props.data === undefined ? /*#__PURE__*/jsx(Skeleton, {}) : /*#__PURE__*/jsx(RenderTimeline, {
10234
+ return props.displayType === "skeleton" || props.data === undefined ? /*#__PURE__*/jsx(Skeleton$3, {}) : /*#__PURE__*/jsx(RenderTimeline, {
10253
10235
  data: props.data,
10254
10236
  titleComponent: props.titleComponent,
10255
10237
  subtitleComponent: props.subtitleComponent
@@ -10387,7 +10369,7 @@ const getInfoTextByFilterAndSortingCount = (filterCount, sortCount) => {
10387
10369
  return `${appliedText} applied to the data`;
10388
10370
  };
10389
10371
 
10390
- const _excluded$6 = ["status", "data", "isFetching", "fetchNextPage", "hasNextPage", "refetch"];
10372
+ const _excluded$d = ["status", "data", "isFetching", "fetchNextPage", "hasNextPage", "refetch"];
10391
10373
  const useDidMount = () => {
10392
10374
  const didMountRef = useRef(false);
10393
10375
  useEffect(() => {
@@ -10501,8 +10483,8 @@ const RichDataTable = /*#__PURE__*/forwardRef(function RichDatatable(props, ref)
10501
10483
  fetchNextPage,
10502
10484
  hasNextPage,
10503
10485
  refetch
10504
- } = _useDataSourceInfinit;
10505
- _objectWithoutPropertiesLoose(_useDataSourceInfinit, _excluded$6);
10486
+ } = _useDataSourceInfinit,
10487
+ rest = _objectWithoutPropertiesLoose(_useDataSourceInfinit, _excluded$d);
10506
10488
  const isError = useIsError(status);
10507
10489
  const renderReTryButton = useCallback(status => /*#__PURE__*/jsx(Button, {
10508
10490
  onClick: () => refetch(),
@@ -10813,11 +10795,74 @@ RichDataTable.propTypes = _extends({
10813
10795
  dataTableProps: PropTypes.object
10814
10796
  }, DataTable.propTypes);
10815
10797
 
10816
- const _excluded$5 = ["onSubmit", "onClose", "value", "columns", "filterPanelConfig", "multiple", "dataSource", "confirmButtonText"];
10798
+ const createEvent = () => {
10799
+ const listeners = new Set();
10800
+ const subscribe = listener => {
10801
+ listeners.add(listener);
10802
+ return () => listeners.delete(listener);
10803
+ };
10804
+ const useListener = fn => {
10805
+ const listener = useRef({});
10806
+ useEffect(() => {
10807
+ listener.current.fn = fn;
10808
+ }, [fn]);
10809
+ useEffect(() => {
10810
+ const unsubscribe = subscribe(listener.current);
10811
+ return unsubscribe;
10812
+ }, []);
10813
+ };
10814
+ const useDispatcher = () => {
10815
+ const caller = payload => {
10816
+ listeners.forEach(l => l.fn(payload));
10817
+ };
10818
+ return caller;
10819
+ };
10820
+ return {
10821
+ useDispatcher,
10822
+ useListener
10823
+ };
10824
+ };
10825
+ const createComponentEvent = () => {
10826
+ const context = /*#__PURE__*/createContext();
10827
+ const useDispatcher = payload => useContext(context).useDispatcher(payload);
10828
+ const useListener = fn => useContext(context).useListener(fn);
10829
+ const EventProvider = ({
10830
+ children
10831
+ }) => {
10832
+ const createActionRef = useRef(createEvent());
10833
+ return /*#__PURE__*/jsx(context.Provider, {
10834
+ value: createActionRef.current,
10835
+ children: children
10836
+ });
10837
+ };
10838
+ const withEvent = Component => props => /*#__PURE__*/jsx(EventProvider, {
10839
+ children: /*#__PURE__*/jsx(Component, _extends({}, props))
10840
+ });
10841
+ return {
10842
+ useDispatcher,
10843
+ useListener,
10844
+ EventProvider,
10845
+ withEvent
10846
+ };
10847
+ };
10848
+
10849
+ const events = {
10850
+ OPEN_ENHANCED_SEARCH_DIALOG: "OPEN_ENHANCED_SEARCH_DIALOG",
10851
+ OPEN_ADD_ITEM_DIALOG: "OPEN_ADD_ITEM_DIALOG"
10852
+ };
10853
+ const {
10854
+ useDispatcher: useBOPEventDispatcher,
10855
+ useListener: useBOPEventlistener,
10856
+ withEvent: withBOPEvent
10857
+ } = createComponentEvent();
10858
+
10859
+ const _excluded$e = ["onSubmit", "value", "columns", "filterPanelConfig", "multiple", "dataSource", "confirmButtonText"];
10860
+ const useDialogOpenEventListener = cb => useBOPEventlistener(event => {
10861
+ if (event.name === events.OPEN_ENHANCED_SEARCH_DIALOG) cb(event.payload);
10862
+ });
10817
10863
  const EnhancedSearchDialog = _ref => {
10818
10864
  let {
10819
10865
  onSubmit,
10820
- onClose,
10821
10866
  value = [],
10822
10867
  columns,
10823
10868
  filterPanelConfig,
@@ -10825,18 +10870,14 @@ const EnhancedSearchDialog = _ref => {
10825
10870
  dataSource,
10826
10871
  confirmButtonText
10827
10872
  } = _ref,
10828
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
10873
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
10829
10874
  const [selection, setSelection] = useState([]);
10830
- const [open, toggleOpen] = useState(true);
10831
- const handleClose = useCallback(() => {
10832
- toggleOpen(false);
10833
- onClose();
10834
- });
10835
- const handleSelect = useCallback((rows, ...rest) => {
10836
- setSelection(rows);
10837
- }, []);
10875
+ const [open, setOpen] = useState(false);
10876
+ useDialogOpenEventListener(isOpen => setOpen(isOpen));
10877
+ const handleClose = useCallback(() => setOpen(false), []);
10878
+ const handleSelect = useCallback(rows => setSelection(rows), []);
10838
10879
  const handleSubmit = useCallback(() => {
10839
- toggleOpen(false);
10880
+ setOpen(false);
10840
10881
  onSubmit(selection);
10841
10882
  }, [selection, onSubmit]);
10842
10883
 
@@ -10869,7 +10910,6 @@ EnhancedSearchDialog.propTypes = {
10869
10910
  columns: PropTypes.any,
10870
10911
  filterPanelConfig: PropTypes.any,
10871
10912
  multiple: PropTypes.any,
10872
- onClose: PropTypes.func,
10873
10913
  onSubmit: PropTypes.func,
10874
10914
  value: PropTypes.any,
10875
10915
  confirmButtonText: PropTypes.string
@@ -10878,36 +10918,38 @@ EnhancedSearchDialog.defaultProps = {
10878
10918
  confirmButtonText: "Update Selection"
10879
10919
  };
10880
10920
 
10881
- const {
10882
- render: render$1
10883
- } = template;
10884
-
10885
- /**
10886
- * If there are already pre-selected items (eg. default values) among queried
10887
- * options; object references should be same with selected values to show them
10888
- * already selected among queried options. It is required as Material UI's
10889
- * Autocomplete component use shallow comparison to distinguish if item is
10890
- * already selected.
10891
- *
10892
- * @param {array} dataInProcess
10893
- * @param {array} value
10894
- * @param {?string} template
10895
- * @returns {array}
10896
- */
10897
- const updateSelectedItems = (dataInProcess = [], value = [], template) => {
10898
- if (!(Array.isArray(value) && value.length > 0)) {
10899
- return dataInProcess;
10900
- }
10901
- const items = dataInProcess.map(item => {
10902
- const alreadySelected = value == null ? void 0 : value.find(selected => {
10903
- const selectedItemId = (selected == null ? void 0 : selected.id) || render$1(template, selected);
10904
- const itemId = (item == null ? void 0 : item.id) || render$1(template, item);
10905
- return itemId === selectedItemId;
10906
- });
10907
- alreadySelected && Object.assign(alreadySelected, item);
10908
- return alreadySelected || item;
10921
+ const useDialogOpenEventListener$1 = cb => useBOPEventlistener(event => {
10922
+ if (event.name === events.OPEN_ADD_ITEM_DIALOG) cb(event.payload);
10923
+ });
10924
+ const AddItemFormDialog = ({
10925
+ title: _title = "Add New Item",
10926
+ renderAddItemForm: _renderAddItemForm = () => {},
10927
+ onAddItem,
10928
+ AddItemFormModalComponent: _AddItemFormModalComponent = FullPageViewer
10929
+ }) => {
10930
+ const [open, setOpen] = useState(false);
10931
+ useDialogOpenEventListener$1(isOpen => setOpen(isOpen));
10932
+ const handleClose = useCallback(() => {
10933
+ setOpen(false);
10934
+ }, []);
10935
+ const handleSubmit = item => {
10936
+ setOpen(false);
10937
+ onAddItem(item);
10938
+ };
10939
+ return /*#__PURE__*/jsx(_AddItemFormModalComponent, {
10940
+ title: _title,
10941
+ open: open,
10942
+ onClose: handleClose,
10943
+ children: /*#__PURE__*/jsx("div", {
10944
+ children: _renderAddItemForm({
10945
+ onSubmit: handleSubmit
10946
+ })
10947
+ })
10909
10948
  });
10910
- return items;
10949
+ };
10950
+ AddItemFormDialog.propTypes = {
10951
+ title: PropTypes.string,
10952
+ AddItemFormModalComponent: PropTypes.any
10911
10953
  };
10912
10954
 
10913
10955
  /**
@@ -10937,8 +10979,16 @@ const useSkipOnMount = (fn, deps) => {
10937
10979
  }, deps);
10938
10980
  };
10939
10981
 
10940
- const _excluded$4 = ["visibleValues", "multiple", "dataSource", "optionTemplate", "getOptionLabel", "renderTags", "renderOption", "freeSolo", "newItemTemplate", "loadOnOpen", "openOnFocus", "enhancedSearch", "disableCloseOnSelect", "listSelect", "onAdd", "pageSize", "groupName", "idTemplate", "group", "shouldResetOnParametersChange", "queryParamNames", "enableInfinteScroll"];
10941
- const useStyles$e = makeStyles(theme => ({
10982
+ const useDependencyChange = (callback, currentState) => {
10983
+ const [prevState, setPrevState] = useState(Symbol());
10984
+ if (prevState !== currentState) {
10985
+ callback(prevState, currentState);
10986
+ setPrevState(currentState);
10987
+ }
10988
+ };
10989
+
10990
+ const _excluded$f = ["visibleValues", "multiple", "dataSource", "optionTemplate", "getOptionLabel", "renderTags", "renderOption", "freeSolo", "newItemTemplate", "loadOnOpen", "openOnFocus", "enhancedSearch", "disableCloseOnSelect", "listSelect", "onAdd", "pageSize", "groupName", "idTemplate", "group", "shouldResetOnParametersChange", "queryParamNames", "enableInfinteScroll", "renderAddItemForm", "AddItemFormModalComponent", "autoCompleteProps"];
10991
+ const useStyles$t = makeStyles(theme => ({
10942
10992
  menu: {
10943
10993
  textDecoration: "none",
10944
10994
  color: "inherit"
@@ -10959,6 +11009,16 @@ const defaultQueryParamNames = {
10959
11009
  offset: "offset",
10960
11010
  query: "q"
10961
11011
  };
11012
+ const clientSideFilterFn = createFilterOptions();
11013
+ const useLoadingRefetch = isFetching => {
11014
+ const [loadingRefetch, setRefetchLoading] = useState(false);
11015
+ useDependencyChange(() => {
11016
+ if (!isFetching && loadingRefetch) {
11017
+ setRefetchLoading(false);
11018
+ }
11019
+ }, isFetching);
11020
+ return [loadingRefetch, setRefetchLoading];
11021
+ };
10962
11022
 
10963
11023
  /**
10964
11024
  * Configurable drop-down select with search to look up and select any type of AEFIS Entity.
@@ -10974,7 +11034,6 @@ const BusinessObjectPicker = _ref => {
10974
11034
  getOptionLabel,
10975
11035
  renderTags,
10976
11036
  renderOption: renderOptionProp,
10977
- freeSolo,
10978
11037
  enhancedSearch,
10979
11038
  disableCloseOnSelect,
10980
11039
  listSelect,
@@ -10982,16 +11041,18 @@ const BusinessObjectPicker = _ref => {
10982
11041
  idTemplate,
10983
11042
  shouldResetOnParametersChange,
10984
11043
  queryParamNames,
10985
- enableInfinteScroll
11044
+ enableInfinteScroll,
11045
+ renderAddItemForm,
11046
+ AddItemFormModalComponent,
11047
+ autoCompleteProps = {}
10986
11048
  } = _ref,
10987
- props = _objectWithoutPropertiesLoose(_ref, _excluded$4);
10988
- const classes = useStyles$e();
11049
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$f);
11050
+ const classes = useStyles$t();
10989
11051
  // TODO: implement controlled behaviour
10990
11052
  const [value, setValue] = useAutoCompleteValue(props.value, multiple);
10991
11053
  const [open, setOpen] = useState(props.open || listSelect);
10992
- const [openDialog, setOpenDialog] = useState(false);
11054
+ const eventDispatch = useBOPEventDispatcher();
10993
11055
  const [q, setQ] = useState("");
10994
- const [flatData, setFlatData] = useState([]);
10995
11056
  const _queryParamNames = _extends({}, defaultQueryParamNames, queryParamNames);
10996
11057
  const parameters = _extends({}, props.parameters, q.trim().length ? {
10997
11058
  [_queryParamNames.query]: q.trim()
@@ -11022,8 +11083,8 @@ const BusinessObjectPicker = _ref => {
11022
11083
  data,
11023
11084
  fetchNextPage,
11024
11085
  hasNextPage,
11025
- isError,
11026
- isLoading
11086
+ refetch,
11087
+ isFetching
11027
11088
  } = useDataSourceInfiniteQuery(dataSourceName, parameters, {
11028
11089
  [_queryParamNames.offset]: 0,
11029
11090
  [_queryParamNames.limit]: pageSize
@@ -11038,11 +11099,8 @@ const BusinessObjectPicker = _ref => {
11038
11099
  };
11039
11100
  }
11040
11101
  });
11041
- useEffect(() => {
11042
- if (isError || isLoading) {
11043
- setFlatData([]);
11044
- }
11045
- }, [isError, isLoading]);
11102
+ const [loadingRefetch, setRefetchLoading] = useLoadingRefetch(isFetching);
11103
+ console.log("loadingRefetch ", loadingRefetch);
11046
11104
  const {
11047
11105
  ref,
11048
11106
  inView
@@ -11050,13 +11108,13 @@ const BusinessObjectPicker = _ref => {
11050
11108
  threshold: 0,
11051
11109
  skip: !hasNextPage
11052
11110
  });
11053
- useEffect(() => {
11111
+ const _flatData = useMemo(() => {
11054
11112
  if (Array.isArray(data == null ? void 0 : data.pages)) {
11055
11113
  const dataInProcess = [].concat(...data.pages);
11056
11114
  const isInfinteScrollEnabled = props.type || enableInfinteScroll;
11057
11115
  if (hasNextPage && isInfinteScrollEnabled) {
11058
11116
  dataInProcess.push({
11059
- action: "loadMore",
11117
+ __type: "loadMore",
11060
11118
  // eslint-disable-next-line react/display-name
11061
11119
  render: () => /*#__PURE__*/jsx("span", {
11062
11120
  ref: ref,
@@ -11065,18 +11123,25 @@ const BusinessObjectPicker = _ref => {
11065
11123
  });
11066
11124
  }
11067
11125
  // TODO: remove updateSelectedItems, isOptionEqualToValue prop should handle selection
11068
- const items = updateSelectedItems(dataInProcess, value, idTemplate || optionTemplate);
11069
- setFlatData(items);
11126
+ // const items = updateSelectedItems(dataInProcess, value, idTemplate || optionTemplate);
11127
+ return dataInProcess;
11070
11128
  }
11129
+ return data || [];
11071
11130
  }, [data]);
11072
11131
  useEffect(() => {
11073
11132
  if (inView) {
11074
11133
  fetchNextPage();
11075
11134
  }
11076
11135
  }, [inView]);
11077
- const handleChange = (event, newValue, reason, {
11136
+ const handleChange = (e, newValue, reason, {
11078
11137
  option
11079
11138
  }) => {
11139
+ // INFO: creating option by text is disabled, renderAddItemForm prop is
11140
+ // used instead.
11141
+ if (e.key === "Enter" && reason === "createOption") {
11142
+ e.stopPropagation();
11143
+ return;
11144
+ }
11080
11145
  if (reason === "removeOption") {
11081
11146
  handleTagDelete(option, reason);
11082
11147
  return;
@@ -11089,12 +11154,6 @@ const BusinessObjectPicker = _ref => {
11089
11154
  props.onChange == null ? void 0 : props.onChange(null);
11090
11155
  return;
11091
11156
  }
11092
-
11093
- // TODO: onAdd will be implemented
11094
- // if (multiple && onAdd && newValue.newItemValue) {
11095
- // onAdd(value);
11096
- // }
11097
-
11098
11157
  setValue(multiple ? newValue : [option]);
11099
11158
  props.onChange == null ? void 0 : props.onChange(multiple ? newValue : option, {
11100
11159
  reason,
@@ -11112,9 +11171,16 @@ const BusinessObjectPicker = _ref => {
11112
11171
  option
11113
11172
  });
11114
11173
  };
11115
- const handleQueryTrigger = q => {
11116
- setFlatData([]);
11117
- setQ(q);
11174
+ const handleQueryTrigger = q => setQ(q);
11175
+ const handleAddItem = item => {
11176
+ setRefetchLoading(true);
11177
+ refetch();
11178
+ setValue(multiple ? [...value, item] : [item]);
11179
+ };
11180
+ const handleKeyDown = e => {
11181
+ // INFO: This hides keydown event from AutoComplete. It prevents
11182
+ // AutoComplete to clear the input field.
11183
+ if (e.key === "Enter") e.stopPropagation();
11118
11184
  };
11119
11185
  const getLabel = option => {
11120
11186
  if (option.newItemLabel) {
@@ -11126,25 +11192,25 @@ const BusinessObjectPicker = _ref => {
11126
11192
  if (idTemplate) return template.render(idTemplate, option);
11127
11193
  if (option.id) return option.id;
11128
11194
  return getLabel(option);
11129
- }, [idTemplate, optionTemplate]);
11130
-
11131
- // INFO: client side filter is removed
11132
- // const getFilterOptions = useCallback((options, params) => {
11133
- // // Don't filter if we already filtered n the server side.
11134
- // // const filtered = data ? filter(options, params) : options;
11135
- // // TODO: below code is a workaround, better approach should be implemented - katam
11136
- // const filtered = options;
11137
- // // TODO: onAdd will be implemented
11138
- // // if (freeSolo && params.inputValue !== "") {
11139
- // // filtered.push({
11140
- // // action: "createNew",
11141
- // // // eslint-disable-next-line react/display-name
11142
- // // render: () => <div ref={ref}>Create &quot;{params.inputValue}&quot;...</div>
11143
- // // });
11144
- // // }
11145
- // return filtered;
11146
- // }, []);
11147
-
11195
+ }, [idTemplate, optionTemplate]);
11196
+ const getFilterOptions = useCallback((options, params) => {
11197
+ const isServerSideFiltered = !!dataSourceName;
11198
+ if (options.length > 1 && isServerSideFiltered) return options;
11199
+
11200
+ // INFO: clientSideFilterFn replicates the default behaviour. It is
11201
+ // same thing as filterOptions prop left undefined. The reason it is
11202
+ // implemented here is because freeSolo prop disables noOptionText
11203
+ // prop. Issue: https://github.com/mui/material-ui/issues/18985
11204
+ if (options.length > 1 && !isServerSideFiltered) {
11205
+ const filteredOptions = clientSideFilterFn(options, params);
11206
+ if (filteredOptions.length > 0) return filteredOptions;
11207
+ }
11208
+ return [{
11209
+ __type: "noOption",
11210
+ noOption: true,
11211
+ render: () => status === "loading" ? "Loading..." : "No Option Avaliable"
11212
+ }];
11213
+ }, [status]);
11148
11214
  const renderOption = (props, option) => {
11149
11215
  if (option.render) {
11150
11216
  return /*#__PURE__*/jsx("li", _extends({}, props, {
@@ -11157,16 +11223,14 @@ const BusinessObjectPicker = _ref => {
11157
11223
  children: label
11158
11224
  }));
11159
11225
  };
11160
- const renderBusinessObject = option => {
11161
- // TODO: be sure if this is necessary condition - katam
11226
+ const renderBusinessObject = (_props, option) => {
11162
11227
  const size = props.size && (props.size === "small" || props.size === "medium") ? "small" : "large";
11163
- const index = option["data-option-index"];
11164
- const data = flatData[index];
11165
- return data.render ? /*#__PURE__*/jsx("li", _extends({
11166
- className: option.className
11167
- }, option, {
11168
- children: data.render(option)
11169
- })) : /*#__PURE__*/jsx("li", _extends({}, option, {
11228
+ const index = _props["data-option-index"];
11229
+ const data = _flatData[index];
11230
+ if (option.render) return /*#__PURE__*/jsx("li", _extends({}, _props, {
11231
+ children: option.render(_props)
11232
+ }));
11233
+ return /*#__PURE__*/jsx("li", _extends({}, _props, {
11170
11234
  children: /*#__PURE__*/jsx(BusinessObject, {
11171
11235
  type: props.type,
11172
11236
  data: data,
@@ -11177,10 +11241,10 @@ const BusinessObjectPicker = _ref => {
11177
11241
  };
11178
11242
  const handleIsOptionEqualToValue = useCallback((a, b) => getKey(a) == getKey(b), []);
11179
11243
  const renderCustomTags = useCallback(value => value.map(option => /*#__PURE__*/jsx(Box$1, {
11244
+ sx: {
11245
+ overflow: "hidden"
11246
+ },
11180
11247
  children: /*#__PURE__*/jsx(Chip, {
11181
- sx: {
11182
- margin: 0.1
11183
- },
11184
11248
  id: getKey(option),
11185
11249
  label: getLabel(option),
11186
11250
  tooltipText: option.description,
@@ -11191,7 +11255,7 @@ const BusinessObjectPicker = _ref => {
11191
11255
  }, getKey(option))), [props.size, getKey, getLabel, handleTagDelete]);
11192
11256
  const renderTypeTags = useCallback(value => value.map(option => /*#__PURE__*/jsx(Box$1, {
11193
11257
  sx: {
11194
- margin: 0.1
11258
+ overflow: "hidden"
11195
11259
  },
11196
11260
  children: /*#__PURE__*/jsx(BusinessObject, {
11197
11261
  type: props.type,
@@ -11203,43 +11267,51 @@ const BusinessObjectPicker = _ref => {
11203
11267
  }
11204
11268
  })
11205
11269
  }, getKey(option))), [props.type, props.size, getKey, handleTagDelete]);
11206
- return /*#__PURE__*/jsxs(React.Fragment, {
11207
- children: [/*#__PURE__*/jsx(Autocomplete, {
11270
+ return /*#__PURE__*/jsxs(Box$1, {
11271
+ sx: {
11272
+ display: "flex"
11273
+ },
11274
+ children: [/*#__PURE__*/jsx(Autocomplete, _extends({
11275
+ sx: {
11276
+ flex: 1
11277
+ },
11208
11278
  id: process.env.NODE_ENV === "test" ? "test-id" : undefined,
11209
11279
  multiple: true,
11210
11280
  limitTags: visibleValues,
11211
11281
  open: open,
11212
- onOpen: () => {
11213
- setOpen(true);
11214
- },
11282
+ onOpen: () => setOpen(true),
11215
11283
  onClose: () => {
11216
- if (!listSelect) {
11217
- setOpen(false);
11218
- }
11284
+ if (!listSelect) setOpen(false);
11219
11285
  },
11220
11286
  loading: status === "loading",
11221
- options: props.data || flatData,
11287
+ options: props.data || _flatData,
11222
11288
  onChange: handleChange,
11223
11289
  onInputChange: (event, value, reason) => reason === "reset" && setQ(""),
11224
11290
  getOptionLabel: getOptionLabel || getLabel,
11225
11291
  size: props.size,
11226
- value: value
11227
- //inputValue={q}
11228
- ,
11292
+ value: value,
11229
11293
  renderOption: renderOptionProp || (props.type ? renderBusinessObject : renderOption),
11230
11294
  noOptionsText: status === "error" ? "Error loading options" : "No options",
11231
- getOptionDisabled: optionItem => (optionItem == null ? void 0 : optionItem.action) === "loadMore",
11232
- handleHomeEndKeys: true,
11233
- freeSolo: freeSolo != null ? freeSolo : !!(dataSource || props.type),
11295
+ getOptionDisabled: optionItem => (optionItem == null ? void 0 : optionItem.__type) === "loadMore" || (optionItem == null ? void 0 : optionItem.__type) === "noOption",
11296
+ handleHomeEndKeys: true
11297
+ // INFO: freeSolo prevents warning:
11298
+ // https://stackoverflow.com/questions/61947941/material-ui-autocomplete-warning-the-value-provided-to-autocomplete-is-invalid
11299
+ ,
11300
+ freeSolo: false,
11301
+ clearOnBlur: false,
11302
+ selectOnFocus: false,
11234
11303
  renderTags: renderTags || (props.type ? renderTypeTags : renderCustomTags),
11235
- renderInput: params => /*#__PURE__*/jsx(TextSearch$1, _extends({}, params, props, {
11304
+ renderInput: params => /*#__PURE__*/jsx(TextSearch, _extends({}, params, props, {
11305
+ inputProps: _extends({}, params.inputProps, {
11306
+ "data-testid": "content-input"
11307
+ }),
11236
11308
  onChange: handleQueryTrigger,
11237
11309
  minimumLength: 1,
11238
11310
  clearOnChange: false,
11239
11311
  variant: props.variant,
11240
11312
  InputProps: _extends({}, params.InputProps, {
11241
11313
  endAdornment: /*#__PURE__*/jsxs(React.Fragment, {
11242
- children: [status === "loading" && /*#__PURE__*/jsx(CircularProgress, {
11314
+ children: [(status === "loading" || loadingRefetch) && /*#__PURE__*/jsx(CircularProgress, {
11243
11315
  "aria-label": "loading progress",
11244
11316
  color: "inherit",
11245
11317
  size: 20
@@ -11254,6 +11326,7 @@ const BusinessObjectPicker = _ref => {
11254
11326
  setOpen(!open);
11255
11327
  },
11256
11328
  disabled: props.disabled,
11329
+ onKeyDown: handleKeyDown,
11257
11330
  children: /*#__PURE__*/jsx(ExpandLess, {
11258
11331
  className: clsx(classes.expand, {
11259
11332
  [classes.expandOpen]: open
@@ -11262,15 +11335,18 @@ const BusinessObjectPicker = _ref => {
11262
11335
  }), enhancedSearch && /*#__PURE__*/jsx(IconButton$1, {
11263
11336
  "aria-label": "search",
11264
11337
  size: "small",
11265
- onClick: () => setOpenDialog(true),
11338
+ onKeyDown: handleKeyDown,
11339
+ onClick: () => eventDispatch({
11340
+ name: events.OPEN_ENHANCED_SEARCH_DIALOG,
11341
+ payload: true
11342
+ }),
11266
11343
  children: /*#__PURE__*/jsx(Search, {})
11267
11344
  })]
11268
11345
  })
11269
11346
  })
11270
11347
  })),
11271
- disabled: props.disabled
11272
- //filterOptions={props.data ? filter : (options) => options}
11273
- // filterOptions={(options, params) => getFilterOptions(options, params)}
11348
+ disabled: props.disabled,
11349
+ filterOptions: getFilterOptions
11274
11350
  // TODO: below property can be used to improve the listSelect option.
11275
11351
  //ListboxProps={{}}
11276
11352
  ,
@@ -11278,27 +11354,47 @@ const BusinessObjectPicker = _ref => {
11278
11354
  disableClearable: true,
11279
11355
  forcePopupIcon: false,
11280
11356
  isOptionEqualToValue: handleIsOptionEqualToValue
11281
- }), openDialog && /*#__PURE__*/jsx(EnhancedSearchDialog, _extends({
11357
+ }, autoCompleteProps)), enhancedSearch && /*#__PURE__*/jsx(EnhancedSearchDialog, _extends({
11282
11358
  name: props.label,
11283
11359
  dataSource: dataSourceName,
11284
11360
  value: value,
11285
- onClose: () => {
11286
- setOpenDialog(false);
11287
- },
11288
11361
  onSubmit: value => {
11289
11362
  setValue(value);
11290
- setOpenDialog(false);
11291
11363
  const newValue = multiple ? value : value[0];
11292
- props == null ? void 0 : props.onChange == null ? void 0 : props.onChange(newValue);
11364
+ props.onChange == null ? void 0 : props.onChange(newValue);
11293
11365
  },
11294
11366
  multiple: multiple
11295
- }, enhancedSearch))]
11367
+ }, enhancedSearch)), renderAddItemForm && /*#__PURE__*/jsx(Box$1, {
11368
+ component: "span",
11369
+ sx: {
11370
+ display: "flex",
11371
+ justifyContent: "center",
11372
+ flexDirection: "column"
11373
+ },
11374
+ children: /*#__PURE__*/jsx(IconButton$1, {
11375
+ onClick: () => {
11376
+ eventDispatch({
11377
+ name: events.OPEN_ADD_ITEM_DIALOG,
11378
+ payload: true
11379
+ });
11380
+ },
11381
+ children: /*#__PURE__*/jsx(AddIcon, {
11382
+ sx: {
11383
+ color: "grey"
11384
+ }
11385
+ })
11386
+ })
11387
+ }), renderAddItemForm && /*#__PURE__*/jsx(AddItemFormDialog, {
11388
+ AddItemFormModalComponent: AddItemFormModalComponent,
11389
+ renderAddItemForm: renderAddItemForm,
11390
+ onAddItem: handleAddItem
11391
+ })]
11296
11392
  });
11297
11393
  };
11298
11394
  BusinessObjectPicker.propTypes = {
11299
11395
  /** If true, multiple selection is supported. */
11300
11396
  multiple: PropTypes.bool,
11301
- /** Any known Business Object type (One of Accreditor, AdministrativeDivision, AdministrativeUnit, Assignment, Badge, BusinessObject, College, Course, CourseOutcome, CourseSection, Department, Faculty, Institution, Outcome, OutcomeSpace, PerformanceIndicator, Program, Term) */
11397
+ /** Any known Business Object type */
11302
11398
  type: PropTypes.oneOf([null, "accreditor", "administrativeDivision", "administrativeUnit", "assessment", "assignment", "badge", "businessObject", "college", "course", "courseOutcome", "courseSection", "department", "faculty", "institution", "keyword", "outcome", "outcomeGroup", "outcomeSpace", "performanceIndicator", "program", "term"]),
11303
11399
  /** Data for the list of options. If this is not provided, and type is provided, default business object queries are used to pull the data. */
11304
11400
  data: PropTypes.any,
@@ -11363,7 +11459,15 @@ BusinessObjectPicker.propTypes = {
11363
11459
  limit: PropTypes.string,
11364
11460
  offset: PropTypes.string,
11365
11461
  query: PropTypes.string
11366
- })
11462
+ }),
11463
+ /** Component to handle Modal pop-up view; default: FullPageViewer. Modal
11464
+ * will be provided following props: open, onClose, title, children that
11465
+ * are handled by the BOP and open to overriding */
11466
+ AddItemFormModalComponent: PropTypes.any,
11467
+ /** render prop to handle form content, render function provided onSubmit callback function */
11468
+ renderAddItemForm: PropTypes.func,
11469
+ /** override props of MUI's AutoComplete components */
11470
+ autoCompleteProps: PropTypes.object
11367
11471
  };
11368
11472
  BusinessObjectPicker.defaultProps = {
11369
11473
  multiple: false,
@@ -11374,20 +11478,20 @@ BusinessObjectPicker.defaultProps = {
11374
11478
  size: "medium",
11375
11479
  visibleValues: -1,
11376
11480
  optionTemplate: "{{name}}",
11377
- newItemTemplate: 'Add "{{inputValue}}"',
11378
11481
  loadOnOpen: true,
11379
11482
  pageSize: 10,
11380
11483
  open: false,
11381
11484
  listSelect: false,
11382
11485
  shouldResetOnParametersChange: false
11383
11486
  };
11487
+ var BusinessObjectPicker$1 = withBOPEvent(BusinessObjectPicker);
11384
11488
 
11385
- const colorPalette$1 = {
11489
+ const colorPalette$t = {
11386
11490
  light: grey[200],
11387
11491
  default: grey[500],
11388
11492
  dark: grey[900]
11389
11493
  };
11390
- const modifiedPalette = (palette, outlined) => {
11494
+ const modifiedPalette$1 = (palette, outlined) => {
11391
11495
  if (!outlined) {
11392
11496
  return {
11393
11497
  light: palette.dark,
@@ -11397,8 +11501,8 @@ const modifiedPalette = (palette, outlined) => {
11397
11501
  }
11398
11502
  return palette;
11399
11503
  };
11400
- const ChipDisplay = props => {
11401
- const palette = _extends({}, colorPalette$1, props.configuration);
11504
+ const ChipDisplay$2 = props => {
11505
+ const palette = _extends({}, colorPalette$t, props.configuration);
11402
11506
  const classes = makeStyles(() => ({
11403
11507
  deleteIcon: {
11404
11508
  "&.MuiChip-deleteIcon": {
@@ -11429,10 +11533,10 @@ const ChipDisplay = props => {
11429
11533
  deleteIcon: /*#__PURE__*/jsx(Cancel, {
11430
11534
  className: props.outlined ? classes.outlinedDeleteIcon : classes.deleteIcon
11431
11535
  }),
11432
- colorPalette: modifiedPalette(palette, props.outlined)
11536
+ colorPalette: modifiedPalette$1(palette, props.outlined)
11433
11537
  });
11434
11538
  };
11435
- ChipDisplay.propTypes = {
11539
+ ChipDisplay$2.propTypes = {
11436
11540
  /** the status text */
11437
11541
  statusText: PropTypes.string,
11438
11542
  /** Size of the display small|medium */
@@ -11449,12 +11553,12 @@ ChipDisplay.propTypes = {
11449
11553
  /** OnDelete action for the chip. If an Action is set, a delete icon will be displayed */
11450
11554
  onDelete: PropTypes.any
11451
11555
  };
11452
- ChipDisplay.defaultProps = {
11556
+ ChipDisplay$2.defaultProps = {
11453
11557
  size: "small",
11454
11558
  outlined: false
11455
11559
  };
11456
11560
 
11457
- const colorPalette = {
11561
+ const colorPalette$u = {
11458
11562
  light: grey[50],
11459
11563
  default: grey[500],
11460
11564
  dark: grey[900]
@@ -11464,8 +11568,8 @@ const colorPalette = {
11464
11568
  * ListItem display for Entities
11465
11569
  */
11466
11570
 
11467
- const ListItemDisplay = props => {
11468
- const palette = _extends({}, colorPalette, props.configuration);
11571
+ const ListItemDisplay$2 = props => {
11572
+ const palette = _extends({}, colorPalette$u, props.configuration);
11469
11573
  const classes = makeStyles(theme => ({
11470
11574
  root: {
11471
11575
  width: "100%",
@@ -11537,10 +11641,10 @@ const ListItemDisplay = props => {
11537
11641
  })]
11538
11642
  });
11539
11643
  };
11540
- ListItemDisplay.defaultProps = {
11644
+ ListItemDisplay$2.defaultProps = {
11541
11645
  size: "default"
11542
11646
  };
11543
- ListItemDisplay.propTypes = {
11647
+ ListItemDisplay$2.propTypes = {
11544
11648
  /** the status */
11545
11649
  statusText: PropTypes.string.isRequired,
11546
11650
  /** size of the list item. values are small | default */
@@ -11761,9 +11865,9 @@ const BusinessObjectStatus = props => {
11761
11865
  const selectComponent = displayType => {
11762
11866
  switch (displayType) {
11763
11867
  case "chip":
11764
- return ChipDisplay;
11868
+ return ChipDisplay$2;
11765
11869
  case "listItem":
11766
- return ListItemDisplay;
11870
+ return ListItemDisplay$2;
11767
11871
  default:
11768
11872
  return Invalid;
11769
11873
  }
@@ -11775,10 +11879,10 @@ const BusinessObjectStatus = props => {
11775
11879
  configuration: statuses[formatStatusForConfiguration(status)]
11776
11880
  }));
11777
11881
  };
11778
- const businessObjectStatusTypes$1 = ["active", "approvalPending", "archived", "assigned", "authenticated", "cancelled", "closed", "completed", "draft", "endorsed", "error", "facultyPending", "goalMet", "goalMissed", "inactive", "incomplete", "inProgress", "inReview", "inRevision", "new", "onHold", "pending", "pendingResults", "pendingStart", "pendingStartDate", "published", "requested", "results", "running", "selfIssued", "stopped", "terminated", "unassigned", "verified"];
11882
+ const businessObjectStatusTypes = ["active", "approvalPending", "archived", "assigned", "authenticated", "cancelled", "closed", "completed", "draft", "endorsed", "error", "facultyPending", "goalMet", "goalMissed", "inactive", "incomplete", "inProgress", "inReview", "inRevision", "new", "onHold", "pending", "pendingResults", "pendingStart", "pendingStartDate", "published", "requested", "results", "running", "selfIssued", "stopped", "terminated", "unassigned", "verified"];
11779
11883
  BusinessObjectStatus.propTypes = {
11780
11884
  /** the status to be displayed. This can be used to pass the status value or data. This parameter overrides the data. */
11781
- status: PropTypes.oneOf(businessObjectStatusTypes$1),
11885
+ status: PropTypes.oneOf(businessObjectStatusTypes),
11782
11886
  /** The data from the entity itself. In the entity data, the AEFIS Business Object "status" is required. */
11783
11887
  data: PropTypes.shape({
11784
11888
  id: PropTypes.any,
@@ -11786,7 +11890,7 @@ BusinessObjectStatus.propTypes = {
11786
11890
  name: PropTypes.string,
11787
11891
  description: PropTypes.string,
11788
11892
  status: PropTypes.string.isRequired
11789
- }).isRequired,
11893
+ }),
11790
11894
  /** The display type for the business object status. */
11791
11895
  displayType: PropTypes.oneOf(["chip", "listItem"]),
11792
11896
  /** The size of the business object status display type. */
@@ -11804,7 +11908,7 @@ BusinessObjectStatus.story = {
11804
11908
  }
11805
11909
  };
11806
11910
 
11807
- const styles$1 = {
11911
+ const styles = {
11808
11912
  zeroVerticalPadding: {
11809
11913
  paddingTop: 0,
11810
11914
  paddingBottom: 0
@@ -11839,10 +11943,10 @@ const BusinessObjectStatusButton = props => {
11839
11943
  },
11840
11944
  sx: _extends({
11841
11945
  width: "100%"
11842
- }, styles$1.zeroVerticalPadding),
11946
+ }, styles.zeroVerticalPadding),
11843
11947
  children: [/*#__PURE__*/jsx(Box$1, {
11844
11948
  component: "span",
11845
- sx: styles$1.menuListItem,
11949
+ sx: styles.menuListItem,
11846
11950
  children: /*#__PURE__*/jsx(Typography, {
11847
11951
  noWrap: true,
11848
11952
  variant: "body1",
@@ -11854,7 +11958,7 @@ const BusinessObjectStatusButton = props => {
11854
11958
  })
11855
11959
  }), /*#__PURE__*/jsx(Box$1, {
11856
11960
  component: "span",
11857
- sx: styles$1.menuListItem,
11961
+ sx: styles.menuListItem,
11858
11962
  children: /*#__PURE__*/jsx(ArrowForwardIcon, {
11859
11963
  fontSize: "small"
11860
11964
  })
@@ -11906,7 +12010,7 @@ const BusinessObjectStatusButton = props => {
11906
12010
  })
11907
12011
  })]
11908
12012
  }), isEditable && /*#__PURE__*/jsx(Menu$1, {
11909
- sx: styles$1.zeroVerticalPadding,
12013
+ sx: styles.zeroVerticalPadding,
11910
12014
  id: "simple-menu",
11911
12015
  anchorOrigin: {
11912
12016
  vertical: "bottom",
@@ -11934,10 +12038,10 @@ const BusinessObjectStatusButton = props => {
11934
12038
  BusinessObjectStatusButton.defaultProps = {
11935
12039
  canEdit: true
11936
12040
  };
11937
- const businessObjectStatusTypes = ["active", "approvalPending", "archived", "assigned", "authenticated", "cancelled", "closed", "completed", "draft", "endorsed", "error", "facultyPending", "goalMet", "goalMissed", "inactive", "incomplete", "inProgress", "inReview", "inRevision", "new", "onHold", "pending", "pendingResults", "pendingStart", "pendingStartDate", "published", "requested", "results", "running", "selfIssued", "stopped", "terminated", "unassigned", "verified"];
12041
+ const businessObjectStatusTypes$1 = ["active", "approvalPending", "archived", "assigned", "authenticated", "cancelled", "closed", "completed", "draft", "endorsed", "error", "facultyPending", "goalMet", "goalMissed", "inactive", "incomplete", "inProgress", "inReview", "inRevision", "new", "onHold", "pending", "pendingResults", "pendingStart", "pendingStartDate", "published", "requested", "results", "running", "selfIssued", "stopped", "terminated", "unassigned", "verified"];
11938
12042
  BusinessObjectStatusButton.propTypes = {
11939
- value: PropTypes.oneOf(businessObjectStatusTypes),
11940
- defaultValue: PropTypes.oneOf(businessObjectStatusTypes),
12043
+ value: PropTypes.oneOf(businessObjectStatusTypes$1),
12044
+ defaultValue: PropTypes.oneOf(businessObjectStatusTypes$1),
11941
12045
  buttonSize: PropTypes.any,
11942
12046
  onChange: PropTypes.func,
11943
12047
  options: PropTypes.any,
@@ -12076,57 +12180,6 @@ BusinessObjectTable.propTypes = _extends({
12076
12180
  height: PropTypes.any
12077
12181
  }, DataTable.propTypes);
12078
12182
 
12079
- const createEvent = () => {
12080
- const listeners = new Set();
12081
- const subscribe = listener => {
12082
- listeners.add(listener);
12083
- return () => listeners.delete(listener);
12084
- };
12085
- const useListener = fn => {
12086
- const listener = useRef({});
12087
- useEffect(() => {
12088
- listener.current.fn = fn;
12089
- }, [fn]);
12090
- useEffect(() => {
12091
- const unsubscribe = subscribe(listener.current);
12092
- return unsubscribe;
12093
- }, []);
12094
- };
12095
- const useDispatcher = () => {
12096
- const caller = payload => {
12097
- listeners.forEach(l => l.fn(payload));
12098
- };
12099
- return caller;
12100
- };
12101
- return {
12102
- useDispatcher,
12103
- useListener
12104
- };
12105
- };
12106
- const createComponentEvent = () => {
12107
- const context = /*#__PURE__*/createContext();
12108
- const useDispatcher = payload => useContext(context).useDispatcher(payload);
12109
- const useListener = fn => useContext(context).useListener(fn);
12110
- const EventProvider = ({
12111
- children
12112
- }) => {
12113
- const createActionRef = useRef(createEvent());
12114
- return /*#__PURE__*/jsx(context.Provider, {
12115
- value: createActionRef.current,
12116
- children: children
12117
- });
12118
- };
12119
- const withEvent = Component => props => /*#__PURE__*/jsx(EventProvider, {
12120
- children: /*#__PURE__*/jsx(Component, _extends({}, props))
12121
- });
12122
- return {
12123
- useDispatcher,
12124
- useListener,
12125
- EventProvider,
12126
- withEvent
12127
- };
12128
- };
12129
-
12130
12183
  const createStore = initialState => {
12131
12184
  let state = initialState;
12132
12185
  const getState = () => state;
@@ -12182,7 +12235,7 @@ const createComponentStore = initialState => {
12182
12235
 
12183
12236
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
12184
12237
  const isValidConnection = connection => true ;
12185
- const useStyles$d = makeStyles(() => ({
12238
+ const useStyles$u = makeStyles(() => ({
12186
12239
  container: {
12187
12240
  width: "100%",
12188
12241
  height: "100%"
@@ -12197,7 +12250,7 @@ const useStyles$d = makeStyles(() => ({
12197
12250
  }));
12198
12251
  const CurriculumNode = props => {
12199
12252
  var _props$data;
12200
- const classes = useStyles$d();
12253
+ const classes = useStyles$u();
12201
12254
  // const dispatchOnEnterNode = useOnEnterNode();
12202
12255
 
12203
12256
  const handleKeyPressed = useCallback(evt => {
@@ -12376,7 +12429,7 @@ CurriculumChart.propTypes = {
12376
12429
  onLoad: PropTypes.func
12377
12430
  };
12378
12431
 
12379
- const _excluded$3 = ["error", "inputFormat", "value", "isControlled", "onChange", "clearable", "disabled", "required", "showButton", "minimumDate", "maximumDate", "inputEndAdornmentText"];
12432
+ const _excluded$g = ["error", "inputFormat", "value", "isControlled", "onChange", "clearable", "disabled", "required", "showButton", "minimumDate", "maximumDate", "inputEndAdornmentText"];
12380
12433
  const MuiDatePicker = props => {
12381
12434
  const isMobile = useMediaQuery$1(theme => theme.breakpoints.down("md"));
12382
12435
  if (props.type) {
@@ -12395,7 +12448,7 @@ const useFormItemState = (propsValue, isControlled) => {
12395
12448
  };
12396
12449
 
12397
12450
  // INFO: It overrides styles from from legacy aefis project
12398
- const dateInputStyles$1 = {
12451
+ const dateInputStyles = {
12399
12452
  "> div > input ": {
12400
12453
  cursor: "text !important",
12401
12454
  backgroundColor: "unset !important"
@@ -12416,7 +12469,7 @@ const DatePickerBase = _ref => {
12416
12469
  maximumDate,
12417
12470
  inputEndAdornmentText
12418
12471
  } = _ref,
12419
- props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
12472
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$g);
12420
12473
  const [value, setValue] = useFormItemState(propsValue, isControlled);
12421
12474
  const handleChange = newValue => {
12422
12475
  !isControlled && setValue(newValue);
@@ -12437,7 +12490,7 @@ const DatePickerBase = _ref => {
12437
12490
  inputProps: _extends({}, params.inputProps, {
12438
12491
  type: "text"
12439
12492
  }),
12440
- sx: dateInputStyles$1,
12493
+ sx: dateInputStyles,
12441
12494
  error: error,
12442
12495
  fullWidth: true,
12443
12496
  required: required,
@@ -12827,7 +12880,7 @@ DocViewer.propTypes = {
12827
12880
  style: PropTypes.object
12828
12881
  };
12829
12882
 
12830
- const styles = {
12883
+ const styles$1 = {
12831
12884
  root: {
12832
12885
  "@media (min-width:600px)": {
12833
12886
  minWidth: "344px !important"
@@ -12898,21 +12951,21 @@ const Notification = props => {
12898
12951
  })
12899
12952
  };
12900
12953
  return /*#__PURE__*/jsx(Box$1, {
12901
- sx: styles.root,
12954
+ sx: styles$1.root,
12902
12955
  role: "alert",
12903
12956
  children: /*#__PURE__*/jsx(Box$1, {
12904
- sx: styles.card,
12957
+ sx: styles$1.card,
12905
12958
  children: /*#__PURE__*/jsxs(Box$1, {
12906
12959
  sx: _extends({
12907
12960
  backgroundColor: backgroundColor[props.variant]
12908
- }, styles.container),
12961
+ }, styles$1.container),
12909
12962
  children: [icon[props.variant] !== undefined && /*#__PURE__*/jsx(Box$1, {
12910
- sx: styles.iconContainer,
12963
+ sx: styles$1.iconContainer,
12911
12964
  children: icon[props.variant]
12912
12965
  }), /*#__PURE__*/jsx(Box$1, {
12913
- sx: styles.messageContainer,
12966
+ sx: styles$1.messageContainer,
12914
12967
  children: /*#__PURE__*/jsx(Typography, {
12915
- style: styles.typography,
12968
+ style: styles$1.typography,
12916
12969
  sx: {
12917
12970
  color: theme.palette.getContrastText(backgroundColor[props.variant])
12918
12971
  },
@@ -12920,7 +12973,7 @@ const Notification = props => {
12920
12973
  })
12921
12974
  }), props.canDismiss && /*#__PURE__*/jsx(IconButton, {
12922
12975
  name: "dismiss",
12923
- sx: styles.actionContainer,
12976
+ sx: styles$1.actionContainer,
12924
12977
  onClick: props.onClose,
12925
12978
  children: /*#__PURE__*/jsx(Close, {
12926
12979
  sx: {
@@ -13013,7 +13066,7 @@ PanelDrawer.propTypes = {
13013
13066
  paperStyle: PropTypes.any
13014
13067
  };
13015
13068
 
13016
- const useStyles$c = makeStyles(() => ({
13069
+ const useStyles$v = makeStyles(() => ({
13017
13070
  barChart: {
13018
13071
  display: "flex",
13019
13072
  height: 30,
@@ -13063,7 +13116,7 @@ const useStyles$c = makeStyles(() => ({
13063
13116
  lineHeight: "inherit"
13064
13117
  }
13065
13118
  }));
13066
- const color$2 = (percent, dynamicColor, showComplete) => {
13119
+ const color = (percent, dynamicColor, showComplete) => {
13067
13120
  let color = "rgba(100, 181, 246,0.7)";
13068
13121
  if (dynamicColor && !showComplete) {
13069
13122
  if (percent < 25) {
@@ -13082,7 +13135,7 @@ const color$2 = (percent, dynamicColor, showComplete) => {
13082
13135
  return color;
13083
13136
  };
13084
13137
  const barStyle = (percent, dynamicColor, showComplete) => {
13085
- let bgColor = color$2(percent, dynamicColor, showComplete);
13138
+ let bgColor = color(percent, dynamicColor, showComplete);
13086
13139
  return percent === 100 ? {
13087
13140
  width: "100%",
13088
13141
  borderTopRightRadius: "20px",
@@ -13124,7 +13177,7 @@ const barContainerSize = size => {
13124
13177
  };
13125
13178
  const BarChart = props => {
13126
13179
  const [value, setValue] = useState(0);
13127
- const classes = useStyles$c();
13180
+ const classes = useStyles$v();
13128
13181
  const containerSize = barContainerSize(props.size);
13129
13182
  const titleStyle = {
13130
13183
  fontSize: "1.0em",
@@ -13195,7 +13248,7 @@ BarChart.propTypes = {
13195
13248
  };
13196
13249
 
13197
13250
  // Copyright (c) 2020 AEFIS, all rights reserved.
13198
- const useStyles$b = makeStyles(() => ({
13251
+ const useStyles$w = makeStyles(() => ({
13199
13252
  circleTitle: {
13200
13253
  fontSize: 110,
13201
13254
  letterSpacing: "-0.05em",
@@ -13217,7 +13270,7 @@ const useStyles$b = makeStyles(() => ({
13217
13270
  }
13218
13271
  }));
13219
13272
  const CircleChartTitle = props => {
13220
- const classes = useStyles$b();
13273
+ const classes = useStyles$w();
13221
13274
  const useSubTitle = props.size === "xxsmall" || props.size === "xsmall" || !props.subtitle || props.subtitle && props.subtitle === "" ? false : true;
13222
13275
  const useMinorTitle = useSubTitle && props.minortitle !== "" ? true : false;
13223
13276
  return /*#__PURE__*/jsxs(React.Fragment, {
@@ -13254,7 +13307,7 @@ CircleChartTitle.propTypes = {
13254
13307
  };
13255
13308
 
13256
13309
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
13257
- const useStyles$a = makeStyles(() => ({
13310
+ const useStyles$x = makeStyles(() => ({
13258
13311
  donut: {
13259
13312
  width: "100%",
13260
13313
  height: "100%"
@@ -13264,7 +13317,7 @@ const useStyles$a = makeStyles(() => ({
13264
13317
  }
13265
13318
  }));
13266
13319
  const color$1 = (percent, showComplete, dynamicColor) => {
13267
- return percent && dynamicColor ? dynamicSuccess[percent] : showComplete && percent === 100 ? goalMet["default"] : inProgress["default"];
13320
+ return percent && dynamicColor ? dynamicSuccess$1[percent] : showComplete && percent === 100 ? goalMet$1["default"] : inProgress$2["default"];
13268
13321
  };
13269
13322
  const circleContainerSize = size => {
13270
13323
  const struct = {
@@ -13307,7 +13360,7 @@ const strokeDashOffset = percent => {
13307
13360
  return offset;
13308
13361
  };
13309
13362
  const CircleChart = props => {
13310
- const classes = useStyles$a();
13363
+ const classes = useStyles$x();
13311
13364
  const newPercent = props.percentValue > 100 ? 100 : props.percentValue;
13312
13365
  const strokeColor = props.dynamicColor ? color$1(newPercent, undefined, true) : color$1(newPercent, props.showComplete);
13313
13366
  const containerSize = circleContainerSize(props.size);
@@ -13340,7 +13393,7 @@ const CircleChart = props => {
13340
13393
  cy: config.cy,
13341
13394
  r: config.r,
13342
13395
  fill: "none",
13343
- stroke: common["light"],
13396
+ stroke: common$1["light"],
13344
13397
  strokeWidth: config.strokeWidth
13345
13398
  }), /*#__PURE__*/jsx("circle", {
13346
13399
  cx: config.cx,
@@ -13382,7 +13435,7 @@ CircleChart.propTypes = {
13382
13435
  description: PropTypes.string
13383
13436
  };
13384
13437
 
13385
- const useStyles$9 = makeStyles(() => ({
13438
+ const useStyles$y = makeStyles(() => ({
13386
13439
  container: {
13387
13440
  width: "100%"
13388
13441
  },
@@ -13395,11 +13448,11 @@ const useStyles$9 = makeStyles(() => ({
13395
13448
  alignItems: "center"
13396
13449
  }
13397
13450
  }));
13398
- const color = percent => {
13399
- return percent ? dynamicSuccess[percent] : inProgress["default"];
13451
+ const color$2 = percent => {
13452
+ return percent ? dynamicSuccess$1[percent] : inProgress$2["default"];
13400
13453
  };
13401
13454
  const Chart = props => {
13402
- let bgColor = props.dynamicColor ? color(props.percentValue) : props.showComplete && props.percentValue === 100 ? goalMet["default"] : color();
13455
+ let bgColor = props.dynamicColor ? color$2(props.percentValue) : props.showComplete && props.percentValue === 100 ? goalMet$1["default"] : color$2();
13403
13456
  const XSmallSlider = withStyles$1({
13404
13457
  root: {
13405
13458
  borderRadius: 10,
@@ -13483,7 +13536,7 @@ Chart.propTypes = {
13483
13536
  label: PropTypes.string
13484
13537
  };
13485
13538
  const SliderChart = props => {
13486
- const classes = useStyles$9();
13539
+ const classes = useStyles$y();
13487
13540
  const newSubtitle = !props.subtitle || props.subtitle === "" ? props.percentValue + "%" : props.subtitle;
13488
13541
  const valueClass = {
13489
13542
  marginLeft: 8,
@@ -13763,7 +13816,7 @@ Legend.propTypes = {
13763
13816
  };
13764
13817
 
13765
13818
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
13766
- const useStyles$8 = makeStyles$1(theme => ({
13819
+ const useStyles$z = makeStyles$1(theme => ({
13767
13820
  root: {
13768
13821
  paddingBottom: theme.spacing(3),
13769
13822
  marginTop: theme.spacing(4),
@@ -13801,7 +13854,7 @@ RubricLegend.propTypes = {
13801
13854
  /** AEFIS Rubric Score settings slider. Used to adjust the rubric received based on student score. Generally used during the assignment linking process. */
13802
13855
 
13803
13856
  const RubricScoreSlider = props => {
13804
- const classes = useStyles$8();
13857
+ const classes = useStyles$z();
13805
13858
  const newValueArray = [...props.valueArray];
13806
13859
  newValueArray.shift();
13807
13860
  const [rubricValuesArray, setRubricValuesArray] = useState(newValueArray);
@@ -13930,7 +13983,7 @@ ScrollToTopButton.propTypes = {
13930
13983
  };
13931
13984
 
13932
13985
  // Copyright (c) 2020 AEFIS, all rights reserved.
13933
- const useStyles$7 = makeStyles(theme => ({
13986
+ const useStyles$A = makeStyles(theme => ({
13934
13987
  container: {
13935
13988
  position: "relative",
13936
13989
  display: "inline-flex"
@@ -14020,7 +14073,7 @@ const style = {
14020
14073
  /** UI element to display an array of object statistics */
14021
14074
 
14022
14075
  const StatBoxes = props => {
14023
- const classes = useStyles$7();
14076
+ const classes = useStyles$A();
14024
14077
  return /*#__PURE__*/jsx(React.Fragment, {
14025
14078
  children: /*#__PURE__*/jsx("div", {
14026
14079
  className: classes.container,
@@ -14084,7 +14137,7 @@ StatBoxes.propTypes = {
14084
14137
  };
14085
14138
 
14086
14139
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
14087
- const useStyles$6 = makeStyles(theme => ({
14140
+ const useStyles$B = makeStyles(theme => ({
14088
14141
  title: {
14089
14142
  fontSize: "1.0rem",
14090
14143
  fontWeight: 500
@@ -14105,7 +14158,7 @@ const useStyles$6 = makeStyles(theme => ({
14105
14158
  /** Component to display common UI pattern of object title and object description. */
14106
14159
 
14107
14160
  const TitleAndDescription = props => {
14108
- const classes = useStyles$6();
14161
+ const classes = useStyles$B();
14109
14162
  return /*#__PURE__*/jsxs("div", {
14110
14163
  className: props.gutterBottom ? classes.titleContainer : classes.titleContainerNoGutter,
14111
14164
  children: [/*#__PURE__*/jsx(Typography, {
@@ -14183,14 +14236,14 @@ const useDebounceCallback = (fnToDebounce, durationInMs = 200) => {
14183
14236
  };
14184
14237
 
14185
14238
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
14186
- const useStyles$5 = makeStyles(() => ({
14239
+ const useStyles$C = makeStyles(() => ({
14187
14240
  avatar: {
14188
14241
  marginLeft: "auto",
14189
14242
  marginRight: "auto",
14190
14243
  transition: "all .2s ease-in-out"
14191
14244
  }
14192
14245
  }));
14193
- const StyledBadge = withStyles$1(theme => ({
14246
+ const StyledBadge$1 = withStyles$1(theme => ({
14194
14247
  badge: {
14195
14248
  backgroundColor: green[500],
14196
14249
  color: green[500],
@@ -14229,7 +14282,7 @@ const getUserInitials = user => {
14229
14282
  const RenderAvatar = props => {
14230
14283
  var _props$user;
14231
14284
  const theme = useTheme$1();
14232
- const classes = useStyles$5();
14285
+ const classes = useStyles$C();
14233
14286
  const avatarColor = props.customColor ? props.customColor : props.color === "primary" ? deepOrange[700] : props.color === "secondary" ? blue[700] : deepOrange[700];
14234
14287
  const style = {
14235
14288
  small: {
@@ -14277,7 +14330,7 @@ RenderAvatar.propTypes = {
14277
14330
  /** Components to render an AEFIS User avatar. */
14278
14331
 
14279
14332
  const UserAvatar = /*#__PURE__*/React.memo(function UserAvatar(props) {
14280
- return props.showOnline ? /*#__PURE__*/jsx(StyledBadge, {
14333
+ return props.showOnline ? /*#__PURE__*/jsx(StyledBadge$1, {
14281
14334
  overlap: "circle",
14282
14335
  anchorOrigin: {
14283
14336
  vertical: "top",
@@ -14413,7 +14466,7 @@ QontoStepIcon.propTypes = {
14413
14466
  className: PropTypes.string,
14414
14467
  completed: PropTypes.bool
14415
14468
  };
14416
- const Header = props => {
14469
+ const Header$1 = props => {
14417
14470
  const activeStep = props.allStepsCompleted ? props.data.length : props.activeStep;
14418
14471
  return /*#__PURE__*/jsx(Stepper, {
14419
14472
  activeStep: activeStep,
@@ -14427,10 +14480,10 @@ const Header = props => {
14427
14480
  }, `wizardHeaderStep-${step.id}`))
14428
14481
  });
14429
14482
  };
14430
- Header.defaultProps = {
14483
+ Header$1.defaultProps = {
14431
14484
  allStepsCompleted: false
14432
14485
  };
14433
- Header.propTypes = {
14486
+ Header$1.propTypes = {
14434
14487
  data: PropTypes.arrayOf(PropTypes.shape({
14435
14488
  id: PropTypes.any.isRequired,
14436
14489
  title: PropTypes.string.isRequired,
@@ -14441,7 +14494,7 @@ Header.propTypes = {
14441
14494
  };
14442
14495
 
14443
14496
  // Copyright (c) 2022 HelioCampus Inc., all rights reserved.
14444
- const useStyles$4 = makeStyles(theme => ({
14497
+ const useStyles$D = makeStyles(theme => ({
14445
14498
  container: {
14446
14499
  position: "absolute",
14447
14500
  overflowY: "auto",
@@ -14502,7 +14555,7 @@ const bottomBarStyle = {
14502
14555
 
14503
14556
  const WizardPanel = props => {
14504
14557
  var _props$panels;
14505
- const classes = useStyles$4();
14558
+ const classes = useStyles$D();
14506
14559
  const containerRef = useRef();
14507
14560
  const [activeStep, setActiveStep] = useState(0);
14508
14561
  const [finalStep, setFinalStep] = useState(false);
@@ -14551,7 +14604,7 @@ const WizardPanel = props => {
14551
14604
  className: scrollTrigger ? classes.scrolledTabBar : classes.tabBar,
14552
14605
  elevation: 0,
14553
14606
  color: "default",
14554
- children: /*#__PURE__*/jsx(Header, {
14607
+ children: /*#__PURE__*/jsx(Header$1, {
14555
14608
  data: props.panels,
14556
14609
  activeStep: activeStep,
14557
14610
  allStepsCompleted: props.completed || isCompleting ? true : false
@@ -14748,12 +14801,12 @@ const {
14748
14801
  useSelectState: useSelectFormState,
14749
14802
  useSetState: useSetFormState,
14750
14803
  withStore: withFormStore,
14751
- StoreProvider: StoreProvider$1
14804
+ StoreProvider
14752
14805
  } = createComponentStore({
14753
14806
  formData: {}
14754
14807
  });
14755
14808
 
14756
- const useStyles$3 = makeStyles(theme => ({
14809
+ const useStyles$E = makeStyles(theme => ({
14757
14810
  button: {
14758
14811
  margin: theme.spacing(1)
14759
14812
  },
@@ -14778,7 +14831,7 @@ const FormButtons = ({
14778
14831
  onReset,
14779
14832
  onDelete
14780
14833
  }) => {
14781
- const classes = useStyles$3();
14834
+ const classes = useStyles$E();
14782
14835
  const setFormState = useSetFormState();
14783
14836
  let renderSaveButton = () => /*#__PURE__*/jsx(Button, {
14784
14837
  variant: "contained",
@@ -14928,7 +14981,7 @@ const withEmptyValue = Component => {
14928
14981
  });
14929
14982
  };
14930
14983
 
14931
- const windowKeys = Object.keys(window).filter(key => {
14984
+ const windowKeys$1 = Object.keys(window).filter(key => {
14932
14985
  try {
14933
14986
  Function.apply(null, [key, "return;"]);
14934
14987
  return true;
@@ -14950,14 +15003,18 @@ const safeEval = (code, context, options) => {
14950
15003
  const keys = Object.keys(context);
14951
15004
 
14952
15005
  // TODO: optimize
14953
- const allParams = keys.concat(windowKeys, [`"use strict"; return ${code}`]);
15006
+ const allParams = keys.concat(windowKeys$1, [`"use strict"; return ${code}`]);
14954
15007
  try {
14955
15008
  const fn = Function.apply(null, allParams);
14956
15009
  const params = keys.map(key => context[key]);
14957
15010
  const res = fn.apply(null, params);
14958
15011
  return res;
14959
15012
  } catch (e) {
14960
- options == null ? void 0 : options.fallback == null ? void 0 : options.fallback(e);
15013
+ (options == null ? void 0 : options.fallback == null ? void 0 : options.fallback(e)) || console.log("Eval Error : ", e, {
15014
+ code,
15015
+ context,
15016
+ options
15017
+ });
14961
15018
  }
14962
15019
  };
14963
15020
  const lazyEval = (code, context) => {
@@ -14973,7 +15030,7 @@ const {
14973
15030
  useSelectState: useSelectFieldState,
14974
15031
  useSetState: useSetFieldState,
14975
15032
  withStore: withFieldStore,
14976
- StoreProvider
15033
+ StoreProvider: StoreProvider$1
14977
15034
  } = createComponentStore({
14978
15035
  errorMessage: undefined,
14979
15036
  showError: undefined
@@ -15209,8 +15266,8 @@ ToggleButtonWidget.propTypes = {
15209
15266
  label: PropTypes.any
15210
15267
  };
15211
15268
  ToggleButtonWidget.defaultProps = {};
15212
- const HOCs$d = [...commonWidgetHOCs];
15213
- var ToggleButtonWidget$1 = compose(HOCs$d)(ToggleButtonWidget);
15269
+ const HOCs = [...commonWidgetHOCs];
15270
+ var ToggleButtonWidget$1 = compose(HOCs)(ToggleButtonWidget);
15214
15271
 
15215
15272
  const DefaultReadOnly = props => {
15216
15273
  return /*#__PURE__*/jsxs(Fragment, {
@@ -15262,8 +15319,8 @@ const withReadyOnly = (ReadOnlyComponent = DefaultReadOnly, options = {
15262
15319
  };
15263
15320
  };
15264
15321
 
15265
- const _excluded$2 = ["value", "inputValue", "onChange", "options", "defaultValue", "onCreateOption", "onDebouncedInputChange", "loading", "status", "optionKey", "createOptionItem", "loadingCreateOption", "onOpen", "createOptionStatus", "disableArrowIcon", "searchCharacterLimit"];
15266
- const useStyles$2 = makeStyles(theme => ({
15322
+ const _excluded$h = ["value", "inputValue", "onChange", "options", "defaultValue", "onCreateOption", "onDebouncedInputChange", "loading", "status", "optionKey", "createOptionItem", "loadingCreateOption", "onOpen", "createOptionStatus", "disableArrowIcon", "searchCharacterLimit"];
15323
+ const useStyles$F = makeStyles(theme => ({
15267
15324
  expand: {
15268
15325
  transform: "rotate(180deg)",
15269
15326
  marginLeft: "auto",
@@ -15322,10 +15379,10 @@ const AutoCompleteBase = /*#__PURE__*/forwardRef(function AutoCompleteBase(props
15322
15379
  disableArrowIcon,
15323
15380
  searchCharacterLimit = 0
15324
15381
  } = props,
15325
- restOfProps = _objectWithoutPropertiesLoose(props, _excluded$2);
15326
- const classes = useStyles$2();
15382
+ restOfProps = _objectWithoutPropertiesLoose(props, _excluded$h);
15383
+ const classes = useStyles$F();
15327
15384
  const [value, setValue] = useState(defaultValue || valueProp || []);
15328
- const [inputValue, setInputValue] = useState(inputValueProp);
15385
+ const [inputValue, setInputValue] = useState( inputValueProp);
15329
15386
  const [open, setOpen] = useState(props.open || false);
15330
15387
  useEffect(() => {
15331
15388
  setInputValue(inputValueProp);
@@ -15767,8 +15824,8 @@ BadgeKeywordField.propTypes = {
15767
15824
  isReadOnly: PropTypes.bool,
15768
15825
  disabled: PropTypes.bool
15769
15826
  };
15770
- const HOCs$c = [...commonFieldHOCs, withReadyOnly(BadgeKeywordFieldReadOnly)];
15771
- var BadgeKeywordField$1 = compose(HOCs$c)(BadgeKeywordField);
15827
+ const HOCs$1 = [...commonFieldHOCs, withReadyOnly(BadgeKeywordFieldReadOnly)];
15828
+ var BadgeKeywordField$1 = compose(HOCs$1)(BadgeKeywordField);
15772
15829
 
15773
15830
  const ReadOnlyView = ({
15774
15831
  label,
@@ -15859,7 +15916,50 @@ const useSelector = (selector, defaultValue) => {
15859
15916
  }, [value]);
15860
15917
  };
15861
15918
 
15862
- const BusinessObjectPickerMemoized = /*#__PURE__*/React.memo(BusinessObjectPicker);
15919
+ // https://stackoverflow.com/questions/7394748/whats-the-right-way-to-decode-a-string-that-has-special-html-entities-in-it/7394787#7394787
15920
+ const decodeHtml = html => {
15921
+ const textarea = document.createElement("textarea");
15922
+ textarea.innerHTML = html;
15923
+ return textarea.value;
15924
+ };
15925
+
15926
+ const render$2 = (value, formState) => {
15927
+ if (value === undefined || value === null) {
15928
+ return value;
15929
+ }
15930
+ return mustache.render(value, formState);
15931
+ };
15932
+ const renderUrl = (value, formState) => {
15933
+ if (value === undefined || value === null) {
15934
+ return value;
15935
+ }
15936
+ return decodeHtml(mustache.render(value, formState));
15937
+ };
15938
+ const useRenderUrl = template => useSelectFormState(state => renderUrl(template, state));
15939
+ const useRender = template => useSelectFormState(state => render$2(template, state));
15940
+
15941
+ const useQueryTemplateParam = queryTemplate => {
15942
+ const selector = useCallback(state => {
15943
+ const query = render$2(queryTemplate, state);
15944
+ const o = qs.parse(query);
15945
+ Object.keys(o).forEach(key => {
15946
+ if (o[key] === "" || o[key] == undefined) {
15947
+ delete o[key];
15948
+ }
15949
+ });
15950
+ return JSON.stringify(o);
15951
+ }, [queryTemplate]);
15952
+ const queryParams = useSelectFormState(selector);
15953
+ const object = useMemo(() => JSON.parse(queryParams), [queryParams]);
15954
+ return object;
15955
+ };
15956
+
15957
+ const BusinessObjectPickerMemoized = /*#__PURE__*/React.memo(BusinessObjectPicker$1);
15958
+ const useQueryParam = uiSchema => {
15959
+ const queryParamsSelected = useSelector(uiSchema["select:queryParams"]);
15960
+ const queryParamFromTemplate = useQueryTemplateParam(uiSchema.queryTemplate);
15961
+ return queryParamFromTemplate || queryParamsSelected;
15962
+ };
15863
15963
  const BusinessObjectPickerFieldReadOnly = ({
15864
15964
  formData: formDataProp,
15865
15965
  schema,
@@ -15888,12 +15988,12 @@ const BusinessObjectPickerField = ({
15888
15988
  required
15889
15989
  }) => {
15890
15990
  const formData = formDataProp || emptyArray;
15891
- const queryParamsSelected = useSelector(uiSchema["select:queryParams"]);
15892
15991
  const value = schema.type === "object" && isEmpty(formData) ? undefined : formData;
15893
15992
  const {
15894
15993
  error
15895
15994
  } = useFormControl();
15896
15995
  const label = uiSchema["ui:placeholder"] || schema.title;
15996
+ const query = useQueryParam(uiSchema);
15897
15997
  return /*#__PURE__*/jsx(BusinessObjectPickerMemoized, _extends({
15898
15998
  error: error,
15899
15999
  value: value,
@@ -15903,7 +16003,7 @@ const BusinessObjectPickerField = ({
15903
16003
  onChange: onChange,
15904
16004
  required: required
15905
16005
  }, uiSchema == null ? void 0 : uiSchema["ui:props"], {
15906
- parameters: queryParamsSelected
16006
+ parameters: query
15907
16007
  }));
15908
16008
  };
15909
16009
  BusinessObjectPickerField.propTypes = {
@@ -15917,19 +16017,19 @@ BusinessObjectPickerField.propTypes = {
15917
16017
  onChange: PropTypes.func
15918
16018
  };
15919
16019
  BusinessObjectPickerField.defaultProps = {};
15920
- const HOCs$b = [...commonFieldHOCs, withReadyOnly(BusinessObjectPickerFieldReadOnly)];
15921
- var BusinessObjectPickerField$1 = compose(HOCs$b)(BusinessObjectPickerField);
16020
+ const HOCs$2 = [...commonFieldHOCs, withReadyOnly(BusinessObjectPickerFieldReadOnly)];
16021
+ var BusinessObjectPickerField$1 = compose(HOCs$2)(BusinessObjectPickerField);
15922
16022
 
15923
- const _excluded$1 = ["minimumDate", "maximumDate"],
15924
- _excluded2 = ["minimumDate", "maximumDate"];
15925
- const getDate$1 = dateStr => {
16023
+ const _excluded$i = ["minimumDate", "maximumDate"],
16024
+ _excluded2$1 = ["minimumDate", "maximumDate"];
16025
+ const getDate = dateStr => {
15926
16026
  try {
15927
16027
  return dateStr ? new Date(dateStr).toLocaleDateString("en-US") : undefined;
15928
16028
  } catch (e) {
15929
16029
  return dateStr;
15930
16030
  }
15931
16031
  };
15932
- const DateSelectReadOnly$2 = props => {
16032
+ const DateSelectReadOnly = props => {
15933
16033
  const {
15934
16034
  startDate,
15935
16035
  endDate
@@ -15958,7 +16058,7 @@ const DateSelectReadOnly$2 = props => {
15958
16058
  sx: {
15959
16059
  marginRight: 1
15960
16060
  }
15961
- }), getDate$1(startDate) || "N/A"]
16061
+ }), getDate(startDate) || "N/A"]
15962
16062
  })
15963
16063
  })]
15964
16064
  }), /*#__PURE__*/jsxs(Grid, {
@@ -15981,7 +16081,7 @@ const DateSelectReadOnly$2 = props => {
15981
16081
  sx: {
15982
16082
  marginRight: 1
15983
16083
  }
15984
- }), getDate$1(endDate) || "N/A"]
16084
+ }), getDate(endDate) || "N/A"]
15985
16085
  })
15986
16086
  })]
15987
16087
  })]
@@ -16016,13 +16116,13 @@ const DateRangeField = ({
16016
16116
  minimumDate: startDateMinDate,
16017
16117
  maximumDate: startDateMaxDate
16018
16118
  } = _ref,
16019
- startDateProps = _objectWithoutPropertiesLoose(_ref, _excluded$1);
16119
+ startDateProps = _objectWithoutPropertiesLoose(_ref, _excluded$i);
16020
16120
  const _ref2 = (uiSchema == null ? void 0 : uiSchema["ui:endDateProps"]) || {},
16021
16121
  {
16022
16122
  minimumDate: endDateMinDate,
16023
16123
  maximumDate: endDateMaxDate
16024
16124
  } = _ref2,
16025
- endDateProps = _objectWithoutPropertiesLoose(_ref2, _excluded2);
16125
+ endDateProps = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
16026
16126
  const {
16027
16127
  error
16028
16128
  } = useFormControl();
@@ -16066,8 +16166,8 @@ DateRangeField.propTypes = {
16066
16166
  required: PropTypes.bool,
16067
16167
  value: PropTypes.any
16068
16168
  };
16069
- const HOCs$a = [...commonFieldHOCs, withReadyOnly(DateSelectReadOnly$2)];
16070
- var DateRangeField$1 = compose(HOCs$a)(DateRangeField);
16169
+ const HOCs$3 = [...commonFieldHOCs, withReadyOnly(DateSelectReadOnly)];
16170
+ var DateRangeField$1 = compose(HOCs$3)(DateRangeField);
16071
16171
 
16072
16172
  const useReadOnly = uiSchema => {
16073
16173
  const code = uiSchema == null ? void 0 : uiSchema["eval:readonly"];
@@ -16152,7 +16252,7 @@ DateSelectReadOnly$1.propTypes = {
16152
16252
  };
16153
16253
 
16154
16254
  // INFO: It overrides styles from from legacy aefis project
16155
- const dateInputStyles = {
16255
+ const dateInputStyles$1 = {
16156
16256
  "> div > input ": {
16157
16257
  cursor: "text !important",
16158
16258
  backgroundColor: "unset !important"
@@ -16287,7 +16387,7 @@ const DateSelect = props => {
16287
16387
  inputProps: _extends({}, params.inputProps, {
16288
16388
  type: "text"
16289
16389
  }),
16290
- sx: dateInputStyles
16390
+ sx: dateInputStyles$1
16291
16391
  })),
16292
16392
  minDate: minDate,
16293
16393
  maxDate: maxDate
@@ -16330,28 +16430,6 @@ const DisableWrapper = ({
16330
16430
  }));
16331
16431
  };
16332
16432
 
16333
- // https://stackoverflow.com/questions/7394748/whats-the-right-way-to-decode-a-string-that-has-special-html-entities-in-it/7394787#7394787
16334
- const decodeHtml$2 = html => {
16335
- const textarea = document.createElement("textarea");
16336
- textarea.innerHTML = html;
16337
- return textarea.value;
16338
- };
16339
-
16340
- const render = (value, formState) => {
16341
- if (value === undefined || value === null) {
16342
- return value;
16343
- }
16344
- return mustache.render(value, formState);
16345
- };
16346
- const renderUrl = (value, formState) => {
16347
- if (value === undefined || value === null) {
16348
- return value;
16349
- }
16350
- return decodeHtml$2(mustache.render(value, formState));
16351
- };
16352
- const useRenderUrl = template => useSelectFormState(state => renderUrl(template, state));
16353
- const useRender = template => useSelectFormState(state => render(template, state));
16354
-
16355
16433
  const ImageUploadReadOnly = ({
16356
16434
  formData,
16357
16435
  schema,
@@ -16432,7 +16510,7 @@ const Upload = props => {
16432
16510
  const inputProps = uiSchema == null ? void 0 : uiSchema["ui:props"];
16433
16511
  const documentName = useRender(documentNameTemplate);
16434
16512
  const downloadUrl = useRenderUrl(downloadUrlTemplate);
16435
- useRender(extensionTemplate);
16513
+ const extension = useRender(extensionTemplate);
16436
16514
  const [files, setFiles] = useState([]);
16437
16515
  const uploadUrl = useMemo(() => getDataSourceUrl(uploadDataSource), [uploadDataSource]);
16438
16516
 
@@ -16551,8 +16629,8 @@ Upload.propTypes = {
16551
16629
  acceptedFileTypes: PropTypes.array
16552
16630
  };
16553
16631
 
16554
- const HOCs$9 = [...commonFieldHOCs];
16555
- var UploadField = compose(HOCs$9)(Upload);
16632
+ const HOCs$4 = [...commonFieldHOCs];
16633
+ var UploadField = compose(HOCs$4)(Upload);
16556
16634
 
16557
16635
  const renderUserIcon = userType => {
16558
16636
  let iconButton;
@@ -16908,8 +16986,8 @@ const LinkUserFieldReadOnly = props => {
16908
16986
  })]
16909
16987
  });
16910
16988
  };
16911
- const HOCs$8 = [...commonFieldHOCs, withReadyOnly(LinkUserFieldReadOnly)];
16912
- var LinkUserField$1 = compose(HOCs$8)(LinkUserField);
16989
+ const HOCs$5 = [...commonFieldHOCs, withReadyOnly(LinkUserFieldReadOnly)];
16990
+ var LinkUserField$1 = compose(HOCs$5)(LinkUserField);
16913
16991
 
16914
16992
  const withEvalDisable = () => Component => {
16915
16993
  const MemoizedComponent = /*#__PURE__*/React.memo(Component);
@@ -16966,7 +17044,7 @@ const SelectFieldLoading = props => {
16966
17044
  },
16967
17045
  name: props.schema.title,
16968
17046
  displayEmpty: false,
16969
- children: [renderPlaceHolder$1(props.placeholder, status), initialLabel && /*#__PURE__*/jsx(MenuItem, {
17047
+ children: [renderPlaceHolder(props.placeholder, status), initialLabel && /*#__PURE__*/jsx(MenuItem, {
16970
17048
  value: "loading",
16971
17049
  children: initialLabel
16972
17050
  }, "loading")]
@@ -17060,7 +17138,7 @@ const decodeHtml$1 = html => {
17060
17138
  textarea.innerHTML = html;
17061
17139
  return textarea.value;
17062
17140
  };
17063
- const renderPlaceHolder$1 = (placeholder, status) => {
17141
+ const renderPlaceHolder = (placeholder, status) => {
17064
17142
  if (status === "loading") {
17065
17143
  return /*#__PURE__*/jsx(MenuItem, {
17066
17144
  value: "none",
@@ -17078,7 +17156,7 @@ const renderPlaceHolder$1 = (placeholder, status) => {
17078
17156
  };
17079
17157
  const useQueryParam$1 = queryTemplate => {
17080
17158
  const selector = useCallback(state => {
17081
- const query = render(queryTemplate, state);
17159
+ const query = render$2(queryTemplate, state);
17082
17160
  const o = qs.parse(query);
17083
17161
  Object.keys(o).forEach(key => {
17084
17162
  if (o[key] === "" || o[key] == undefined) {
@@ -17197,7 +17275,7 @@ const SelectField = props => {
17197
17275
  name: props.schema.title,
17198
17276
  displayEmpty: false,
17199
17277
  disabled: props.disabled,
17200
- children: [renderPlaceHolder$1(props.placeholder, status), !props.required && !isMultiple && /*#__PURE__*/jsx(MenuItem, {
17278
+ children: [renderPlaceHolder(props.placeholder, status), !props.required && !isMultiple && /*#__PURE__*/jsx(MenuItem, {
17201
17279
  value: emptyValue === undefined ? "" : emptyValue,
17202
17280
  children: /*#__PURE__*/jsx("em", {
17203
17281
  children: "None"
@@ -17228,8 +17306,8 @@ SelectField.propTypes = {
17228
17306
  value: PropTypes.any,
17229
17307
  disabled: PropTypes.any
17230
17308
  };
17231
- const HOCs$7 = [...commonWidgetHOCs, withEvalDisable()];
17232
- var SelectField$1 = compose(HOCs$7)(SelectField);
17309
+ const HOCs$6 = [...commonWidgetHOCs, withEvalDisable()];
17310
+ var SelectField$1 = compose(HOCs$6)(SelectField);
17233
17311
 
17234
17312
  // TODO: refactor usage of readonly
17235
17313
  // use the similar usage on each implementation
@@ -17303,7 +17381,7 @@ const useProcessCondition = formState => {
17303
17381
  return newFormState;
17304
17382
  };
17305
17383
 
17306
- const useStyles$1 = makeStyles$1(theme => ({
17384
+ const useStyles$G = makeStyles$1(theme => ({
17307
17385
  fab: {
17308
17386
  margin: theme.spacing(1)
17309
17387
  },
@@ -17362,7 +17440,7 @@ const renderElement = (element, elementIndex, disabled) => {
17362
17440
  children: /*#__PURE__*/jsx(IconButton$1, {
17363
17441
  onClick: element.onDropIndexClick(element.index),
17364
17442
  "aria-label": "Delete",
17365
- children: /*#__PURE__*/jsx(Delete$1, {
17443
+ children: /*#__PURE__*/jsx(Delete, {
17366
17444
  style: {
17367
17445
  color: "#B94A48"
17368
17446
  }
@@ -17375,7 +17453,7 @@ const renderElement = (element, elementIndex, disabled) => {
17375
17453
  }, element.key);
17376
17454
  };
17377
17455
  const renderAddButton = props => {
17378
- const classes = useStyles$1();
17456
+ const classes = useStyles$G();
17379
17457
  return /*#__PURE__*/jsx("div", {
17380
17458
  className: "row",
17381
17459
  children: /*#__PURE__*/jsx("p", {
@@ -17450,12 +17528,12 @@ ArrayTemplateWithReadOnly.propTypes = {
17450
17528
  items: PropTypes.any,
17451
17529
  schema: PropTypes.any
17452
17530
  };
17453
- const HOCs$6 = [withReadyOnly(ArrayTemplateWithReadOnly)];
17454
- var ArrayFieldTemplate$1 = compose(HOCs$6)(ArrayFieldTemplate);
17531
+ const HOCs$7 = [withReadyOnly(ArrayTemplateWithReadOnly)];
17532
+ var ArrayFieldTemplate$1 = compose(HOCs$7)(ArrayFieldTemplate);
17455
17533
 
17456
17534
  // export default withReadyOnly(ArrayFieldTemplate, ArrayTemplateWithReadOnly);
17457
17535
 
17458
- const useStyles = makeStyles$1(theme => ({
17536
+ const useStyles$H = makeStyles$1(theme => ({
17459
17537
  titleContainer: {
17460
17538
  paddingBottom: theme.spacing(4)
17461
17539
  },
@@ -17472,7 +17550,7 @@ const useStyles = makeStyles$1(theme => ({
17472
17550
  }));
17473
17551
  const ObjectFieldTemplate = props => {
17474
17552
  const isReadOnly = useReadOnly();
17475
- const classes = useStyles();
17553
+ const classes = useStyles$H();
17476
17554
  let totalMdSize = 0;
17477
17555
  const calculateHiddenSize = () => {
17478
17556
  const result = (12 - totalMdSize) % 12;
@@ -17564,15 +17642,15 @@ const transformErrors = errors => {
17564
17642
  return newErrors;
17565
17643
  };
17566
17644
 
17567
- const getDate = dateStr => {
17645
+ const getDate$1 = dateStr => {
17568
17646
  try {
17569
17647
  return dateStr ? new Date(dateStr).toLocaleDateString("en-US") : undefined;
17570
17648
  } catch (e) {
17571
17649
  return dateStr;
17572
17650
  }
17573
17651
  };
17574
- const DateSelectReadOnly = props => {
17575
- const value = getDate(props.formData || props.value);
17652
+ const DateSelectReadOnly$2 = props => {
17653
+ const value = getDate$1(props.formData || props.value);
17576
17654
  return /*#__PURE__*/jsxs(Fragment, {
17577
17655
  children: [/*#__PURE__*/jsx(Typography, {
17578
17656
  gutterBottom: true,
@@ -17621,10 +17699,10 @@ DateWidgetRaw.propTypes = {
17621
17699
  required: PropTypes.bool,
17622
17700
  value: PropTypes.any
17623
17701
  };
17624
- const HOCs$5 = [...commonWidgetHOCs, withReadyOnly(DateSelectReadOnly)];
17625
- const DateWidget = compose(HOCs$5)(DateWidgetRaw);
17702
+ const HOCs$8 = [...commonWidgetHOCs, withReadyOnly(DateSelectReadOnly$2)];
17703
+ const DateWidget = compose(HOCs$8)(DateWidgetRaw);
17626
17704
 
17627
- const getError$1 = errors => {
17705
+ const getError = errors => {
17628
17706
  if (errors) {
17629
17707
  return errors.map(info => /*#__PURE__*/jsx(FormHelperText, {
17630
17708
  style: {
@@ -17639,9 +17717,9 @@ const getError$1 = errors => {
17639
17717
  return null;
17640
17718
  };
17641
17719
 
17642
- const _excluded = ["inputRef"];
17720
+ const _excluded$j = ["inputRef"];
17643
17721
  const TextMaskCustom = /*#__PURE__*/forwardRef((props, ref) => {
17644
- const other = _objectWithoutPropertiesLoose(props, _excluded);
17722
+ const other = _objectWithoutPropertiesLoose(props, _excluded$j);
17645
17723
  const placeholderChar = "\u2000";
17646
17724
  const pipe = (conformedValue, config) => {
17647
17725
  var indexes = [1, 2, 3, 6, 7, 8, 10, 11, 12, 13];
@@ -17697,7 +17775,7 @@ const PhoneWidget = props => {
17697
17775
  },
17698
17776
  type: schema.format,
17699
17777
  placeholder: schema.placeholder
17700
- }), getError$1(rawErrors)]
17778
+ }), getError(rawErrors)]
17701
17779
  });
17702
17780
  };
17703
17781
  PhoneWidget.propTypes = {
@@ -17746,15 +17824,15 @@ const PhoneWidgetReadOnly = props => {
17746
17824
  })]
17747
17825
  });
17748
17826
  };
17749
- const HOCs$4 = [...commonWidgetHOCs, withReadyOnly(PhoneWidgetReadOnly)];
17750
- var PhoneWidget$1 = compose(HOCs$4)(PhoneWidget);
17827
+ const HOCs$9 = [...commonWidgetHOCs, withReadyOnly(PhoneWidgetReadOnly)];
17828
+ var PhoneWidget$1 = compose(HOCs$9)(PhoneWidget);
17751
17829
 
17752
- const decodeHtml = html => {
17830
+ const decodeHtml$2 = html => {
17753
17831
  const textarea = document.createElement("textarea");
17754
17832
  textarea.innerHTML = html;
17755
17833
  return textarea.value;
17756
17834
  };
17757
- const renderPlaceHolder = (placeholder, status) => {
17835
+ const renderPlaceHolder$1 = (placeholder, status) => {
17758
17836
  if (status === "loading") {
17759
17837
  return /*#__PURE__*/jsx(MenuItem, {
17760
17838
  value: "none",
@@ -17770,9 +17848,9 @@ const renderPlaceHolder = (placeholder, status) => {
17770
17848
  });
17771
17849
  }
17772
17850
  };
17773
- const useQueryParam = queryTemplate => {
17851
+ const useQueryParam$2 = queryTemplate => {
17774
17852
  const selector = useCallback(state => {
17775
- const query = render(queryTemplate, state);
17853
+ const query = render$2(queryTemplate, state);
17776
17854
  const o = qs.parse(query);
17777
17855
  Object.keys(o).forEach(key => {
17778
17856
  if (o[key] === "" || o[key] == undefined) {
@@ -17788,7 +17866,7 @@ const SelectWidget = props => {
17788
17866
  var _props$uiSchema, _props$uiSchema2, _props$value;
17789
17867
  const formState = useSelectFormState(state => state);
17790
17868
  const datasource = (_props$uiSchema = props.uiSchema) == null ? void 0 : _props$uiSchema.dataSource;
17791
- const query = useQueryParam(props.uiSchema.queryTemplate);
17869
+ const query = useQueryParam$2(props.uiSchema.queryTemplate);
17792
17870
  const {
17793
17871
  status,
17794
17872
  data
@@ -17822,7 +17900,7 @@ const SelectWidget = props => {
17822
17900
  // "template": "{ \"id\": {{id}}, \"name\": \"{{name}}\" }",
17823
17901
  if (template) {
17824
17902
  const rendered = mustache.render(template, option);
17825
- o = JSON.parse(decodeHtml(rendered));
17903
+ o = JSON.parse(decodeHtml$2(rendered));
17826
17904
  }
17827
17905
  const id = idTemplate && mustache.render(idTemplate, option);
17828
17906
  const label = optionTemplate && mustache.render(optionTemplate, option);
@@ -17861,7 +17939,7 @@ const SelectWidget = props => {
17861
17939
  onChange: event => props.onChange(event.target.value),
17862
17940
  name: props.schema.title,
17863
17941
  displayEmpty: false,
17864
- children: [renderPlaceHolder(props.placeholder, status), !props.required && /*#__PURE__*/jsx(MenuItem, {
17942
+ children: [renderPlaceHolder$1(props.placeholder, status), !props.required && /*#__PURE__*/jsx(MenuItem, {
17865
17943
  value: emptyValue === undefined ? "" : emptyValue,
17866
17944
  children: /*#__PURE__*/jsx("em", {
17867
17945
  children: "None"
@@ -17895,10 +17973,10 @@ SelectWidget.propTypes = {
17895
17973
  value: PropTypes.any,
17896
17974
  disabled: PropTypes.any
17897
17975
  };
17898
- const HOCs$3 = [...commonWidgetHOCs, withReadyOnly(undefined, {
17976
+ const HOCs$a = [...commonWidgetHOCs, withReadyOnly(undefined, {
17899
17977
  preventDefault: true
17900
17978
  }), withEvalDisable()];
17901
- var SelectWidget$1 = compose(HOCs$3)(SelectWidget);
17979
+ var SelectWidget$1 = compose(HOCs$a)(SelectWidget);
17902
17980
 
17903
17981
  /**
17904
17982
  * TODO:
@@ -17973,8 +18051,8 @@ TextareaWidget.propTypes = {
17973
18051
  }),
17974
18052
  value: PropTypes.string
17975
18053
  };
17976
- const HOCs$2 = [...commonWidgetHOCs, withReadyOnly(TextareaWidgetReadOnly)];
17977
- var TextareaWidget$1 = compose(HOCs$2)(TextareaWidget);
18054
+ const HOCs$b = [...commonWidgetHOCs, withReadyOnly(TextareaWidgetReadOnly)];
18055
+ var TextareaWidget$1 = compose(HOCs$b)(TextareaWidget);
17978
18056
 
17979
18057
  const TextWidgetReadOnly = props => /*#__PURE__*/jsx(ReadOnlyView, {
17980
18058
  label: props.schema.title,
@@ -18050,10 +18128,10 @@ TextWidget.propTypes = {
18050
18128
  }),
18051
18129
  value: PropTypes.any
18052
18130
  };
18053
- const HOCs$1 = [...commonWidgetHOCs, withReadyOnly(TextWidgetReadOnly), withEvalDisable()];
18054
- var TextWidget$1 = compose(HOCs$1)(TextWidget);
18131
+ const HOCs$c = [...commonWidgetHOCs, withReadyOnly(TextWidgetReadOnly), withEvalDisable()];
18132
+ var TextWidget$1 = compose(HOCs$c)(TextWidget);
18055
18133
 
18056
- const getError = errors => {
18134
+ const getError$1 = errors => {
18057
18135
  if (errors) {
18058
18136
  return errors.map(info => /*#__PURE__*/jsx(FormHelperText, {
18059
18137
  style: {
@@ -18161,7 +18239,7 @@ const ValidateWidget = props => {
18161
18239
  type: schema.format,
18162
18240
  placeholder: schema.placeholder,
18163
18241
  helperText: validationResultText
18164
- }), getError(rawErrors)]
18242
+ }), getError$1(rawErrors)]
18165
18243
  });
18166
18244
  };
18167
18245
  ValidateWidget.propTypes = {
@@ -18407,8 +18485,8 @@ DynamicForm.propTypes = {
18407
18485
  /** renders bottom of form */
18408
18486
  renderBottom: PropTypes.func
18409
18487
  };
18410
- const HOCs = [withFormStore, withSubmitListener];
18411
- var DynamicForm$1 = compose(HOCs)(DynamicForm);
18488
+ const HOCs$d = [withFormStore, withSubmitListener];
18489
+ var DynamicForm$1 = compose(HOCs$d)(DynamicForm);
18412
18490
 
18413
18491
  const DynamicFormHooks = {
18414
18492
  useSelectFormState,
@@ -18416,5 +18494,5 @@ const DynamicFormHooks = {
18416
18494
  useReadOnly
18417
18495
  };
18418
18496
 
18419
- export { Actions$1 as Actions, Alert, AvatarBox, AvatarTitle, BusinessObject, BusinessObjectCard, EmptyCardSection as BusinessObjectCardEmptySection, CardSection as BusinessObjectCardSection, CardSectionTitle as BusinessObjectCardSectionTitle, BusinessObjectPanel, Header$1 as BusinessObjectPanelHeader, Section as BusinessObjectPanelSection, SectionTitle as BusinessObjectPanelSectionTitle, BusinessObjectPicker, BusinessObjectStatus, BusinessObjectStatusButton, BusinessObjectTable, Button, Chip, ContentBox, CurriculumChart, DataTable, DatePickerBase as DatePicker, DisplayInFrame, DocViewer, Drawer, DynamicForm$1 as DynamicForm, BusinessObjectPickerField$1 as DynamicFormBusinessObjectPickerField, DynamicFormHooks, EditableText, FilterPanel, FilterChips$1 as FilterPanelFilterChips, mapFilters as FilterPanelMapFilters, FullPageViewer, Icon$1 as Icon, Image, IsometricImage, List, ListItem, ListItemGroup, MenuButton, ModalDialog, Notification, OutcomeSpace, PanelDrawer, ProgressChart, RichDataTable, RubricLegend, RubricScoreSlider, ScrollToTopButton, ScrollingContainer, SkeletonContent, StatBoxes, StatusMessage, SvgImage, SwipeableTabPanel, Content as SwipeableTabPanelContent, Timeline, TitleAndActionHeader, TitleAndDescription, UserAvatar, WizardPanel, businessObjectColor, businessObjectConfiguration, businessObjectIcon, createComponentEvent, createEvent, createComponentStore as createStore, dataSourceManager, filterSortData, getBaseUrl, getConfiguration, getDataSourceUrl, http, outcomeSpaceColor, outcomeSpaceTypeFromSource, registerDataSource, registerDataSources, setDataSourceConfiguration, template, useComponentWillMount, useDataSourceInfiniteQuery, useDataSourceMutation, useDataSourceQuery, useDataSourceUrl, useDebounceCallback, useNotify, useRefDimensions, withStatusButtonDataSource };
18497
+ export { Actions, Alert, AvatarBox, AvatarTitle, BusinessObject, BusinessObjectCard, EmptyCardSection$1 as BusinessObjectCardEmptySection, CardSection$1 as BusinessObjectCardSection, CardSectionTitle$1 as BusinessObjectCardSectionTitle, BusinessObjectPanel, Header as BusinessObjectPanelHeader, Section as BusinessObjectPanelSection, SectionTitle as BusinessObjectPanelSectionTitle, BusinessObjectPicker$1 as BusinessObjectPicker, BusinessObjectStatus, BusinessObjectStatusButton, BusinessObjectTable, Button, Chip, ContentBox, CurriculumChart, DataTable, DatePickerBase as DatePicker, DisplayInFrame, DocViewer, Drawer, DynamicForm$1 as DynamicForm, BusinessObjectPickerField$1 as DynamicFormBusinessObjectPickerField, DynamicFormHooks, EditableText, FilterPanel, FilterChips$1 as FilterPanelFilterChips, mapFilters as FilterPanelMapFilters, FullPageViewer, Icon, Image, IsometricImage, List, ListItem$1 as ListItem, ListItemGroup, MenuButton, ModalDialog, Notification, OutcomeSpace, PanelDrawer, ProgressChart, RichDataTable, RubricLegend, RubricScoreSlider, ScrollToTopButton, ScrollingContainer, SkeletonContent, StatBoxes, StatusMessage, SvgImage, SwipeableTabPanel, Content as SwipeableTabPanelContent, Timeline, TitleAndActionHeader, TitleAndDescription, UserAvatar, WizardPanel, businessObjectColor, businessObjectConfiguration, businessObjectIcon, createComponentEvent, createEvent, createComponentStore as createStore, dataSourceManager, filterSortData, getBaseUrl, getConfiguration, getDataSourceUrl, http, outcomeSpaceColor, outcomeSpaceTypeFromSource, registerDataSource, registerDataSources, setDataSourceConfiguration, template, useComponentWillMount, useDataSourceInfiniteQuery, useDataSourceMutation, useDataSourceQuery, useDataSourceUrl, useDebounceCallback, useNotify, useRefDimensions, withStatusButtonDataSource };
18420
18498
  //# sourceMappingURL=index.modern.js.map