@pega/dx-component-builder-sdk 0.23.6 → 0.23.8

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 (137) hide show
  1. package/package.json +1 -1
  2. package/src/constants.js +17 -0
  3. package/src/tasks/create/templates/Constellation/field/Text-Input/index.jsx.mustache +1 -1
  4. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +47 -0
  5. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/AlertBanner/index.tsx +1 -0
  6. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +5 -3
  7. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +1 -1
  8. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +121 -0
  9. package/tests/assets/components/SDK-React/create/override-sdk/designSystemExtension/RichTextEditor/index.tsx +1 -0
  10. package/tests/assets/components/SDK-React/create/override-sdk/field/AutoComplete/AutoComplete.tsx +29 -27
  11. package/tests/assets/components/SDK-React/create/override-sdk/field/Checkbox/Checkbox.tsx +10 -6
  12. package/tests/assets/components/SDK-React/create/override-sdk/field/Currency/Currency.tsx +16 -15
  13. package/tests/assets/components/SDK-React/create/override-sdk/field/Date/Date.tsx +16 -15
  14. package/tests/assets/components/SDK-React/create/override-sdk/field/DateTime/DateTime.tsx +19 -14
  15. package/tests/assets/components/SDK-React/create/override-sdk/field/Decimal/Decimal.tsx +18 -16
  16. package/tests/assets/components/SDK-React/create/override-sdk/field/Dropdown/Dropdown.tsx +17 -25
  17. package/tests/assets/components/SDK-React/create/override-sdk/field/Email/Email.tsx +11 -11
  18. package/tests/assets/components/SDK-React/create/override-sdk/field/Integer/Integer.tsx +9 -7
  19. package/tests/assets/components/SDK-React/create/override-sdk/field/Percentage/Percentage.tsx +9 -9
  20. package/tests/assets/components/SDK-React/create/override-sdk/field/Phone/Phone.tsx +13 -12
  21. package/tests/assets/components/SDK-React/create/override-sdk/field/RadioButtons/RadioButtons.tsx +16 -35
  22. package/tests/assets/components/SDK-React/create/override-sdk/field/RichText/RichText.tsx +95 -0
  23. package/tests/assets/components/SDK-React/create/override-sdk/field/RichText/index.tsx +1 -0
  24. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/ScalarList.tsx +73 -0
  25. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/config-ext.json +8 -0
  26. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/index.tsx +1 -0
  27. package/tests/assets/components/SDK-React/create/override-sdk/field/SemanticLink/SemanticLink.tsx +19 -19
  28. package/tests/assets/components/SDK-React/create/override-sdk/field/TextArea/TextArea.tsx +8 -6
  29. package/tests/assets/components/SDK-React/create/override-sdk/field/TextInput/TextInput.tsx +8 -7
  30. package/tests/assets/components/SDK-React/create/override-sdk/field/Time/Time.tsx +16 -28
  31. package/tests/assets/components/SDK-React/create/override-sdk/field/URL/URL.tsx +10 -8
  32. package/tests/assets/components/SDK-React/create/override-sdk/field/UserReference/UserReference.tsx +29 -29
  33. package/tests/assets/components/SDK-React/create/override-sdk/infra/Assignment/Assignment.tsx +5 -2
  34. package/tests/assets/components/SDK-React/create/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +4 -2
  35. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +13 -13
  36. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/filterUtils.tsx +2 -1
  37. package/tests/assets/components/SDK-React/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +172 -0
  38. package/tests/assets/components/SDK-React/create/override-sdk/infra/DeferLoad/index.tsx +1 -0
  39. package/tests/assets/components/SDK-React/create/override-sdk/infra/MultiStep/MultiStep.tsx +4 -3
  40. package/tests/assets/components/SDK-React/create/override-sdk/infra/NavBar/NavBar.tsx +2 -1
  41. package/tests/assets/components/SDK-React/create/override-sdk/infra/VerticalTabs/VerticalTabs.tsx +4 -1
  42. package/tests/assets/components/SDK-React/create/override-sdk/template/AppShell/AppShell.tsx +6 -4
  43. package/tests/assets/components/SDK-React/create/override-sdk/template/BannerPage/BannerPage.tsx +4 -1
  44. package/tests/assets/components/SDK-React/create/override-sdk/template/CaseSummary/CaseSummary.tsx +4 -1
  45. package/tests/assets/components/SDK-React/create/override-sdk/template/CaseView/CaseView.tsx +10 -13
  46. package/tests/assets/components/SDK-React/create/override-sdk/template/Confirmation/Confirmation.tsx +23 -44
  47. package/tests/assets/components/SDK-React/create/override-sdk/template/DataReference/DataReference.tsx +43 -64
  48. package/tests/assets/components/SDK-React/create/override-sdk/template/Details/Details.tsx +8 -4
  49. package/tests/assets/components/SDK-React/create/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +8 -4
  50. package/tests/assets/components/SDK-React/create/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +8 -4
  51. package/tests/assets/components/SDK-React/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +6 -2
  52. package/tests/assets/components/SDK-React/create/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +5 -1
  53. package/tests/assets/components/SDK-React/create/override-sdk/template/ListPage/ListPage.tsx +6 -3
  54. package/tests/assets/components/SDK-React/create/override-sdk/template/ListView/ListView.tsx +89 -93
  55. package/tests/assets/components/SDK-React/create/override-sdk/template/ListView/utils.ts +170 -23
  56. package/tests/assets/components/SDK-React/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +9 -9
  57. package/tests/assets/components/SDK-React/create/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +8 -4
  58. package/tests/assets/components/SDK-React/create/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +4 -1
  59. package/tests/assets/components/SDK-React/create/override-sdk/template/OneColumnPage/OneColumnPage.tsx +3 -1
  60. package/tests/assets/components/SDK-React/create/override-sdk/template/PromotedFilters/PromotedFilters.tsx +4 -1
  61. package/tests/assets/components/SDK-React/create/override-sdk/template/SimpleTable/SimpleTable.tsx +88 -5
  62. package/tests/assets/components/SDK-React/create/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +6 -4
  63. package/tests/assets/components/SDK-React/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +22 -18
  64. package/tests/assets/components/SDK-React/create/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +3 -2
  65. package/tests/assets/components/SDK-React/create/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +8 -3
  66. package/tests/assets/components/SDK-React/create/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +4 -3
  67. package/tests/assets/components/SDK-React/create/override-sdk/widget/Attachment/Attachment.tsx +5 -1
  68. package/tests/assets/components/SDK-React/create/override-sdk/widget/FileUtility/FileUtility.tsx +8 -2
  69. package/tests/assets/components/SDK-React/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +4 -1
  70. package/tests/assets/components/SDK-React/create/override-sdk/widget/SummaryList/SummaryList.tsx +4 -1
  71. package/tests/assets/components/SDK-React/create/override-sdk/widget/ToDo/ToDo.tsx +53 -82
  72. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.jsx +1 -1
  73. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +47 -0
  74. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/AlertBanner/index.tsx +1 -0
  75. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +5 -3
  76. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +121 -0
  77. package/tests/assets/components/SDK-React/createAll/override-sdk/designSystemExtension/RichTextEditor/index.tsx +1 -0
  78. package/tests/assets/components/SDK-React/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +29 -27
  79. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Checkbox/Checkbox.tsx +10 -6
  80. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Currency/Currency.tsx +16 -15
  81. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Date/Date.tsx +16 -15
  82. package/tests/assets/components/SDK-React/createAll/override-sdk/field/DateTime/DateTime.tsx +19 -14
  83. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Decimal/Decimal.tsx +18 -16
  84. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Dropdown/Dropdown.tsx +17 -25
  85. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Email/Email.tsx +11 -11
  86. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Integer/Integer.tsx +9 -7
  87. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Percentage/Percentage.tsx +9 -9
  88. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Phone/Phone.tsx +13 -12
  89. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +16 -35
  90. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RichText/RichText.tsx +95 -0
  91. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RichText/index.tsx +1 -0
  92. package/tests/assets/components/SDK-React/createAll/override-sdk/field/ScalarList/ScalarList.tsx +25 -18
  93. package/tests/assets/components/SDK-React/createAll/override-sdk/field/SemanticLink/SemanticLink.tsx +19 -19
  94. package/tests/assets/components/SDK-React/createAll/override-sdk/field/TextArea/TextArea.tsx +8 -6
  95. package/tests/assets/components/SDK-React/createAll/override-sdk/field/TextInput/TextInput.tsx +8 -7
  96. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Time/Time.tsx +16 -28
  97. package/tests/assets/components/SDK-React/createAll/override-sdk/field/URL/URL.tsx +10 -8
  98. package/tests/assets/components/SDK-React/createAll/override-sdk/field/UserReference/UserReference.tsx +29 -29
  99. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/Assignment/Assignment.tsx +5 -2
  100. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/AssignmentCard/AssignmentCard.tsx +4 -2
  101. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +172 -0
  102. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DeferLoad/index.tsx +1 -0
  103. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +4 -3
  104. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/VerticalTabs/VerticalTabs.tsx +4 -1
  105. package/tests/assets/components/SDK-React/createAll/override-sdk/template/AppShell/AppShell.tsx +6 -4
  106. package/tests/assets/components/SDK-React/createAll/override-sdk/template/BannerPage/BannerPage.tsx +4 -1
  107. package/tests/assets/components/SDK-React/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +4 -1
  108. package/tests/assets/components/SDK-React/createAll/override-sdk/template/CaseView/CaseView.tsx +6 -3
  109. package/tests/assets/components/SDK-React/createAll/override-sdk/template/Confirmation/Confirmation.tsx +23 -44
  110. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DataReference/DataReference.tsx +6 -2
  111. package/tests/assets/components/SDK-React/createAll/override-sdk/template/Details/Details.tsx +5 -1
  112. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +5 -1
  113. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +5 -1
  114. package/tests/assets/components/SDK-React/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +6 -2
  115. package/tests/assets/components/SDK-React/createAll/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +5 -1
  116. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListPage/ListPage.tsx +6 -3
  117. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListView/ListView.tsx +89 -93
  118. package/tests/assets/components/SDK-React/createAll/override-sdk/template/ListView/utils.ts +170 -23
  119. package/tests/assets/components/SDK-React/createAll/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +5 -1
  120. package/tests/assets/components/SDK-React/createAll/override-sdk/template/NarrowWidePage/NarrowWidePage.tsx +4 -1
  121. package/tests/assets/components/SDK-React/createAll/override-sdk/template/OneColumnPage/OneColumnPage.tsx +3 -1
  122. package/tests/assets/components/SDK-React/createAll/override-sdk/template/PromotedFilters/PromotedFilters.tsx +4 -1
  123. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SimpleTable/SimpleTable.tsx +88 -5
  124. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +6 -4
  125. package/tests/assets/components/SDK-React/createAll/override-sdk/template/TwoColumnPage/TwoColumnPage.tsx +3 -2
  126. package/tests/assets/components/SDK-React/createAll/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +5 -1
  127. package/tests/assets/components/SDK-React/createAll/override-sdk/template/WideNarrowPage/WideNarrowPage.tsx +4 -3
  128. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/Attachment/Attachment.tsx +5 -1
  129. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +8 -2
  130. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +4 -1
  131. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/SummaryList/SummaryList.tsx +4 -1
  132. package/tests/assets/components/SDK-React/createAll/override-sdk/widget/ToDo/ToDo.tsx +53 -82
  133. package/tests/functional/localCreateBuildAllDeleteAllCustom.test.js +1 -1
  134. package/tests/functional/localCreateBuildDeleteOverride.test.js +2 -1
  135. package/tests/functional/localCreatePublishAllDeleteAllCustom.test.js +1 -2
  136. package/tests/functional/localCreatePublishAllDeleteAllOverride.test.js +0 -4
  137. package/tests/functional/localCreatePublishDeleteOverride.test.js +2 -5
