@pega/react-sdk-overrides 23.1.10 → 23.1.12

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 (232) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +17 -0
  3. package/SECURITY.md +10 -0
  4. package/lib/designSystemExtension/AlertBanner/AlertBanner.tsx +6 -14
  5. package/lib/designSystemExtension/Banner/Banner.tsx +14 -11
  6. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  7. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +27 -22
  8. package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +14 -20
  9. package/lib/designSystemExtension/DetailsFields/index.tsx +1 -1
  10. package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +44 -19
  11. package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -12
  12. package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +21 -32
  13. package/lib/designSystemExtension/Operator/Operator.tsx +94 -82
  14. package/lib/designSystemExtension/Pulse/Pulse.tsx +14 -16
  15. package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +6 -5
  16. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +14 -14
  17. package/lib/field/AutoComplete/AutoComplete.tsx +24 -26
  18. package/lib/field/AutoComplete/config-ext.json +2 -3
  19. package/lib/field/CancelAlert/CancelAlert.tsx +98 -84
  20. package/lib/field/CancelAlert/index.tsx +1 -1
  21. package/lib/field/Checkbox/Checkbox.tsx +120 -63
  22. package/lib/field/Checkbox/config-ext.json +2 -3
  23. package/lib/field/Currency/Currency.tsx +25 -50
  24. package/lib/field/Currency/config-ext.json +2 -3
  25. package/lib/field/Currency/currency-utils.ts +9 -16
  26. package/lib/field/Date/Date.tsx +15 -11
  27. package/lib/field/Date/config-ext.json +2 -3
  28. package/lib/field/DateTime/DateTime.tsx +9 -9
  29. package/lib/field/DateTime/config-ext.json +1 -2
  30. package/lib/field/Decimal/Decimal.tsx +33 -44
  31. package/lib/field/Decimal/config-ext.json +1 -2
  32. package/lib/field/Decimal/index.tsx +1 -1
  33. package/lib/field/Dropdown/Dropdown.tsx +122 -31
  34. package/lib/field/Dropdown/config-ext.json +1 -2
  35. package/lib/field/Email/Email.tsx +11 -10
  36. package/lib/field/Email/config-ext.json +1 -2
  37. package/lib/field/Email/index.tsx +1 -1
  38. package/lib/field/Group/Group.tsx +39 -0
  39. package/lib/field/Group/config-ext.json +7 -0
  40. package/lib/field/Group/index.tsx +1 -0
  41. package/lib/field/Integer/Integer.tsx +8 -7
  42. package/lib/field/Integer/config-ext.json +1 -2
  43. package/lib/field/MultiSelect/Multiselect.tsx +244 -0
  44. package/lib/field/MultiSelect/index.tsx +1 -0
  45. package/lib/field/MultiSelect/utils.ts +230 -0
  46. package/lib/field/Percentage/Percentage.tsx +46 -41
  47. package/lib/field/Percentage/config-ext.json +1 -2
  48. package/lib/field/Phone/Phone.tsx +13 -12
  49. package/lib/field/Phone/index.tsx +1 -1
  50. package/lib/field/RadioButtons/RadioButtons.tsx +20 -18
  51. package/lib/field/RadioButtons/config-ext.json +1 -2
  52. package/lib/field/RichText/RichText.tsx +8 -7
  53. package/lib/field/ScalarList/ScalarList.tsx +3 -13
  54. package/lib/field/ScalarList/config-ext.json +1 -2
  55. package/lib/field/SemanticLink/SemanticLink.tsx +7 -7
  56. package/lib/field/SemanticLink/config-ext.json +1 -2
  57. package/lib/field/SemanticLink/utils.ts +8 -11
  58. package/lib/field/TextArea/TextArea.tsx +7 -6
  59. package/lib/field/TextArea/config-ext.json +1 -2
  60. package/lib/field/TextContent/TextContent.tsx +4 -6
  61. package/lib/field/TextContent/config-ext.json +1 -2
  62. package/lib/field/TextInput/TextInput.tsx +9 -7
  63. package/lib/field/TextInput/config-ext.json +1 -2
  64. package/lib/field/TextInput/index.tsx +1 -1
  65. package/lib/field/Time/Time.tsx +11 -11
  66. package/lib/field/Time/config-ext.json +1 -2
  67. package/lib/field/URL/URL.tsx +9 -8
  68. package/lib/field/URL/config-ext.json +1 -2
  69. package/lib/field/URL/index.tsx +1 -1
  70. package/lib/field/UserReference/UserReference.tsx +18 -16
  71. package/lib/field/UserReference/UserReferenceUtils.ts +2 -2
  72. package/lib/field/UserReference/config-ext.json +1 -2
  73. package/lib/helpers/attachmentHelpers.ts +13 -8
  74. package/lib/helpers/case-utils.tsx +4 -8
  75. package/lib/helpers/common-utils.ts +5 -1
  76. package/lib/helpers/data_page.ts +3 -7
  77. package/lib/helpers/date-format-utils.ts +3 -3
  78. package/lib/helpers/event-utils.ts +3 -3
  79. package/lib/helpers/field-group-utils.ts +1 -1
  80. package/lib/helpers/formatters/Boolean.ts +9 -26
  81. package/lib/helpers/formatters/Currency.ts +15 -21
  82. package/lib/helpers/formatters/CurrencyMap.ts +505 -501
  83. package/lib/helpers/formatters/Date.ts +20 -26
  84. package/lib/helpers/formatters/common.ts +1 -2
  85. package/lib/helpers/formatters/index.ts +26 -19
  86. package/lib/helpers/instructions-utils.ts +38 -0
  87. package/lib/helpers/reactContextHelpers.ts +2 -2
  88. package/lib/helpers/simpleTableHelpers.ts +59 -83
  89. package/lib/helpers/state-utils.tsx +5 -9
  90. package/lib/helpers/template-utils.ts +3 -6
  91. package/lib/helpers/utils.ts +5 -5
  92. package/lib/helpers/versionHelpers.ts +1 -4
  93. package/lib/infra/ActionButtons/ActionButtons.tsx +38 -29
  94. package/lib/infra/ActionButtons/index.tsx +1 -1
  95. package/lib/infra/Assignment/Assignment.tsx +99 -79
  96. package/lib/infra/Assignment/index.tsx +1 -1
  97. package/lib/infra/AssignmentCard/AssignmentCard.tsx +13 -16
  98. package/lib/infra/AssignmentCard/index.tsx +1 -1
  99. package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +67 -213
  100. package/lib/infra/Containers/FlowContainer/helpers.ts +34 -45
  101. package/lib/infra/Containers/FlowContainer/index.tsx +1 -1
  102. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +65 -0
  103. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  104. package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +227 -218
  105. package/lib/infra/Containers/ModalViewContainer/index.tsx +1 -1
  106. package/lib/infra/Containers/SimpleView/SimpleView.tsx +48 -0
  107. package/lib/infra/Containers/SimpleView/helper.ts +125 -0
  108. package/lib/infra/Containers/SimpleView/index.tsx +1 -0
  109. package/lib/infra/Containers/ViewContainer/ViewContainer.tsx +36 -46
  110. package/lib/infra/Containers/helpers.ts +6 -0
  111. package/lib/infra/DashboardFilter/DashboardFilter.tsx +21 -42
  112. package/lib/infra/DashboardFilter/filterUtils.tsx +12 -43
  113. package/lib/infra/DeferLoad/DeferLoad.tsx +22 -28
  114. package/lib/infra/DeferLoad/index.tsx +1 -1
  115. package/lib/infra/ErrorBoundary/ErrorBoundary.tsx +16 -30
  116. package/lib/infra/MultiStep/MultiStep.css +11 -15
  117. package/lib/infra/MultiStep/MultiStep.tsx +176 -212
  118. package/lib/infra/MultiStep/index.tsx +1 -1
  119. package/lib/infra/NavBar/NavBar.css +103 -105
  120. package/lib/infra/NavBar/NavBar.tsx +19 -31
  121. package/lib/infra/Reference/Reference.tsx +16 -18
  122. package/lib/infra/Region/Region.tsx +4 -6
  123. package/lib/infra/RootContainer/RootContainer.tsx +75 -111
  124. package/lib/infra/RootContainer/index.tsx +1 -1
  125. package/lib/infra/Stages/Stages.tsx +32 -39
  126. package/lib/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +11 -11
  127. package/lib/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx +21 -28
  128. package/lib/infra/View/View.tsx +17 -21
  129. package/lib/template/AppShell/AppShell.css +22 -23
  130. package/lib/template/AppShell/AppShell.tsx +39 -74
  131. package/lib/template/BannerPage/BannerPage.tsx +12 -14
  132. package/lib/template/CaseSummary/CaseSummary.tsx +58 -18
  133. package/lib/template/CaseSummary/config-ext.json +1 -2
  134. package/lib/template/CaseView/CaseView.tsx +34 -63
  135. package/lib/template/CaseView/config-ext.json +1 -2
  136. package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +63 -19
  137. package/lib/template/Confirmation/Confirmation.tsx +12 -17
  138. package/lib/template/Confirmation/config-ext.json +1 -2
  139. package/lib/template/DataReference/DataReference.tsx +95 -121
  140. package/lib/template/DataReference/config-ext.json +1 -2
  141. package/lib/template/DefaultForm/DefaultForm.css +7 -3
  142. package/lib/template/DefaultForm/DefaultForm.tsx +13 -16
  143. package/lib/template/DefaultForm/config-ext.json +1 -2
  144. package/lib/template/Details/Details/Details.tsx +19 -22
  145. package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +9 -13
  146. package/lib/template/Details/DetailsSubTabs/config-ext.json +1 -2
  147. package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +19 -24
  148. package/lib/template/Details/DetailsThreeColumn/config-ext.json +1 -2
  149. package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +19 -25
  150. package/lib/template/Details/DetailsTwoColumn/config-ext.json +1 -2
  151. package/lib/template/Details/DetailsTwoColumn/index.tsx +1 -1
  152. package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +15 -14
  153. package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +15 -22
  154. package/lib/template/InlineDashboard/InlineDashboard.tsx +12 -14
  155. package/lib/template/InlineDashboardPage/InlineDashboardPage.tsx +12 -16
  156. package/lib/template/ListPage/ListPage.tsx +5 -10
  157. package/lib/template/ListPage/config-ext.json +1 -2
  158. package/lib/template/ListView/DefaultViewMeta.ts +1 -3
  159. package/lib/template/ListView/ListView.tsx +185 -175
  160. package/lib/template/ListView/config-ext.json +1 -2
  161. package/lib/template/ListView/hooks.ts +24 -26
  162. package/lib/template/ListView/utils.ts +51 -87
  163. package/lib/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +20 -20
  164. package/lib/template/NarrowWide/NarrowWide/NarrowWide.css +0 -2
  165. package/lib/template/NarrowWide/NarrowWide/NarrowWide.tsx +25 -38
  166. package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +20 -25
  167. package/lib/template/NarrowWide/NarrowWideDetails/config-ext.json +1 -2
  168. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.css +0 -2
  169. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +14 -24
  170. package/lib/template/NarrowWide/NarrowWideForm/config-ext.json +1 -2
  171. package/lib/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +9 -19
  172. package/lib/template/NarrowWide/NarrowWidePage/config-ext.json +1 -2
  173. package/lib/template/OneColumn/OneColumn/OneColumn.tsx +14 -15
  174. package/lib/template/OneColumn/OneColumn/config-ext.json +1 -2
  175. package/lib/template/OneColumn/OneColumnPage/OneColumnPage.tsx +3 -10
  176. package/lib/template/OneColumn/OneColumnPage/config-ext.json +1 -2
  177. package/lib/template/OneColumn/OneColumnTab/OneColumnTab.tsx +6 -10
  178. package/lib/template/OneColumn/OneColumnTab/config-ext.json +1 -2
  179. package/lib/template/PromotedFilters/PromotedFilters.css +1 -1
  180. package/lib/template/PromotedFilters/PromotedFilters.tsx +32 -28
  181. package/lib/template/SimpleTable/SimpleTable/SimpleTable.tsx +37 -33
  182. package/lib/template/SimpleTable/SimpleTable/config-ext.json +1 -2
  183. package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +187 -121
  184. package/lib/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +24 -25
  185. package/lib/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +30 -30
  186. package/lib/template/SubTabs/SubTabs.tsx +22 -40
  187. package/lib/template/SubTabs/config-ext.json +1 -2
  188. package/lib/template/SubTabs/tabUtils.ts +2 -5
  189. package/lib/template/TwoColumn/TwoColumn/TwoColumn.css +0 -1
  190. package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +30 -28
  191. package/lib/template/TwoColumn/TwoColumn/config-ext.json +1 -2
  192. package/lib/template/TwoColumn/TwoColumnPage/TwoColumnPage.tsx +3 -10
  193. package/lib/template/TwoColumn/TwoColumnPage/config-ext.json +1 -2
  194. package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +30 -28
  195. package/lib/template/TwoColumn/TwoColumnTab/config-ext.json +1 -2
  196. package/lib/template/WideNarrow/WideNarrow/WideNarrow.css +0 -2
  197. package/lib/template/WideNarrow/WideNarrow/WideNarrow.tsx +22 -34
  198. package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +24 -28
  199. package/lib/template/WideNarrow/WideNarrowDetails/config-ext.json +1 -2
  200. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.css +0 -2
  201. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +13 -21
  202. package/lib/template/WideNarrow/WideNarrowForm/config-ext.json +1 -2
  203. package/lib/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +8 -16
  204. package/lib/template/WideNarrow/WideNarrowPage/config-ext.json +1 -2
  205. package/lib/template/WideNarrow/WideNarrowPage/index.tsx +1 -1
  206. package/lib/template/WssNavBar/WssNavBar.tsx +18 -21
  207. package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +29 -28
  208. package/lib/widget/AppAnnouncement/config-ext.json +1 -2
  209. package/lib/widget/Attachment/Attachment.css +60 -1
  210. package/lib/widget/Attachment/Attachment.tsx +378 -405
  211. package/lib/widget/Attachment/index.tsx +1 -1
  212. package/lib/widget/CaseHistory/CaseHistory.tsx +64 -66
  213. package/lib/widget/CaseHistory/config-ext.json +1 -2
  214. package/lib/widget/CaseHistory/index.tsx +1 -1
  215. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +16 -18
  216. package/lib/widget/FileUtility/FileUtility/FileUtility.css +2 -2
  217. package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +310 -246
  218. package/lib/widget/FileUtility/FileUtility/config-ext.json +1 -2
  219. package/lib/widget/Followers/Followers.tsx +23 -20
  220. package/lib/widget/Followers/config-ext.json +1 -2
  221. package/lib/widget/QuickCreate/QuickCreate.tsx +68 -42
  222. package/lib/widget/SummaryItem/SummaryItem.css +9 -9
  223. package/lib/widget/SummaryItem/SummaryItem.tsx +58 -58
  224. package/lib/widget/SummaryItem/index.tsx +1 -1
  225. package/lib/widget/SummaryList/SummaryList.tsx +7 -10
  226. package/lib/widget/ToDo/ToDo.css +4 -4
  227. package/lib/widget/ToDo/ToDo.tsx +52 -53
  228. package/lib/widget/ToDo/config-ext.json +1 -2
  229. package/package.json +5 -2
  230. package/lib/helpers/auth.js +0 -834
  231. package/lib/helpers/authManager.ts +0 -933
  232. package/lib/helpers/config_access.js +0 -186
