@pega/react-sdk-overrides 0.25.1 → 0.25.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/lib/designSystemExtension/Banner/Banner.css +1 -1
  2. package/lib/designSystemExtension/Banner/Banner.tsx +7 -7
  3. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  4. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +52 -36
  5. package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +11 -13
  6. package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +8 -9
  7. package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +9 -9
  8. package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +7 -8
  9. package/lib/designSystemExtension/Operator/Operator.tsx +21 -19
  10. package/lib/designSystemExtension/Pulse/Pulse.tsx +1 -1
  11. package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +28 -3
  12. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.css +4 -4
  13. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +1 -1
  14. package/lib/field/AutoComplete/AutoComplete.tsx +1 -1
  15. package/lib/field/CancelAlert/CancelAlert.css +4 -4
  16. package/lib/field/CancelAlert/CancelAlert.tsx +6 -6
  17. package/lib/field/Checkbox/Checkbox.tsx +97 -4
  18. package/lib/field/Currency/Currency.tsx +3 -3
  19. package/lib/field/Currency/currency-utils.ts +1 -2
  20. package/lib/field/Date/Date.tsx +3 -7
  21. package/lib/field/DateTime/DateTime.tsx +3 -8
  22. package/lib/field/Decimal/Decimal.tsx +3 -5
  23. package/lib/field/Dropdown/Dropdown.tsx +5 -7
  24. package/lib/field/Email/Email.tsx +11 -13
  25. package/lib/field/Group/Group.tsx +7 -7
  26. package/lib/field/Integer/Integer.tsx +5 -7
  27. package/lib/field/Location/Location.tsx +256 -0
  28. package/lib/field/Location/config-ext.json +8 -0
  29. package/lib/field/Location/index.tsx +1 -0
  30. package/lib/field/ObjectReference/ObjectReference.tsx +235 -0
  31. package/lib/field/ObjectReference/index.tsx +1 -0
  32. package/lib/field/ObjectReference/utils.ts +111 -0
  33. package/lib/field/Percentage/Percentage.tsx +3 -7
  34. package/lib/field/Phone/Phone.tsx +7 -5
  35. package/lib/field/RadioButtons/RadioButtons.tsx +47 -2
  36. package/lib/field/RichText/RichText.tsx +1 -1
  37. package/lib/field/ScalarList/ScalarList.tsx +2 -3
  38. package/lib/field/SelectableCard/SelectableCard.tsx +175 -0
  39. package/lib/field/SelectableCard/index.tsx +1 -0
  40. package/lib/field/SelectableCard/utils.tsx +226 -0
  41. package/lib/field/SemanticLink/SemanticLink.tsx +160 -28
  42. package/lib/field/SemanticLink/utils.ts +1 -1
  43. package/lib/field/TextArea/TextArea.tsx +5 -7
  44. package/lib/field/TextContent/TextContent.tsx +1 -2
  45. package/lib/field/TextInput/TextInput.tsx +5 -7
  46. package/lib/field/Time/Time.tsx +3 -7
  47. package/lib/field/URL/URL.tsx +5 -7
  48. package/lib/field/UserReference/UserReference.tsx +1 -2
  49. package/lib/helpers/attachmentHelpers.ts +56 -35
  50. package/lib/helpers/common-utils.ts +2 -2
  51. package/lib/helpers/data_page.ts +0 -1
  52. package/lib/helpers/field-group-utils.ts +1 -1
  53. package/lib/helpers/formatters/CurrencyMap.ts +0 -2
  54. package/lib/helpers/simpleTableHelpers.ts +118 -6
  55. package/lib/helpers/utils.ts +8 -1
  56. package/lib/helpers/versionHelpers.ts +0 -1
  57. package/lib/infra/ActionButtons/ActionButtons.tsx +28 -21
  58. package/lib/infra/Assignment/Assignment.tsx +4 -4
  59. package/lib/infra/AssignmentCard/AssignmentCard.tsx +2 -2
  60. package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +15 -94
  61. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +1 -2
  62. package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +3 -3
  63. package/lib/infra/Containers/ViewContainer/ViewContainer.tsx +4 -5
  64. package/lib/infra/Containers/container-helpers.ts +47 -1
  65. package/lib/infra/DashboardFilter/DashboardFilter.tsx +2 -4
  66. package/lib/infra/DashboardFilter/filterUtils.tsx +3 -4
  67. package/lib/infra/DeferLoad/DeferLoad.tsx +2 -4
  68. package/lib/infra/ErrorBoundary/ErrorBoundary.tsx +1 -3
  69. package/lib/infra/MultiStep/MultiStep.css +8 -8
  70. package/lib/infra/MultiStep/MultiStep.tsx +2 -2
  71. package/lib/infra/NavBar/NavBar.css +1 -1
  72. package/lib/infra/NavBar/NavBar.tsx +29 -27
  73. package/lib/infra/Reference/Reference.tsx +3 -4
  74. package/lib/infra/Region/Region.tsx +1 -1
  75. package/lib/infra/RootContainer/RootContainer.tsx +2 -3
  76. package/lib/infra/Stages/Stages.tsx +1 -1
  77. package/lib/infra/View/View.tsx +2 -2
  78. package/lib/template/AdvancedSearch/AdvancedSearch.tsx +0 -1
  79. package/lib/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -9
  80. package/lib/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +3 -4
  81. package/lib/template/AdvancedSearch/SearchGroups/hooks.ts +1 -1
  82. package/lib/template/AppShell/AppShell.css +1 -1
  83. package/lib/template/AppShell/AppShell.tsx +6 -10
  84. package/lib/template/BannerPage/BannerPage.tsx +2 -2
  85. package/lib/template/CaseSummary/CaseSummary.tsx +2 -3
  86. package/lib/template/CaseView/CaseView.tsx +15 -21
  87. package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
  88. package/lib/template/Confirmation/Confirmation.tsx +2 -3
  89. package/lib/template/DataReference/DataReference.tsx +9 -12
  90. package/lib/template/DataReference/SearchForm.tsx +6 -5
  91. package/lib/template/DataReference/{utils.js → utils.ts} +3 -3
  92. package/lib/template/DefaultForm/DefaultForm.tsx +3 -3
  93. package/lib/template/Details/Details/Details.tsx +11 -11
  94. package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +2 -2
  95. package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +11 -11
  96. package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +11 -11
  97. package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +1 -1
  98. package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -3
  99. package/lib/template/InlineDashboard/InlineDashboard.tsx +14 -16
  100. package/lib/template/InlineDashboardPage/InlineDashboardPage.tsx +2 -2
  101. package/lib/template/ListPage/ListPage.tsx +1 -1
  102. package/lib/template/ListView/ListView.tsx +10 -22
  103. package/lib/template/ListView/hooks.ts +1 -5
  104. package/lib/template/ListView/utils.ts +1 -1
  105. package/lib/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  106. package/lib/template/NarrowWide/NarrowWide/NarrowWide.tsx +5 -5
  107. package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +11 -11
  108. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +2 -2
  109. package/lib/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +2 -2
  110. package/lib/template/OneColumn/OneColumn/OneColumn.tsx +7 -7
  111. package/lib/template/OneColumn/OneColumnPage/OneColumnPage.tsx +1 -1
  112. package/lib/template/OneColumn/OneColumnTab/OneColumnTab.tsx +2 -2
  113. package/lib/template/PromotedFilters/PromotedFilters.tsx +1 -2
  114. package/lib/template/SimpleTable/SimpleTable/SimpleTable.tsx +2 -3
  115. package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +35 -32
  116. package/lib/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +1 -1
  117. package/lib/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -1
  118. package/lib/template/SubTabs/SubTabs.tsx +2 -2
  119. package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +9 -10
  120. package/lib/template/TwoColumn/TwoColumnPage/TwoColumnPage.tsx +1 -1
  121. package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +9 -10
  122. package/lib/template/WideNarrow/WideNarrow/WideNarrow.tsx +5 -5
  123. package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +11 -11
  124. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +2 -2
  125. package/lib/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +2 -2
  126. package/lib/template/WssNavBar/WssNavBar.css +1 -1
  127. package/lib/template/WssNavBar/WssNavBar.tsx +5 -5
  128. package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +1 -1
  129. package/lib/widget/Attachment/Attachment.css +6 -8
  130. package/lib/widget/Attachment/Attachment.tsx +62 -58
  131. package/lib/widget/CaseHistory/CaseHistory.tsx +5 -5
  132. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.css +0 -14
  133. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +3 -3
  134. package/lib/widget/FileUtility/FileUtility/FileUtility.css +7 -6
  135. package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +5 -7
  136. package/lib/widget/Followers/Followers.tsx +2 -4
  137. package/lib/widget/QuickCreate/QuickCreate.tsx +1 -2
  138. package/lib/widget/SummaryItem/SummaryItem.css +9 -11
  139. package/lib/widget/SummaryItem/SummaryItem.tsx +2 -2
  140. package/lib/widget/SummaryList/SummaryList.tsx +1 -1
  141. package/lib/widget/ToDo/ToDo.css +1 -13
  142. package/lib/widget/ToDo/ToDo.tsx +26 -26
  143. package/package.json +1 -1
  144. /package/lib/template/DataReference/{DataReferenceAdvancedSearchContext.js → DataReferenceAdvancedSearchContext.ts} +0 -0
