@pega/react-sdk-overrides 0.23.26 → 0.23.28

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 (238) 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.tsx +21 -7
  7. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +0 -1
  8. package/lib/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +36 -26
  9. package/lib/designSystemExtension/DetailsFields/DetailsFields.tsx +21 -28
  10. package/lib/designSystemExtension/DetailsFields/index.tsx +1 -1
  11. package/lib/designSystemExtension/FieldGroup/FieldGroup.tsx +50 -18
  12. package/lib/designSystemExtension/FieldGroupList/FieldGroupList.tsx +13 -12
  13. package/lib/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -27
  14. package/lib/designSystemExtension/Operator/Operator.tsx +106 -87
  15. package/lib/designSystemExtension/Pulse/Pulse.tsx +21 -19
  16. package/lib/designSystemExtension/RichTextEditor/RichTextEditor.tsx +122 -0
  17. package/lib/designSystemExtension/RichTextEditor/index.tsx +1 -0
  18. package/lib/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +21 -12
  19. package/lib/field/AutoComplete/AutoComplete.tsx +33 -16
  20. package/lib/field/AutoComplete/config-ext.json +2 -3
  21. package/lib/field/CancelAlert/CancelAlert.tsx +21 -15
  22. package/lib/field/CancelAlert/index.tsx +1 -1
  23. package/lib/field/Checkbox/Checkbox.tsx +29 -19
  24. package/lib/field/Checkbox/config-ext.json +2 -3
  25. package/lib/field/Currency/Currency.tsx +27 -38
  26. package/lib/field/Currency/config-ext.json +2 -3
  27. package/lib/field/Currency/currency-utils.ts +10 -18
  28. package/lib/field/Date/Date.tsx +33 -15
  29. package/lib/field/Date/config-ext.json +2 -3
  30. package/lib/field/DateTime/DateTime.tsx +22 -11
  31. package/lib/field/DateTime/config-ext.json +1 -2
  32. package/lib/field/Decimal/Decimal.tsx +64 -17
  33. package/lib/field/Decimal/config-ext.json +1 -2
  34. package/lib/field/Decimal/index.tsx +1 -1
  35. package/lib/field/Dropdown/Dropdown.tsx +154 -18
  36. package/lib/field/Dropdown/config-ext.json +1 -2
  37. package/lib/field/Email/Email.tsx +16 -7
  38. package/lib/field/Email/config-ext.json +1 -2
  39. package/lib/field/Email/index.tsx +1 -1
  40. package/lib/field/Group/Group.tsx +37 -0
  41. package/lib/field/Group/config-ext.json +7 -0
  42. package/lib/field/Group/index.tsx +1 -0
  43. package/lib/field/Integer/Integer.tsx +15 -6
  44. package/lib/field/Integer/config-ext.json +1 -2
  45. package/lib/field/Percentage/Percentage.tsx +14 -6
  46. package/lib/field/Percentage/config-ext.json +1 -2
  47. package/lib/field/Phone/Phone.tsx +17 -7
  48. package/lib/field/Phone/index.tsx +1 -1
  49. package/lib/field/RadioButtons/RadioButtons.tsx +55 -24
  50. package/lib/field/RadioButtons/config-ext.json +1 -2
  51. package/lib/field/RichText/RichText.tsx +96 -0
  52. package/lib/field/RichText/index.tsx +1 -0
  53. package/lib/field/ScalarList/ScalarList.tsx +63 -0
  54. package/lib/field/ScalarList/config-ext.json +7 -0
  55. package/lib/field/ScalarList/index.tsx +1 -0
  56. package/lib/field/SemanticLink/SemanticLink.tsx +26 -25
  57. package/lib/field/SemanticLink/config-ext.json +1 -2
  58. package/lib/field/SemanticLink/utils.ts +8 -10
  59. package/lib/field/TextArea/TextArea.tsx +15 -5
  60. package/lib/field/TextArea/config-ext.json +1 -2
  61. package/lib/field/TextContent/TextContent.tsx +9 -2
  62. package/lib/field/TextContent/config-ext.json +1 -2
  63. package/lib/field/TextInput/TextInput.tsx +41 -10
  64. package/lib/field/TextInput/config-ext.json +1 -2
  65. package/lib/field/TextInput/index.tsx +1 -1
  66. package/lib/field/Time/Time.tsx +21 -18
  67. package/lib/field/Time/config-ext.json +1 -2
  68. package/lib/field/URL/URL.tsx +23 -6
  69. package/lib/field/URL/config-ext.json +1 -2
  70. package/lib/field/URL/index.tsx +1 -1
  71. package/lib/field/UserReference/UserReference.tsx +52 -58
  72. package/lib/field/UserReference/UserReferenceUtils.ts +2 -2
  73. package/lib/field/UserReference/config-ext.json +1 -2
  74. package/lib/helpers/{attachmentHelpers.js → attachmentHelpers.ts} +16 -11
  75. package/lib/helpers/case-utils.tsx +99 -0
  76. package/lib/helpers/common-utils.ts +8 -0
  77. package/lib/helpers/data_page.ts +3 -6
  78. package/lib/helpers/date-format-utils.ts +29 -19
  79. package/lib/helpers/{event-utils.js → event-utils.ts} +4 -4
  80. package/lib/helpers/{field-group-utils.js → field-group-utils.ts} +9 -10
  81. package/lib/helpers/formatters/Boolean.ts +21 -0
  82. package/lib/helpers/formatters/{Currency.js → Currency.ts} +22 -27
  83. package/lib/helpers/formatters/CurrencyMap.ts +915 -0
  84. package/lib/helpers/formatters/{Date.js → Date.ts} +20 -26
  85. package/lib/helpers/formatters/{common.js → common.ts} +3 -4
  86. package/lib/helpers/formatters/{index.js → index.ts} +22 -22
  87. package/lib/helpers/{reactContextHelpers.js → reactContextHelpers.ts} +2 -2
  88. package/lib/helpers/simpleTableHelpers.ts +65 -85
  89. package/lib/helpers/state-utils.tsx +43 -0
  90. package/lib/helpers/template-utils.ts +4 -8
  91. package/lib/helpers/utils.ts +16 -8
  92. package/lib/helpers/versionHelpers.ts +1 -5
  93. package/lib/infra/ActionButtons/ActionButtons.tsx +46 -42
  94. package/lib/infra/ActionButtons/index.tsx +1 -1
  95. package/lib/infra/Assignment/Assignment.tsx +99 -84
  96. package/lib/infra/Assignment/index.tsx +1 -1
  97. package/lib/infra/AssignmentCard/AssignmentCard.tsx +19 -26
  98. package/lib/infra/AssignmentCard/index.tsx +1 -1
  99. package/lib/infra/Containers/FlowContainer/FlowContainer.tsx +98 -232
  100. package/lib/infra/Containers/FlowContainer/helpers.ts +138 -0
  101. package/lib/infra/Containers/FlowContainer/index.tsx +1 -1
  102. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/ListViewActionButtons.tsx +66 -0
  103. package/lib/infra/Containers/ModalViewContainer/ListViewActionButtons/index.tsx +1 -0
  104. package/lib/infra/Containers/ModalViewContainer/ModalViewContainer.tsx +105 -70
  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 +49 -64
  110. package/lib/infra/Containers/helpers.ts +6 -0
  111. package/lib/infra/DashboardFilter/DashboardFilter.tsx +26 -51
  112. package/lib/infra/DashboardFilter/filterUtils.tsx +12 -40
  113. package/lib/infra/DeferLoad/DeferLoad.tsx +22 -31
  114. package/lib/infra/DeferLoad/index.tsx +1 -1
  115. package/lib/infra/ErrorBoundary/ErrorBoundary.tsx +25 -38
  116. package/lib/infra/MultiStep/MultiStep.css +11 -15
  117. package/lib/infra/MultiStep/MultiStep.tsx +180 -216
  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 +28 -43
  121. package/lib/infra/Reference/Reference.tsx +16 -22
  122. package/lib/infra/Region/Region.tsx +9 -9
  123. package/lib/infra/RootContainer/RootContainer.tsx +82 -125
  124. package/lib/infra/RootContainer/index.tsx +1 -1
  125. package/lib/infra/Stages/Stages.tsx +38 -39
  126. package/lib/infra/VerticalTabs/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +17 -10
  127. package/lib/infra/VerticalTabs/VerticalTabs/VerticalTabs.tsx +29 -36
  128. package/lib/infra/View/View.tsx +32 -63
  129. package/lib/template/AppShell/AppShell.css +22 -23
  130. package/lib/template/AppShell/AppShell.tsx +51 -69
  131. package/lib/template/BannerPage/BannerPage.tsx +26 -33
  132. package/lib/template/CaseSummary/CaseSummary.tsx +23 -18
  133. package/lib/template/CaseSummary/config-ext.json +1 -2
  134. package/lib/template/CaseView/CaseView.tsx +122 -114
  135. package/lib/template/CaseView/config-ext.json +1 -2
  136. package/lib/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +46 -35
  137. package/lib/template/Confirmation/Confirmation.tsx +25 -53
  138. package/lib/template/Confirmation/config-ext.json +1 -2
  139. package/lib/template/DataReference/DataReference.tsx +112 -140
  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 +26 -20
  143. package/lib/template/DefaultForm/config-ext.json +1 -2
  144. package/lib/template/DefaultForm/utils/index.ts +33 -0
  145. package/lib/template/Details/Details/Details.tsx +24 -28
  146. package/lib/template/Details/DetailsSubTabs/DetailsSubTabs.tsx +15 -22
  147. package/lib/template/Details/DetailsSubTabs/config-ext.json +1 -2
  148. package/lib/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +25 -29
  149. package/lib/template/Details/DetailsThreeColumn/config-ext.json +1 -2
  150. package/lib/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +25 -29
  151. package/lib/template/Details/DetailsTwoColumn/config-ext.json +1 -2
  152. package/lib/template/Details/DetailsTwoColumn/index.tsx +1 -1
  153. package/lib/template/Details/DynamicTabs/DynamicTabs.tsx +79 -0
  154. package/lib/template/Details/DynamicTabs/config.json +36 -0
  155. package/lib/template/Details/DynamicTabs/index.tsx +1 -0
  156. package/lib/template/FieldGroupTemplate/FieldGroupTemplate.tsx +24 -34
  157. package/lib/template/InlineDashboard/InlineDashboard.tsx +16 -14
  158. package/lib/template/InlineDashboardPage/InlineDashboardPage.tsx +19 -21
  159. package/lib/template/ListPage/ListPage.tsx +12 -16
  160. package/lib/template/ListPage/config-ext.json +1 -2
  161. package/lib/template/ListView/{DefaultViewMeta.js → DefaultViewMeta.ts} +1 -3
  162. package/lib/template/ListView/ListView.tsx +245 -306
  163. package/lib/template/ListView/config-ext.json +1 -2
  164. package/lib/template/ListView/{hooks.js → hooks.ts} +24 -24
  165. package/lib/template/ListView/{utils.js → utils.ts} +202 -91
  166. package/lib/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +25 -30
  167. package/lib/template/NarrowWide/NarrowWide/NarrowWide.css +0 -2
  168. package/lib/template/NarrowWide/NarrowWide/NarrowWide.tsx +31 -29
  169. package/lib/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +27 -31
  170. package/lib/template/NarrowWide/NarrowWideDetails/config-ext.json +1 -2
  171. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.css +0 -2
  172. package/lib/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +17 -19
  173. package/lib/template/NarrowWide/NarrowWideForm/config-ext.json +1 -2
  174. package/lib/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +16 -26
  175. package/lib/template/NarrowWide/NarrowWidePage/config-ext.json +1 -2
  176. package/lib/template/OneColumn/OneColumn/OneColumn.tsx +17 -17
  177. package/lib/template/OneColumn/OneColumn/config-ext.json +1 -2
  178. package/lib/template/OneColumn/OneColumnPage/OneColumnPage.tsx +9 -16
  179. package/lib/template/OneColumn/OneColumnPage/config-ext.json +1 -2
  180. package/lib/template/OneColumn/OneColumnTab/OneColumnTab.tsx +8 -14
  181. package/lib/template/OneColumn/OneColumnTab/config-ext.json +1 -2
  182. package/lib/template/PromotedFilters/PromotedFilters.css +1 -1
  183. package/lib/template/PromotedFilters/PromotedFilters.tsx +44 -34
  184. package/lib/template/SimpleTable/SimpleTable/SimpleTable.tsx +115 -14
  185. package/lib/template/SimpleTable/SimpleTable/config-ext.json +1 -2
  186. package/lib/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +171 -100
  187. package/lib/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +34 -40
  188. package/lib/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +45 -48
  189. package/lib/template/SubTabs/SubTabs.tsx +26 -45
  190. package/lib/template/SubTabs/config-ext.json +1 -2
  191. package/lib/template/SubTabs/tabUtils.ts +2 -7
  192. package/lib/template/TwoColumn/TwoColumn/TwoColumn.css +0 -1
  193. package/lib/template/TwoColumn/TwoColumn/TwoColumn.tsx +33 -36
  194. package/lib/template/TwoColumn/TwoColumn/config-ext.json +1 -2
  195. package/lib/template/TwoColumn/TwoColumnPage/TwoColumnPage.tsx +9 -16
  196. package/lib/template/TwoColumn/TwoColumnPage/config-ext.json +1 -2
  197. package/lib/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +33 -33
  198. package/lib/template/TwoColumn/TwoColumnTab/config-ext.json +1 -2
  199. package/lib/template/WideNarrow/WideNarrow/WideNarrow.css +0 -2
  200. package/lib/template/WideNarrow/WideNarrow/WideNarrow.tsx +29 -27
  201. package/lib/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +39 -33
  202. package/lib/template/WideNarrow/WideNarrowDetails/config-ext.json +1 -2
  203. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.css +0 -2
  204. package/lib/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +16 -18
  205. package/lib/template/WideNarrow/WideNarrowForm/config-ext.json +1 -2
  206. package/lib/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +15 -25
  207. package/lib/template/WideNarrow/WideNarrowPage/config-ext.json +1 -2
  208. package/lib/template/WideNarrow/WideNarrowPage/index.tsx +1 -1
  209. package/lib/template/WssNavBar/WssNavBar.tsx +20 -9
  210. package/lib/widget/AppAnnouncement/AppAnnouncement.tsx +34 -41
  211. package/lib/widget/AppAnnouncement/config-ext.json +1 -2
  212. package/lib/widget/Attachment/Attachment.css +75 -4
  213. package/lib/widget/Attachment/Attachment.tsx +370 -388
  214. package/lib/widget/Attachment/index.tsx +1 -1
  215. package/lib/widget/CaseHistory/CaseHistory.tsx +67 -67
  216. package/lib/widget/CaseHistory/config-ext.json +1 -2
  217. package/lib/widget/CaseHistory/index.tsx +1 -1
  218. package/lib/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -9
  219. package/lib/widget/FileUtility/FileUtility/FileUtility.css +2 -2
  220. package/lib/widget/FileUtility/FileUtility/FileUtility.tsx +324 -246
  221. package/lib/widget/FileUtility/FileUtility/config-ext.json +1 -2
  222. package/lib/widget/Followers/Followers.tsx +27 -25
  223. package/lib/widget/Followers/config-ext.json +1 -2
  224. package/lib/widget/QuickCreate/QuickCreate.tsx +24 -16
  225. package/lib/widget/SummaryItem/SummaryItem.css +9 -9
  226. package/lib/widget/SummaryItem/SummaryItem.tsx +62 -54
  227. package/lib/widget/SummaryItem/index.tsx +1 -1
  228. package/lib/widget/SummaryList/SummaryList.tsx +15 -4
  229. package/lib/widget/ToDo/ToDo.css +4 -4
  230. package/lib/widget/ToDo/ToDo.tsx +80 -116
  231. package/lib/widget/ToDo/config-ext.json +1 -2
  232. package/package.json +5 -2
  233. package/lib/helpers/auth.js +0 -483
  234. package/lib/helpers/authManager.js +0 -631
  235. package/lib/helpers/config_access.js +0 -268
  236. package/lib/helpers/formatters/Boolean.js +0 -38
  237. package/lib/helpers/formatters/CurrencyMap.js +0 -908
  238. 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;