@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
@@ -0,0 +1,121 @@
1
+ import React, { forwardRef } from 'react';
2
+ import { Editor } from '@tinymce/tinymce-react';
3
+ import { FormControl, FormHelperText, InputLabel, makeStyles } from '@material-ui/core';
4
+ import { useAfterInitialEffect, useConsolidatedRef, useUID } from '@pega/react-sdk-components/lib/hooks';
5
+
6
+ const useStyles = makeStyles((theme) => ({
7
+ fieldLabel: {
8
+ position: 'relative',
9
+ transform: 'translate(0, 0px) scale(1)',
10
+ marginBottom: '5px',
11
+ color: theme.palette.text.secondary
12
+ }
13
+ }));
14
+
15
+ interface RichTextEditorProps {
16
+ id?: string;
17
+ defaultValue: string;
18
+ label: string;
19
+ labelHidden: boolean;
20
+ info: string;
21
+ testId: string;
22
+ placeholder: string;
23
+ disabled: boolean;
24
+ required: boolean;
25
+ readOnly: boolean;
26
+ error: boolean;
27
+ onBlur: React.EventHandler<any>;
28
+ onChange: React.EventHandler<any>;
29
+ }
30
+
31
+ const RichTextEditor = forwardRef(function RichTextEditor(props: RichTextEditorProps, ref) {
32
+ const classes = useStyles();
33
+ const uid = useUID();
34
+ const { id = uid, defaultValue, label, labelHidden, info, testId, placeholder, disabled, required, readOnly, error, onBlur, onChange } = props;
35
+
36
+ const editorRef: any = useConsolidatedRef(ref);
37
+ let richTextComponent: any = null;
38
+
39
+ useAfterInitialEffect(() => {
40
+ editorRef?.current.mode.set(readOnly || disabled ? 'readonly' : 'design');
41
+ }, [readOnly, disabled]);
42
+
43
+ const filePickerCallback = (cb) => {
44
+ const input = document.createElement('input');
45
+ input.setAttribute('type', 'file');
46
+ input.setAttribute('accept', 'image/*');
47
+
48
+ input.addEventListener('change', (e: any) => {
49
+ const file = e.target.files[0];
50
+
51
+ const reader: any = new FileReader();
52
+ reader.addEventListener('load', () => {
53
+ /*
54
+ Note: Now we need to register the blob in TinyMCEs image blob
55
+ registry. In the next release this part hopefully won't be
56
+ necessary, as we are looking to handle it internally.
57
+ */
58
+ const blobId = `blobid${new Date().getTime()}`;
59
+ const blobCache = editorRef.current.editorUpload.blobCache;
60
+ const base64 = reader.result.split(',')[1];
61
+ const blobInfo = blobCache.create(blobId, file, base64);
62
+ blobCache.add(blobInfo);
63
+
64
+ /* call the callback and populate the Title field with the file name */
65
+ cb(blobInfo.blobUri(), { title: file.name });
66
+ });
67
+ reader.readAsDataURL(file);
68
+ });
69
+
70
+ input.click();
71
+ };
72
+
73
+ if (readOnly) {
74
+ const value = defaultValue || '--';
75
+ // eslint-disable-next-line react/no-danger
76
+ richTextComponent = <div key={id} id={id} className="readonly-richtext-editor" dangerouslySetInnerHTML={{ __html: value }} />;
77
+ } else {
78
+ richTextComponent = (
79
+ <Editor
80
+ tinymceScriptSrc="tinymce/tinymce.min.js"
81
+ onInit={(_evt, editor) => {
82
+ editorRef.current = editor;
83
+ }}
84
+ id={id}
85
+ initialValue={defaultValue}
86
+ disabled={disabled}
87
+ init={{
88
+ placeholder,
89
+ menubar: false,
90
+ statusbar: false,
91
+ min_height: 130,
92
+ plugins: ['lists', 'advlist', 'autolink', 'image', 'link', 'autoresize'],
93
+ autoresize_bottom_margin: 0,
94
+ toolbar: disabled ? false : 'blocks | bold italic strikethrough | bullist numlist outdent indent | link image',
95
+ toolbar_location: 'bottom',
96
+ content_style: 'body { font-family:Helvetica, Arial,sans-serif; font-size:14px }',
97
+ branding: false,
98
+ paste_data_images: true,
99
+ file_picker_types: 'image',
100
+ file_picker_callback: filePickerCallback
101
+ }}
102
+ onBlur={onBlur}
103
+ onEditorChange={onChange}
104
+ />
105
+ );
106
+ }
107
+
108
+ return (
109
+ <FormControl data-test-id={testId} error={error} required={required}>
110
+ {!labelHidden && (
111
+ <InputLabel id="demo-simple-select-error-label" className={classes.fieldLabel}>
112
+ {label}
113
+ </InputLabel>
114
+ )}
115
+ {richTextComponent}
116
+ {info && <FormHelperText>{info}</FormHelperText>}
117
+ </FormControl>
118
+ );
119
+ });
120
+
121
+ export default RichTextEditor;
@@ -0,0 +1 @@
1
+ export { default } from './RichTextEditor';
@@ -1,12 +1,11 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { TextField } from '@material-ui/core';
3
3
  import Autocomplete from '@material-ui/lab/Autocomplete';
