@pega/dx-component-builder-sdk 0.8.5 → 0.8.7

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 (176) hide show
  1. package/package.json +1 -1
  2. package/src/constants.js +16 -0
  3. package/src/tasks/create/templates/Constellation/field/Text-Input/index.jsx.mustache +1 -1
  4. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +5 -1
  5. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +6 -2
  6. package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +6 -2
  7. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +5 -1
  8. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +6 -2
  9. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +6 -2
  10. package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +6 -2
  11. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +4 -1
  12. package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +4 -1
  13. package/src/tasks/create/templates/SDK-React/field/Text-Email/index.tsx.mustache +6 -2
  14. package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +4 -1
  15. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +4 -1
  16. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +5 -1
  17. package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +6 -2
  18. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +6 -2
  19. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +4 -1
  20. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +4 -1
  21. package/src/tasks/create/templates/SDK-React/template/PAGE/OneColumn.tsx.mustache +7 -6
  22. package/tests/assets/components/SDK-React/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +4 -1
  23. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +47 -0
  24. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/AlertBanner/index.tsx +1 -0
  25. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +5 -3
  26. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +1 -1
  27. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +121 -0
  28. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/RichTextEditor/index.tsx +1 -0
  29. package/tests/assets/components/SDK-React/create/override-sdk/field/AutoComplete/AutoComplete.tsx +29 -27
  30. package/tests/assets/components/SDK-React/create/override-sdk/field/Checkbox/Checkbox.tsx +25 -28
  31. package/tests/assets/components/SDK-React/create/override-sdk/field/Currency/Currency.tsx +16 -15
  32. package/tests/assets/components/SDK-React/create/override-sdk/field/Date/Date.tsx +16 -15
  33. package/tests/assets/components/SDK-React/create/override-sdk/field/DateTime/DateTime.tsx +19 -14
  34. package/tests/assets/components/SDK-React/create/override-sdk/field/Decimal/Decimal.tsx +18 -16
  35. package/tests/assets/components/SDK-React/create/override-sdk/field/Dropdown/Dropdown.tsx +22 -31
  36. package/tests/assets/components/SDK-React/create/override-sdk/field/Email/Email.tsx +11 -11
  37. package/tests/assets/components/SDK-React/create/override-sdk/field/Integer/Integer.tsx +9 -7
  38. package/tests/assets/components/SDK-React/create/override-sdk/field/Percentage/Percentage.tsx +9 -9
  39. package/tests/assets/components/SDK-React/create/override-sdk/field/Phone/Phone.tsx +13 -12
  40. package/tests/assets/components/SDK-React/create/override-sdk/field/RadioButtons/RadioButtons.tsx +18 -38
  41. package/tests/assets/components/SDK-React/create/override-sdk/field/RichText/RichText.tsx +93 -0
  42. package/tests/assets/components/SDK-React/create/override-sdk/field/RichText/index.tsx +1 -0
  43. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/ScalarList.tsx +64 -0
  44. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/config-ext.json +8 -0
  45. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/index.tsx +1 -0
  46. package/tests/assets/components/SDK-React/create/override-sdk/field/SemanticLink/SemanticLink.tsx +19 -19
  47. package/tests/assets/components/SDK-React/create/override-sdk/field/TextArea/TextArea.tsx +8 -6
  48. package/tests/assets/components/SDK-React/create/override-sdk/field/TextInput/TextInput.tsx +8 -7
  49. package/tests/assets/components/SDK-React/create/override-sdk/field/Time/Time.tsx +16 -28
  50. package/tests/assets/components/SDK-React/create/override-sdk/field/URL/URL.tsx +10 -8
  51. package/tests/assets/components/SDK-React/create/override-sdk/field/UserReference/UserReference.tsx +29 -29
  52. package/tests/assets/components/SDK-React/create/override-sdk/infra/Assignment/Assignment.tsx +5 -2
  53. package/tests/assets/components/SDK-React/create/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +4 -2
  54. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +13 -13
  55. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/filterUtils.tsx +1 -1
  56. package/tests/assets/components/SDK-React/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +172 -0
  57. package/tests/assets/components/SDK-React/create/override-sdk/infra/DeferLoad/index.tsx +1 -0
  58. package/tests/assets/components/SDK-React/create/override-sdk/infra/MultiStep/MultiStep.tsx +4 -3
  59. package/tests/assets/components/SDK-React/create/override-sdk/infra/NavBar/NavBar.tsx +2 -1
  60. package/tests/assets/components/SDK-React/create/override-sdk/infra/VerticalTabs/VerticalTabs.tsx +4 -1
  61. package/tests/assets/components/SDK-React/create/override-sdk/template/AppShell/AppShell.tsx +6 -4
  62. package/tests/assets/components/SDK-React/create/override-sdk/template/BannerPage/BannerPage.tsx +4 -1
  63. package/tests/assets/components/SDK-React/create/override-sdk/template/CaseSummary/CaseSummary.tsx +7 -2
  64. package/tests/assets/components/SDK-React/create/override-sdk/template/CaseView/CaseView.tsx +10 -13
  65. package/tests/assets/components/SDK-React/create/override-sdk/template/Confirmation/Confirmation.tsx +23 -44
  66. package/tests/assets/components/SDK-React/create/override-sdk/template/DataReference/DataReference.tsx +28 -49
  67. package/tests/assets/components/SDK-React/create/override-sdk/template/Details/Details.tsx +8 -4
  68. package/tests/assets/components/SDK-React/create/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +8 -4
  69. package/tests/assets/components/SDK-React/create/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +8 -4
  70. package/tests/assets/components/SDK-React/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +6 -2
  71. package/tests/assets/components/SDK-React/create/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +5 -1
  72. package/tests/assets/components/SDK-React/create/override-sdk/template/ListPage/ListPage.tsx +6 -3
  73. package/tests/assets/components/SDK-React/create/override-sdk/template/ListView/ListView.tsx +89 -93
  74. package/tests/assets/components/SDK-React/create/override-sdk/template/ListView/utils.ts +170 -23
  75. package/tests/assets/components/SDK-React/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +9 -9
  76. package/tests/assets/components/SDK-React/create/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +8 -4
  77. package/tests/assets/components/SDK-React/create/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +4 -1
  78. package/tests/assets/components/SDK-React/create/override-sdk/template/OneColumnPage/OneColumnPage.tsx +3 -1
  79. package/tests/assets/components/SDK-React/create/override-sdk/template/PromotedFilters/PromotedFilters.tsx +16 -11
  80. package/tests/assets/components/SDK-React/create/override-sdk/template/SimpleTable/SimpleTable.tsx +96 -13
  81. package/tests/assets/components/SDK-React/create/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +6 -4
  82. package/tests/assets/components/SDK-React/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +22 -17
  83. package/tests/assets/components/SDK-React/create/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +3 -2
  84. package/tests/assets/components/SDK-React/create/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +8 -3
  85. package/tests/assets/components/SDK-React/create/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +4 -3
  86. package/tests/assets/components/SDK-React/create/override-sdk/widget/Attachment/Attachment.tsx +7 -3
  87. package/tests/assets/components/SDK-React/create/override-sdk/widget/FileUtility/FileUtility.tsx +8 -2
  88. package/tests/assets/components/SDK-React/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +4 -1
  89. package/tests/assets/components/SDK-React/create/override-sdk/widget/SummaryList/SummaryList.tsx +4 -1
  90. package/tests/assets/components/SDK-React/create/override-sdk/widget/ToDo/ToDo.tsx +53 -82
  91. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.jsx +1 -1
  92. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +5 -1
  93. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +6 -2
  94. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +6 -2
  95. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +6 -2
  96. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +5 -1
  97. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyEmail/index.tsx +6 -2
  98. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +6 -2
  99. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +4 -1
  100. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +6 -2
  101. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +5 -1
  102. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +4 -1
  103. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +4 -1
  104. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +4 -1
  105. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +6 -2
  106. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +6 -2
  107. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +4 -1
  108. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyPage/OneColumn.tsx +7 -6
  109. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +4 -1
  110. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +47 -0
  111. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/AlertBanner/index.tsx +1 -0
  112. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +5 -3
  113. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +121 -0
  114. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/RichTextEditor/index.tsx +1 -0
  115. package/tests/assets/components/SDK-React/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +29 -27
  116. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Checkbox/Checkbox.tsx +25 -28
  117. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Currency/Currency.tsx +16 -15
  118. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Date/Date.tsx +16 -15
  119. package/tests/assets/components/SDK-React/createAll/override-sdk/field/DateTime/DateTime.tsx +19 -14
  120. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Decimal/Decimal.tsx +18 -16
  121. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Dropdown/Dropdown.tsx +22 -31
  122. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Email/Email.tsx +11 -11
  123. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Integer/Integer.tsx +9 -7
  124. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Percentage/Percentage.tsx +9 -9
  125. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Phone/Phone.tsx +13 -12
  126. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +18 -38
  127. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RichText/RichText.tsx +93 -0
  128. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RichText/index.tsx +1 -0
  129. package/tests/assets/components/SDK-React/createAll/override-sdk/field/ScalarList/ScalarList.tsx +28 -30
  130. package/tests/assets/components/SDK-React/createAll/override-sdk/field/ScalarList/config-ext.json +7 -22
  131. package/tests/assets/components/SDK-React/createAll/override-sdk/field/SemanticLink/SemanticLink.tsx +19 -19
  132. package/tests/assets/components/SDK-React/createAll/override-sdk/field/TextArea/TextArea.tsx +8 -6
  133. package/tests/assets/components/SDK-React/createAll/override-sdk/field/TextInput/TextInput.tsx +8 -7
  134. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Time/Time.tsx +16 -28
  135. package/tests/assets/components/SDK-React/createAll/override-sdk/field/URL/URL.tsx +10 -8
  136. package/tests/assets/components/SDK-React/createAll/override-sdk/field/UserReference/UserReference.tsx +29 -29
  137. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/Assignment/Assignment.tsx +5 -2
  138. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +4 -2
  139. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +172 -0
  140. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DeferLoad/index.tsx +1 -0
  141. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +4 -3
  142. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/VerticalTabs/VerticalTabs.tsx +4 -1
  143. package/tests/assets/components/SDK-React/createAll/override-sdk/template/AppShell/AppShell.tsx +6 -4
  144. package/tests/assets/components/SDK-React/createAll/override-sdk/template/BannerPage/BannerPage.tsx +4 -1
  145. package/tests/assets/components/SDK-React/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +7 -2
  146. package/tests/assets/components/SDK-React/createAll/override-sdk/template/CaseView/CaseView.tsx +6 -3
  147. package/tests/assets/components/SDK-React/createAll/override-sdk/template/Confirmation/Confirmation.tsx +23 -44
  148. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DataReference/DataReference.tsx +27 -21
  149. package/tests/assets/components/SDK-React/createAll/override-sdk/template/Details/Details.tsx +6 -2
  150. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +6 -2
  151. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +6 -2
  152. package/tests/assets/components/SDK-React/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +6 -2
  153. package/tests/assets/components/SDK-React/createAll/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +5 -1
  154. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListPage/ListPage.tsx +6 -3
  155. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListView/ListView.tsx +89 -93
  156. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListView/utils.ts +170 -23
  157. package/tests/assets/components/SDK-React/createAll/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +6 -2
  158. package/tests/assets/components/SDK-React/createAll/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +4 -1
  159. package/tests/assets/components/SDK-React/createAll/override-sdk/template/OneColumnPage/OneColumnPage.tsx +3 -1
  160. package/tests/assets/components/SDK-React/createAll/override-sdk/template/PromotedFilters/PromotedFilters.tsx +16 -11
  161. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SimpleTable/SimpleTable.tsx +96 -13
  162. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +6 -4
  163. package/tests/assets/components/SDK-React/createAll/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +3 -2
  164. package/tests/assets/components/SDK-React/createAll/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +8 -4
  165. package/tests/assets/components/SDK-React/createAll/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +4 -3
  166. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/Attachment/Attachment.tsx +7 -3
  167. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +8 -2
  168. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +4 -1
  169. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/SummaryList/SummaryList.tsx +4 -1
  170. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/ToDo/ToDo.tsx +53 -82
  171. package/tests/functional/localCreateBuildAllDeleteAllCustom.test.js +0 -1
  172. package/tests/functional/localCreateBuildDeleteCustom.test.js +1 -1
  173. package/tests/functional/localCreateBuildDeleteOverride.test.js +1 -1
  174. package/tests/functional/localCreatePublishAllDeleteAllCustom.test.js +5 -2
  175. package/tests/functional/localCreatePublishAllDeleteAllOverride.test.js +5 -6
  176. package/tests/functional/localCreatePublishDeleteOverride.test.js +1 -4
