@pega/dx-component-builder-sdk 8.23.17 → 23.1.10

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 (133) hide show
  1. package/package.json +1 -1
  2. package/src/tasks/bundle/builderAngular/webpack.config.js +1 -2
  3. package/src/tasks/create/templates/Constellation/field/Boolean/index.jsx.mustache +15 -3
  4. package/src/tasks/create/templates/Constellation/field/Date/index.jsx.mustache +20 -4
  5. package/src/tasks/create/templates/Constellation/field/DateTime/index.jsx.mustache +18 -3
  6. package/src/tasks/create/templates/Constellation/field/Decimal/index.jsx.mustache +19 -4
  7. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/index.jsx.mustache +19 -4
  8. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/index.jsx.mustache +20 -4
  9. package/src/tasks/create/templates/Constellation/field/Integer/index.jsx.mustache +21 -4
  10. package/src/tasks/create/templates/Constellation/field/Picklist/index.jsx.mustache +25 -3
  11. package/src/tasks/create/templates/Constellation/field/Text/index.jsx.mustache +1 -3
  12. package/src/tasks/create/templates/Constellation/field/Text-Email/index.jsx.mustache +19 -3
  13. package/src/tasks/create/templates/Constellation/field/Text-Input/index.jsx.mustache +15 -3
  14. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/index.jsx.mustache +15 -3
  15. package/src/tasks/create/templates/Constellation/field/Text-Phone/index.jsx.mustache +18 -3
  16. package/src/tasks/create/templates/Constellation/field/Text-URL/index.jsx.mustache +18 -3
  17. package/src/tasks/create/templates/Constellation/field/TimeOfDay/index.jsx.mustache +20 -4
  18. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +1 -0
  19. package/src/tasks/create/templates/SDK-React/field/Date/demo.stories.jsx.mustache +1 -1
  20. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +0 -1
  21. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.jsx.mustache +1 -1
  22. package/src/tasks/create/templates/SDK-React/field/Decimal/demo.stories.jsx.mustache +1 -0
  23. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +1 -0
  24. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/demo.stories.jsx.mustache +1 -1
  25. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +2 -2
  26. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +1 -1
  27. package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +1 -3
  28. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +0 -1
  29. package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +0 -1
  30. package/src/tasks/create/templates/SDK-React/field/Text-Email/index.tsx.mustache +1 -2
  31. package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +0 -1
  32. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +0 -1
  33. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +0 -2
  34. package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +0 -1
  35. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +1 -1
  36. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +0 -1
  37. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +2 -3
  38. package/src/tasks/create/templates/SDK-React/template/FORM/demo.stories.jsx.mustache +1 -1
  39. package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +9 -9
  40. package/src/tasks/create/templates/SDK-React/template/FORM-region/demo.stories.jsx.mustache +1 -1
  41. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.jsx.mustache +1 -1
  42. package/tests/assets/components/SDK-React/create/custom-constellation/field/Pega_DXIL_MyTestText/index.jsx +1 -3
  43. package/tests/assets/components/SDK-React/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +0 -1
  44. package/tests/assets/components/SDK-React/create/override-sdk/field/AutoComplete/AutoComplete.tsx +2 -2
  45. package/tests/assets/components/SDK-React/create/override-sdk/field/Checkbox/Checkbox.tsx +41 -32
  46. package/tests/assets/components/SDK-React/create/override-sdk/field/Currency/Currency.tsx +1 -1
  47. package/tests/assets/components/SDK-React/create/override-sdk/field/Date/Date.tsx +1 -1
  48. package/tests/assets/components/SDK-React/create/override-sdk/field/DateTime/DateTime.tsx +1 -1
  49. package/tests/assets/components/SDK-React/create/override-sdk/field/Decimal/Decimal.tsx +1 -1
  50. package/tests/assets/components/SDK-React/create/override-sdk/field/Dropdown/Dropdown.tsx +17 -15
  51. package/tests/assets/components/SDK-React/create/override-sdk/field/RadioButtons/RadioButtons.tsx +11 -9
  52. package/tests/assets/components/SDK-React/create/override-sdk/field/RichText/RichText.tsx +5 -3
  53. package/tests/assets/components/SDK-React/create/override-sdk/field/ScalarList/ScalarList.tsx +15 -6
  54. package/tests/assets/components/SDK-React/create/override-sdk/field/TextInput/TextInput.tsx +1 -1
  55. package/tests/assets/components/SDK-React/create/override-sdk/infra/Assignment/Assignment.tsx +19 -16
  56. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
  57. package/tests/assets/components/SDK-React/create/override-sdk/infra/DashboardFilter/filterUtils.tsx +2 -1
  58. package/tests/assets/components/SDK-React/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +1 -1
  59. package/tests/assets/components/SDK-React/create/override-sdk/infra/ErrorBoundary/ErrorBoundary.tsx +1 -1
  60. package/tests/assets/components/SDK-React/create/override-sdk/template/AppShell/AppShell.tsx +1 -1
  61. package/tests/assets/components/SDK-React/create/override-sdk/template/DataReference/DataReference.tsx +16 -16
  62. package/tests/assets/components/SDK-React/create/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +1 -1
  63. package/tests/assets/components/SDK-React/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  64. package/tests/assets/components/SDK-React/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +1 -1
  65. package/tests/assets/components/SDK-React/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -2
  66. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.jsx +15 -3
  67. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/index.jsx +19 -4
  68. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyDate/index.jsx +20 -4
  69. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/index.jsx +18 -3
  70. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/index.jsx +19 -4
  71. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyEmail/index.jsx +19 -3
  72. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyInteger/index.jsx +21 -4
  73. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/index.jsx +15 -3
  74. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/index.jsx +20 -4
  75. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyPhone/index.jsx +18 -3
  76. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.jsx +25 -3
  77. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyText/index.jsx +1 -3
  78. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.jsx +15 -3
  79. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/index.jsx +20 -4
  80. package/tests/assets/components/SDK-React/createAll/custom-constellation/field/Pega_DXIL_MyURL/index.jsx +18 -3
  81. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +1 -0
  82. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/demo.stories.jsx +1 -1
  83. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +2 -2
  84. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.jsx +1 -1
  85. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +0 -1
  86. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.jsx +1 -1
  87. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/demo.stories.jsx +1 -0
  88. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +1 -0
  89. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyEmail/index.tsx +1 -2
  90. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +1 -3
  91. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +0 -1
  92. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +1 -1
  93. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +0 -2
  94. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
  95. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +0 -1
  96. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +0 -1
  97. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
  98. package/tests/assets/components/SDK-React/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +0 -1
  99. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +0 -1
  100. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyForm/demo.stories.jsx +1 -1
  101. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +9 -9
  102. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +2 -3
  103. package/tests/assets/components/SDK-React/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +1 -1
  104. package/tests/assets/components/SDK-React/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +1 -1
  105. package/tests/assets/components/SDK-React/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +2 -2
  106. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Checkbox/Checkbox.tsx +41 -32
  107. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Currency/Currency.tsx +1 -1
  108. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Date/Date.tsx +1 -1
  109. package/tests/assets/components/SDK-React/createAll/override-sdk/field/DateTime/DateTime.tsx +1 -1
  110. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Decimal/Decimal.tsx +1 -1
  111. package/tests/assets/components/SDK-React/createAll/override-sdk/field/Dropdown/Dropdown.tsx +17 -15
  112. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +11 -9
  113. package/tests/assets/components/SDK-React/createAll/override-sdk/field/RichText/RichText.tsx +5 -3
  114. package/tests/assets/components/SDK-React/createAll/override-sdk/field/ScalarList/ScalarList.tsx +15 -6
  115. package/tests/assets/components/SDK-React/createAll/override-sdk/field/TextInput/TextInput.tsx +1 -1
  116. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/Assignment/Assignment.tsx +19 -16
  117. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
  118. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DashboardFilter/filterUtils.tsx +2 -1
  119. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +1 -1
  120. package/tests/assets/components/SDK-React/createAll/override-sdk/infra/ErrorBoundary/ErrorBoundary.tsx +1 -1
  121. package/tests/assets/components/SDK-React/createAll/override-sdk/template/AppShell/AppShell.tsx +1 -1
  122. package/tests/assets/components/SDK-React/createAll/override-sdk/template/DataReference/DataReference.tsx +16 -16
  123. package/tests/assets/components/SDK-React/createAll/override-sdk/template/InlineDashboardPage/InlineDashboardPage.tsx +1 -1
  124. package/tests/assets/components/SDK-React/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  125. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +1 -1
  126. package/tests/assets/components/SDK-React/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -2
  127. package/tests/functional/localCreateBuildAllDeleteAllCustom.test.js +1 -0
  128. package/tests/functional/localCreateBuildDeleteCustom.test.js +13 -0
  129. package/tests/functional/localCreateBuildDeleteOverride.test.js +1 -0
  130. package/tests/functional/localCreatePublishAllDeleteAllCustom.test.js +1 -2
  131. package/tests/functional/localCreatePublishAllDeleteAllOverride.test.js +1 -2
  132. package/tests/functional/localCreatePublishDeleteCustom.test.js +4 -3
  133. package/tests/functional/localCreatePublishDeleteOverride.test.js +2 -2