@@ -1,30 +1,22 @@
1
- import React from "react";
2
-
1
+ import { PropsWithChildren, ReactElement } from 'react';
2
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
3
  import './WideNarrowForm.css';
4
4
 
5
- // WideNarrowForm does NOT have getPConnect. So, no need to extend from PConnProps
6
- interface WideNarrowFormProps {
5
+ interface WideNarrowFormProps extends PConnProps {
7
6
  // If any, enter additional props that only exist on this component
8
- children: Array<any>
9
7
  }
10
8
 
11
- export default function WideNarrowForm(props: WideNarrowFormProps) {
12
- const {children} = props;
9
+ export default function WideNarrowForm(props: PropsWithChildren<WideNarrowFormProps>) {
10
+ const { children } = props;
13
11
 
14
12
  return (
15
- <React.Fragment>
16
- {children && children.length === 2 &&
17
- <div className="psdk-wide-narrow-column">
18
- <div className="psdk-wide-column-column">
19
- {children[0]}
20
- </div>
21
- <div className="psdk-narrow-column-column">
22
- {children[1]}
13
+ <>
14
+ {children && (children as ReactElement[]).length === 2 && (
15
+ <div className='psdk-wide-narrow-column'>
16
+ <div className='psdk-wide-column-column'>{children[0]}</div>
17
+ <div className='psdk-narrow-column-column'>{children[1]}</div>
23
18
  </div>
24
- </div>
25
- }
26
- </React.Fragment>
27
-
28
- )
29
-
19
+ )}
20
+ </>
21
+ );
30
22
  }
@@ -4,6 +4,5 @@
4
4
  "description": "WideNarrow Template",
5
5
  "type": "Template",
6
6
  "subtype": "FORM",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,21 +1,19 @@
1
- import React, { Children } from "react";
1
+ import { Children, PropsWithChildren } 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
4
 
4
- // WideNarrowPage does NOT have getPConnect. So, no need to extend from PConnProps
5
- interface WideNarrowPageProps {
5
+ interface WideNarrowPageProps extends PConnProps {
6
6
  // If any, enter additional props that only exist on this component
7
- children: Array<any>,
8
- title: string,
9
- templateCol?: string,
10
- icon?: string
7
+ title: string;
8
+ templateCol?: string;
9
+ icon?: string;
11
10
  }
12
11
 
13
-
14
12
  /*
15
13
  * The wrapper handles knowing how to take in just children and mapping
16
14
  * to the Cosmos template.
17
15
  */
18
- export default function WideNarrowPage(props: WideNarrowPageProps) {
16
+ export default function WideNarrowPage(props: PropsWithChildren<WideNarrowPageProps>) {
19
17
  // Get emitted components from map (so we can get any override that may exist)
20
18
  const WideNarrow = getComponentFromMap('WideNarrow');
21
19
 
@@ -24,13 +22,7 @@ export default function WideNarrowPage(props: WideNarrowPageProps) {
24
22
 
25
23
  return (
26
24
  <div>
27
- <WideNarrow
28
- a={childArray[0]}
29
- b={childArray[1]}
30
- title={title}
31
- cols={templateCol}
32
- icon={icon?.replace("pi pi-", "")}
33
- />
25
+ <WideNarrow a={childArray[0]} b={childArray[1]} title={title} cols={templateCol} icon={icon?.replace('pi pi-', '')} />
34
26
  </div>
35
27
  );
36
28
  }
@@ -4,6 +4,5 @@
4
4
  "description": "Wide-narrow Page Template",
5
5
  "type": "Template",
6
6
  "subtype": "PAGE",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1 +1 @@
1
- export { default } from './WideNarrowPage';
1
+ export { default } from './WideNarrowPage';
@@ -4,30 +4,27 @@ import AppBar from '@material-ui/core/AppBar';
4
4
  import Box from '@material-ui/core/Box';
5
5
  import Toolbar from '@material-ui/core/Toolbar';
6
6
  import Container from '@material-ui/core/Container';
7
- import { IconButton, Menu, MenuItem, Typography } from '@material-ui/core';
8
- import { Button } from '@material-ui/core';
7
+ import { IconButton, Menu, MenuItem, Typography, Button } from '@material-ui/core';
9
8
  import Avatar from '@material-ui/core/Avatar';
10
9
  import MenuIcon from '@material-ui/icons/Menu';
11
- import { logout } from '@pega/react-sdk-components/lib/components/helpers/authManager';
10
+ import { logout } from '@pega/auth/lib/sdk-auth-manager';
11
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
12
12
  import './WssNavBar.css';
13
13
 
14
- // WssNavBar does NOT have getPConnect. So, no need to extend from PConnProps
15
-
16
- interface WssNavBarProps {
14
+ interface WssNavBarProps extends PConnProps {
17
15
  // If any, enter additional props that only exist on this component
18
- appInfo: any,
19
- navLinks: Array<any>
20
- operator: { currentUserInitials: string },
21
- navDisplayOptions: { alignment: string, position: string},
16
+ appInfo: any;
17
+ navLinks: any[];
18
+ operator: { currentUserInitials: string };
19
+ navDisplayOptions: { alignment: string; position: string };
22
20
  // eslint-disable-next-line react/no-unused-prop-types
23
- portalName: string,
24
- imageSrc: string,
21
+ portalName: string;
22
+ imageSrc: string;
25
23
  // eslint-disable-next-line react/no-unused-prop-types
26
- fullImageSrc: string,
27
- appName: any
24
+ fullImageSrc: string;
25
+ appName: any;
28
26
  }
29
27
 
30
-
31
28
  const useStyles = makeStyles(theme => ({
32
29
  root: {
33
30
  display: 'flex'
@@ -57,6 +54,9 @@ export default function WssNavBar(props: WssNavBarProps) {
57
54
  const [anchorElNav, setAnchorElNav] = useState<null | HTMLElement>(null);
58
55
  const [anchorElUser, setAnchorElUser] = useState<null | HTMLElement>(null);
59
56
 
57
+ const localizedVal = PCore.getLocaleUtils().getLocaleValue;
58
+ const localeCategory = 'AppShell';
59
+
60
60
  const handleOpenNavMenu = (event: React.MouseEvent<HTMLElement>) => {
61
61
  setAnchorElNav(event.currentTarget);
62
62
  };
@@ -73,10 +73,7 @@ export default function WssNavBar(props: WssNavBarProps) {
73
73
  };
74
74
 
75
75
  const navLinksContent = (
76
- <Box id="nav-links"
77
- sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }}
78
- style={{ justifyContent: alignment }}
79
- >
76
+ <Box id='nav-links' sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }} style={{ justifyContent: alignment }}>
80
77
  {navLinks.map(link => (
81
78
  <Button className='link-style' key={link.text} onClick={link.onClick}>
82
79
  {link.text}
@@ -90,7 +87,7 @@ export default function WssNavBar(props: WssNavBarProps) {
90
87
  <AppBar position='static' color='primary'>
91
88
  <Container maxWidth='xl'>
92
89
  <Toolbar disableGutters style={{ justifyContent: 'space-between' }}>
93
- <Button id="appName" style={{ textTransform: 'capitalize' }} onClick={appInfo.onClick}>
90
+ <Button id='appName' style={{ textTransform: 'capitalize' }} onClick={appInfo.onClick}>
94
91
  <img src={appInfo.imageSrc} className={classes.appListLogo} />
95
92
  <span className={classes.appName}>{appInfo.appName}</span>
96
93
  </Button>
@@ -150,7 +147,7 @@ export default function WssNavBar(props: WssNavBarProps) {
150
147
  onClose={handleCloseUserMenu}
151
148
  >
152
149
  <MenuItem onClick={logout}>
153
- <Typography>Logout</Typography>
150
+ <Typography>{localizedVal('Log off', localeCategory)}</Typography>
154
151
  </MenuItem>
155
152
  </Menu>
156
153
  </Box>
@@ -1,32 +1,29 @@
1
- import React from "react";
2
- import { Card, CardContent, CardHeader, Typography, CardActions, Button } from "@material-ui/core";
1
+ import { Card, CardContent, CardHeader, Typography, CardActions, Button } from '@material-ui/core';
3
2
  import { makeStyles } from '@material-ui/core/styles';
3
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
4
4
 
5
- // AppAnnouncement is one of the few components that does NOT have getPConnect.
6
- // So, no need to extend PConnProps
7
- interface AppAnnouncementProps {
5
+ interface AppAnnouncementProps extends PConnProps {
8
6
  // If any, enter additional props that only exist on this component
9
- header?: string,
10
- description?: string,
11
- datasource?: any,
12
- whatsnewlink?: string
7
+ header?: string;
8
+ description?: string;
9
+ datasource?: any;
10
+ whatsnewlink?: string;
13
11
  }
14
12
 
15
-
16
- const useStyles = makeStyles((theme) => ({
13
+ const useStyles = makeStyles(theme => ({
17
14
  root: {
18
15
  marginTop: theme.spacing(1),
19
16
  marginBottom: theme.spacing(1),
20
- borderLeft: "6px solid",
17
+ borderLeft: '6px solid',
21
18
  borderLeftColor: theme.palette.primary.light
22
- },
19
+ }
23
20
  }));
24
21
 
25
22
  export default function AppAnnouncement(props: AppAnnouncementProps) {
26
23
  const { header = '', description = '', datasource = [], whatsnewlink = '' } = props;
27
24
  let details = [];
28
25
  if (datasource && datasource.source) {
29
- details = datasource.source.map((item) => {
26
+ details = datasource.source.map(item => {
30
27
  return item.name;
31
28
  });
32
29
  }
@@ -35,25 +32,29 @@ export default function AppAnnouncement(props: AppAnnouncementProps) {
35
32
 
36
33
  const handleClick = () => {
37
34
  window.open(whatsnewlink);
38
- }
35
+ };
39
36
 
40
37
  return (
41
- <Card title="AppAnnouncement" className={classes.root}>
42
- <CardHeader title={<Typography variant="h6">{header}</Typography>} />
38
+ <Card title='AppAnnouncement' className={classes.root}>
39
+ <CardHeader title={<Typography variant='h6'>{header}</Typography>} />
43
40
  <CardContent>
44
- <Typography variant="body1" gutterBottom>{description}</Typography>
45
- {
46
- details.map((itm, idx) => {
47
- const theKey = `AppAnn-item-${idx}`;
48
- return (
49
- <Typography key={theKey} variant="body2">- {itm}</Typography>
50
- )
51
- })
52
- }
41
+ <Typography variant='body1' gutterBottom>
42
+ {description}
43
+ </Typography>
44
+ {details.map((itm, idx) => {
45
+ const theKey = `AppAnn-item-${idx}`;
46
+ return (
47
+ <Typography key={theKey} variant='body2'>
48
+ - {itm}
49
+ </Typography>
50
+ );
51
+ })}
53
52
  </CardContent>
54
53
  <CardActions>
55
- <Button color="primary" onClick={handleClick} size="small">See what&apos;s new</Button>
54
+ <Button color='primary' onClick={handleClick} size='small'>
55
+ See what&apos;s new
56
+ </Button>
56
57
  </CardActions>
57
58
  </Card>
58
59
  );
59
- };
60
+ }
@@ -4,6 +4,5 @@
4
4
  "description": "App announcement widget",
5
5
  "type": "Widget",
6
6
  "subtype": "PAGE",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -27,7 +27,7 @@
27
27
 
28
28
  .file-label::after {
29
29
  display: inline;
30
- content: " *";
30
+ content: ' *';
31
31
  vertical-align: top;
32
32
  color: var(--app-neutral-dark-color);
33
33
  }
@@ -35,3 +35,62 @@
35
35
  .file-error {
36
36
  color: var(--app-error-color);
37
37
  }
38
+
39
+ .psdk-utility-card {
40
+ display: flex;
41
+ flex-direction: row;
42
+ padding: 0.25rem 0rem 0.25rem 0.25rem;
43
+ margin-bottom: 0.5rem;
44
+ }
45
+
46
+ .psdk-utility-card-icon {
47
+ flex-grow: 1;
48
+ max-width: 2.813rem;
49
+ align-content: center;
50
+ display: flex;
51
+ }
52
+
53
+ .psdk-utility-card-svg-icon {
54
+ width: 2.5rem;
55
+ display: inline-block;
56
+ }
57
+
58
+ .psdk-utility-card-main {
59
+ flex-grow: 2;
60
+ margin-left: 5px;
61
+ }
62
+
63
+ .psdk-utility-card-main-primary-label {
64
+ font-weight: bold;
65
+ text-overflow: ellipsis;
66
+ overflow: hidden;
67
+ white-space: normal;
68
+ }
69
+
70
+ .psdk-utility-card-action-svg-icon {
71
+ width: 1.4rem;
72
+ display: inline-block;
73
+ }
74
+
75
+ .psdk-utility-card {
76
+ display: flex;
77
+ align-items: center;
78
+ border: 0.0625rem solid rgb(207, 207, 207);
79
+ border-radius: calc(0.25rem);
80
+ min-height: 3rem;
81
+ }
82
+
83
+ .psdk-utility-button {
84
+ background: none;
85
+ border: none;
86
+ cursor: pointer;
87
+ }
88
+
89
+ .psdk-utility-action {
90
+ flex-grow: 1;
91
+ text-align: right;
92
+ }
93
+
94
+ .file-disabled {
95
+ opacity: 0.4;
96
+ }