@@ -1,32 +1,20 @@
1
1
  import React from 'react';
2
2
  import { KeyboardTimePicker } from '@material-ui/pickers';
3
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
4
- import dayjs from 'dayjs';
5
3
  import AccessTimeIcon from '@material-ui/icons/AccessTime';
6
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
4
+ import dayjs from 'dayjs';
5
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
6
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
7
 
9
-
10
8
  interface TimeProps extends PConnFieldProps {
11
9
  // If any, enter additional props that only exist on Time here
12
10
  }
13
11
 
14
-
15
12
  export default function Time(props: TimeProps) {
16
- const {
17
- label,
18
- required,
19
- disabled,
20
- value = '',
21
- validatemessage,
22
- status,
23
- onChange,
24
- readOnly,
25
- helperText,
26
- displayMode,
27
- hideLabel,
28
- testId
29
- } = props;
13
+ // Get emitted components from map (so we can get any override that may exist)
14
+ const FieldValueList = getComponentFromMap('FieldValueList');
15
+ const TextInput = getComponentFromMap('TextInput');
16
+
17
+ const { label, required, disabled, value = '', validatemessage, status, onChange, readOnly, helperText, displayMode, hideLabel, testId } = props;
30
18
  const helperTextToDisplay = validatemessage || helperText;
31
19
 
32
20
  if (displayMode === 'LABELS_LEFT') {
@@ -34,7 +22,7 @@ export default function Time(props: TimeProps) {
34
22
  }
35
23
 
36
24
  if (displayMode === 'STACKED_LARGE_VAL') {
37
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
25
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
38
26
  }
39
27
 
40
28
  if (readOnly) {
@@ -47,14 +35,14 @@ export default function Time(props: TimeProps) {
47
35
  'data-test-id': testId
48
36
  };
49
37
 
50
- const handleChange = date => {
38
+ const handleChange = (date) => {
51
39
  const theValue = date && date.isValid() ? date.format('HH:mm') : null;
52
40
  onChange({ value: theValue });
53
41
  };
54
42
 
55
43
  let timeValue: any = null;
56
44
  if (value) {
57
- const timeArray = value.split(':').map(itm => Number(itm));
45
+ const timeArray = value.split(':').map((itm) => Number(itm));
58
46
  timeValue = dayjs().hour(timeArray[0]).minute(timeArray[1]);
59
47
  }
60
48
 
@@ -65,9 +53,9 @@ export default function Time(props: TimeProps) {
65
53
 
66
54
  return (
67
55
  <KeyboardTimePicker
68
- variant='inline'
69
- inputVariant='outlined'
70
- placeholder='hh:mm am'
56
+ variant="inline"
57
+ inputVariant="outlined"
58
+ placeholder="hh:mm am"
71
59
  keyboardIcon={<AccessTimeIcon />}
72
60
  fullWidth
73
61
  required={required}
@@ -75,11 +63,11 @@ export default function Time(props: TimeProps) {
75
63
  error={status === 'error'}
76
64
  helperText={helperTextToDisplay}
77
65
  minutesStep={5}
78
- size='small'
66
+ size="small"
79
67
  label={label}
80
68
  autoOk
81
- mask='__:__ _m'
82
- format='hh:mm a'
69
+ mask="__:__ _m"
70
+ format="hh:mm a"
83
71
  value={timeValue}
84
72
  onChange={handleChange}
85
73
  InputProps={{ inputProps: { ...testProp } }}
@@ -1,18 +1,20 @@
1
1
  import React from 'react';
2
2
  import { TextField } from '@material-ui/core';
3
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
4
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
3
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
5
4
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
6
5
 
7
6
  interface URLComponentProps extends PConnFieldProps {
8
7
  // If any, enter additional props that only exist on URLComponent here
9
8
  }
10
9
 
11
-
12
10
  // NOTE: that we had to change the name from URL to URLComponent
13
11
  // Otherwise, we were getting all kinds of weird errors when we
14
12
  // referred to URL as a component.
15
13
  export default function URLComponent(props: URLComponentProps) {
14
+ // Get emitted components from map (so we can get any override that may exist)
15
+ const FieldValueList = getComponentFromMap('FieldValueList');
16
+ const TextInput = getComponentFromMap('TextInput');
17
+
16
18
  const {
17
19
  label,
18
20
  required,
@@ -35,7 +37,7 @@ export default function URLComponent(props: URLComponentProps) {
35
37
  }
36
38
 
37
39
  if (displayMode === 'STACKED_LARGE_VAL') {
38
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
40
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
39
41
  }
40
42
 
41
43
  if (readOnly) {
@@ -50,12 +52,12 @@ export default function URLComponent(props: URLComponentProps) {
50
52
 
51
53
  return (
52
54
  <TextField
53
- type='url'
55
+ type="url"
54
56
  fullWidth
55
- variant='outlined'
57
+ variant="outlined"
56
58
  helperText={helperTextToDisplay}
57
- placeholder=''
58
- size='small'
59
+ placeholder=""
60
+ size="small"
59
61
  required={required}
60
62
  disabled={disabled}
61
63
  onChange={onChange}
@@ -1,8 +1,7 @@
1
1
  import React, { Fragment, memo, useEffect, useState } from 'react';
2
2
  import { Typography } from '@material-ui/core';
3
- import AutoComplete from '@pega/react-sdk-components/lib/components/field/AutoComplete';
4
- import Dropdown from '@pega/react-sdk-components/lib/components/field/Dropdown';
5
3
  import { getUserId, isUserNameAvailable } from './UserReferenceUtils';
4
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
6
5
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
6
 
8
7
  // Remove this and use "real" PCore type once .d.ts is fixed (currently shows 1 errors)
@@ -11,35 +10,37 @@ declare const PCore: any;
11
10
  const DROPDOWN_LIST = 'Drop-down list';
12
11
  const SEARCH_BOX = 'Search box';
13
12
 
14
-
15
13
  interface UserReferenceProps extends PConnProps {
16
14
  // If any, enter additional props that only exist on URLComponent here
17
- displayAs?: string,
18
- label?: string,
19
- value?: any,
20
- testId?: string,
21
- placeholder?: string,
22
- helperText?: string,
23
- disabled?: boolean,
24
- readOnly?: boolean,
25
- required?: boolean,
26
- validatemessage?: string,
27
- showAsFormattedText?: boolean,
28
- additionalProps?: object,
29
- hideLabel?: boolean,
30
- variant?: string
31
- onChange?: any
15
+ displayAs?: string;
16
+ label?: string;
17
+ value?: any;
18
+ testId?: string;
19
+ placeholder?: string;
20
+ helperText?: string;
21
+ disabled?: boolean;
22
+ readOnly?: boolean;
23
+ required?: boolean;
24
+ validatemessage?: string;
25
+ showAsFormattedText?: boolean;
26
+ additionalProps?: object;
27
+ hideLabel?: boolean;
28
+ variant?: string;
29
+ onChange?: any;
32
30
  }
33
31
 
34
-
35
32
  const UserReference = (props: UserReferenceProps) => {
33
+ // Get emitted components from map (so we can get any override that may exist)
34
+ const AutoComplete = getComponentFromMap('AutoComplete');
35
+ const Dropdown = getComponentFromMap('Dropdown');
36
+
36
37
  const {
37
38
  label = '',
38
39
  displayAs = '',
39
40
  getPConnect,
40
41
  value = '',
41
42
  testId = '',
42
- helperText= '',
43
+ helperText = '',
43
44
  validatemessage = '',
44
45
  placeholder = '',
45
46
  showAsFormattedText = false,
@@ -65,7 +66,7 @@ const UserReference = (props: UserReferenceProps) => {
65
66
  // if same user ref field is referred in view as editable & readonly formatted text
66
67
  // referenced users won't be available, so get user details from dx api
67
68
  const { getOperatorDetails } = PCore.getUserApi();
68
- getOperatorDetails(userId).then(res => {
69
+ getOperatorDetails(userId).then((res) => {
69
70
  if (res.data && res.data.pyOperatorInfo && res.data.pyOperatorInfo.pyUserName) {
70
71
  setUserName(res.data.pyOperatorInfo.pyUserName);
71
72
  }
@@ -77,14 +78,14 @@ const UserReference = (props: UserReferenceProps) => {
77
78
  };
78
79
  PCore.getRestClient()
79
80
  .invokeRestApi('getListData', { queryPayload })
80
- .then(res => {
81
- const ddDataSource = res.data.data.map(listItem => ({
81
+ .then((res) => {
82
+ const ddDataSource = res.data.data.map((listItem) => ({
82
83
  key: listItem.pyUserIdentifier,
83
84
  value: listItem.pyUserName
84
85
  }));
85
86
  setDropDownDataSource(ddDataSource);
86
87
  })
87
- .catch(err => {
88
+ .catch((err) => {
88
89
  // eslint-disable-next-line no-console
89
90
  console.error(err);
90
91
  });
@@ -101,8 +102,8 @@ const UserReference = (props: UserReferenceProps) => {
101
102
  TODO: This has to be replaced with Operator Component
102
103
  */}
103
104
  <div>
104
- <Typography variant='caption'>{label}</Typography>
105
- <Typography variant='body1'>{userName}</Typography>
105
+ <Typography variant="caption">{label}</Typography>
106
+ <Typography variant="body1">{userName}</Typography>
106
107
  </div>
107
108
  </Fragment>
108
109
  );
@@ -132,7 +133,7 @@ const UserReference = (props: UserReferenceProps) => {
132
133
  label={label}
133
134
  getPConnect={getPConnect}
134
135
  datasource={OPERATORS_DP}
135
- listType='datapage'
136
+ listType="datapage"
136
137
  columns={columns}
137
138
  testId={testId}
138
139
  placeholder={placeholder}
@@ -152,7 +153,7 @@ const UserReference = (props: UserReferenceProps) => {
152
153
  <Dropdown
153
154
  additionalProps={additionalProps}
154
155
  datasource={dropDownDataSource}
155
- listType='associated'
156
+ listType="associated"
156
157
  getPConnect={getPConnect}
157
158
  label={label}
158
159
  value={userId}
@@ -173,7 +174,6 @@ const UserReference = (props: UserReferenceProps) => {
173
174
  return userReferenceComponent;
174
175
  };
175
176
 
176
-
177
177
  // as objects are there in props, shallow comparision fails & re-rendering of comp happens even with
178
178
  // same key value pairs in obj. hence using custom comparison function on when to re-render
179
179
  const comparisonFn = (prevProps, nextProps) => {
@@ -1,9 +1,8 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import AssignmentCard from '@pega/react-sdk-components/lib/components/infra/AssignmentCard';
3
- import MultiStep from '@pega/react-sdk-components/lib/components/infra/MultiStep';
4
2
  import Snackbar from '@material-ui/core/Snackbar';
5
3
  import IconButton from '@material-ui/core/IconButton';
6
4
  import CloseIcon from '@material-ui/icons/Close';
5
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
6
 
8
7
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
8
 
@@ -19,6 +18,10 @@ interface AssignmentProps extends PConnProps {
19
18
 
20
19
 
21
20
  export default function Assignment(props: AssignmentProps) {
21
+ // Get emitted components from map (so we can get any override that may exist)
22
+ const AssignmentCard = getComponentFromMap("AssignmentCard");
23
+ const MultiStep = getComponentFromMap("MultiStep");
24
+
22
25
  const { getPConnect, children, itemKey = '', isInModal = false, banners = [] } = props;
23
26
  const thePConn = getPConnect();
24
27
 
@@ -1,7 +1,6 @@
1
1
  import React, { useState, useEffect } from "react";
2
2
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
-
4
- import ActionButtons from "@pega/react-sdk-components/lib/components/infra/ActionButtons";
3
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
5
4
 
6
5
  interface AssignmentCardProps extends PConnProps {
7
6
  // If any, enter additional props that only exist on this component
@@ -14,6 +13,9 @@ interface AssignmentCardProps extends PConnProps {
14
13
 
15
14
 
16
15
  export default function AssignmentCard(props: AssignmentCardProps) {
16
+ // Get emitted components from map (so we can get any override that may exist)
17
+ const ActionButtons = getComponentFromMap("ActionButtons");
18
+
17
19
  const { children, actionButtons, onButtonPress} = props;
18
20
 
19
21
  const [arMainButtons, setArMainButtons] = useState([]);
@@ -0,0 +1,172 @@
1
+ import React, { useState, useEffect, createElement } from 'react';
2
+ import { Box, Card, CircularProgress } from '@material-ui/core';
3
+ import { makeStyles } from '@material-ui/core/styles';
4
+
5
+ import createPConnectComponent from '@pega/react-sdk-components/lib/bridge/react_pconnect';
6
+
7
+ // import type { PConnProps } from '../../../types/PConnProps';
8
+
9
+ // Can't use PConnProps until typedefs for showData are fixed
10
+ // interface DeferLoadProps extends PConnProps {
11
+ // // If any, enter additional props that only exist on this component
12
+ // name: string,
13
+ // isChildDeferLoad?: boolean,
14
+ // isTab: boolean
15
+ // }
16
+
17
+
18
+ //
19
+ // WARNING: It is not expected that this file should be modified. It is part of infrastructure code that works with
20
+ // Redux and creation/update of Redux containers and PConnect. Modifying this code could have undesireable results and
21
+ // is totally at your own risk.
22
+ //
23
+
24
+ const useStyles = makeStyles(theme => ({
25
+ root: {
26
+ paddingRight: theme.spacing(1),
27
+ paddingLeft: theme.spacing(1),
28
+ paddingTop: theme.spacing(1),
29
+ paddingBottom: theme.spacing(1),
30
+ marginRight: theme.spacing(1),
31
+ marginLeft: theme.spacing(1),
32
+ marginTop: theme.spacing(1),
33
+ marginBottom: theme.spacing(1)
34
+ }
35
+ }));
36
+
37
+ export default function DeferLoad(props /* : DeferLoadProps */) {
38
+ const { getPConnect, name, deferLoadId, isTab } = props;
39
+ const [content, setContent] = useState<any>(null);
40
+ const [isLoading, setLoading] = useState(true);
41
+ const [currentLoadedAssignment, setCurrentLoadedAssignment] = useState("");
42
+
43
+ const classes = useStyles();
44
+
45
+ const pConnect = getPConnect();
46
+ const constants = PCore.getConstants();
47
+
48
+ const theRequestedAssignment = pConnect.getValue( PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL, ''); // 2nd arg empty string until typedef allows optional
49
+ if (theRequestedAssignment !== currentLoadedAssignment) {
50
+ // console.log(`DeferLoad: currentLoadedAssignment about to change from ${currentLoadedAssignment} to ${theRequestedAssignment}`);
51
+ setCurrentLoadedAssignment(theRequestedAssignment);
52
+ }
53
+
54
+ const { CASE, PAGE, DATA } = constants.RESOURCE_TYPES;
55
+ const loadViewCaseID =
56
+ pConnect.getValue(constants.PZINSKEY, '') || pConnect.getValue(constants.CASE_INFO.CASE_INFO_ID, ''); // 2nd arg empty string until typedef allows optional
57
+ let containerName;
58
+ let containerItemData;
59
+ const targetName = pConnect.getTarget();
60
+ if (targetName) {
61
+ containerName = PCore.getContainerUtils().getActiveContainerItemName(targetName);
62
+
63
+ containerItemData = PCore.getContainerUtils().getContainerItemData(targetName, containerName);
64
+ }
65
+
66
+ const { resourceType = CASE } = containerItemData || {
67
+ resourceType: loadViewCaseID ? CASE : PAGE
68
+ };
69
+ const isContainerPreview = /preview_[0-9]*/g.test(pConnect.getContextName());
70
+
71
+ const getViewOptions = () => ({
72
+ viewContext: resourceType,
73
+ pageClass: loadViewCaseID ? '' : pConnect.getDataObject('').pyPortal.classID, // 2nd arg empty string until typedef allows optional
74
+ container: isContainerPreview ? 'preview' : null,
75
+ containerName: isContainerPreview ? 'preview' : null,
76
+ updateData: isContainerPreview
77
+ });
78
+
79
+ const onResponse = data => {
80
+ setLoading(false);
81
+ if (deferLoadId) {
82
+ PCore.getDeferLoadManager().start(
83
+ name,
84
+ getPConnect().getCaseInfo().getKey(),
85
+ getPConnect().getPageReference().replace('caseInfo.content', ''),
86
+ getPConnect().getContextName(),
87
+ deferLoadId
88
+ );
89
+ }
90
+
91
+ if (data && !(data.type && data.type === 'error')) {
92
+ const config = {
93
+ meta: data,
94
+ options: {
95
+ context: pConnect.getContextName(),
96
+ pageReference: pConnect.getPageReference()
97
+ }
98
+ };
99
+ const configObject = PCore.createPConnect(config);
100
+ configObject.getPConnect().setInheritedProp('displayMode', 'LABELS_LEFT');
101
+ setContent(createElement(createPConnectComponent(), configObject));
102
+ if (deferLoadId) {
103
+ PCore.getDeferLoadManager().stop(deferLoadId, getPConnect().getContextName());
104
+ }
105
+ }
106
+ };
107
+
108
+ useEffect(() => {
109
+ if (resourceType === DATA) {
110
+ // Rendering defer loaded tabs in data context
111
+ if (containerName) {
112
+ const dataContext = PCore.getStoreValue('.dataContext', 'dataInfo', containerName);
113
+ const dataContextParameters = PCore.getStoreValue(
114
+ '.dataContextParameters',
115
+ 'dataInfo',
116
+ containerName
117
+ );
118
+
119
+ getPConnect()
120
+ .getActionsApi()
121
+ .showData(name, dataContext, dataContextParameters, { // Need to wait for typedefs to be fixed for showData
122
+ skipSemanticUrl: true,
123
+ isDeferLoaded: true
124
+ })
125
+ .then(data => {
126
+ onResponse(data);
127
+ });
128
+ } else {
129
+ // eslint-disable-next-line no-console
130
+ console.error('Cannot load the defer loaded view without container information');
131
+ }
132
+ } else if (resourceType === PAGE) {
133
+ // Rendering defer loaded tabs in case/ page context
134
+ getPConnect()
135
+ .getActionsApi()
136
+ .loadView(encodeURI(loadViewCaseID), name, getViewOptions())
137
+ .then(data => {
138
+ onResponse(data);
139
+ });
140
+ } else {
141
+ getPConnect()
142
+ .getActionsApi()
143
+ .refreshCaseView(encodeURI(loadViewCaseID), name, '') // 3rd arg empty string until typedef allows optional
144
+ .then(data => {
145
+ onResponse(data.root);
146
+ });
147
+ }
148
+ }, [name, getPConnect, currentLoadedAssignment]);
149
+ /* TODO Cosmos need to handle for now added a wrapper div with pos relative */
150
+ let deferLoadContent;
151
+ if (isLoading) {
152
+ deferLoadContent = (
153
+ <div style={{ position: 'relative', height: '100px' }}>
154
+ <Box textAlign='center'>
155
+ <CircularProgress />
156
+ </Box>
157
+ </div>
158
+ );
159
+ } else {
160
+ deferLoadContent = !isTab ? (
161
+ <div className={classes.root}>
162
+ <React.Fragment>{content}</React.Fragment>
163
+ </div>
164
+ ) : (
165
+ <Card id='DeferLoad' className={classes.root}>
166
+ <React.Fragment>{content}</React.Fragment>
167
+ </Card>
168
+ );
169
+ }
170
+
171
+ return deferLoadContent;
172
+ }
@@ -0,0 +1 @@
1
+ export { default } from './DeferLoad';
@@ -1,9 +1,7 @@
1
1
  import React from "react";
2
-
2
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
3
3
  import './MultiStep.css';
4
4
 
5
- import AssignmentCard from '@pega/react-sdk-components/lib/components/infra/AssignmentCard';
6
-
7
5
  // import { useConstellationContext } from "../../bridge/Context/StoreContext";
8
6
 
9
7
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
@@ -23,6 +21,9 @@ interface MultiStepProps extends PConnProps {
23
21
 
24
22
 
25
23
  export default function MultiStep(props: MultiStepProps) {
24
+ // Get emitted components from map (so we can get any override that may exist)
25
+ const AssignmentCard = getComponentFromMap("AssignmentCard");
26
+
26
27
  const { getPConnect, children, itemKey = '', actionButtons, onButtonPress} = props;
27
28
  const { bIsVertical, arNavigationSteps } = props;
28
29
 
@@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react";
2
2
  import { makeStyles } from '@material-ui/core/styles'
3
3
 
4
4
  import Tabs from '@material-ui/core/Tabs';
5
- import LeftAlignVerticalTab from '@pega/react-sdk-components/lib/components/infra/VerticalTabs/LeftAlignVerticalTabs';
5
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
6
6
 
7
7
  // VerticalTabs does NOT have getPConnect. So, no need to extend from PConnProps
8
8
  interface VerticalTabsProps {
@@ -37,6 +37,9 @@ const createCustomEvent = (eventName: string, additionalData: {[key: string]: st
37
37
 
38
38
 
39
39
  export default function VerticalTabs(props: VerticalTabsProps) {
40
+ // Get emitted components from map (so we can get any override that may exist)
41
+ const LeftAlignVerticalTab = getComponentFromMap("LeftAlignVerticalTabs");
42
+
40
43
  // Get a React warning when we use tabConfig as mixed case. So all lowercase tabconfig
41
44
  const { tabconfig = [] } = props;
42
45
  const classes = useStyles();
@@ -4,10 +4,7 @@ import { Utils } from '@pega/react-sdk-components/lib/components/helpers/utils';
4
4
  import Avatar from '@material-ui/core/Avatar';
5
5
  import { NavContext } from '@pega/react-sdk-components/lib/components/helpers/reactContextHelpers';
6
6
  import './AppShell.css';
7
-
8
- // AppShell can emit NavBar or WssNavBar
9
- import NavBar from '@pega/react-sdk-components/lib/components/infra/NavBar';
10
- import WssNavBar from '@pega/react-sdk-components/lib/components/template/WssNavBar';
7
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
11
8
 
12
9
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
13
10
 
@@ -55,6 +52,10 @@ declare const PCore: any;
55
52
 
56
53
 
57
54
  export default function AppShell(props:AppShellProps) {
55
+ // Get emitted components from map (so we can get any override that may exist)
56
+ const NavBar = getComponentFromMap("NavBar");
57
+ const WssNavBar = getComponentFromMap("WssNavBar");
58
+
58
59
  const {
59
60
  pages = [],
60
61
  caseTypes = [],
@@ -66,6 +67,7 @@ export default function AppShell(props:AppShellProps) {
66
67
  portalLogo,
67
68
  navDisplayOptions
68
69
  } = props;
70
+
69
71
  const [open, setOpen] = useState(true);
70
72
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
71
73
  const [activeTab, setActiveTab] = useState(!pages ? null : pages[0]?.pyRuleName);
@@ -1,6 +1,6 @@
1
1
  import { useMemo, Children } from 'react';
2
- import Banner from '@pega/react-sdk-components/lib/components/designSystemExtension/Banner';
3
2
  import React from 'react';
3
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
4
 
5
5
  // BannerPage does NOT have getPConnect. So, no need to extend from PConnProps
6
6
 
@@ -20,6 +20,9 @@ interface BannerPageProps {
20
20
  * BannerPage template.
21
21
  */
22
22
  export default function BannerPage(props: BannerPageProps) {
23
+ // Get emitted components from map (so we can get any override that may exist)
24
+ const Banner = getComponentFromMap('Banner');
25
+
23
26
  const {
24
27
  children,
25
28
  layout = 'two-column',
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
2
3
 
3
- import CaseSummaryFields from '@pega/react-sdk-components/lib/components/designSystemExtension/CaseSummaryFields';
4
4
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  interface CaseSummaryProps extends PConnProps {
@@ -10,10 +10,15 @@ interface CaseSummaryProps extends PConnProps {
10
10
 
11
11
 
12
12
  export default function CaseSummary(props: CaseSummaryProps) {
13
+ // Get emitted components from map (so we can get any override that may exist)
14
+ const CaseSummaryFields = getComponentFromMap('CaseSummaryFields');
15
+
13
16
  const { getPConnect, children } = props;
14
17
  const thePConn = getPConnect();
15
18
  const theConfigProps = thePConn.getConfigProps();
16
- const { status, showStatus } = theConfigProps;
19
+ // const { status, showStatus } = theConfigProps;
20
+ const status = theConfigProps["status"];
21
+ const showStatus = theConfigProps["showStatus"];
17
22
 
18
23
  // from Constellation DX Components
19
24
  // get the primary and secondary fields with the raw data (which has the non-resolved property values)
@@ -9,9 +9,7 @@ import Button from '@material-ui/core/Button';
9
9
  import Grid from '@material-ui/core/Grid';
10
10
 
11
11
  import StoreContext from '@pega/react-sdk-components/lib/bridge/Context/StoreContext';
12
- import CaseViewActionsMenu from '@pega/react-sdk-components/lib/components/template/CaseViewActionsMenu';
13
- import VerticalTabs from '@pega/react-sdk-components/lib/components/infra/VerticalTabs/VerticalTabs';
14
- import DeferLoad from '@pega/react-sdk-components/lib/components/infra/DeferLoad';
12
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
15
13
 
16
14
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
17
15
 
@@ -58,6 +56,11 @@ const useStyles = makeStyles(theme => ({
58
56
  }));
59
57
 
60
58
  export default function CaseView(props: CaseViewProps) {
59
+ // Get emitted components from map (so we can get any override that may exist)
60
+ const CaseViewActionsMenu = getComponentFromMap("CaseViewActionsMenu");
61
+ const VerticalTabs = getComponentFromMap("VerticalTabs");
62
+ const DeferLoad = getComponentFromMap("DeferLoad");
63
+
61
64
  const {
62
65
  getPConnect,
63
66
  icon = '',