4
- import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
5
- import TextInput from '@pega/react-sdk-components/lib/components/field/TextInput';
6
4
  import isDeepEqual from 'fast-deep-equal/react';
5
+ import Utils from '@pega/react-sdk-components/lib/components/helpers/utils';
7
6
  import { getDataPage } from '@pega/react-sdk-components/lib/components/helpers/data_page';
8
7
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
9
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
8
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
10
9
  import type { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
11
10
 
12
11
  interface IOption {
@@ -14,18 +13,18 @@ interface IOption {
14
13
  value: string;
15
14
  }
16
15
 
17
- const preProcessColumns = columnList => {
18
- return columnList.map(col => {
16
+ const preProcessColumns = (columnList) => {
17
+ return columnList.map((col) => {
19
18
  const tempColObj = { ...col };
20
19
  tempColObj.value = col.value && col.value.startsWith('.') ? col.value.substring(1) : col.value;
21
20
  return tempColObj;
22
21
  });
23
22
  };
24
23
 
25
- const getDisplayFieldsMetaData = columnList => {
26
- const displayColumns = columnList.filter(col => col.display === 'true');
24
+ const getDisplayFieldsMetaData = (columnList) => {
25
+ const displayColumns = columnList.filter((col) => col.display === 'true');
27
26
  const metaDataObj: any = { key: '', primary: '', secondary: [] };
28
- const keyCol = columnList.filter(col => col.key === 'true');
27
+ const keyCol = columnList.filter((col) => col.key === 'true');
29
28
  metaDataObj.key = keyCol.length > 0 ? keyCol[0].value : 'auto';
30
29
  for (let index = 0; index < displayColumns.length; index += 1) {
31
30
  if (displayColumns[index].primary === 'true') {
@@ -39,20 +38,23 @@ const getDisplayFieldsMetaData = columnList => {
39
38
 
40
39
  interface AutoCompleteProps extends PConnFieldProps {
41
40
  // If any, enter additional props that only exist on AutoComplete here'
42
- displayMode?: string,
43
- deferDatasource?: boolean,
44
- datasourceMetadata?: any,
45
- status?: string,
46
- onRecordChange?: any,
47
- additionalProps?: object,
48
- listType: string,
49
- parameters?: any,
50
- datasource: any,
51
- columns: Array<any>
41
+ displayMode?: string;
42
+ deferDatasource?: boolean;
43
+ datasourceMetadata?: any;
44
+ status?: string;
45
+ onRecordChange?: any;
46
+ additionalProps?: object;
47
+ listType: string;
48
+ parameters?: any;
49
+ datasource: any;
50
+ columns: Array<any>;
52
51
  }
53
52
 
53
+ export default function AutoComplete(props: AutoCompleteProps) {
54
+ // Get emitted components from map (so we can get any override that may exist)
55
+ const TextInput = getComponentFromMap('TextInput');
56
+ const FieldValueList = getComponentFromMap('FieldValueList');
54
57
 
55
- export default function AutoComplete(props:AutoCompleteProps) {
56
58
  const {
57
59
  getPConnect,
58
60
  label,
@@ -90,7 +92,7 @@ export default function AutoComplete(props:AutoCompleteProps) {
90
92
 
91
93
  const flattenParameters = (params = {}) => {
92
94
  const flatParams = {};
93
- Object.keys(params).forEach(key => {
95
+ Object.keys(params).forEach((key) => {
94
96
  const { name, value: theVal } = params[key];
95
97
  flatParams[name] = theVal;
96
98
  });
@@ -137,7 +139,7 @@ export default function AutoComplete(props:AutoCompleteProps) {
137
139
  getDataPage(datasource, parameters, context).then((results: any) => {
138
140
  const optionsData: Array<any> = [];
139
141
  const displayColumn = getDisplayFieldsMetaData(columns);
140
- results?.forEach(element => {
142
+ results?.forEach((element) => {
141
143
  const val = element[displayColumn.primary]?.toString();
142
144
  const obj = {
143
145
  key: element[displayColumn.key] || element.pyGUID,
@@ -155,11 +157,11 @@ export default function AutoComplete(props:AutoCompleteProps) {
155
157
  }
156
158
 
157
159
  if (displayMode === 'STACKED_LARGE_VAL') {
158
- return <FieldValueList name={hideLabel ? '' : label} value={value} variant='stacked' />;
160
+ return <FieldValueList name={hideLabel ? '' : label} value={value} variant="stacked" />;
159
161
  }
160
162
 
161
163
  if (value) {
162
- const index = options?.findIndex(element => element.key === value);
164
+ const index = options?.findIndex((element) => element.key === value);
163
165
  if (index > -1) {
164
166
  selectedValue = options[index].value;
165
167
  } else {
@@ -180,7 +182,7 @@ export default function AutoComplete(props:AutoCompleteProps) {
180
182
  };
181
183
 
182
184
  if (readOnly) {
183
- const theValAsString = options?.find(opt => opt.key === value)?.value;
185
+ const theValAsString = options?.find((opt) => opt.key === value)?.value;
184
186
  return <TextInput {...props} value={theValAsString} />;
185
187
  }
186
188
  // Need to use both getOptionLabel and getOptionSelected to map our
@@ -199,14 +201,14 @@ export default function AutoComplete(props:AutoCompleteProps) {
199
201
  value={selectedValue}
200
202
  inputValue={inputValue || selectedValue}
201
203
  onInputChange={handleInputValue}
202
- renderInput={params => (
204
+ renderInput={(params) => (
203
205
  <TextField
204
206
  {...params}
205
207
  fullWidth
206
- variant='outlined'
208
+ variant="outlined"
207
209
  helperText={helperTextToDisplay}
208
210
  placeholder={placeholder}
209
- size='small'
211
+ size="small"
210
212
  required={required}
211
213
  error={status === 'error'}
212
214
  label={label}
@@ -1,14 +1,8 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import {
3
- Checkbox,
4
- FormControl,
5
- FormControlLabel,
6
- FormGroup,
7
- FormHelperText
8
- } from '@material-ui/core';
2
+ import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText } from '@material-ui/core';
9
3
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
10
- import FieldValueList from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldValueList';
11
4
  import type { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
12
6
 
13
7
  // Checkbox passes in 'value' as a boolean. So can't use the default
14
8
  // PConnFieldProps since it expects value to be a string.
@@ -16,26 +10,29 @@ interface CheckboxProps extends PConnProps {
16
10
  // If any, enter additional props that only exist on Checkbox here
17
11
  // Everything from PConnFieldProps except value and change type of value to boolean
18
12
 
19
- value?: boolean,
20
- label: string,
21
- required: boolean,
22
- disabled: boolean,
23
- validatemessage: string,
24
- status?: string,
13
+ value?: boolean;
14
+ label: string;
15
+ required: boolean;
16
+ disabled: boolean;
17
+ validatemessage: string;
18
+ status?: string;
25
19
  // eslint-disable-next-line react/no-unused-prop-types
26
- onChange: any,
20
+ onChange: any;
27
21
  // eslint-disable-next-line react/no-unused-prop-types
28
- onBlur?: any,
29
- readOnly: boolean,
30
- testId: string,
31
- helperText: string,
32
- displayMode?: string,
33
- hideLabel: boolean,
22
+ onBlur?: any;
23
+ readOnly: boolean;
24
+ testId: string;
25
+ helperText: string;
26
+ displayMode?: string;
27
+ hideLabel: boolean;
34
28
  // eslint-disable-next-line react/no-unused-prop-types
35
- placeholder?: string
29
+ placeholder?: string;
36
30
  }
37
31
 
38
32
  export default function CheckboxComponent(props: CheckboxProps) {
33
+ // Get emitted components from map (so we can get any override that may exist)
34
+ const FieldValueList = getComponentFromMap('FieldValueList');
35
+
39
36
  const {
40
37
  getPConnect,
41
38
  label,
@@ -69,18 +66,18 @@ export default function CheckboxComponent(props: CheckboxProps) {
69
66
  }
70
67
 
71
68
  if (displayMode === 'STACKED_LARGE_VAL') {
72
- return <FieldValueList name={hideLabel ? '' : label} value={value.toString()} variant='stacked' />;
69
+ return <FieldValueList name={hideLabel ? '' : label} value={value.toString()} variant="stacked" />;
73
70
  }
74
71
 
75
- const handleChange = event => {
72
+ const handleChange = (event) => {
76
73
  handleEvent(actionsApi, 'changeNblur', propName, event.target.checked);
77
74
  };
78
75
 
79
- const handleBlur = event => {
80
- thePConn.getValidationApi().validate(event.target.checked, ""); // 2nd arg empty string until typedef marked correctly as optional
76
+ const handleBlur = (event) => {
77
+ thePConn.getValidationApi().validate(event.target.checked, ''); // 2nd arg empty string until typedef marked correctly as optional
81
78
  };
82
79
 
83
- let theCheckbox = <Checkbox color='primary' disabled={disabled} />;
80
+ let theCheckbox = <Checkbox color="primary" disabled={disabled} />;
84
81
 
85
82
  if (readOnly) {
86
83
  // Workaround for lack of InputProps readOnly from https://github.com/mui-org/material-ui/issues/17043
@@ -97,7 +94,7 @@ export default function CheckboxComponent(props: CheckboxProps) {
97
94
  onChange={!readOnly ? handleChange : undefined}
98
95
  onBlur={!readOnly ? handleBlur : undefined}
99
96
  label={caption}
100
- labelPlacement='end'
97
+ labelPlacement="end"
101
98
  data-test-id={testId}
102
99
  />
103
100
  </FormGroup>
@@ -1,21 +1,22 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- // import { TextField } from "@material-ui/core";
3
2
  import CurrencyTextField from '@unicef/material-ui-currency-textfield';
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
- import { format } from "@pega/react-sdk-components/lib/components/helpers/formatters";
4
+ import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
7
5
  import { getCurrencyCharacters, getCurrencyOptions } from './currency-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
  // Using control from: https://github.com/unicef/material-ui-currency-textfield
11
10
 
12
11
  interface CurrrencyProps extends PConnFieldProps {
13
12
  // If any, enter additional props that only exist on Currency here
14
- currencyISOCode?: string
13
+ currencyISOCode?: string;
15
14
  }
16
15
 
16
+ export default function Currency(props: CurrrencyProps) {
17
+ // Get emitted components from map (so we can get any override that may exist)
18
+ const FieldValueList = getComponentFromMap('FieldValueList');
17
19
 
18
- export default function Currency(props:CurrrencyProps) {
19
20
  const {
20
21
  getPConnect,
21
22
  label,
@@ -30,7 +31,7 @@ export default function Currency(props:CurrrencyProps) {
30
31
  helperText,
31
32
  displayMode,
32
33
  hideLabel,
33
- currencyISOCode = "USD"
34
+ currencyISOCode = 'USD'
34
35
  } = props;
35
36
 
36
37
  const pConn = getPConnect();
@@ -53,9 +54,9 @@ export default function Currency(props:CurrrencyProps) {
53
54
  };
54
55
 
55
56
  const [currValue, setCurrValue] = useState('');
56
- const [theCurrSym, setCurrSym] = useState("$");
57
- const [theCurrDec, setCurrDec] = useState(".");
58
- const [theCurrSep, setCurrSep] = useState(",");
57
+ const [theCurrSym, setCurrSym] = useState('$');
58
+ const [theCurrDec, setCurrDec] = useState('.');
59
+ const [theCurrSep, setCurrSep] = useState(',');
59
60
 
60
61
  useEffect(() => {
61
62
  // currencySymbols looks like this: { theCurrencySymbol: '$', theDecimalIndicator: '.', theSeparator: ',' }
@@ -78,7 +79,7 @@ export default function Currency(props:CurrrencyProps) {
78
79
  }
79
80
 
80
81
  if (displayMode === 'STACKED_LARGE_VAL') {
81
- return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant='stacked' />;
82
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} variant="stacked" />;
82
83
  }
83
84
 
84
85
  // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
@@ -101,8 +102,8 @@ export default function Currency(props:CurrrencyProps) {
101
102
  fullWidth
102
103
  variant={readOnly ? 'standard' : 'outlined'}
103
104
  helperText={helperTextToDisplay}
104
- placeholder=''
105
- size='small'
105
+ placeholder=""
106
+ size="small"
106
107
  required={required}
107
108
  disabled={disabled}
108
109
  onChange={currOnChange}
@@ -110,9 +111,9 @@ export default function Currency(props:CurrrencyProps) {
110
111
  error={status === 'error'}
111
112
  label={label}
112
113
  value={currValue}
113
- type='text'
114
- outputFormat='number'
115
- textAlign='left'
114
+ type="text"
115
+ outputFormat="number"
116
+ textAlign="left"
116
117
  InputProps={{ ...readOnlyProp, inputProps: { ...testProp, value: currValue } }}
117
118
  currencySymbol={theCurrSym}
118
119
  decimalCharacter={theCurrDec}
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
2
  import { KeyboardDatePicker } 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
  // Will return the date string in YYYY-MM-DD format which we'll be POSTing to the server
11
- function getFormattedDate(date){
10
+ function getFormattedDate(date) {
12
11
  return `${date.$y.toString()}-${(date.$M + 1).toString().padStart(2, '0')}-${date.$D.toString().padStart(2, '0')}`;
13
12
  }
14
13
 
@@ -16,8 +15,11 @@ interface DateProps extends PConnFieldProps {
16
15
  // If any, enter additional props that only exist on Date here
17
16
  }
18
17
 
18
+ export default function Date(props: DateProps) {
19
+ // Get emitted components from map (so we can get any override that may exist)
20
+ const TextInput = getComponentFromMap('TextInput');
21
+ const FieldValueList = getComponentFromMap('FieldValueList');
19
22
 
20
- export default function Date(props:DateProps) {
21
23
  const {
22
24
  getPConnect,
23
25
  label,
@@ -43,12 +45,11 @@ export default function Date(props:DateProps) {
43
45
  // Start with default dateFormatInfo
44
46
  const dateFormatInfo = dateFormatInfoDefault;
45
47
  // and then update, as needed, based on locale, etc.
46
- const theDateFormat = getDateFormatInfo()
48
+ const theDateFormat = getDateFormatInfo();
47
49
  dateFormatInfo.dateFormatString = theDateFormat.dateFormatString;
48
50
  dateFormatInfo.dateFormatStringLC = theDateFormat.dateFormatStringLC;
49
51
  dateFormatInfo.dateFormatMask = theDateFormat.dateFormatMask;
50
52
 
51
-
52
53
  if (displayMode === 'LABELS_LEFT') {
53
54
  const formattedDate = format(props.value, 'date', { format: dateFormatInfo.dateFormatString });
54
55
  return <FieldValueList name={hideLabel ? '' : label} value={formattedDate} />;
@@ -56,7 +57,7 @@ export default function Date(props:DateProps) {
56
57
 
57
58
  if (displayMode === 'STACKED_LARGE_VAL') {
58
59
  const formattedDate = format(props.value, 'date', { format: dateFormatInfo.dateFormatString });
59
- return <FieldValueList name={hideLabel ? '' : label} value={formattedDate} variant='stacked' />;
60
+ return <FieldValueList name={hideLabel ? '' : label} value={formattedDate} variant="stacked" />;
60
61
  }
61
62
 
62
63
  if (readOnly) {
@@ -70,14 +71,14 @@ export default function Date(props:DateProps) {
70
71
  'data-test-id': testId
71
72
  };
72
73
 
73
- const handleChange = date => {
74
- if(date && date.isValid()){
74
+ const handleChange = (date) => {
75
+ if (date && date.isValid()) {
75
76
  onChange({ value: getFormattedDate(date) });
76
77
  }
77
78
  };
78
79
 
79
- const handleAccept = date => {
80
- if(date && date.isValid()){
80
+ const handleAccept = (date) => {
81
+ if (date && date.isValid()) {
81
82
  handleEvent(actions, 'changeNblur', propName, getFormattedDate(date));
82
83
  }
83
84
  };
@@ -85,8 +86,8 @@ export default function Date(props:DateProps) {
85
86
  return (
86
87
  <KeyboardDatePicker
87
88
  disableToolbar
88
- variant='inline'
89
- inputVariant='outlined'
89
+ variant="inline"
90
+ inputVariant="outlined"
90
91
  placeholder={dateFormatInfo.dateFormatStringLC}
91
92
  format={dateFormatInfo.dateFormatString}
92
93
  mask={dateFormatInfo.dateFormatMask}
@@ -96,7 +97,7 @@ export default function Date(props:DateProps) {
96
97
  disabled={disabled}
97
98
  error={status === 'error'}
98
99
  helperText={helperTextToDisplay}
99
- size='small'
100
+ size="small"
100
101
  label={label}
101
102
  value={value || null}
102
103
  onChange={handleChange}
@@ -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}