@pega/react-sdk-overrides 0.23.25 → 0.23.27

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 (240) 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 +39 -0
  5. package/lib/designSystemExtension/AlertBanner/index.tsx +1 -0
  6. package/lib/designSystemExtension/Banner/Banner.css +4 -0
  7. package/lib/designSystemExtension/Banner/Banner.tsx +33 -16
  8. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  9. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +36 -26
  10. package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +21 -28
  11. package/lib/designSystemExtension/DetailsFields/index.tsx +1 -1
  12. package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +50 -18
  13. package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +13 -12
  14. package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -27
  15. package/lib/designSystemExtension/Operator/Operator.tsx +106 -87
  16. package/lib/designSystemExtension/Pulse/Pulse.tsx +21 -19
  17. package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +122 -0
  18. package/lib/designSystemExtension/RichTextEditor/index.tsx +1 -0
  19. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.css +6 -2
  20. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +21 -12
  21. package/lib/field/AutoComplete/AutoComplete.tsx +33 -16
  22. package/lib/field/AutoComplete/config-ext.json +2 -3
  23. package/lib/field/CancelAlert/CancelAlert.tsx +21 -15
  24. package/lib/field/CancelAlert/index.tsx +1 -1
  25. package/lib/field/Checkbox/Checkbox.tsx +29 -19
  26. package/lib/field/Checkbox/config-ext.json +2 -3
  27. package/lib/field/Currency/Currency.tsx +27 -38
  28. package/lib/field/Currency/config-ext.json +2 -3
  29. package/lib/field/Currency/currency-utils.ts +10 -18
  30. package/lib/field/Date/Date.tsx +33 -15
  31. package/lib/field/Date/config-ext.json +2 -3
  32. package/lib/field/DateTime/DateTime.tsx +22 -11
  33. package/lib/field/DateTime/config-ext.json +1 -2
  34. package/lib/field/Decimal/Decimal.tsx +64 -17
  35. package/lib/field/Decimal/config-ext.json +1 -2
  36. package/lib/field/Decimal/index.tsx +1 -1
  37. package/lib/field/Dropdown/Dropdown.tsx +154 -18
  38. package/lib/field/Dropdown/config-ext.json +1 -2
  39. package/lib/field/Email/Email.tsx +16 -7
  40. package/lib/field/Email/config-ext.json +1 -2
  41. package/lib/field/Email/index.tsx +1 -1
  42. package/lib/field/Group/Group.tsx +37 -0
  43. package/lib/field/Group/config-ext.json +7 -0
  44. package/lib/field/Group/index.tsx +1 -0
  45. package/lib/field/Integer/Integer.tsx +15 -6
  46. package/lib/field/Integer/config-ext.json +1 -2
  47. package/lib/field/Percentage/Percentage.tsx +14 -6
  48. package/lib/field/Percentage/config-ext.json +1 -2
  49. package/lib/field/Phone/Phone.tsx +17 -7
  50. package/lib/field/Phone/index.tsx +1 -1
  51. package/lib/field/RadioButtons/RadioButtons.tsx +55 -24
  52. package/lib/field/RadioButtons/config-ext.json +1 -2
  53. package/lib/field/RichText/RichText.tsx +96 -0
  54. package/lib/field/RichText/index.tsx +1 -0
  55. package/lib/field/ScalarList/ScalarList.tsx +63 -0
  56. package/lib/field/ScalarList/config-ext.json +7 -0
  57. package/lib/field/ScalarList/index.tsx +1 -0
  58. package/lib/field/SemanticLink/SemanticLink.tsx +26 -25
  59. package/lib/field/SemanticLink/config-ext.json +1 -2
  60. package/lib/field/SemanticLink/utils.ts +8 -10
  61. package/lib/field/TextArea/TextArea.tsx +15 -5
  62. package/lib/field/TextArea/config-ext.json +1 -2
  63. package/lib/field/TextContent/TextContent.tsx +9 -2
  64. package/lib/field/TextContent/config-ext.json +1 -2
  65. package/lib/field/TextInput/TextInput.tsx +41 -10
  66. package/lib/field/TextInput/config-ext.json +1 -2
  67. package/lib/field/TextInput/index.tsx +1 -1
  68. package/lib/field/Time/Time.tsx +21 -18
  69. package/lib/field/Time/config-ext.json +1 -2
  70. package/lib/field/URL/URL.tsx +23 -6
  71. package/lib/field/URL/config-ext.json +1 -2
  72. package/lib/field/URL/index.tsx +1 -1
  73. package/lib/field/UserReference/UserReference.tsx +52 -58
  74. package/lib/field/UserReference/UserReferenceUtils.ts +2 -2
  75. package/lib/field/UserReference/config-ext.json +1 -2
  76. package/lib/helpers/{attachmentHelpers.js → attachmentHelpers.ts} +16 -11
  77. package/lib/helpers/case-utils.tsx +99 -0
  78. package/lib/helpers/common-utils.ts +8 -0
  79. package/lib/helpers/data_page.ts +3 -6
  80. package/lib/helpers/date-format-utils.ts +29 -19
  81. package/lib/helpers/{event-utils.js → event-utils.ts} +4 -4
  82. package/lib/helpers/{field-group-utils.js → field-group-utils.ts} +9 -10
  83. package/lib/helpers/formatters/Boolean.ts +21 -0
  84. package/lib/helpers/formatters/{Currency.js → Currency.ts} +22 -27
  85. package/lib/helpers/formatters/CurrencyMap.ts +915 -0
  86. package/lib/helpers/formatters/{Date.js → Date.ts} +20 -26
  87. package/lib/helpers/formatters/{common.js → common.ts} +3 -4
  88. package/lib/helpers/formatters/{index.js → index.ts} +22 -22
  89. package/lib/helpers/{reactContextHelpers.js → reactContextHelpers.ts} +2 -2
  90. package/lib/helpers/simpleTableHelpers.ts +65 -85
  91. package/lib/helpers/state-utils.tsx +43 -0
  92. package/lib/helpers/template-utils.ts +4 -8
  93. package/lib/helpers/utils.ts +16 -8
  94. package/lib/helpers/versionHelpers.ts +1 -5
  95. package/lib/infra/ActionButtons/ActionButtons.tsx +46 -42
  96. package/lib/infra/ActionButtons/index.tsx +1 -1
  97. package/lib/infra/Assignment/Assignment.tsx +99 -84
  98. package/lib/infra/Assignment/index.tsx +1 -1
  99. package/lib/infra/AssignmentCard/AssignmentCard.tsx +19 -26
  100. package/lib/infra/AssignmentCard/index.tsx +1 -1
  101. package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +98 -232
  102. package/lib/infra/Containers/FlowContainer/helpers.ts +138 -0
  103. package/lib/infra/Containers/FlowContainer/index.tsx +1 -1
  104. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +66 -0
  105. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  106. package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +105 -70
  107. package/lib/infra/Containers/ModalViewContainer/index.tsx +1 -1
  108. package/lib/infra/Containers/SimpleView/SimpleView.tsx +48 -0
  109. package/lib/infra/Containers/SimpleView/helper.ts +125 -0
  110. package/lib/infra/Containers/SimpleView/index.tsx +1 -0
  111. package/lib/infra/Containers/ViewContainer/ViewContainer.tsx +49 -64
  112. package/lib/infra/Containers/helpers.ts +6 -0
  113. package/lib/infra/DashboardFilter/DashboardFilter.tsx +26 -51
  114. package/lib/infra/DashboardFilter/filterUtils.tsx +12 -40
  115. package/lib/infra/DeferLoad/DeferLoad.tsx +22 -31
  116. package/lib/infra/DeferLoad/index.tsx +1 -1
  117. package/lib/infra/ErrorBoundary/ErrorBoundary.tsx +25 -38
  118. package/lib/infra/MultiStep/MultiStep.css +11 -15
  119. package/lib/infra/MultiStep/MultiStep.tsx +180 -216
  120. package/lib/infra/MultiStep/index.tsx +1 -1
  121. package/lib/infra/NavBar/NavBar.css +103 -105
  122. package/lib/infra/NavBar/NavBar.tsx +28 -43
  123. package/lib/infra/Reference/Reference.tsx +16 -22
  124. package/lib/infra/Region/Region.tsx +9 -9
  125. package/lib/infra/RootContainer/RootContainer.tsx +82 -125
  126. package/lib/infra/RootContainer/index.tsx +1 -1
  127. package/lib/infra/Stages/Stages.tsx +38 -39
  128. package/lib/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +17 -10
  129. package/lib/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx +29 -36
  130. package/lib/infra/View/View.tsx +34 -65
  131. package/lib/template/AppShell/AppShell.css +22 -23
  132. package/lib/template/AppShell/AppShell.tsx +51 -69
  133. package/lib/template/BannerPage/BannerPage.tsx +26 -33
  134. package/lib/template/CaseSummary/CaseSummary.tsx +23 -18
  135. package/lib/template/CaseSummary/config-ext.json +1 -2
  136. package/lib/template/CaseView/CaseView.tsx +122 -114
  137. package/lib/template/CaseView/config-ext.json +1 -2
  138. package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +46 -35
  139. package/lib/template/Confirmation/Confirmation.tsx +25 -53
  140. package/lib/template/Confirmation/config-ext.json +1 -2
  141. package/lib/template/DataReference/DataReference.tsx +112 -140
  142. package/lib/template/DataReference/config-ext.json +1 -2
  143. package/lib/template/DefaultForm/DefaultForm.css +7 -3
  144. package/lib/template/DefaultForm/DefaultForm.tsx +26 -20
  145. package/lib/template/DefaultForm/config-ext.json +1 -2
  146. package/lib/template/DefaultForm/utils/index.ts +33 -0
  147. package/lib/template/Details/Details/Details.tsx +24 -28
  148. package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +15 -22
  149. package/lib/template/Details/DetailsSubTabs/config-ext.json +1 -2
  150. package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +25 -29
  151. package/lib/template/Details/DetailsThreeColumn/config-ext.json +1 -2
  152. package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +25 -29
  153. package/lib/template/Details/DetailsTwoColumn/config-ext.json +1 -2
  154. package/lib/template/Details/DetailsTwoColumn/index.tsx +1 -1
  155. package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +79 -0
  156. package/lib/template/Details/DynamicTabs/config.json +36 -0
  157. package/lib/template/Details/DynamicTabs/index.tsx +1 -0
  158. package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +24 -34
  159. package/lib/template/InlineDashboard/InlineDashboard.tsx +16 -14
  160. package/lib/template/InlineDashboardPage/InlineDashboardPage.tsx +19 -21
  161. package/lib/template/ListPage/ListPage.tsx +12 -16
  162. package/lib/template/ListPage/config-ext.json +1 -2
  163. package/lib/template/ListView/{DefaultViewMeta.js → DefaultViewMeta.ts} +1 -3
  164. package/lib/template/ListView/ListView.tsx +245 -306
  165. package/lib/template/ListView/config-ext.json +1 -2
  166. package/lib/template/ListView/{hooks.js → hooks.ts} +24 -24
  167. package/lib/template/ListView/{utils.js → utils.ts} +202 -91
  168. package/lib/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +25 -30
  169. package/lib/template/NarrowWide/NarrowWide/NarrowWide.css +0 -2
  170. package/lib/template/NarrowWide/NarrowWide/NarrowWide.tsx +31 -29
  171. package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +27 -31
  172. package/lib/template/NarrowWide/NarrowWideDetails/config-ext.json +1 -2
  173. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.css +0 -2
  174. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +17 -19
  175. package/lib/template/NarrowWide/NarrowWideForm/config-ext.json +1 -2
  176. package/lib/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +16 -26
  177. package/lib/template/NarrowWide/NarrowWidePage/config-ext.json +1 -2
  178. package/lib/template/OneColumn/OneColumn/OneColumn.tsx +17 -17
  179. package/lib/template/OneColumn/OneColumn/config-ext.json +1 -2
  180. package/lib/template/OneColumn/OneColumnPage/OneColumnPage.tsx +9 -16
  181. package/lib/template/OneColumn/OneColumnPage/config-ext.json +1 -2
  182. package/lib/template/OneColumn/OneColumnTab/OneColumnTab.tsx +8 -14
  183. package/lib/template/OneColumn/OneColumnTab/config-ext.json +1 -2
  184. package/lib/template/PromotedFilters/PromotedFilters.css +1 -1
  185. package/lib/template/PromotedFilters/PromotedFilters.tsx +44 -34
  186. package/lib/template/SimpleTable/SimpleTable/SimpleTable.tsx +115 -14
  187. package/lib/template/SimpleTable/SimpleTable/config-ext.json +1 -2
  188. package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +171 -100
  189. package/lib/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +34 -40
  190. package/lib/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +45 -48
  191. package/lib/template/SubTabs/SubTabs.tsx +26 -45
  192. package/lib/template/SubTabs/config-ext.json +1 -2
  193. package/lib/template/SubTabs/tabUtils.ts +2 -7
  194. package/lib/template/TwoColumn/TwoColumn/TwoColumn.css +0 -1
  195. package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +33 -36
  196. package/lib/template/TwoColumn/TwoColumn/config-ext.json +1 -2
  197. package/lib/template/TwoColumn/TwoColumnPage/TwoColumnPage.tsx +9 -16
  198. package/lib/template/TwoColumn/TwoColumnPage/config-ext.json +1 -2
  199. package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +33 -33
  200. package/lib/template/TwoColumn/TwoColumnTab/config-ext.json +1 -2
  201. package/lib/template/WideNarrow/WideNarrow/WideNarrow.css +0 -2
  202. package/lib/template/WideNarrow/WideNarrow/WideNarrow.tsx +29 -27
  203. package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +39 -33
  204. package/lib/template/WideNarrow/WideNarrowDetails/config-ext.json +1 -2
  205. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.css +0 -2
  206. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +16 -18
  207. package/lib/template/WideNarrow/WideNarrowForm/config-ext.json +1 -2
  208. package/lib/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +15 -25
  209. package/lib/template/WideNarrow/WideNarrowPage/config-ext.json +1 -2
  210. package/lib/template/WideNarrow/WideNarrowPage/index.tsx +1 -1
  211. package/lib/template/WssNavBar/WssNavBar.tsx +33 -17
  212. package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +34 -41
  213. package/lib/widget/AppAnnouncement/config-ext.json +1 -2
  214. package/lib/widget/Attachment/Attachment.css +75 -4
  215. package/lib/widget/Attachment/Attachment.tsx +370 -388
  216. package/lib/widget/Attachment/index.tsx +1 -1
  217. package/lib/widget/CaseHistory/CaseHistory.tsx +67 -67
  218. package/lib/widget/CaseHistory/config-ext.json +1 -2
  219. package/lib/widget/CaseHistory/index.tsx +1 -1
  220. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -9
  221. package/lib/widget/FileUtility/FileUtility/FileUtility.css +2 -2
  222. package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +324 -246
  223. package/lib/widget/FileUtility/FileUtility/config-ext.json +1 -2
  224. package/lib/widget/Followers/Followers.tsx +27 -25
  225. package/lib/widget/Followers/config-ext.json +1 -2
  226. package/lib/widget/QuickCreate/QuickCreate.tsx +24 -16
  227. package/lib/widget/SummaryItem/SummaryItem.css +9 -9
  228. package/lib/widget/SummaryItem/SummaryItem.tsx +62 -54
  229. package/lib/widget/SummaryItem/index.tsx +1 -1
  230. package/lib/widget/SummaryList/SummaryList.tsx +15 -4
  231. package/lib/widget/ToDo/ToDo.css +4 -4
  232. package/lib/widget/ToDo/ToDo.tsx +80 -116
  233. package/lib/widget/ToDo/config-ext.json +1 -2
  234. package/package.json +5 -2
  235. package/lib/helpers/auth.js +0 -483
  236. package/lib/helpers/authManager.js +0 -631
  237. package/lib/helpers/config_access.js +0 -268
  238. package/lib/helpers/formatters/Boolean.js +0 -38
  239. package/lib/helpers/formatters/CurrencyMap.js +0 -908
  240. package/lib/infra/Containers/FlowContainer/helpers.js +0 -147