@@ -1,11 +1,10 @@
1
- /* eslint-disable @typescript-eslint/no-shadow */
2
- import { forwardRef, PropsWithChildren, useEffect, useRef, useState } from 'react';
1
+ import { forwardRef, type PropsWithChildren, useEffect, useRef, useState } from 'react';
3
2
  import { TextField } from '@mui/material';
4
3
  import { debounce } from 'throttle-debounce';
5
4
  import DatePicker from 'react-datepicker';
6
5
 
7
6
  import { createFilter, combineFilters, getFormattedDate, getFilterExpression } from './filterUtils';
8
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
8
 
10
9
  import 'react-datepicker/dist/react-datepicker.css';
11
10
 
@@ -109,7 +108,6 @@ export default function DashboardFilter(props: PropsWithChildren<DashboardFilter
109
108
 
110
109
  const label = metadata.config.label.substring(3);
111
110
 
112
- // eslint-disable-next-line react/no-unstable-nested-components
113
111
  const CustomDateInput = forwardRef<HTMLInputElement, TextProps>(({ value, onClick }, ref: any) => (
114
112
  <TextField label={label} variant='outlined' fullWidth value={value} size='small' onClick={onClick} ref={ref}>
115
113
  {value}
@@ -1,7 +1,6 @@
1
- /* eslint-disable prefer-template */
2
1
  /** This file contains various utility methods to generate filter components, regionLayout data, filter expressions, etc. */
3
2
 
4
- import { Grid, Link } from '@mui/material';
3
+ import { Grid2, Link } from '@mui/material';
5
4
 
6
5
  import DashboardFilter from './DashboardFilter';
7
6
 
@@ -77,7 +76,7 @@ export const buildFilterComponents = (getPConnect, allFilters) => {
77
76
  const filterComponents = allFilters.children.map((filter, index) => createFilterComponent(getPConnect, filter, index));
78
77
  if (filterComponents && filterComponents.length > 0) {
79
78
  filterComponents.push(
80
- <Grid style={{ display: 'flex', alignItems: 'center' }}>
79
+ <Grid2 style={{ display: 'flex', alignItems: 'center' }}>
81
80
  <Link
82
81
  style={{ cursor: 'pointer' }}
83
82
  onClick={() => {
@@ -87,7 +86,7 @@ export const buildFilterComponents = (getPConnect, allFilters) => {
87
86
  >
88
87
  Clear All
89
88
  </Link>
90
- </Grid>
89
+ </Grid2>
91
90
  );
92
91
  }
93
92
  return filterComponents;
@@ -4,7 +4,7 @@ import makeStyles from '@mui/styles/makeStyles';
4
4
 
5
5
  import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
6
6
 
7
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
8
 
9
9
  interface DeferLoadProps extends PConnProps {
10
10
  // If any, enter additional props that only exist on this component
@@ -115,14 +115,13 @@ export default function DeferLoad(props: DeferLoadProps) {
115
115
  .getActionsApi()
116
116
  .showData(name, dataContext, dataContextParameters, {
117
117
  skipSemanticUrl: true,
118
- // @ts-ignore
118
+ // @ts-expect-error
119
119
  isDeferLoaded: true
120
120
  })
121
121
  .then(data => {
122
122
  onResponse(data);
123
123
  });
124
124
  } else {
125
- // eslint-disable-next-line no-console
126
125
  console.error('Cannot load the defer loaded view without container information');
127
126
  }
128
127
  } else if (resourceType === PAGE) {
@@ -141,7 +140,6 @@ export default function DeferLoad(props: DeferLoadProps) {
141
140
  onResponse(data.root);
142
141
  })
143
142
  .catch(error => {
144
- // eslint-disable-next-line no-console
145
143
  console.log(`deferload: ${error}`);
146
144
  });
147
145
  }
@@ -1,4 +1,4 @@
1
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
1
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
2
2
 
3
3
  interface ErrorBoundaryProps extends PConnProps {
4
4
  // If any, enter additional props that only exist on this component
@@ -23,7 +23,6 @@ export default function ErrorBoundary(props: ErrorBoundaryProps) {
23
23
  const pConn = getPConnect();
24
24
 
25
25
  if (!isInternalError) {
26
- // eslint-disable-next-line no-console
27
26
  console.error(`
28
27
  ${localizedVal('Unable to load the component', localeCategory)} ${pConn.getComponentName()}
29
28
  ${localizedVal('This might be due to the view metadata getting corrupted or the component file missing.', localeCategory)}
@@ -37,7 +36,6 @@ export default function ErrorBoundary(props: ErrorBoundaryProps) {
37
36
 
38
37
  if (pConn.getContainerName() === WORK_AREA || pConn.isInsideList() === true || pConn.getContainerName() === 'modal') {
39
38
  const { publish } = PCore.getPubSubUtils();
40
- // @ts-ignore - second parameter “payload” for publish method should be optional
41
39
  publish(ERROR_WHILE_RENDERING);
42
40
  return null;
43
41
  }
@@ -17,7 +17,7 @@
17
17
 
18
18
  .psdk-current-svg-icon {
19
19
  width: 1rem;
20
- filter: var(--app-primary-color-filter);
20
+ filter: var(--svg-color);
21
21
  }
22
22
 
23
23
  .psdk-not-current-svg-icon {
@@ -40,7 +40,7 @@ mat-horizontal-stepper {
40
40
 
41
41
  .psdk-sub-step-not-current {
42
42
  padding-left: 0.625rem;
43
- color: rgba(0, 0, 0, 0.54);
43
+ color: var(--step-label-color);
44
44
  }
45
45
 
46
46
  .psdk-flow-container-top {
@@ -80,7 +80,7 @@ mat-horizontal-stepper {
80
80
  .psdk-vertical-step-icon {
81
81
  margin-right: 12px;
82
82
  background-color: var(--app-neutral-color);
83
- color: #fff;
83
+ color: var(--app-text-color);
84
84
  border-radius: 50%;
85
85
  height: 24px;
86
86
  width: 24px;
@@ -93,13 +93,13 @@ mat-horizontal-stepper {
93
93
  top: 50%;
94
94
  left: 50%;
95
95
  transform: translate(-50%, -50%);
96
- color: #fff;
96
+ color: var(--app-text-color);
97
97
  }
98
98
 
99
99
  .psdk-vertical-step-icon-selected {
100
100
  margin-right: 12px;
101
101
  background-color: var(--app-primary-color);
102
- color: #fff;
102
+ color: var(--app-text-color);
103
103
  border-radius: 50%;
104
104
  height: 24px;
105
105
  width: 24px;
@@ -108,7 +108,7 @@ mat-horizontal-stepper {
108
108
  }
109
109
 
110
110
  .psdk-vertical-step-label {
111
- color: rgba(0, 0, 0, 0.54);
111
+ color: var(--step-label-color);
112
112
  display: inline-block;
113
113
  white-space: nowrap;
114
114
  overflow: hidden;
@@ -180,7 +180,7 @@ mat-horizontal-stepper {
180
180
 
181
181
  .psdk-horizontal-step-icon {
182
182
  background-color: var(--app-neutral-color);
183
- color: #fff;
183
+ color: var(--app-text-color);
184
184
  border-radius: 50%;
185
185
  height: 24px;
186
186
  width: 24px;
@@ -201,7 +201,7 @@ mat-horizontal-stepper {
201
201
 
202
202
  .psdk-horizontal-step-icon-selected {
203
203
  background-color: var(--app-primary-color);
204
- color: #fff;
204
+ color: var(--app-text-color);
205
205
  border-radius: 50%;
206
206
  height: 24px;
207
207
  width: 24px;
@@ -1,7 +1,7 @@
1
- import React, { PropsWithChildren } from 'react';
1
+ import React, { type PropsWithChildren } from 'react';
2
2
 
3
3
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
4
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  import './MultiStep.css';
7
7
 
@@ -154,7 +154,7 @@
154
154
  text-align: center;
155
155
  display: inline-flex;
156
156
  background: var(--app-neutral-color);
157
- color: white;
157
+ color: var(--app-text-color);
158
158
  font-weight: normal;
159
159
  font-size: 1rem;
160
160
  }
@@ -7,9 +7,9 @@ import {
7
7
  Drawer,
8
8
  List,
9
9
  ListItem,
10
+ ListItemButton,
10
11
  ListItemIcon,
11
12
  ListItemText,
12
- ListItemSecondaryAction,
13
13
  Collapse,
14
14
  Divider,
15
15
  IconButton,
@@ -36,13 +36,13 @@ import { logout } from '@pega/auth/lib/sdk-auth-manager';
36
36
 
37
37
  import { useNavBar } from '@pega/react-sdk-components/lib/components/helpers/reactContextHelpers';
38
38
  import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
39
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
39
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
40
40
 
41
41
  import './NavBar.css';
42
42
 
43
43
  interface NavBarProps extends PConnProps {
44
44
  // If any, enter additional props that only exist on this component
45
- // eslint-disable-next-line react/no-unused-prop-types
45
+
46
46
  appName?: string;
47
47
  pages?: any[];
48
48
  caseTypes: any[];
@@ -93,7 +93,8 @@ const useStyles = makeStyles(theme => ({
93
93
  },
94
94
  appListLogo: {
95
95
  marginRight: theme.spacing(2),
96
- width: '3.6rem'
96
+ width: '3.6rem',
97
+ filter: 'var(--svg-color)'
97
98
  },
98
99
  appListIcon: {
99
100
  color: theme.palette.getContrastText(theme.palette.primary.light)
@@ -145,7 +146,6 @@ export default function NavBar(props: NavBarProps) {
145
146
  .getActionsApi()
146
147
  .showPage(pyRuleName, pyClassName)
147
148
  .then(() => {
148
- // eslint-disable-next-line no-console
149
149
  console.log(`${localizedVal('showPage completed', localeCategory)}`);
150
150
  });
151
151
  }
@@ -161,7 +161,6 @@ export default function NavBar(props: NavBarProps) {
161
161
  .getActionsApi()
162
162
  .createWork(sCaseType, actionInfo)
163
163
  .then(() => {
164
- // eslint-disable-next-line no-console
165
164
  console.log(`${localizedVal('createWork completed', localeCategory)}`);
166
165
  });
167
166
  }
@@ -199,7 +198,14 @@ export default function NavBar(props: NavBarProps) {
199
198
  >
200
199
  {open ? (
201
200
  <List className={classes.appListItem}>
202
- <ListItem onClick={handleDrawerOpen}>
201
+ <ListItem
202
+ onClick={handleDrawerOpen}
203
+ secondaryAction={
204
+ <IconButton edge='end' onClick={handleDrawerOpen} size='large'>
205
+ <ChevronLeftIcon className={classes.appListIcon} />
206
+ </IconButton>
207
+ }
208
+ >
203
209
  <ListItemIcon>
204
210
  <img src={portalLogoImage} className={classes.appListLogo} />
205
211
  </ListItemIcon>
@@ -210,11 +216,6 @@ export default function NavBar(props: NavBarProps) {
210
216
  </Typography>
211
217
  }
212
218
  />
213
- <ListItemSecondaryAction>
214
- <IconButton edge='end' onClick={handleDrawerOpen} size='large'>
215
- <ChevronLeftIcon className={classes.appListIcon} />
216
- </IconButton>
217
- </ListItemSecondaryAction>
218
219
  </ListItem>
219
220
  </List>
220
221
  ) : (
@@ -223,17 +224,16 @@ export default function NavBar(props: NavBarProps) {
223
224
  </div>
224
225
  )}
225
226
  <List>
226
- <ListItem button onClick={handleCaseItemClick}>
227
+ <ListItemButton onClick={handleCaseItemClick}>
227
228
  <ListItemIcon>{bShowCaseTypes && open ? <ClearOutlinedIcon fontSize='large' /> : <AddIcon fontSize='large' />}</ListItemIcon>
228
229
  <ListItemText primary='Create' />
229
230
  {bShowCaseTypes ? <ExpandLess /> : <ExpandMore />}
230
- </ListItem>
231
+ </ListItemButton>
231
232
  </List>
232
233
  <Collapse in={bShowCaseTypes && open} timeout='auto' unmountOnExit className='scrollable'>
233
234
  <List component='div' disablePadding>
234
235
  {caseTypes.map(caseType => (
235
- <ListItem
236
- button
236
+ <ListItemButton
237
237
  className={classes.nested}
238
238
  onClick={() => navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)}
239
239
  key={caseType.pyLabel}
@@ -242,33 +242,35 @@ export default function NavBar(props: NavBarProps) {
242
242
  <WorkOutlineIcon fontSize='large' />
243
243
  </ListItemIcon>
244
244
  <ListItemText primary={localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference)} />
245
- </ListItem>
245
+ </ListItemButton>
246
246
  ))}
247
247
  </List>
248
248
  </Collapse>
249
249
  <List>
250
250
  {navPages.map(page => (
251
- <ListItem button onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>
251
+ <ListItemButton onClick={() => navPanelButtonClick(page)} key={page.pyLabel}>
252
252
  <ListItemIcon>{iconMap[page.pxPageViewIcon]}</ListItemIcon>
253
253
  <ListItemText primary={localeUtils.getLocaleValue(page.pyLabel, '', localeReference)} />
254
- </ListItem>
254
+ </ListItemButton>
255
255
  ))}
256
256
  </List>
257
257
  <Divider />
258
258
  <List className='marginTopAuto'>
259
259
  <>
260
- <ListItem onClick={navPanelOperatorButtonClick}>
260
+ <ListItem
261
+ onClick={navPanelOperatorButtonClick}
262
+ secondaryAction={
263
+ open ? (
264
+ <IconButton edge='end' onClick={navPanelOperatorButtonClick} size='large'>
265
+ <ChevronRightIcon />
266
+ </IconButton>
267
+ ) : null
268
+ }
269
+ >
261
270
  <ListItemIcon id='person-icon'>
262
271
  <PersonOutlineIcon fontSize='large' />
263
272
  </ListItemIcon>
264
273
  <ListItemText primary={portalOperator} />
265
- {open && (
266
- <ListItemSecondaryAction>
267
- <IconButton edge='end' onClick={navPanelOperatorButtonClick} size='large'>
268
- <ChevronRightIcon />
269
- </IconButton>
270
- </ListItemSecondaryAction>
271
- )}
272
274
  </ListItem>
273
275
  <Menu
274
276
  anchorEl={anchorEl}
@@ -1,4 +1,4 @@
1
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
1
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
2
2
 
3
3
  interface ReferenceProps extends PConnProps {
4
4
  // If any, enter additional props that only exist on this component
@@ -12,8 +12,7 @@ export default function Reference(props: ReferenceProps) {
12
12
  const { visibility = true, context = '', getPConnect, readOnly = false, displayMode = '' } = props;
13
13
 
14
14
  const pConnect = getPConnect();
15
- // @ts-ignore - Property 'getComponentConfig' is private and only accessible within class 'C11nEnv'.
16
- const referenceConfig = { ...pConnect.getComponentConfig() } || {};
15
+ const referenceConfig = { ...pConnect.getComponentConfig() };
17
16
 
18
17
  delete referenceConfig?.name;
19
18
  delete referenceConfig?.type;
@@ -34,7 +33,7 @@ export default function Reference(props: ReferenceProps) {
34
33
  }
35
34
  };
36
35
 
37
- // @ts-ignore - Argument of type 'null' is not assignable to parameter of type 'string'.
36
+ // @ts-expect-error - Argument of type 'null' is not assignable to parameter of type 'string'.
38
37
  const viewComponent: any = pConnect.createComponent(viewObject, null, null, {
39
38
  pageReference: context && context.startsWith('@CLASS') ? '' : context
40
39
  });
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react';
1
+ import type { PropsWithChildren } from 'react';
2
2
 
3
3
  // Region does NOT have getPConnect. So, no need to extend from PConnProps
4
4
  interface RegionProps {
@@ -1,11 +1,11 @@
1
- import { Children, createElement, PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';
1
+ import { Children, createElement, type PropsWithChildren, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
2
  import { Box, CircularProgress } from '@mui/material';
3
3
 
4
4
  import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
5
5
  import StoreContext from '@pega/react-sdk-components/lib/bridge/Context/StoreContext';
6
6
  import { LazyMap as LazyComponentMap } from '@pega/react-sdk-components/lib/components_map';
7
7
  import { isEmptyObject } from '@pega/react-sdk-components/lib/components/helpers/common-utils';
8
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
9
 
10
10
  interface RootContainerProps extends PConnProps {
11
11
  // If any, enter additional props that only exist on this component
@@ -196,7 +196,6 @@ export default function RootContainer(props: PropsWithChildren<RootContainerProp
196
196
  );
197
197
  }
198
198
  if (renderingMode === 'noPortal') {
199
- // eslint-disable-next-line no-console
200
199
  console.log(`${localizedVal('RootContainer rendering in noPortal mode', localeCategory)}`);
201
200
 
202
201
  const theChildren = pConn.getChildren() as any[];
@@ -3,7 +3,7 @@ import DoubleArrowIcon from '@mui/icons-material/DoubleArrow';
3
3
  import DoneIcon from '@mui/icons-material/Done';
4
4
  import makeStyles from '@mui/styles/makeStyles';
5
5
 
6
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
6
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
7
 
8
8
  interface StagesProps extends PConnProps {
9
9
  // If any, enter additional props that only exist on this component
@@ -1,8 +1,8 @@
1
- import { PropsWithChildren, useEffect } from 'react';
1
+ import { type PropsWithChildren, useEffect } from 'react';
2
2
 
3
3
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
4
  import { getAllFields } from '@pega/react-sdk-components/lib/components/helpers/template-utils';
5
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
6
6
 
7
7
  // Need to import any templates that we might render
8
8
 
@@ -42,7 +42,6 @@ export default function AdvancedSearch(props) {
42
42
  const [firstChildMeta] = rawViewMetadata.children;
43
43
 
44
44
  const localizedVal = PCore.getLocaleUtils().getLocaleValue;
45
- // @ts-ignore
46
45
  const cache = PCore.getNavigationUtils().getComponentCache(searchSelectCacheKey) ?? {};
47
46
 
48
47
  const editableFieldComp = firstChildPConnect().createComponent({
@@ -1,16 +1,10 @@
1
- const SKIP_CACHE_KEY = '';
1
+ import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
2
2
 
3
- export function getMappedKey(key) {
4
- const mappedKey = PCore.getEnvironmentInfo().getKeyMapping(key);
5
- if (!mappedKey) {
6
- return key;
7
- }
8
- return mappedKey;
9
- }
3
+ const SKIP_CACHE_KEY = '';
10
4
 
11
5
  const getComponentStateKey = (getPConnect, propertyName: string) => {
12
6
  const pConnect = getPConnect();
13
- const caseID = `.${getMappedKey('pyID')}`; // Enhance this later when use-case arrives for data objects using S&S.
7
+ const caseID = `.${Utils.getMappedKey('pyID')}`; // Enhance this later when use-case arrives for data objects using S&S.
14
8
  const resolvedCaseID = pConnect.getValue(caseID);
15
9
 
16
10
  if (!resolvedCaseID) {
@@ -1,5 +1,5 @@
1
1
  import React, { createElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
2
- import { Button, Grid, Select, MenuItem, Box } from '@mui/material';
2
+ import { Button, Grid2, Select, MenuItem, Box } from '@mui/material';
3
3
 
4
4
  import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
5
5
  import TemplateContext from '@pega/react-sdk-components/lib/components/template/AdvancedSearch/TemplateContext';
@@ -173,7 +173,7 @@ export default function SearchGroups(props) {
173
173
  useCacheWhenListViewReady(cache, viewName, useCache, getFilterData, searchSelectCacheKey);
174
174
 
175
175
  const searchDropdown = groups.length > 1 && (
176
- <Grid container spacing={2}>
176
+ <Grid2 container spacing={2}>
177
177
  <Select value={activeGroupId} onChange={e => setActiveGroupId(e.target.value)} ref={searchByRef} fullWidth>
178
178
  {groups.map(group => (
179
179
  <MenuItem key={group.config.id} value={group.config.id}>
@@ -181,7 +181,7 @@ export default function SearchGroups(props) {
181
181
  </MenuItem>
182
182
  ))}
183
183
  </Select>
184
- </Grid>
184
+ </Grid2>
185
185
  );
186
186
 
187
187
  const actionButtons = (
@@ -237,7 +237,6 @@ export default function SearchGroups(props) {
237
237
  return (
238
238
  <Box display='flex' flexDirection='column' gap={2}>
239
239
  {childrenToRender.map((child, index) => (
240
- // eslint-disable-next-line react/no-array-index-key
241
240
  <React.Fragment key={index}>{child}</React.Fragment>
242
241
  ))}
243
242
  </Box>
@@ -9,7 +9,7 @@ const listViewConstants = {
9
9
  * This hook registers a callback for the whenever list view component is ready
10
10
  * then makes a call to get the data using the search fields pre-filled with cache data.
11
11
  */
12
- // eslint-disable-next-line import/prefer-default-export
12
+
13
13
  export function useCacheWhenListViewReady(
14
14
  cache: { searchFields: unknown },
15
15
  viewName: string,
@@ -22,7 +22,7 @@
22
22
  align-items: center;
23
23
  height: 100%;
24
24
  width: 100%;
25
- background-color: whitesmoke;
25
+ background-color: 'var(--app-background-color)';
26
26
  position: fixed;
27
27
  z-index: 999;
28
28
  top: 0rem;
@@ -1,11 +1,11 @@
1
- import { PropsWithChildren, useEffect, useState } from 'react';
1
+ import { type PropsWithChildren, useEffect, useState } from 'react';
2
2
  import makeStyles from '@mui/styles/makeStyles';
3
3
  import Avatar from '@mui/material/Avatar';
4
4
 
5
5
  import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
6
6
  import { NavContext } from '@pega/react-sdk-components/lib/components/helpers/reactContextHelpers';
7
7
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
8
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
9
 
10
10
  import './AppShell.css';
11
11
 
@@ -29,9 +29,7 @@ interface AppShellProps extends PConnProps {
29
29
  }
30
30
 
31
31
  const useStyles = makeStyles(theme => ({
32
- root: {
33
- display: 'flex'
34
- },
32
+ root: {},
35
33
  content: {
36
34
  flexGrow: 1,
37
35
  height: '100vh',
@@ -117,7 +115,7 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
117
115
  }, []);
118
116
 
119
117
  useEffect(() => {
120
- // @ts-ignore
118
+ // @ts-expect-error
121
119
  const caseTypesAvailableToCreateDP = PCore.getEnvironmentInfo().environmentInfoObject?.pxApplication?.pyCaseTypesAvailableToCreateDP;
122
120
  if (caseTypesAvailableToCreateDP) {
123
121
  const portalID = pConn.getValue('.pyOwner');
@@ -159,7 +157,6 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
159
157
  setFullIconURL(data);
160
158
  })
161
159
  .catch(() => {
162
- // eslint-disable-next-line no-console
163
160
  console.error(`${localizedVal('Unable to load the image for the portal logo/icon with the insName', 'AppShell')}:${portalLogo}`);
164
161
  });
165
162
  }
@@ -213,7 +210,7 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
213
210
 
214
211
  if (portalTemplate === 'wss') {
215
212
  return (
216
- <div id='AppShell'>
213
+ <div id='AppShell' className={classes.root}>
217
214
  <WssNavBar
218
215
  portalName={portalName}
219
216
  imageSrc={iconURL}
@@ -239,9 +236,8 @@ export default function AppShell(props: PropsWithChildren<AppShellProps>) {
239
236
  }
240
237
 
241
238
  return (
242
- // eslint-disable-next-line react/jsx-no-constructed-context-values
243
239
  <NavContext.Provider value={{ open, setOpen }}>
244
- <div id='AppShell' className={classes.root}>
240
+ <div id='AppShell' className={classes.root} style={{ display: 'flex' }}>
245
241
  <NavBar
246
242
  getPConnect={getPConnect}
247
243
  pConn={getPConnect()}
@@ -1,7 +1,7 @@
1
- import { Children, PropsWithChildren, useMemo } from 'react';
1
+ import { Children, type PropsWithChildren, useMemo } from 'react';
2
2
 
3
3
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
4
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  interface BannerPageProps extends PConnProps {
7
7
  // If any, enter additional props that only exist on this component
@@ -1,6 +1,6 @@
1
- import { PropsWithChildren, ReactElement } from 'react';
1
+ import type { PropsWithChildren, ReactElement } from 'react';
2
2
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
3
- import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
4
4
 
5
5
  interface CaseSummaryProps extends PConnProps {
6
6
  // If any, enter additional props that only exist on this component
@@ -30,7 +30,6 @@ export default function CaseSummary(props: PropsWithChildren<CaseSummaryProps>)
30
30
  let arPrimaryFields: any[] = [];
31
31
  let arSecondaryFields: any[] = [];
32
32
 
33
- /* eslint-disable @typescript-eslint/no-shadow */
34
33
  function prepareComponentInCaseSummary(pConnectMeta, getPConnect) {
35
34
  const { config, children } = pConnectMeta;
36
35
  const pConnect = getPConnect();