@@ -1,18 +1,20 @@
1
1
  import React from 'react';
2
2
  import { KeyboardDateTimePicker } from '@material-ui/pickers';
3
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
4
3
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
5
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
6
4
  import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
7
- import { dateFormatInfoDefault, getDateFormatInfo} from '@pega/react-sdk-components/lib/components/helpers/date-format-utils';
5
+ import { dateFormatInfoDefault, getDateFormatInfo } from '@pega/react-sdk-components/lib/components/helpers/date-format-utils';
6
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
8
7
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
8
 
10
9
  interface DateTimeProps extends PConnFieldProps {
11
10
  // If any, enter additional props that only exist on DateTime here
12
11
  }
13
12
 
14
-
15
13
  export default function DateTime(props: DateTimeProps) {
14
+ // Get emitted components from map (so we can get any override that may exist)
15
+ const TextInput = getComponentFromMap('TextInput');
16
+ const FieldValueList = getComponentFromMap('FieldValueList');
17
+
16
18
  const {
17
19
  getPConnect,
18
20
  label,
@@ -37,20 +39,23 @@ export default function DateTime(props: DateTimeProps) {
37
39
  // Start with default dateFormatInfo
38
40
  const dateFormatInfo = dateFormatInfoDefault;
39
41
  // and then update, as needed, based on locale, etc.
40
- const theDateFormat = getDateFormatInfo()
42
+ const theDateFormat = getDateFormatInfo();
41
43
  dateFormatInfo.dateFormatString = theDateFormat.dateFormatString;
42
44
  dateFormatInfo.dateFormatStringLC = theDateFormat.dateFormatStringLC;
43
45
  dateFormatInfo.dateFormatMask = theDateFormat.dateFormatMask;
44
46
 
45
-
46
47
  if (displayMode === 'LABELS_LEFT') {
47
- const formattedDateTime = format(props.value, 'datetime', { format: `${dateFormatInfo.dateFormatString} hh:mm a` });
48
+ const formattedDateTime = format(props.value, 'datetime', {
49
+ format: `${dateFormatInfo.dateFormatString} hh:mm a`
50
+ });
48
51
  return <FieldValueList name={hideLabel ? '' : label} value={formattedDateTime} />;
49
52
  }
50
53
 
51
54
  if (displayMode === 'STACKED_LARGE_VAL') {
52
- const formattedDateTime = format(props.value, 'datetime', { format: `${dateFormatInfo.dateFormatString} hh:mm a` });
53
- return <FieldValueList name={hideLabel ? '' : label} value={formattedDateTime} variant='stacked' />;
55
+ const formattedDateTime = format(props.value, 'datetime', {
56
+ format: `${dateFormatInfo.dateFormatString} hh:mm a`
57
+ });
58
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedDateTime} variant="stacked" />;
54
59
  }
55
60
 
56
61
  if (readOnly) {
@@ -58,12 +63,12 @@ export default function DateTime(props: DateTimeProps) {
58
63
  return <TextInput {...props} value={formattedDateTime} />;
59
64
  }
60
65
 
61
- const handleChange = date => {
66
+ const handleChange = (date) => {
62
67
  const changeValue = date && date.isValid() ? date.toISOString() : null;
63
68
  onChange({ value: changeValue });
64
69
  };
65
70
 
66
- const handleAccept = date => {
71
+ const handleAccept = (date) => {
67
72
  const changeValue = date && date.isValid() ? date.toISOString() : null;
68
73
  handleEvent(actions, 'changeNblur', propName, changeValue);
69
74
  };
@@ -75,8 +80,8 @@ export default function DateTime(props: DateTimeProps) {
75
80
 
76
81
  return (
77
82
  <KeyboardDateTimePicker
78
- variant='inline'
79
- inputVariant='outlined'
83
+ variant="inline"
84
+ inputVariant="outlined"
80
85
  fullWidth
81
86
  autoOk
82
87
  required={required}
@@ -87,7 +92,7 @@ export default function DateTime(props: DateTimeProps) {
87
92
  minutesStep={5}
88
93
  error={status === 'error'}
89
94
  helperText={helperTextToDisplay}
90
- size='small'
95
+ size="small"
91
96
  label={label}
92
97
  value={value || null}
93
98
  onChange={handleChange}
@@ -1,22 +1,24 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import CurrencyTextField from '@unicef/material-ui-currency-textfield';
3
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
4
3
  import { getCurrencyCharacters, getCurrencyOptions } from '@pega/react-sdk-components/lib/components/field/Currency/currency-utils';
5
4
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
6
- import { format } from "@pega/react-sdk-components/lib/components/helpers/formatters";
5
+ import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
6
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
7
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
8
 
9
9
  // Using control from: https://github.com/unicef/material-ui-currency-textfield
10
10
 
11
11
  interface DecimalProps extends PConnFieldProps {
12
12
  // If any, enter additional props that only exist on Decimal here
13
- currencyISOCode?: string,
14
- decimalPrecision?: number,
15
- showGroupSeparators?: string
13
+ currencyISOCode?: string;
14
+ decimalPrecision?: number;
15
+ showGroupSeparators?: string;
16
16
  }
17
17
 
18
-
19
18
  export default function Decimal(props: DecimalProps) {
19
+ // Get emitted components from map (so we can get any override that may exist)
20
+ const FieldValueList = getComponentFromMap('FieldValueList');
21
+
20
22
  const {
21
23
  getPConnect,
22
24
  label,
@@ -30,7 +32,7 @@ export default function Decimal(props: DecimalProps) {
30
32
  helperText,
31
33
  displayMode,
32
34
  hideLabel,
33
- currencyISOCode = "USD",
35
+ currencyISOCode = 'USD',
34
36
  decimalPrecision = 2,
35
37
  showGroupSeparators = true,
36
38
  testId
@@ -42,8 +44,8 @@ export default function Decimal(props: DecimalProps) {
42
44
  const helperTextToDisplay = validatemessage || helperText;
43
45
 
44
46
  const [decValue, setDecimalvalue] = useState('');
45
- const [theCurrDec, setCurrDec] = useState(".");
46
- const [theCurrSep, setCurrSep] = useState(",");
47
+ const [theCurrDec, setCurrDec] = useState('.');
48
+ const [theCurrSep, setCurrSep] = useState(',');
47
49
 
48
50
  useEffect(() => {
49
51
  const theSymbols = getCurrencyCharacters(currencyISOCode);
@@ -63,7 +65,7 @@ export default function Decimal(props: DecimalProps) {
63
65
  }
64
66
 
65
67
  if (displayMode === 'STACKED_LARGE_VAL') {
66
- return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />;
68
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant="stacked" />;
67
69
  }
68
70
 
69
71
  let readOnlyProp = {}; // Note: empty if NOT ReadOnly
@@ -92,8 +94,8 @@ export default function Decimal(props: DecimalProps) {
92
94
  fullWidth
93
95
  variant={readOnly ? 'standard' : 'outlined'}
94
96
  helperText={helperTextToDisplay}
95
- placeholder=''
96
- size='small'
97
+ placeholder=""
98
+ size="small"
97
99
  required={required}
98
100
  disabled={disabled}
99
101
  onChange={decimalOnChange}
@@ -101,11 +103,11 @@ export default function Decimal(props: DecimalProps) {
101
103
  error={status === 'error'}
102
104
  label={label}
103
105
  value={decValue}
104
- type='text'
105
- outputFormat='number'
106
- textAlign='left'
106
+ type="text"
107
+ outputFormat="number"
108
+ textAlign="left"
107
109
  InputProps={{ ...readOnlyProp, inputProps: { ...testProp, value: decValue } }}
108
- currencySymbol=''
110
+ currencySymbol=""
109
111
  decimalCharacter={theCurrDec}
110
112
  digitGroupSeparator={showGroupSeparators ? theCurrSep : ''}
111
113
  decimalPlaces={decimalPrecision}
@@ -3,7 +3,7 @@ import { TextField } from '@material-ui/core';
3
3
  import MenuItem from '@material-ui/core/MenuItem';
4
4
  import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
5
5
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
6
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
6
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
7
  // import type { PConnFieldProps } from '../../../types/PConnProps';
8
8
 
9
9
  interface IOption {
@@ -25,6 +25,9 @@ interface IOption {
25
25
 
26
26
 
27
27
  export default function Dropdown(props /* : DropdownProps */) {
28
+ // Get emitted components from map (so we can get any override that may exist)
29
+ const FieldValueList = getComponentFromMap('FieldValueList');
30
+
28
31
  const {
29
32
  getPConnect,
30
33
  label,
@@ -54,15 +57,16 @@ export default function Dropdown(props /* : DropdownProps */) {
54
57
  const refName = propName?.slice(propName.lastIndexOf('.') + 1);
55
58
 
56
59
  useEffect(() => {
57
- const list = Utils.getOptionList(props, getPConnect().getDataObject('')); // 1st arg empty string until typedef marked correctly
60
+ const list = Utils.getOptionList(props, getPConnect().getDataObject('')); // 1st arg empty string until typedef marked correctly
58
61
  const optionsList = [...list];
59
- optionsList.unshift({ key: placeholder, value: thePConn.getLocalizedValue(placeholder, '', '') }); // 2nd and 3rd args empty string until typedef marked correctly
62
+ optionsList.unshift({
63
+ key: placeholder,
64
+ value: thePConn.getLocalizedValue(placeholder, '', '')
65
+ }); // 2nd and 3rd args empty string until typedef marked correctly
60
66
  setOptions(optionsList);
61
67
  }, [datasource]);
62
68
 
63
- const metaData = Array.isArray(fieldMetadata)
64
- ? fieldMetadata.filter(field => field?.classID === className)[0]
65
- : fieldMetadata;
69
+ const metaData = Array.isArray(fieldMetadata) ? fieldMetadata.filter((field) => field?.classID === className)[0] : fieldMetadata;
66
70
 
67
71
  let displayName = metaData?.datasource?.propertyForDisplayText;
68
72
  displayName = displayName?.slice(displayName.lastIndexOf('.') + 1);
@@ -77,11 +81,7 @@ export default function Dropdown(props /* : DropdownProps */) {
77
81
  return (
78
82
  <FieldValueList
79
83
  name={hideLabel ? '' : label}
80
- value={thePConn.getLocalizedValue(
81
- value,
82
- localePath,
83
- thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
84
- )}
84
+ value={thePConn.getLocalizedValue(value, localePath, thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName))}
85
85
  />
86
86
  );
87
87
  }
@@ -90,12 +90,8 @@ export default function Dropdown(props /* : DropdownProps */) {
90
90
  return (
91
91
  <FieldValueList
92
92
  name={hideLabel ? '' : label}
93
- value={thePConn.getLocalizedValue(
94
- value,
95
- localePath,
96
- thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
97
- )}
98
- variant='stacked'
93
+ value={thePConn.getLocalizedValue(value, localePath, thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName))}
94
+ variant="stacked"
99
95
  />
100
96
  );
101
97
  }
@@ -110,7 +106,7 @@ export default function Dropdown(props /* : DropdownProps */) {
110
106
  'data-test-id': testId
111
107
  };
112
108
 
113
- const handleChange = evt => {
109
+ const handleChange = (evt) => {
114
110
  const selectedValue = evt.target.value === placeholder ? '' : evt.target.value;
115
111
  handleEvent(actionsApi, 'changeNblur', propName, selectedValue);
116
112
  if (onRecordChange) {
@@ -125,8 +121,8 @@ export default function Dropdown(props /* : DropdownProps */) {
125
121
  fullWidth
126
122
  variant={readOnly ? 'standard' : 'outlined'}
127
123
  helperText={helperTextToDisplay}
128
- placeholder={thePConn.getLocalizedValue(placeholder, "", "")} // 2nd and 3rd args empty string until typedef marked correctly
129
- size='small'
124
+ placeholder={thePConn.getLocalizedValue(placeholder, '', '')} // 2nd and 3rd args empty string until typedef marked correctly
125
+ size="small"
130
126
  required={required}
131
127
  disabled={disabled}
132
128
  onChange={!readOnly ? handleChange : undefined}
@@ -138,11 +134,7 @@ export default function Dropdown(props /* : DropdownProps */) {
138
134
  >
139
135
  {options.map((option: any) => (
140
136
  <MenuItem key={option.key} value={option.key}>
141
- {thePConn.getLocalizedValue(
142
- option.value,
143
- localePath,
144
- thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
145
- )}
137
+ {thePConn.getLocalizedValue(option.value, localePath, thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName))}
146
138
  </MenuItem>
147
139
  ))}
148
140
  </TextField>
@@ -1,18 +1,18 @@
1
1
  import React from 'react';
2
2
  import { TextField, InputAdornment } from '@material-ui/core';
3
3
  import MailOutlineIcon from '@material-ui/icons/MailOutline';
4
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
5
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
4
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
6
5
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
6
 
8
-
9
7
  interface EmailProps extends PConnFieldProps {
10
8
  // If any, enter additional props that only exist on Date here
11
9
  }
12
10
 
13
-
14
-
15
11
  export default function Email(props: EmailProps) {
12
+ // Get emitted components from map (so we can get any override that may exist)
13
+ const TextInput = getComponentFromMap('TextInput');
14
+ const FieldValueList = getComponentFromMap('FieldValueList');
15
+
16
16
  const {
17
17
  label,
18
18
  required,
@@ -35,7 +35,7 @@ export default function Email(props: EmailProps) {
35
35
  }
36
36
 
37
37
  if (displayMode === 'STACKED_LARGE_VAL') {
38
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
38
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
39
39
  }
40
40
 
41
41
  if (readOnly) {
@@ -51,10 +51,10 @@ export default function Email(props: EmailProps) {
51
51
  return (
52
52
  <TextField
53
53
  fullWidth
54
- variant='outlined'
54
+ variant="outlined"
55
55
  helperText={helperTextToDisplay}
56
- placeholder=''
57
- size='small'
56
+ placeholder=""
57
+ size="small"
58
58
  required={required}
59
59
  disabled={disabled}
60
60
  onChange={onChange}
@@ -62,10 +62,10 @@ export default function Email(props: EmailProps) {
62
62
  error={status === 'error'}
63
63
  label={label}
64
64
  value={value}
65
- type='email'
65
+ type="email"
66
66
  InputProps={{
67
67
  startAdornment: (
68
- <InputAdornment position='start'>
68
+ <InputAdornment position="start">
69
69
  <MailOutlineIcon />
70
70
  </InputAdornment>
71
71
  ),
@@ -1,15 +1,17 @@
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 IntegerProps extends PConnFieldProps {
8
7
  // If any, enter additional props that only exist on Integer here
9
8
  }
10
9
 
11
-
12
10
  export default function Integer(props: IntegerProps) {
11
+ // Get emitted components from map (so we can get any override that may exist)
12
+ const TextInput = getComponentFromMap('TextInput');
13
+ const FieldValueList = getComponentFromMap('FieldValueList');
14
+
13
15
  const {
14
16
  label,
15
17
  required,
@@ -34,7 +36,7 @@ export default function Integer(props: IntegerProps) {
34
36
  }
35
37
 
36
38
  if (displayMode === 'STACKED_LARGE_VAL') {
37
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
39
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
38
40
  }
39
41
 
40
42
  if (readOnly) {
@@ -69,8 +71,8 @@ export default function Integer(props: IntegerProps) {
69
71
  fullWidth
70
72
  variant={readOnly ? 'standard' : 'outlined'}
71
73
  helperText={helperTextToDisplay}
72
- placeholder=''
73
- size='small'
74
+ placeholder=""
75
+ size="small"
74
76
  required={required}
75
77
  disabled={disabled}
76
78
  onChange={intOnChange}
@@ -78,7 +80,7 @@ export default function Integer(props: IntegerProps) {
78
80
  error={status === 'error'}
79
81
  label={label}
80
82
  value={value}
81
- type='text'
83
+ type="text"
82
84
  inputProps={{ inputMode: 'numeric', pattern: '[0-9]*', ...testProp }}
83
85
  />
84
86
  );
@@ -2,11 +2,9 @@ import React from 'react';
2
2
  import { TextField } from '@material-ui/core';
3
3
  import { makeStyles } from '@material-ui/core/styles';
4
4
 
5
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
6
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
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
  // Inspired by https://stackoverflow.com/questions/50823182/material-ui-remove-up-down-arrow-dials-from-textview
11
9
  const useStyles = makeStyles((/* theme */) => ({
12
10
  input: {
@@ -24,13 +22,15 @@ const useStyles = makeStyles((/* theme */) => ({
24
22
  }
25
23
  }));
26
24
 
27
-
28
25
  interface PercentageProps extends PConnFieldProps {
29
26
  // If any, enter additional props that only exist on Percentage here
30
27
  }
31
28
 
32
-
33
29
  export default function Percentage(props: PercentageProps) {
30
+ // Get emitted components from map (so we can get any override that may exist)
31
+ const TextInput = getComponentFromMap('TextInput');
32
+ const FieldValueList = getComponentFromMap('FieldValueList');
33
+
34
34
  const classes = useStyles();
35
35
 
36
36
  const {
@@ -57,7 +57,7 @@ export default function Percentage(props: PercentageProps) {
57
57
  }
58
58
 
59
59
  if (displayMode === 'STACKED_LARGE_VAL') {
60
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
60
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
61
61
  }
62
62
 
63
63
  if (readOnly) {
@@ -76,8 +76,8 @@ export default function Percentage(props: PercentageProps) {
76
76
  fullWidth
77
77
  variant={readOnly ? 'standard' : 'outlined'}
78
78
  helperText={helperTextToDisplay}
79
- placeholder=''
80
- size='small'
79
+ placeholder=""
80
+ size="small"
81
81
  required={required}
82
82
  disabled={disabled}
83
83
  onChange={onChange}
@@ -85,7 +85,7 @@ export default function Percentage(props: PercentageProps) {
85
85
  error={status === 'error'}
86
86
  label={label}
87
87
  value={value}
88
- type='number'
88
+ type="number"
89
89
  inputProps={{ ...testProp }}
90
90
  />
91
91
  );
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
2
  import MuiPhoneNumber from 'material-ui-phone-number';
3
- 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';
4
4
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  interface PhoneProps extends PConnFieldProps {
7
7
  // If any, enter additional props that only exist on Phone here
8
8
  }
9
9
 
10
-
11
-
12
10
  export default function Phone(props: PhoneProps) {
11
+ // Get emitted components from map (so we can get any override that may exist)
12
+ const FieldValueList = getComponentFromMap('FieldValueList');
13
+
13
14
  const {
14
15
  label,
15
16
  required,
@@ -38,7 +39,7 @@ export default function Phone(props: PhoneProps) {
38
39
  }
39
40
 
40
41
  if (displayMode === 'STACKED_LARGE_VAL') {
41
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
42
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
42
43
  }
43
44
 
44
45
  if (readOnly) {
@@ -48,8 +49,8 @@ export default function Phone(props: PhoneProps) {
48
49
  <MuiPhoneNumber
49
50
  fullWidth
50
51
  helperText={helperTextToDisplay}
51
- placeholder=''
52
- size='small'
52
+ placeholder=""
53
+ size="small"
53
54
  required={required}
54
55
  disabled={disabled}
55
56
  onChange={onChange}
@@ -66,13 +67,13 @@ export default function Phone(props: PhoneProps) {
66
67
  );
67
68
  }
68
69
 
69
- const handleChange = inputVal => {
70
+ const handleChange = (inputVal) => {
70
71
  let phoneValue = inputVal && inputVal.replace(/\D+/g, '');
71
72
  phoneValue = `+${phoneValue}`;
72
73
  onChange({ value: phoneValue });
73
74
  };
74
75
 
75
- const handleBlur = event => {
76
+ const handleBlur = (event) => {
76
77
  const phoneValue = event?.target?.value;
77
78
  event.target.value = `+${phoneValue && phoneValue.replace(/\D+/g, '')}`;
78
79
  onBlur(event);
@@ -81,11 +82,11 @@ export default function Phone(props: PhoneProps) {
81
82
  return (
82
83
  <MuiPhoneNumber
83
84
  fullWidth
84
- variant='outlined'
85
+ variant="outlined"
85
86
  helperText={helperTextToDisplay}
86
- placeholder=''
87
- size='small'
88
- defaultCountry='us'
87
+ placeholder=""
88
+ size="small"
89
+ defaultCountry="us"
89
90
  required={required}
90
91
  disabled={disabled}
91
92
  onChange={handleChange}
@@ -1,16 +1,9 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import {
3
- Radio,
4
- RadioGroup,
5
- FormControl,
6
- FormControlLabel,
7
- FormLabel,
8
- FormHelperText
9
- } from '@material-ui/core';
2
+ import { Radio, RadioGroup, FormControl, FormControlLabel, FormLabel, FormHelperText } from '@material-ui/core';
10
3
 
11
4
  import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
12
5
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
13
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
6
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
14
7
  // import type { PConnFieldProps } from '../../../types/PConnProps';
15
8
 
16
9
  // Can't use RadioButtonProps until getLocaleRuleNameFromKeys is NOT private
@@ -22,6 +15,9 @@ import FieldValueList from '@pega/react-sdk-components/lib/components/designSyst
22
15
 
23
16
 
24
17
  export default function RadioButtons(props /* : RadioButtonsProps */ ) {
18
+ // Get emitted components from map (so we can get any override that may exist)
19
+ const FieldValueList = getComponentFromMap('FieldValueList');
20
+
25
21
  const {
26
22
  getPConnect,
27
23
  label,
@@ -49,9 +45,7 @@ export default function RadioButtons(props /* : RadioButtonsProps */ ) {
49
45
  configProperty = configProperty.startsWith('@P') ? configProperty.substring(3) : configProperty;
50
46
  configProperty = configProperty.startsWith('.') ? configProperty.substring(1) : configProperty;
51
47
 
52
- const metaData = Array.isArray(fieldMetadata)
53
- ? fieldMetadata.filter(field => field?.classID === className)[0]
54
- : fieldMetadata;
48
+ const metaData = Array.isArray(fieldMetadata) ? fieldMetadata.filter((field) => field?.classID === className)[0] : fieldMetadata;
55
49
  let displayName = metaData?.datasource?.propertyForDisplayText;
56
50
  displayName = displayName?.slice(displayName.lastIndexOf('.') + 1);
57
51
  const localeContext = metaData?.datasource?.tableType === 'DataPage' ? 'datapage' : 'associated';
@@ -72,11 +66,7 @@ export default function RadioButtons(props /* : RadioButtonsProps */ ) {
72
66
  return (
73
67
  <FieldValueList
74
68
  name={hideLabel ? '' : label}
75
- value={thePConn.getLocalizedValue(
76
- value,
77
- localePath,
78
- thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
79
- )}
69
+ value={thePConn.getLocalizedValue(value, localePath, thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName))}
80
70
  />
81
71
  );
82
72
  }
@@ -85,34 +75,25 @@ export default function RadioButtons(props /* : RadioButtonsProps */ ) {
85
75
  return (
86
76
  <FieldValueList
87
77
  name={hideLabel ? '' : label}
88
- value={thePConn.getLocalizedValue(
89
- value,
90
- localePath,
91
- thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
92
- )}
93
- variant='stacked'
78
+ value={thePConn.getLocalizedValue(value, localePath, thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName))}
79
+ variant="stacked"
94
80
  />
95
81
  );
96
82
  }
97
83
 
98
- const handleChange = event => {
84
+ const handleChange = (event) => {
99
85
  handleEvent(actionsApi, 'changeNblur', propName, event.target.value);
100
86
  };
101
87
 
102
- const handleBlur = event => {
103
- thePConn.getValidationApi().validate(event.target.value, ""); // 2nd arg empty string until typedef marked correctly as optional
88
+ const handleBlur = (event) => {
89
+ thePConn.getValidationApi().validate(event.target.value, ''); // 2nd arg empty string until typedef marked correctly as optional
104
90
  };
105
91
 
106
92
  return (
107
93
  <FormControl error={status === 'error'} required={required}>
108
- <FormLabel component='legend'>{label}</FormLabel>
109
- <RadioGroup
110
- value={theSelectedButton}
111
- onChange={handleChange}
112
- onBlur={!readOnly ? handleBlur : undefined}
113
- row={inline}
114
- >
115
- {theOptions.map(theOption => {
94
+ <FormLabel component="legend">{label}</FormLabel>
95
+ <RadioGroup value={theSelectedButton} onChange={handleChange} onBlur={!readOnly ? handleBlur : undefined} row={inline}>
96
+ {theOptions.map((theOption) => {
116
97
  return (
117
98
  <FormControlLabel
118
99
  value={theOption.key}
@@ -122,7 +103,7 @@ export default function RadioButtons(props /* : RadioButtonsProps */ ) {
122
103
  localePath,
123
104
  thePConn.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
124
105
  )}
125
- control={<Radio key={theOption.key} color='primary' disabled={readOnly} />}
106
+ control={<Radio key={theOption.key} color="primary" disabled={readOnly} />}
126
107
  />
127
108
  );
128
109
  })}