@@ -1,42 +1,37 @@
1
- import PropTypes from "prop-types";
2
- import React from "react";
1
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
2
 
4
- declare const PCore;
5
- export default function MultiReferenceReadOnly(props) {
6
- const { getPConnect, label, hideLabel, config } = props;
3
+ interface MultiReferenceReadOnlyProps extends PConnProps {
4
+ config: { referenceList: any; readonlyContextList: any };
5
+ label: string;
6
+ hideLabel: boolean;
7
+ }
8
+
9
+ export default function MultiReferenceReadOnly(props: MultiReferenceReadOnlyProps) {
10
+ const { getPConnect, label = '', hideLabel = false, config } = props;
7
11
  const { referenceList, readonlyContextList } = config;
8
12
 
9
13
  // When referenceList does not contain selected values, it should be replaced with readonlyContextList while calling SimpleTableManual
10
14
  let readonlyContextObject;
11
- if ( !PCore.getAnnotationUtils().isProperty(referenceList)) {
15
+ if (!PCore.getAnnotationUtils().isProperty(referenceList)) {
12
16
  readonlyContextObject = {
13
17
  referenceList: readonlyContextList
14
18
  };
15
19
  }
16
20
 
17
- const component = getPConnect().createComponent({
18
- type: "SimpleTable",
19
- config: {
20
- ...config,
21
- ...readonlyContextObject,
22
- label,
23
- hideLabel
24
- }
25
- });
21
+ const component = getPConnect().createComponent(
22
+ {
23
+ type: 'SimpleTable',
24
+ config: {
25
+ ...config,
26
+ ...readonlyContextObject,
27
+ label,
28
+ hideLabel
29
+ }
30
+ },
31
+ '',
32
+ '',
33
+ {}
34
+ ); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional
26
35
 
27
- return (
28
- <React.Fragment>{component}</React.Fragment>
29
- )
36
+ return <>{component}</>;
30
37
  }
31
-
32
- MultiReferenceReadOnly.defaultProps = {
33
- label: "",
34
- hideLabel: false
35
- };
36
-
37
- MultiReferenceReadOnly.propTypes = {
38
- config: PropTypes.object.isRequired,
39
- getPConnect: PropTypes.func.isRequired,
40
- label: PropTypes.string,
41
- hideLabel: PropTypes.bool
42
- };
@@ -9,7 +9,6 @@
9
9
  float: left;
10
10
  padding: 0rem 0.3125rem 0rem 0rem;
11
11
  height: 100%;
12
-
13
12
  }
14
13
 
15
14
  .psdk-narrow-wide-column .psdk-wide-column-column {
@@ -17,5 +16,4 @@
17
16
  float: left;
18
17
  padding: 0rem 0rem 0rem 0.3125rem;
19
18
  height: 100%;
20
-
21
19
  }
@@ -1,35 +1,37 @@
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 './NarrowWide.css';
4
4
 
5
- export default function NarrowWide(props) {
5
+ interface NarrowWideProps extends PConnProps {
6
+ // If any, enter additional props that only exist on this component
7
+ a: any;
8
+ b: any;
9
+ // eslint-disable-next-line react/no-unused-prop-types
10
+ title?: string;
11
+ // eslint-disable-next-line react/no-unused-prop-types
12
+ cols?: string;
13
+ // eslint-disable-next-line react/no-unused-prop-types
14
+ icon?: string;
15
+ }
16
+
17
+ export default function NarrowWide(props: PropsWithChildren<NarrowWideProps>) {
6
18
  // const {a, b /*, cols, icon, title */ } = props;
7
- const {a, b, children} = props;
19
+ const { a, b, children } = props;
8
20
 
9
21
  return (
10
- <React.Fragment>
11
- {children && children.length === 2 &&
12
- <div className="psdk-narrow-wide-column">
13
- <div className="psdk-narrow-column-column">
14
- {children[0]}
15
- </div>
16
- <div className="psdk-wide-column-column">
17
- {children[1]}
18
- </div>
19
- </div>
20
- }
21
- {a && b &&
22
- <div className="psdk-narrow-wide-column">
23
- <div className="psdk-narrow-column-column">
24
- {a}
25
- </div>
26
- <div className="psdk-wide-column-column">
27
- {b}
28
- </div>
29
- </div>
30
- }
31
- </React.Fragment>
32
-
33
- )
34
-
22
+ <>
23
+ {children && (children as ReactElement[]).length === 2 && (
24
+ <div className='psdk-narrow-wide-column'>
25
+ <div className='psdk-narrow-column-column'>{children[0]}</div>
26
+ <div className='psdk-wide-column-column'>{children[1]}</div>
27
+ </div>
28
+ )}
29
+ {a && b && (
30
+ <div className='psdk-narrow-wide-column'>
31
+ <div className='psdk-narrow-column-column'>{a}</div>
32
+ <div className='psdk-wide-column-column'>{b}</div>
33
+ </div>
34
+ )}
35
+ </>
36
+ );
35
37
  }
@@ -1,14 +1,25 @@
1
- import React, { createElement } from 'react';
2
- import PropTypes from 'prop-types';
3
- import Grid from '@material-ui/core/Grid';
4
- import { GridSize } from '@material-ui/core/Grid';
1
+ import { createElement } from 'react';
2
+ import Grid, { GridSize } from '@material-ui/core/Grid';
3
+
5
4
  import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
6
- import FieldGroup from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldGroup';
5
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
6
+
7
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
+
9
+ interface NarrowWideDetailsProps extends PConnProps {
10
+ // If any, enter additional props that only exist on this component
11
+ showLabel?: boolean;
12
+ label: string;
13
+ showHighlightedData?: boolean;
14
+ }
7
15
 
8
16
  const COLUMN_WIDTHS = [4, 8];
9
17
 
10
- export default function NarrowWideDetails(props) {
11
- const { label, showLabel, getPConnect, showHighlightedData } = props;
18
+ export default function NarrowWideDetails(props: NarrowWideDetailsProps) {
19
+ // Get emitted components from map (so we can get any override that may exist)
20
+ const FieldGroup = getComponentFromMap('FieldGroup');
21
+
22
+ const { label, showLabel = true, getPConnect, showHighlightedData = false } = props;
12
23
 
13
24
  // Get the inherited props from the parent to determine label settings
14
25
  const propsToUse = { label, showLabel, ...getPConnect().getInheritedProps() };
@@ -17,20 +28,18 @@ export default function NarrowWideDetails(props) {
17
28
  // in a readonly (display) mode instead of a editable
18
29
  getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
19
30
  getPConnect().setInheritedProp('readOnly', true);
20
- const children = getPConnect()
21
- .getChildren()
22
- .map((configObject, index) =>
23
- createElement(createPConnectComponent(), {
24
- ...configObject,
25
- // eslint-disable-next-line react/no-array-index-key
26
- key: index.toString()
27
- })
28
- );
31
+ const children = (getPConnect().getChildren() as any[]).map((configObject, index) =>
32
+ createElement(createPConnectComponent(), {
33
+ ...configObject,
34
+ // eslint-disable-next-line react/no-array-index-key
35
+ key: index.toString()
36
+ })
37
+ );
29
38
 
30
39
  // Set up highlighted data to pass in return if is set to show, need raw metadata to pass to createComponent
31
40
  let highlightedDataArr = [];
32
41
  if (showHighlightedData) {
33
- const { highlightedData = [] } = getPConnect().getRawMetadata().config;
42
+ const { highlightedData = [] } = (getPConnect().getRawMetadata() as any).config;
34
43
  highlightedDataArr = highlightedData.map(field => {
35
44
  field.config.displayMode = 'STACKED_LARGE_VAL';
36
45
 
@@ -40,7 +49,7 @@ export default function NarrowWideDetails(props) {
40
49
  field.config.displayAsStatus = true;
41
50
  }
42
51
 
43
- return getPConnect().createComponent(field);
52
+ return getPConnect().createComponent(field, '', '', {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional
44
53
  });
45
54
  }
46
55
 
@@ -65,16 +74,3 @@ export default function NarrowWideDetails(props) {
65
74
  </FieldGroup>
66
75
  );
67
76
  }
68
-
69
- NarrowWideDetails.defaultProps = {
70
- label: undefined,
71
- showLabel: true,
72
- showHighlightedData: false
73
- };
74
-
75
- NarrowWideDetails.propTypes = {
76
- showLabel: PropTypes.bool,
77
- label: PropTypes.string,
78
- getPConnect: PropTypes.func.isRequired,
79
- showHighlightedData: PropTypes.bool
80
- };
@@ -4,6 +4,5 @@
4
4
  "description": "Details (Narrow-wide) template",
5
5
  "type": "Template",
6
6
  "subtype": "DETAILS",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -9,7 +9,6 @@
9
9
  float: left;
10
10
  padding: 0rem 0.3125rem 0rem 0rem;
11
11
  height: 100%;
12
-
13
12
  }
14
13
 
15
14
  .psdk-narrow-wide-column .psdk-wide-column-column {
@@ -17,5 +16,4 @@
17
16
  float: left;
18
17
  padding: 0rem 0rem 0rem 0.3125rem;
19
18
  height: 100%;
20
-
21
19
  }
@@ -1,24 +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 './NarrowWideForm.css';
4
4
 
5
- export default function NarrowWideForm(props) {
6
- const {children} = props;
7
-
8
- return (
9
- <React.Fragment>
10
- {children && children.length === 2 &&
11
- <div className="psdk-narrow-wide-column">
12
- <div className="psdk-narrow-column-column">
13
- {children[0]}
14
- </div>
15
- <div className="psdk-wide-column-column">
16
- {children[1]}
17
- </div>
18
- </div>
19
- }
20
- </React.Fragment>
5
+ interface NarrowWideFormProps extends PConnProps {
6
+ // If any, enter additional props that only exist on this component
7
+ }
21
8
 
22
- )
9
+ export default function NarrowWideForm(props: PropsWithChildren<NarrowWideFormProps>) {
10
+ const { children } = props;
23
11
 
12
+ return (
13
+ <>
14
+ {children && (children as ReactElement[]).length === 2 && (
15
+ <div className='psdk-narrow-wide-column'>
16
+ <div className='psdk-narrow-column-column'>{children[0]}</div>
17
+ <div className='psdk-wide-column-column'>{children[1]}</div>
18
+ </div>
19
+ )}
20
+ </>
21
+ );
24
22
  }
@@ -4,6 +4,5 @@
4
4
  "description": "NarrowWide Template",
5
5
  "type": "Template",
6
6
  "subtype": "FORM",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,38 +1,28 @@
1
- import React, { Children } from "react";
2
- import PropTypes from "prop-types";
1
+ import { PropsWithChildren, ReactElement } from 'react';
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
- // import { TwoColumnPage as TwoColumn } from "@pega/cosmos-react-core";
5
- import NarrowWide from '@pega/react-sdk-components/lib/components/template/NarrowWide/NarrowWide';
5
+ interface NarrowWidePageProps extends PConnProps {
6
+ // If any, enter additional props that only exist on this component
7
+ title: string;
8
+ templateCol: string;
9
+ icon: string;
10
+ }
6
11
 
7
12
  /*
8
13
  * The wrapper handles knowing how to take in just children and mapping
9
14
  * to the Cosmos template.
10
15
  */
11
- export default function NarrowWidePage(props) {
12
- const { children, title, templateCol, icon } = props;
13
- const childArray = Children.toArray(children);
16
+ export default function NarrowWidePage(props: PropsWithChildren<NarrowWidePageProps>) {
17
+ // Get emitted components from map (so we can get any override that may exist)
18
+ const NarrowWide = getComponentFromMap('NarrowWide');
19
+
20
+ const { children, title, templateCol = '1fr 1fr', icon = '' } = props;
21
+ const childrenToRender = children as ReactElement[];
14
22
 
15
23
  return (
16
24
  <div>
17
- <NarrowWide
18
- a={childArray[0]}
19
- b={childArray[1]}
20
- title={title}
21
- cols={templateCol}
22
- icon={icon?.replace("pi pi-", "")}
23
- />
25
+ <NarrowWide a={childrenToRender[0]} b={childrenToRender[1]} title={title} cols={templateCol} icon={icon?.replace('pi pi-', '')} />
24
26
  </div>
25
27
  );
26
28
  }
27
-
28
- NarrowWidePage.propTypes = {
29
- children: PropTypes.arrayOf(PropTypes.node).isRequired,
30
- title: PropTypes.string.isRequired,
31
- templateCol: PropTypes.string,
32
- icon: PropTypes.string
33
- };
34
-
35
- NarrowWidePage.defaultProps = {
36
- templateCol: "1fr 1fr",
37
- icon: ""
38
- };
@@ -4,6 +4,5 @@
4
4
  "description": "Narrow-wide Page Template",
5
5
  "type": "Template",
6
6
  "subtype": "PAGE",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,32 +1,32 @@
1
- import React from "react";
2
- import PropTypes from "prop-types";
3
- import { Grid } from "@material-ui/core";
1
+ import { PropsWithChildren, ReactElement } from 'react';
2
+ import { Grid } from '@material-ui/core';
4
3
  import { makeStyles } from '@material-ui/core/styles';
4
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+
6
+ interface OneColumnProps extends PConnProps {
7
+ // If any, enter additional props that only exist on this component
8
+ }
5
9
 
6
10
  const useStyles = makeStyles((/* theme */) => ({
7
11
  colStyles: {
8
- display: "grid",
9
- gap: "1rem",
10
- alignContent: "baseline",
11
- },
12
+ display: 'grid',
13
+ gap: '1rem',
14
+ alignContent: 'baseline'
15
+ }
12
16
  }));
13
17
 
14
-
15
- export default function OneColumn(props) {
18
+ export default function OneColumn(props: PropsWithChildren<OneColumnProps>) {
16
19
  const classes = useStyles();
17
20
 
18
- const { children} = props;
21
+ const { children } = props;
19
22
 
20
23
  return (
21
24
  <Grid container spacing={2}>
22
25
  <Grid item xs={12} className={classes.colStyles}>
23
- {children.map(child => { return child; } )}
26
+ {(children as ReactElement[]).map(child => {
27
+ return child;
28
+ })}
24
29
  </Grid>
25
30
  </Grid>
26
- )
31
+ );
27
32
  }
28
-
29
- OneColumn.propTypes = {
30
- children: PropTypes.arrayOf(PropTypes.node).isRequired,
31
- // template: PropTypes.string.isRequired
32
- };
@@ -4,6 +4,5 @@
4
4
  "description": "OneColumn Template",
5
5
  "type": "Template",
6
6
  "subtype": "FORM",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,24 +1,17 @@
1
- import React from "react";
2
- import PropTypes from "prop-types";
1
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
2
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
3
 
4
- import OneColumn from '@pega/react-sdk-components/lib/components/template/OneColumn/OneColumn';
4
+ interface OneColumnPageProps extends PConnProps {
5
+ // If any, enter additional props that only exist on this component
6
+ }
5
7
 
6
8
  /*
7
9
  * The wrapper handles knowing how to take in just children
8
10
  * and mapping to the TwoColumn template.
9
11
  */
10
- export default function OneColumnPage(props) {
12
+ export default function OneColumnPage(props: OneColumnPageProps) {
13
+ // Get emitted components from map (so we can get any override that may exist)
14
+ const OneColumn = getComponentFromMap('OneColumn');
11
15
 
12
- return (
13
- <OneColumn
14
- {...props}
15
- />
16
- );
16
+ return <OneColumn {...props} />;
17
17
  }
18
-
19
- OneColumnPage.propTypes = {
20
- children: PropTypes.arrayOf(PropTypes.node).isRequired,
21
- };
22
-
23
- OneColumnPage.defaultProps = {
24
- };
@@ -4,6 +4,5 @@
4
4
  "description": "OneColumn Page Template",
5
5
  "type": "Template",
6
6
  "subtype": "PAGE",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,17 +1,11 @@
1
- import React from "react";
2
- import PropTypes from "prop-types";
1
+ import { PropsWithChildren } from 'react';
2
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
3
 
4
- export default function OneColumnTab(props) {
5
- const { children} = props;
6
-
7
- return (
8
- <div id="OneColumnTab">
9
- {children}
10
- </div>
11
- )
4
+ interface OneColumnTabProps extends PConnProps {
5
+ // If any, enter additional props that only exist on this component
12
6
  }
7
+ export default function OneColumnTab(props: PropsWithChildren<OneColumnTabProps>) {
8
+ const { children } = props;
13
9
 
14
- OneColumnTab.propTypes = {
15
- children: PropTypes.arrayOf(PropTypes.node).isRequired,
16
- // template: PropTypes.string.isRequired
17
- };
10
+ return <div id='OneColumnTab'>{children}</div>;
11
+ }
@@ -4,6 +4,5 @@
4
4
  "description": "One column",
5
5
  "type": "Template",
6
6
  "subtype": "TAB",
7
- "properties": [
8
- ]
7
+ "properties": []
9
8
  }
@@ -1,6 +1,6 @@
1
1
  .psdk-grid-filter {
2
2
  display: grid;
3
- grid-template-columns: repeat(2,minmax(0,1fr));
3
+ grid-template-columns: repeat(2, minmax(0, 1fr));
4
4
  column-gap: calc(2 * 0.5rem);
5
5
  row-gap: calc(2 * 0.5rem);
6
6
  align-items: start;