@@ -36,7 +36,7 @@ export default function Currency(props: CurrrencyProps) {
36
36
 
37
37
  const pConn = getPConnect();
38
38
  const actions = pConn.getActionsApi();
39
- const propName = pConn.getStateProps().value;
39
+ const propName = pConn.getStateProps()["value"];
40
40
  const helperTextToDisplay = validatemessage || helperText;
41
41
 
42
42
  // console.log(`Currency: label: ${label} value: ${value}`);
@@ -39,7 +39,7 @@ export default function Date(props: DateProps) {
39
39
 
40
40
  const pConn = getPConnect();
41
41
  const actions = pConn.getActionsApi();
42
- const propName = pConn.getStateProps().value;
42
+ const propName = pConn.getStateProps()["value"];
43
43
  const helperTextToDisplay = validatemessage || helperText;
44
44
 
45
45
  // Start with default dateFormatInfo
@@ -33,7 +33,7 @@ export default function DateTime(props: DateTimeProps) {
33
33
 
34
34
  const pConn = getPConnect();
35
35
  const actions = pConn.getActionsApi();
36
- const propName = pConn.getStateProps().value;
36
+ const propName = pConn.getStateProps()["value"];
37
37
  const helperTextToDisplay = validatemessage || helperText;
38
38
 
39
39
  // Start with default dateFormatInfo
@@ -40,7 +40,7 @@ export default function Decimal(props: DecimalProps) {
40
40
 
41
41
  const pConn = getPConnect();
42
42
  const actions = pConn.getActionsApi();
43
- const propName = pConn.getStateProps().value;
43
+ const propName = pConn.getStateProps()["value"];
44
44
  const helperTextToDisplay = validatemessage || helperText;
45
45
 
46
46
  const [decValue, setDecimalvalue] = useState('');
@@ -4,25 +4,27 @@ 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
6
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
- import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
+ // import type { PConnFieldProps } from '../../../types/PConnProps';
8
8
 
9
9
  interface IOption {
10
10
  key: string;
11
11
  value: string;
12
12
  }
13
13
 
14
- interface DropdownProps extends PConnFieldProps {
15
- // If any, enter additional props that only exist on Dropdown here
16
- datasource?: Array<any>;
17
- onRecordChange?: any;
18
- fieldMetadata?: any;
19
- // eslint-disable-next-line react/no-unused-prop-types
20
- listType: string;
21
- // eslint-disable-next-line react/no-unused-prop-types
22
- additionalProps?: object;
23
- }
14
+ // Can't use DropdownProps with 8.23 until getLocaleRuleNameFromKeys is NOT private
15
+ // interface DropdownProps extends PConnFieldProps {
16
+ // // If any, enter additional props that only exist on Dropdown here
17
+ // datasource?: Array<any>,
18
+ // onRecordChange?: any,
19
+ // fieldMetadata?: any,
20
+ // // eslint-disable-next-line react/no-unused-prop-types
21
+ // listType: string,
22
+ // // eslint-disable-next-line react/no-unused-prop-types
23
+ // additionalProps?: object
24
+ // }
25
+
24
26
 
25
- export default function Dropdown(props: DropdownProps) {
27
+ export default function Dropdown(props /* : DropdownProps */) {
26
28
  // Get emitted components from map (so we can get any override that may exist)
27
29
  const FieldValueList = getComponentFromMap('FieldValueList');
28
30
 
@@ -43,19 +45,19 @@ export default function Dropdown(props: DropdownProps) {
43
45
  onRecordChange,
44
46
  fieldMetadata
45
47
  } = props;
46
- let { placeholder } = props;
48
+ let { placeholder = "" } = props;
47
49
  placeholder = placeholder || 'Select...';
48
50
  const [options, setOptions] = useState<Array<IOption>>([]);
49
51
  const helperTextToDisplay = validatemessage || helperText;
50
52
 
51
53
  const thePConn = getPConnect();
52
54
  const actionsApi = thePConn.getActionsApi();
53
- const propName = thePConn.getStateProps().value;
55
+ const propName = thePConn.getStateProps()["value"];
54
56
  const className = thePConn.getCaseInfo().getClassName();
55
57
  const refName = propName?.slice(propName.lastIndexOf('.') + 1);
56
58
 
57
59
  useEffect(() => {
58
- const list = Utils.getOptionList(props, getPConnect().getDataObject(thePConn.getContextName()));
60
+ const list = Utils.getOptionList(props, getPConnect().getDataObject('')); // 1st arg empty string until typedef marked correctly
59
61
  const optionsList = [...list];
60
62
  optionsList.unshift({
61
63
  key: placeholder,
@@ -4,15 +4,17 @@ import { Radio, RadioGroup, FormControl, FormControlLabel, FormLabel, FormHelper
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
6
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
- import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
7
+ // import type { PConnFieldProps } from '../../../types/PConnProps';
8
+
9
+ // Can't use RadioButtonProps until getLocaleRuleNameFromKeys is NOT private
10
+ // interface RadioButtonsProps extends PConnFieldProps {
11
+ // // If any, enter additional props that only exist on RadioButtons here
12
+ // inline: boolean,
13
+ // fieldMetadata?: any
14
+ // }
8
15
 
9
- interface RadioButtonsProps extends PConnFieldProps {
10
- // If any, enter additional props that only exist on RadioButtons here
11
- inline: boolean;
12
- fieldMetadata?: any;
13
- }
14
16
 
15
- export default function RadioButtons(props: RadioButtonsProps) {
17
+ export default function RadioButtons(props /* : RadioButtonsProps */ ) {
16
18
  // Get emitted components from map (so we can get any override that may exist)
17
19
  const FieldValueList = getComponentFromMap('FieldValueList');
18
20
 
@@ -35,7 +37,7 @@ export default function RadioButtons(props: RadioButtonsProps) {
35
37
  const thePConn = getPConnect();
36
38
  const theConfigProps = thePConn.getConfigProps();
37
39
  const actionsApi = thePConn.getActionsApi();
38
- const propName = thePConn.getStateProps().value;
40
+ const propName = thePConn.getStateProps()["value"];
39
41
  const helperTextToDisplay = validatemessage || helperText;
40
42
  const className = thePConn.getCaseInfo().getClassName();
41
43
 
@@ -53,7 +55,7 @@ export default function RadioButtons(props: RadioButtonsProps) {
53
55
 
54
56
  // theOptions will be an array of JSON objects that are literally key/value pairs.
55
57
  // Ex: [ {key: "Basic", value: "Basic"} ]
56
- const theOptions = Utils.getOptionList(theConfigProps, thePConn.getDataObject(thePConn.getContextName()));
58
+ const theOptions = Utils.getOptionList(theConfigProps, thePConn.getDataObject(''));
57
59
 
58
60
  useEffect(() => {
59
61
  // This update theSelectedButton which will update the UI to show the selected button correctly
@@ -55,9 +55,11 @@ export default function RichText(props: RichTextProps) {
55
55
  }
56
56
  const handleChange = () => {
57
57
  if (status === 'error') {
58
- const property = pConn.getStateProps().value;
58
+ const property = pConn.getStateProps()["value"];
59
59
  pConn.clearErrorMessages({
60
- property
60
+ property,
61
+ category: '',
62
+ context: ''
61
63
  });
62
64
  }
63
65
  };
@@ -65,7 +67,7 @@ export default function RichText(props: RichTextProps) {
65
67
  const handleBlur = () => {
66
68
  if (editorRef.current) {
67
69
  const editorValue = editorRef.current.getContent({ format: 'html' });
68
- const property = pConn.getStateProps().value;
70
+ const property = pConn.getStateProps()["value"];
69
71
  handleEvent(actionsApi, 'changeNblur', property, editorValue);
70
72
  }
71
73
  };
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable react/no-array-index-key */
2
2
  import React from 'react';
3
3
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
4
- import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
4
+ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  // ScalarListProps can't extend PConnFieldProps because its 'value' has a different type
7
7
  interface ScalarListProps extends PConnProps {
@@ -29,9 +29,18 @@ function CommaSeparatedList(props) {
29
29
  export default function ScalarList(props: ScalarListProps) {
30
30
  // Get emitted components from map (so we can get any override that may exist)
31
31
  const FieldValueList = getComponentFromMap('FieldValueList');
32
- const { label, getPConnect, componentType, value: scalarValues, displayMode, hideLabel, ...restProps } = props;
33
32
 
34
- const items = scalarValues?.map((scalarValue) => {
33
+ const {
34
+ label,
35
+ getPConnect,
36
+ componentType,
37
+ value: scalarValues,
38
+ displayMode,
39
+ hideLabel,
40
+ ...restProps
41
+ } = props;
42
+
43
+ const items = scalarValues?.map(scalarValue => {
35
44
  return getPConnect().createComponent(
36
45
  {
37
46
  type: componentType,
@@ -43,8 +52,8 @@ export default function ScalarList(props: ScalarListProps) {
43
52
  readOnly: 'true'
44
53
  }
45
54
  },
46
- null,
47
- null,
55
+ '',
56
+ '',
48
57
  {}
49
58
  ); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional;
50
59
  });
@@ -60,5 +69,5 @@ export default function ScalarList(props: ScalarListProps) {
60
69
 
61
70
  const displayComp = <CommaSeparatedList items={items} />;
62
71
 
63
- return <FieldValueList name={hideLabel ? '' : label} value={displayComp} variant="stacked" />;
72
+ return <FieldValueList name={hideLabel ? '' : label} value={displayComp} variant='stacked' />;
64
73
  }
@@ -32,7 +32,7 @@ export default function TextInput(props: TextInputProps) {
32
32
 
33
33
  const pConn = getPConnect();
34
34
  const actions = pConn.getActionsApi();
35
- const propName = pConn.getStateProps().value;
35
+ const propName = pConn.getStateProps()["value"];
36
36
 
37
37
  const helperTextToDisplay = validatemessage || helperText;
38
38
 
@@ -4,20 +4,23 @@ import IconButton from '@material-ui/core/IconButton';
4
4
  import CloseIcon from '@material-ui/icons/Close';
5
5
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
6
6
 
7
- import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
-
9
- interface AssignmentProps extends PConnProps {
10
- // If any, enter additional props that only exist on this component
11
- children: Array<any>,
12
- itemKey: string,
13
- isInModal: boolean,
14
- banners: Array<any>
15
- // eslint-disable-next-line react/no-unused-prop-types
16
- actionButtons: Array<any>,
17
- }
18
-
19
-
20
- export default function Assignment(props: AssignmentProps) {
7
+ // import type { PConnProps } from '../../../types/PConnProps';
8
+
9
+ // Can't use AssignmentProps until the following are NOT private
10
+ // getCaseInfo().isAssignmentInCreateStage()
11
+ // getCaseInfo().isLocalAction()
12
+ // interface AssignmentProps extends PConnProps {
13
+ // // If any, enter additional props that only exist on this component
14
+ // children: Array<any>,
15
+ // itemKey: string,
16
+ // isInModal: boolean,
17
+ // banners: Array<any>
18
+ // // eslint-disable-next-line react/no-unused-prop-types
19
+ // actionButtons: Array<any>,
20
+ // }
21
+
22
+
23
+ export default function Assignment(props /* : AssignmentProps */) {
21
24
  // Get emitted components from map (so we can get any override that may exist)
22
25
  const AssignmentCard = getComponentFromMap("AssignmentCard");
23
26
  const MultiStep = getComponentFromMap("MultiStep");
@@ -81,10 +84,10 @@ export default function Assignment(props: AssignmentProps) {
81
84
 
82
85
  const oWorkItem = children[0].props.getPConnect();
83
86
  const oWorkData = oWorkItem.getDataObject();
84
- const oData = thePConn.getDataObject(thePConn.getContextName());
87
+ const oData = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional
85
88
 
86
89
  if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) {
87
- const oCaseInfo = oData.caseInfo;
90
+ const oCaseInfo = oData["caseInfo"];
88
91
 
89
92
  if (oCaseInfo && oCaseInfo.actionButtons) {
90
93
  setActionButtons(oCaseInfo.actionButtons);
@@ -109,7 +109,7 @@ export default function DashboardFilter(props: DashboardFilterProps) {
109
109
  fireFilterChange(e.id);
110
110
  };
111
111
  return getPConnect().createComponent(metadata,
112
- null, null, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional;
112
+ '', '', {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional);
113
113
  };
114
114
 
115
115
  const onChange = dates => {
@@ -91,7 +91,8 @@ export const createFilterComponent = (getPConnect, filterMeta, index) => {
91
91
  metadata={filterMeta}
92
92
  type={filterMeta.type}
93
93
  >
94
- {getPConnect().createComponent(filterMeta, '','', {})}
94
+ {getPConnect().createComponent(filterMeta,
95
+ '', '', {})}
95
96
  </DashboardFilter>
96
97
  );
97
98
  };
@@ -70,7 +70,7 @@ export default function DeferLoad(props /* : DeferLoadProps */) {
70
70
 
71
71
  const getViewOptions = () => ({
72
72
  viewContext: resourceType,
73
- pageClass: loadViewCaseID ? '' : pConnect.getDataObject(pConnect.getContextName()).pyPortal.classID,
73
+ pageClass: loadViewCaseID ? '' : pConnect.getDataObject('').pyPortal.classID, // 2nd arg empty string until typedef allows optional
74
74
  container: isContainerPreview ? 'preview' : null,
75
75
  containerName: isContainerPreview ? 'preview' : null,
76
76
  updateData: isContainerPreview
@@ -38,7 +38,7 @@ export default function ErrorBoundary(props: ErrorBoundaryProps) {
38
38
  Raw meta data for the component:`, localeCategory)} ${JSON.stringify(pConn.getRawMetadata())}`);
39
39
  }
40
40
 
41
- if (pConn.getConfigProps().type === "page") {
41
+ if (pConn.getConfigProps()["type"] === "page") {
42
42
  return (
43
43
  theErrorDiv
44
44
  );
@@ -95,7 +95,7 @@ export default function AppShell(props:AppShellProps) {
95
95
  useEffect(() => {
96
96
  setAppName(PCore.getEnvironmentInfo().getApplicationName());
97
97
 
98
- const tempMap: any = pConn.getChildren()?.map((child: any, index) => {
98
+ const tempMap: any = pConn.getChildren()?.["map"]((child: any, index) => {
99
99
  const theChildComp = child.getPConnect().getComponentName();
100
100
  const theKey = `.${index}`;
101
101
  return (
@@ -1,23 +1,23 @@
1
1
  import React, { useMemo, useState, useEffect } from 'react';
2
2
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
3
3
 
4
- // import type { PConnProps } from '../../../types/PConnProps';
4
+ import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
5
 
6
6
  // ReferenceProps can't be used until getComponentConfig() is NOT private
7
- // interface DataReferenceProps extends PConnProps {
8
- // // If any, enter additional props that only exist on this component
9
- // children: Array<any>,
10
- // label: string,
11
- // showLabel: any,
12
- // displayMode: string,
13
- // allowAndPersistChangesInReviewMode: boolean,
14
- // referenceType: string,
15
- // selectionMode: string,
16
- // displayAs: string,
17
- // ruleClass: string,
18
- // parameters: Array<string>, // need to fix
19
- // hideLabel: boolean
20
- // }
7
+ interface DataReferenceProps extends PConnProps {
8
+ // If any, enter additional props that only exist on this component
9
+ children: Array<any>,
10
+ label: string,
11
+ showLabel: any,
12
+ displayMode: string,
13
+ allowAndPersistChangesInReviewMode: boolean,
14
+ referenceType: string,
15
+ selectionMode: string,
16
+ displayAs: string,
17
+ ruleClass: string,
18
+ parameters: Array<string>, // need to fix
19
+ hideLabel: boolean
20
+ }
21
21
 
22
22
 
23
23
  const SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };
@@ -26,7 +26,7 @@ const SELECTION_MODE = { SINGLE: 'single', MULTI: 'multi' };
26
26
  declare const PCore: any;
27
27
 
28
28
 
29
- export default function DataReference(props /*: DataReferenceProps */) {
29
+ export default function DataReference(props: DataReferenceProps) {
30
30
  // Get emitted components from map (so we can get any override that may exist)
31
31
  const SingleReferenceReadonly = getComponentFromMap('SingleReferenceReadOnly');
32
32
  const MultiReferenceReadonly = getComponentFromMap('MultiReferenceReadOnly');
@@ -27,7 +27,7 @@ export default function InlineDashboardPage(props: InlineDashboardPageProps) {
27
27
  return Children.toArray(children);
28
28
  }, [children]);
29
29
 
30
- const allFilters = getPConnect().getRawMetadata().children[1];
30
+ const allFilters = getPConnect().getRawMetadata()["children"][1];
31
31
 
32
32
  useEffect(() => {
33
33
  setFilterComponents(buildFilterComponents(getPConnect, allFilters));
@@ -29,7 +29,7 @@ export default function MultiReferenceReadOnly(props: MultiReferenceReadOnlyProp
29
29
  hideLabel
30
30
  }
31
31
  },
32
- null, null, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional;
32
+ '', '', {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional
33
33
 
34
34
  return (
35
35
  <React.Fragment>{component}</React.Fragment>
@@ -150,7 +150,7 @@ export default function SimpleTableManual(props: SimpleTableManualProps) {
150
150
  // config.datasource (ex: "@ASSOCIATED .DeclarantChoice")
151
151
  // Neither of these appear in the resolved props
152
152
 
153
- const rawConfig = rawMetadata?.config;
153
+ const rawConfig = rawMetadata?.["config"];
154
154
  const rawFields =
155
155
  rawConfig?.children?.[0]?.children || rawConfig?.presets?.[0].children?.[0]?.children;
156
156
 
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
3
3
 
4
- // Need to fix an error noted in comment below before typedefs will work correctly
5
4
  interface SingleReferenceReadOnlyProps extends PConnProps {
6
5
  // If any, enter additional props that only exist on this component
7
6
  config: any,
@@ -56,7 +55,7 @@ export default function SingleReferenceReadOnly(props: SingleReferenceReadOnlyPr
56
55
  dataRelationshipContext
57
56
  }
58
57
  },
59
- null, null, {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional;
58
+ '', '', {}); // 2nd, 3rd, and 4th args empty string/object/null until typedef marked correctly as optional
60
59
 
61
60
  return (
62
61
  <React.Fragment>{component}</React.Fragment>
@@ -29,12 +29,21 @@ const PegaDxilMyBoolean = props => {
29
29
  displayMode,
30
30
  variant,
31
31
  trueLabel,
32
- falseLabel
32
+ falseLabel,
33
+ fieldMetadata
33
34
  } = props;
34
35
  const pConn = getPConnect();
35
36
  const actions = pConn.getActionsApi();
36
37
  const propName = pConn.getStateProps().value;
37
38
 
39
+ const fieldAdditionalInfo = fieldMetadata?.additionalInformation;
40
+ const additionalInfo = fieldAdditionalInfo
41
+ ? {
42
+ heading: caption,
43
+ content: fieldAdditionalInfo
44
+ }
45
+ : undefined;
46
+
38
47
  let { readOnly, required, disabled } = props;
39
48
  [readOnly, required, disabled] = [readOnly, required, disabled].map(
40
49
  (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
@@ -62,6 +71,7 @@ const PegaDxilMyBoolean = props => {
62
71
  pConn.getValidationApi().validate(event.target.checked);
63
72
  }}
64
73
  data-testid={testId}
74
+ additionalInfo={additionalInfo}
65
75
  />
66
76
  );
67
77
 
@@ -144,7 +154,8 @@ PegaDxilMyBoolean.defaultProps = {
144
154
  variant: 'inline',
145
155
  displayValue: 'Yes/No',
146
156
  trueLabel: '',
147
- falseLabel: ''
157
+ falseLabel: '',
158
+ fieldMetadata: {}
148
159
  };
149
160
 
150
161
  PegaDxilMyBoolean.propTypes = {
@@ -164,7 +175,8 @@ PegaDxilMyBoolean.propTypes = {
164
175
  variant: PropTypes.string,
165
176
  displayValue: PropTypes.string,
166
177
  trueLabel: PropTypes.string,
167
- falseLabel: PropTypes.string
178
+ falseLabel: PropTypes.string,
179
+ fieldMetadata: PropTypes.objectOf(PropTypes.any)
168
180
  };
169
181
 
170
182
  export default PegaDxilMyBoolean;
@@ -46,13 +46,23 @@ const PegaDxilMyCurrency = props => {
46
46
  negative,
47
47
  notation,
48
48
  isTableFormatter,
49
- hasSuggestions
49
+ hasSuggestions,
50
+ fieldMetadata,
51
+ enableAdditionalInformation
50
52
  } = props;
51
53
  let { currencyDisplay } = props;
52
54
  const pConn = getPConnect();
53
55
  const actions = pConn.getActionsApi();
54
56
  const propName = pConn.getStateProps().value;
55
57
  const [currencyValue, setCurrencyValue] = useState(() => formatValue(value));
58
+ const fieldDescription = fieldMetadata?.description;
59
+ const additionalInfo =
60
+ enableAdditionalInformation && fieldDescription
61
+ ? {
62
+ heading: label,
63
+ content: fieldDescription
64
+ }
65
+ : undefined;
56
66
 
57
67
  let { readOnly, required, disabled } = props;
58
68
 
@@ -211,6 +221,7 @@ const PegaDxilMyCurrency = props => {
211
221
  readOnly={readOnly}
212
222
  required={required}
213
223
  data-testid={testId}
224
+ additionalInfo={additionalInfo}
214
225
  onChange={(enteredValue) => {
215
226
  if (hasSuggestions) {
216
227
  setStatus(undefined);
@@ -248,7 +259,7 @@ PegaDxilMyCurrency.defaultProps = {
248
259
  allowDecimals: true,
249
260
  currencyISOCode: 'USD',
250
261
  isoCodeSelection: 'constant',
251
- testId: '',
262
+ testId: "",
252
263
  displayMode: null,
253
264
  additionalProps: {},
254
265
  variant: 'inline',
@@ -260,7 +271,9 @@ PegaDxilMyCurrency.defaultProps = {
260
271
  currencyDecimalPrecision: 'auto',
261
272
  isTableFormatter: false,
262
273
  alwaysShowISOCode: false,
263
- hasSuggestions: false
274
+ hasSuggestions: false,
275
+ fieldMetadata: {},
276
+ enableAdditionalInformation: false
264
277
  };
265
278
 
266
279
  PegaDxilMyCurrency.propTypes = {
@@ -290,7 +303,9 @@ PegaDxilMyCurrency.propTypes = {
290
303
  currencyDecimalPrecision: PropTypes.string,
291
304
  isTableFormatter: PropTypes.bool,
292
305
  alwaysShowISOCode: PropTypes.bool,
293
- hasSuggestions: PropTypes.bool
306
+ hasSuggestions: PropTypes.bool,
307
+ fieldMetadata: PropTypes.objectOf(PropTypes.any),
308
+ enableAdditionalInformation: PropTypes.bool
294
309
  };
295
310
 
296
311
  export default PegaDxilMyCurrency;
@@ -37,7 +37,9 @@ const PegaDxilMyDate = props => {
37
37
  additionalProps,
38
38
  displayMode,
39
39
  variant,
40
- hasSuggestions
40
+ hasSuggestions,
41
+ fieldMetadata,
42
+ enableAdditionalInformation
41
43
  } = props;
42
44
 
43
45
  let {formatter} = props;
@@ -181,6 +183,15 @@ const PegaDxilMyDate = props => {
181
183
  </StyledPegaDxilMyDateWrapper>
182
184
  );
183
185
  } else {
186
+ const fieldDescription = fieldMetadata?.description;
187
+ const additionalInfo =
188
+ enableAdditionalInformation && fieldDescription
189
+ ? {
190
+ heading: label,
191
+ content: fieldDescription
192
+ }
193
+ : undefined;
194
+
184
195
  dateComponent = (
185
196
  <StyledPegaDxilMyDateWrapper>
186
197
  <DateInput
@@ -188,6 +199,7 @@ const PegaDxilMyDate = props => {
188
199
  label={label}
189
200
  labelHidden={hideLabel}
190
201
  info={validatemessage || helperText}
202
+ additionalInfo={additionalInfo}
191
203
  status={status}
192
204
  value={value || undefined}
193
205
  disabled={disabled}
@@ -221,13 +233,15 @@ PegaDxilMyDate.defaultProps = {
221
233
  showWeekNumber: false,
222
234
  nextYearRange: "",
223
235
  previousYearRange: "",
224
- testId: '',
236
+ testId: "",
225
237
  showAsFormattedText: false,
226
238
  additionalProps: {},
227
239
  displayMode: null,
228
240
  variant: "inline",
229
241
  formatter: "defaultDate",
230
- hasSuggestions: false
242
+ hasSuggestions: false,
243
+ fieldMetadata: {},
244
+ enableAdditionalInformation: false
231
245
  };
232
246
 
233
247
  PegaDxilMyDate.propTypes = {
@@ -249,7 +263,9 @@ PegaDxilMyDate.propTypes = {
249
263
  displayMode: PropTypes.string,
250
264
  variant: PropTypes.string,
251
265
  formatter: PropTypes.string,
252
- hasSuggestions: PropTypes.bool
266
+ hasSuggestions: PropTypes.bool,
267
+ fieldMetadata: PropTypes.objectOf(PropTypes.any),
268
+ enableAdditionalInformation: PropTypes.bool
253
269
  };
254
270
 
255
271
  export default PegaDxilMyDate;