@pega/dx-component-builder-sdk 25.1.16 → 26.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 (208) hide show
  1. package/package.json +1 -1
  2. package/pega-dx-component-builder-sdk-26.1.10.tgz +0 -0
  3. package/src/constants.js +4 -0
  4. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +1 -1
  5. package/src/tasks/create/templates/Constellation/template/DETAILS/DetailsRender.tsx.mustache +1 -1
  6. package/src/tasks/create/templates/Constellation/template/DETAILS-region/DetailsRender.tsx.mustache +1 -1
  7. package/src/tasks/create/templates/Constellation/template/FORM/DetailsRender.tsx +1 -1
  8. package/src/tasks/create/templates/Constellation/template/FORM-region/DetailsRender.tsx +1 -1
  9. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +22 -6
  10. package/src/tasks/create/templates/SDK-React/field/Date/demo.stories.tsx.mustache +8 -1
  11. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +22 -13
  12. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +9 -1
  13. package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +23 -14
  14. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +24 -8
  15. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +24 -8
  16. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +24 -10
  17. package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +26 -14
  18. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +34 -8
  19. package/src/tasks/create/templates/SDK-React/field/Picklist-Autocomplete/index.tsx.mustache +25 -9
  20. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/index.tsx.mustache +21 -5
  21. package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +25 -14
  22. package/src/tasks/create/templates/SDK-React/field/Text-Email/index.tsx.mustache +32 -21
  23. package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +25 -10
  24. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +26 -14
  25. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +28 -10
  26. package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +26 -14
  27. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/demo.stories.tsx.mustache +9 -1
  28. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +22 -17
  29. package/src/tasks/create/templates/SDK-React/template/FORM/DefaultForm.css +82 -2
  30. package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +51 -11
  31. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +19 -15
  32. package/src/tasks/create/templates/SDK-React/widget/PAGE/index.tsx.mustache +2 -167
  33. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +72 -15
  34. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +25 -14
  35. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
  36. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +37 -20
  37. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +14 -0
  38. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +57 -5
  39. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +18 -11
  40. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +1 -1
  41. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +19 -4
  42. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/Operator/Operator.tsx +125 -74
  43. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +184 -90
  44. package/tests/assets/sdk-r/components/create/override-sdk/field/AutoComplete/AutoComplete.tsx +372 -26
  45. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +22 -6
  46. package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +22 -4
  47. package/tests/assets/sdk-r/components/create/override-sdk/field/Date/Date.tsx +35 -4
  48. package/tests/assets/sdk-r/components/create/override-sdk/field/DateTime/DateTime.tsx +35 -4
  49. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +22 -4
  50. package/tests/assets/sdk-r/components/create/override-sdk/field/Dropdown/Dropdown.tsx +48 -16
  51. package/tests/assets/sdk-r/components/create/override-sdk/field/Email/Email.tsx +21 -4
  52. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/Group.tsx +28 -4
  53. package/tests/assets/sdk-r/components/create/override-sdk/field/Integer/Integer.tsx +21 -4
  54. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +42 -20
  55. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +5 -3
  56. package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/ObjectReference.tsx +554 -66
  57. package/tests/assets/sdk-r/components/create/override-sdk/field/ObjectReference/utils.ts +108 -20
  58. package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +22 -4
  59. package/tests/assets/sdk-r/components/create/override-sdk/field/Phone/Phone.tsx +23 -4
  60. package/tests/assets/sdk-r/components/create/override-sdk/field/RadioButtons/RadioButtons.tsx +20 -4
  61. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.css +0 -79
  62. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +1 -1
  63. package/tests/assets/sdk-r/components/create/override-sdk/field/SelectableCard/SelectableCard.tsx +25 -10
  64. package/tests/assets/sdk-r/components/create/override-sdk/field/TextArea/TextArea.tsx +22 -4
  65. package/tests/assets/sdk-r/components/create/override-sdk/field/TextInput/TextInput.tsx +21 -4
  66. package/tests/assets/sdk-r/components/create/override-sdk/field/Time/Time.tsx +35 -4
  67. package/tests/assets/sdk-r/components/create/override-sdk/field/URL/URL.tsx +22 -4
  68. package/tests/assets/sdk-r/components/create/override-sdk/field/UserReference/UserReference.tsx +10 -6
  69. package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +36 -14
  70. package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/useValidationBanner.ts +29 -0
  71. package/tests/assets/sdk-r/components/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +31 -10
  72. package/tests/assets/sdk-r/components/create/override-sdk/infra/FlowContainer/FlowContainer.tsx +5 -6
  73. package/tests/assets/sdk-r/components/create/override-sdk/infra/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +1 -1
  74. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/DataViewActionButtons/DataViewActionButtons.tsx +138 -0
  75. package/tests/assets/sdk-r/components/create/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +110 -64
  76. package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.css +63 -0
  77. package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.tsx +23 -52
  78. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +8 -3
  79. package/tests/assets/sdk-r/components/create/override-sdk/infra/Reference/Reference.tsx +5 -0
  80. package/tests/assets/sdk-r/components/create/override-sdk/infra/RootContainer/RootContainer.tsx +4 -5
  81. package/tests/assets/sdk-r/components/create/override-sdk/infra/View/View.css +1 -0
  82. package/tests/assets/sdk-r/components/create/override-sdk/infra/View/View.tsx +10 -17
  83. package/tests/assets/sdk-r/components/create/override-sdk/infra/ViewContainer/ViewContainer.tsx +8 -10
  84. package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.css +0 -4
  85. package/tests/assets/sdk-r/components/create/override-sdk/template/AppShell/AppShell.tsx +7 -1
  86. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseSummary/CaseSummary.tsx +9 -42
  87. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +8 -2
  88. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +58 -3
  89. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx +56 -33
  90. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/SearchForm.tsx +3 -4
  91. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.css +71 -0
  92. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.tsx +45 -9
  93. package/tests/assets/sdk-r/components/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +10 -3
  94. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +139 -59
  95. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/hooks.ts +80 -13
  96. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/utils.ts +13 -3
  97. package/tests/assets/sdk-r/components/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +16 -1
  98. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +167 -93
  99. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +71 -56
  100. package/tests/assets/sdk-r/components/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +12 -7
  101. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +119 -26
  102. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/AttachmentUtils.ts +1 -1
  103. package/tests/assets/sdk-r/components/create/override-sdk/widget/CaseHistory/CaseHistory.tsx +16 -12
  104. package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +40 -28
  105. package/tests/assets/sdk-r/components/create/override-sdk/widget/ToDo/ToDo.tsx +14 -6
  106. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
  107. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/DetailsRender.tsx +1 -1
  108. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/DetailsRender.tsx +1 -1
  109. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +1 -1
  110. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +1 -1
  111. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +22 -6
  112. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +24 -8
  113. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.tsx +8 -1
  114. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +22 -13
  115. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +9 -1
  116. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +23 -14
  117. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +24 -8
  118. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/index.tsx +32 -21
  119. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +2 -2
  120. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +26 -14
  121. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +26 -14
  122. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +24 -10
  123. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +25 -10
  124. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +34 -8
  125. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/index.tsx +21 -5
  126. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MySearchbox/index.tsx +22 -9
  127. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +25 -14
  128. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +25 -10
  129. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +9 -1
  130. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +22 -17
  131. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +26 -14
  132. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/DefaultForm.css +82 -2
  133. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +45 -8
  134. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +19 -15
  135. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +66 -15
  136. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/index.tsx +2 -167
  137. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.css +46 -0
  138. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/AlertBanner/AlertBanner.tsx +37 -20
  139. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.css +14 -0
  140. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +57 -5
  141. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +18 -11
  142. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroupList/FieldGroupList.tsx +1 -1
  143. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +19 -4
  144. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/Operator/Operator.tsx +125 -74
  145. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/RichTextEditor/RichTextEditor.tsx +184 -90
  146. package/tests/assets/sdk-r/components/createAll/override-sdk/field/AutoComplete/AutoComplete.tsx +372 -26
  147. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +22 -6
  148. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +22 -4
  149. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Date/Date.tsx +35 -4
  150. package/tests/assets/sdk-r/components/createAll/override-sdk/field/DateTime/DateTime.tsx +35 -4
  151. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +22 -4
  152. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Dropdown/Dropdown.tsx +48 -16
  153. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Email/Email.tsx +21 -4
  154. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/Group.tsx +28 -4
  155. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Integer/Integer.tsx +21 -4
  156. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +42 -20
  157. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +5 -3
  158. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/ObjectReference.tsx +554 -66
  159. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ObjectReference/utils.ts +108 -20
  160. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +22 -4
  161. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Phone/Phone.tsx +23 -4
  162. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RadioButtons/RadioButtons.tsx +20 -4
  163. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.css +0 -79
  164. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +1 -1
  165. package/tests/assets/sdk-r/components/createAll/override-sdk/field/SelectableCard/SelectableCard.tsx +25 -10
  166. package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextArea/TextArea.tsx +22 -4
  167. package/tests/assets/sdk-r/components/createAll/override-sdk/field/TextInput/TextInput.tsx +21 -4
  168. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Time/Time.tsx +35 -4
  169. package/tests/assets/sdk-r/components/createAll/override-sdk/field/URL/URL.tsx +22 -4
  170. package/tests/assets/sdk-r/components/createAll/override-sdk/field/UserReference/UserReference.tsx +10 -6
  171. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +36 -14
  172. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/useValidationBanner.ts +29 -0
  173. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +31 -10
  174. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/FlowContainer/FlowContainer.tsx +5 -6
  175. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/LeftAlignVerticalTabs/LeftAlignVerticalTabs.tsx +1 -1
  176. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/DataViewActionButtons/DataViewActionButtons.tsx +138 -0
  177. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ModalViewContainer/ModalViewContainer.tsx +110 -64
  178. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.css +63 -0
  179. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +23 -52
  180. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +8 -3
  181. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Reference/Reference.tsx +5 -0
  182. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/RootContainer/RootContainer.tsx +4 -5
  183. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/View/View.css +1 -0
  184. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/View/View.tsx +10 -17
  185. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/ViewContainer/ViewContainer.tsx +8 -10
  186. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.css +0 -4
  187. package/tests/assets/sdk-r/components/createAll/override-sdk/template/AppShell/AppShell.tsx +7 -1
  188. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseSummary/CaseSummary.tsx +9 -42
  189. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +8 -2
  190. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +58 -3
  191. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReference.tsx +56 -33
  192. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/SearchForm.tsx +3 -4
  193. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.css +71 -0
  194. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.tsx +45 -9
  195. package/tests/assets/sdk-r/components/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +10 -3
  196. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +139 -59
  197. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/hooks.ts +80 -13
  198. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/utils.ts +13 -3
  199. package/tests/assets/sdk-r/components/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +16 -1
  200. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +167 -93
  201. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableSelect/SimpleTableSelect.tsx +71 -56
  202. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +12 -7
  203. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +119 -26
  204. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/AttachmentUtils.ts +1 -1
  205. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/CaseHistory/CaseHistory.tsx +16 -12
  206. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +40 -28
  207. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/ToDo/ToDo.tsx +14 -6
  208. package/SECURITY.md +0 -10
@@ -18,13 +18,16 @@ interface CaseSummaryFieldsProps {
18
18
  status?: string;
19
19
  showStatus?: boolean;
20
20
  theFields: any[] | any | never;
21
+ variant?: 'primary' | 'secondary';
21
22
  }
22
23
 
23
24
  export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
24
25
  // Get emitted components from map (so we can get any override that may exist)
25
26
  const Operator = getComponentFromMap('Operator');
26
-
27
- const { status, showStatus, theFields } = props;
27
+ const ObjectReference = getComponentFromMap('ObjectReference');
28
+ const Reference = getComponentFromMap('reference');
29
+ const FieldValueList = getComponentFromMap('FieldValueList');
30
+ const { status, showStatus, theFields, variant = 'primary' } = props;
28
31
 
29
32
  const [theFieldsToRender, setFieldsToRender] = useState([]);
30
33
  const [theFieldsAsGridItems, setFieldsAsGridItems] = useState<any[]>([]);
@@ -212,6 +215,19 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
212
215
  case 'caseoperator':
213
216
  return <Operator {...field.config} />;
214
217
 
218
+ case 'objectreference':
219
+ return (
220
+ <div className='psdk-case-summary-object-ref'>
221
+ <label className='label'>{field.config.displayLabel}</label>
222
+ <div className='psdk-case-summary-object-ref-value'>
223
+ <ObjectReference {...field.config} getPConnect={field.getPConnect} />
224
+ </div>
225
+ </div>
226
+ );
227
+
228
+ case 'reference':
229
+ return <Reference {...field.config} getPConnect={field.getPConnect} displayMode='DISPLAY_ONLY' />;
230
+
215
231
  default:
216
232
  return (
217
233
  <span>
@@ -221,14 +237,50 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
221
237
  }
222
238
  }
223
239
 
240
+ function renderSecondaryField(field: any) {
241
+ const fieldTypeLower = field.type.toLowerCase();
242
+
243
+ if (fieldTypeLower === 'caseoperator') {
244
+ return <Operator {...field.config} displayMode='DISPLAY_ONLY' />;
245
+ }
246
+
247
+ // ObjectReference: render label from CaseSummaryFields, value from component
248
+ if (fieldTypeLower === 'objectreference') {
249
+ const name = field.config.label || field.config.displayLabel || '';
250
+ const value = field.getPConnect ? (
251
+ <ObjectReference {...field.config} getPConnect={field.getPConnect} displayMode='DISPLAY_ONLY' hideLabel />
252
+ ) : (
253
+ (field.config.value ?? '---')
254
+ );
255
+
256
+ return <FieldValueList name={name} value={value} variant='inline' />;
257
+ }
258
+
259
+ if (!field.getPConnect) {
260
+ // Fallback if no getPConnect — render using FieldValueList directly
261
+ const name = field.config.label || field.config.displayLabel || '';
262
+ const value = field.config.value ?? '---';
263
+ return <FieldValueList name={name} value={value} variant='inline' />;
264
+ }
265
+
266
+ const pConnect = field.getPConnect();
267
+ return pConnect.createComponent({
268
+ type: field.type,
269
+ config: {
270
+ ...field.config,
271
+ displayMode: 'DISPLAY_ONLY'
272
+ }
273
+ });
274
+ }
275
+
224
276
  // Whenever theFieldsToRender changes, update theFieldsAsGridItems that's used during render
225
277
  useEffect(() => {
226
278
  const arGridItems = theFieldsToRender?.map((field: any) => {
227
279
  // display the field when either visibility property doesn't exist or is true(if exists)
228
280
  if (field.config.visibility === undefined || field.config.visibility === true) {
229
281
  return (
230
- <Grid2 size={{ xs: 6 }} key={field.config.label}>
231
- {getFieldValue(field)}
282
+ <Grid2 size={{ xs: variant === 'secondary' ? 12 : 6 }} key={field.config.label}>
283
+ {variant === 'secondary' ? renderSecondaryField(field) : getFieldValue(field)}
232
284
  </Grid2>
233
285
  );
234
286
  }
@@ -236,7 +288,7 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
236
288
  return null;
237
289
  });
238
290
  setFieldsAsGridItems(arGridItems);
239
- }, [theFieldsToRender]);
291
+ }, [theFieldsToRender, variant]);
240
292
 
241
293
  const theFieldsModifiable = theFields;
242
294
 
@@ -1,4 +1,4 @@
1
- import { type PropsWithChildren, useState } from 'react';
1
+ import { type PropsWithChildren } from 'react';
2
2
  import Grid2 from '@mui/material/Grid2';
3
3
  import makeStyles from '@mui/styles/makeStyles';
4
4
  import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';
@@ -9,8 +9,11 @@ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
9
9
  interface FieldGroupProps {
10
10
  // If any, enter additional props that only exist on this component
11
11
  name?: string;
12
- collapsible?: boolean;
13
12
  instructions?: string;
13
+ defaultCollapsed?: any;
14
+ collapsed?: any;
15
+ onToggleCollapsed?: () => void;
16
+ isCollapsibleMode?: boolean;
14
17
  }
15
18
 
16
19
  const useStyles = makeStyles(theme => ({
@@ -32,7 +35,7 @@ const useStyles = makeStyles(theme => ({
32
35
  display: 'flex',
33
36
  alignItems: 'center',
34
37
  gap: '5px',
35
- cursor: collapsible => (collapsible ? 'pointer' : 'auto')
38
+ cursor: isCollapsibleMode => (isCollapsibleMode ? 'pointer' : 'auto')
36
39
  },
37
40
  instructionText: {
38
41
  padding: '5px 0'
@@ -40,9 +43,8 @@ const useStyles = makeStyles(theme => ({
40
43
  }));
41
44
 
42
45
  export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
43
- const { children, name, collapsible = false, instructions } = props;
44
- const classes = useStyles(collapsible);
45
- const [collapsed, setCollapsed] = useState(false);
46
+ const { children, name, instructions, collapsed, isCollapsibleMode, onToggleCollapsed } = props;
47
+ const classes = useStyles(isCollapsibleMode);
46
48
 
47
49
  const descAndChildren = (
48
50
  <Grid2 container>
@@ -51,7 +53,7 @@ export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
51
53
  );
52
54
 
53
55
  const headerClickHandler = () => {
54
- setCollapsed(current => !current);
56
+ onToggleCollapsed?.();
55
57
  };
56
58
 
57
59
  return (
@@ -59,7 +61,7 @@ export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
59
61
  <Grid2 style={{ width: '100%' }}>
60
62
  {name && (
61
63
  <div className={classes.fieldMargin}>
62
- {collapsible ? (
64
+ {isCollapsibleMode ? (
63
65
  <span id='field-group-header' className={classes.fieldGroupHeader} onClick={headerClickHandler}>
64
66
  {collapsed ? <KeyboardArrowRightIcon /> : <KeyboardArrowDownIcon />}
65
67
  <b>{name}</b>
@@ -69,10 +71,15 @@ export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
69
71
  )}
70
72
  </div>
71
73
  )}
72
- {instructions && instructions !== 'none' && (
73
- <div key='instructions' className={classes.instructionText} dangerouslySetInnerHTML={{ __html: instructions }} />
74
+
75
+ {!collapsed && (
76
+ <>
77
+ {instructions && instructions !== 'none' && (
78
+ <div key='instructions' className={classes.instructionText} dangerouslySetInnerHTML={{ __html: instructions }} />
79
+ )}
80
+ {descAndChildren}
81
+ </>
74
82
  )}
75
- {!collapsed && descAndChildren}
76
83
  </Grid2>
77
84
  </Grid2>
78
85
  );
@@ -24,7 +24,7 @@ export default function FieldGroupList(props: FieldGroupListProps) {
24
24
  <Grid2 style={{ width: '100%' }}>
25
25
  <Grid2 container spacing={1}>
26
26
  {props.items.map(item => (
27
- <Grid2 style={{ width: '100%' }}>
27
+ <Grid2 key={item.name} style={{ width: '100%' }}>
28
28
  <b>{item.name}</b>
29
29
  {props.onDelete && (
30
30
  <button
@@ -31,6 +31,16 @@ const useStyles = makeStyles(theme => ({
31
31
  },
32
32
  noPaddingBottom: {
33
33
  paddingBottom: '0 !important'
34
+ },
35
+ htmlContent: {
36
+ '& ul': {
37
+ paddingLeft: '30px',
38
+ listStyleType: 'disc'
39
+ },
40
+ '& ol': {
41
+ paddingLeft: '30px',
42
+ listStyleType: 'decimal'
43
+ }
34
44
  }
35
45
  }));
36
46
 
@@ -48,12 +58,14 @@ function formatItemValue(value) {
48
58
  export default function FieldValueList(props: FieldValueListProps) {
49
59
  const { name, value, variant = 'inline', isHtml = false } = props;
50
60
  const classes = useStyles();
61
+ const isCompact = variant === 'inline-compact';
51
62
 
52
63
  function getGridItemLabel() {
53
64
  return (
54
- <Grid2 size={{ xs: variant === 'stacked' ? 12 : 4 }} className={variant === 'stacked' ? classes.noPaddingBottom : ''}>
65
+ <Grid2 size={{ xs: variant === 'stacked' ? 12 : isCompact ? 'auto' : 4 }} className={variant === 'stacked' ? classes.noPaddingBottom : ''}>
55
66
  <Typography variant='body2' component='span' className={`${classes.fieldLabel}`}>
56
67
  {name}
68
+ {isCompact ? ':' : ''}
57
69
  </Typography>
58
70
  </Grid2>
59
71
  );
@@ -63,9 +75,12 @@ export default function FieldValueList(props: FieldValueListProps) {
63
75
  const formattedValue = formatItemValue(value);
64
76
 
65
77
  return (
66
- <Grid2 size={{ xs: variant === 'stacked' || !name ? 12 : 8 }} className={variant === 'stacked' ? classes.noPaddingTop : ''}>
78
+ <Grid2
79
+ size={{ xs: variant === 'stacked' || !name ? 12 : isCompact ? 'grow' : 8 }}
80
+ className={variant === 'stacked' ? classes.noPaddingTop : ''}
81
+ >
67
82
  {isHtml ? (
68
- <div dangerouslySetInnerHTML={{ __html: formattedValue }} />
83
+ <div className={classes.htmlContent} dangerouslySetInnerHTML={{ __html: formattedValue }} />
69
84
  ) : (
70
85
  <Typography variant={variant === 'stacked' ? 'h6' : 'body2'} component='span' className={classes.fieldValue}>
71
86
  {formattedValue}
@@ -76,7 +91,7 @@ export default function FieldValueList(props: FieldValueListProps) {
76
91
  }
77
92
 
78
93
  return (
79
- <Grid2 container spacing={4} justifyContent='space-between'>
94
+ <Grid2 container spacing={isCompact ? 1 : 4} justifyContent={isCompact ? undefined : 'space-between'}>
80
95
  {name ? getGridItemLabel() : null}
81
96
  {getGridItemValue()}
82
97
  </Grid2>
@@ -20,6 +20,7 @@ interface OperatorProps extends PConnProps {
20
20
  updateLabel: string;
21
21
  updateOperator: { userName: string; userId: string };
22
22
  displayLabel?: any;
23
+ displayMode?: string;
23
24
  }
24
25
 
25
26
  const useStyles = makeStyles(theme => ({
@@ -30,6 +31,13 @@ const useStyles = makeStyles(theme => ({
30
31
  popover: {
31
32
  padding: theme.spacing(1),
32
33
  margin: theme.spacing(1)
34
+ },
35
+ fieldLabel: {
36
+ fontWeight: 400,
37
+ color: theme.palette.text.secondary
38
+ },
39
+ fieldValue: {
40
+ color: theme.palette.text.primary
33
41
  }
34
42
  }));
35
43
 
@@ -72,80 +80,84 @@ export default function Operator(props: OperatorProps) {
72
80
  const localizedVal = PCore.getLocaleUtils().getLocaleValue;
73
81
  const localeCategory = 'Operator';
74
82
 
75
- operatorPreviewPromise.then((res: any) => {
76
- const fillerString = '---';
77
- let fields: any = [];
78
- if (res.data && res.data.pyOperatorInfo && res.data.pyOperatorInfo.pyUserName) {
79
- fields = [
80
- {
81
- id: 'pyPosition',
82
- name: localizedVal('Position', localeCategory),
83
- value: res.data.pyOperatorInfo.pyPosition ? res.data.pyOperatorInfo.pyPosition : fillerString
84
- },
85
- {
86
- id: 'pyOrganization',
87
- name: localizedVal('Organization', localeCategory),
88
- value: res.data.pyOperatorInfo.pyOrganization ? res.data.pyOperatorInfo.pyOrganization : fillerString
89
- },
90
- {
91
- id: 'ReportToUserName',
92
- name: localizedVal('Reports to', localeCategory),
93
- value: res.data.pyOperatorInfo.pyReportToUserName ? res.data.pyOperatorInfo.pyReportToUserName : fillerString
94
- },
95
- {
96
- id: 'pyTelephone',
97
- name: localizedVal('Telephone', localeCategory),
98
- value: res.data.pyOperatorInfo.pyTelephone ? (
99
- <a href={`tel:${res.data.pyOperatorInfo.pyTelephone}`}>{res.data.pyOperatorInfo.pyTelephone}</a>
100
- ) : (
101
- fillerString
102
- )
103
- },
104
- {
105
- id: 'pyEmailAddress',
106
- name: localizedVal('Email address', localeCategory),
107
- value: res.data.pyOperatorInfo.pyEmailAddress ? (
108
- <a href={`mailto:${res.data.pyOperatorInfo.pyEmailAddress}`}>{res.data.pyOperatorInfo.pyEmailAddress}</a>
109
- ) : (
110
- fillerString
111
- )
112
- }
113
- ];
114
- } else {
115
- console.log(
116
- `Operator: PCore.getUserApi().getOperatorDetails(${caseOpId}); returned empty res.data.pyOperatorInfo.pyUserName - adding default`
117
- );
118
- fields = [
119
- {
120
- id: 'pyPosition',
121
- name: localizedVal('Position', localeCategory),
122
- value: fillerString
123
- },
124
- {
125
- id: 'pyOrganization',
126
- name: localizedVal('Organization', localeCategory),
127
- value: fillerString
128
- },
129
- {
130
- id: 'ReportToUserName',
131
- name: localizedVal('Reports to', localeCategory),
132
- value: fillerString
133
- },
134
- {
135
- id: 'pyTelephone',
136
- name: localizedVal('Telephone', localeCategory),
137
- value: fillerString
138
- },
139
- {
140
- id: 'pyEmailAddress',
141
- name: localizedVal('Email address', localeCategory),
142
- value: fillerString
143
- }
144
- ];
145
- }
146
- // Whatever the fields are, update the component's popoverFields
147
- setPopoverFields(fields);
148
- });
83
+ operatorPreviewPromise
84
+ .then((res: any) => {
85
+ const fillerString = '---';
86
+ let fields: any = [];
87
+ if (res.data && res.data.pyOperatorInfo && res.data.pyOperatorInfo.pyUserName) {
88
+ fields = [
89
+ {
90
+ id: 'pyPosition',
91
+ name: localizedVal('Position', localeCategory),
92
+ value: res.data.pyOperatorInfo.pyPosition ? res.data.pyOperatorInfo.pyPosition : fillerString
93
+ },
94
+ {
95
+ id: 'pyOrganization',
96
+ name: localizedVal('Organization', localeCategory),
97
+ value: res.data.pyOperatorInfo.pyOrganization ? res.data.pyOperatorInfo.pyOrganization : fillerString
98
+ },
99
+ {
100
+ id: 'ReportToUserName',
101
+ name: localizedVal('Reports to', localeCategory),
102
+ value: res.data.pyOperatorInfo.pyReportToUserName ? res.data.pyOperatorInfo.pyReportToUserName : fillerString
103
+ },
104
+ {
105
+ id: 'pyTelephone',
106
+ name: localizedVal('Telephone', localeCategory),
107
+ value: res.data.pyOperatorInfo.pyTelephone ? (
108
+ <a href={`tel:${res.data.pyOperatorInfo.pyTelephone}`}>{res.data.pyOperatorInfo.pyTelephone}</a>
109
+ ) : (
110
+ fillerString
111
+ )
112
+ },
113
+ {
114
+ id: 'pyEmailAddress',
115
+ name: localizedVal('Email address', localeCategory),
116
+ value: res.data.pyOperatorInfo.pyEmailAddress ? (
117
+ <a href={`mailto:${res.data.pyOperatorInfo.pyEmailAddress}`}>{res.data.pyOperatorInfo.pyEmailAddress}</a>
118
+ ) : (
119
+ fillerString
120
+ )
121
+ }
122
+ ];
123
+ } else {
124
+ console.log(
125
+ `Operator: PCore.getUserApi().getOperatorDetails(${caseOpId}); returned empty res.data.pyOperatorInfo.pyUserName - adding default`
126
+ );
127
+ fields = [
128
+ {
129
+ id: 'pyPosition',
130
+ name: localizedVal('Position', localeCategory),
131
+ value: fillerString
132
+ },
133
+ {
134
+ id: 'pyOrganization',
135
+ name: localizedVal('Organization', localeCategory),
136
+ value: fillerString
137
+ },
138
+ {
139
+ id: 'ReportToUserName',
140
+ name: localizedVal('Reports to', localeCategory),
141
+ value: fillerString
142
+ },
143
+ {
144
+ id: 'pyTelephone',
145
+ name: localizedVal('Telephone', localeCategory),
146
+ value: fillerString
147
+ },
148
+ {
149
+ id: 'pyEmailAddress',
150
+ name: localizedVal('Email address', localeCategory),
151
+ value: fillerString
152
+ }
153
+ ];
154
+ }
155
+ // Whatever the fields are, update the component's popoverFields
156
+ setPopoverFields(fields);
157
+ })
158
+ .catch(e => {
159
+ console.error(e);
160
+ });
149
161
 
150
162
  setPopoverAnchorEl(event.currentTarget);
151
163
  }
@@ -185,6 +197,45 @@ export default function Operator(props: OperatorProps) {
185
197
 
186
198
  // End of popover-related
187
199
 
200
+ const { displayMode } = props;
201
+
202
+ if (displayMode === 'DISPLAY_ONLY') {
203
+ return (
204
+ <>
205
+ <Grid2 container spacing={4} justifyContent='space-between'>
206
+ <Grid2 size={{ xs: 4 }}>
207
+ <Typography variant='body2' component='span' className={classes.fieldLabel}>
208
+ {caseOpLabel}
209
+ </Typography>
210
+ </Grid2>
211
+ <Grid2 size={{ xs: 8 }}>
212
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: '0.5rem', alignItems: 'baseline' }}>
213
+ <Typography variant='body2' component='span' className={classes.fieldValue} onClick={showOperatorDetails} sx={{ cursor: 'pointer' }}>
214
+ {caseOpName}
215
+ </Typography>
216
+ <Typography variant='caption' component='span' sx={{ color: 'text.secondary' }}>
217
+ {Utils.generateDateTime(caseTime, 'DateTime-Since')}
218
+ </Typography>
219
+ </div>
220
+ </Grid2>
221
+ </Grid2>
222
+ <Popover
223
+ id={popoverId}
224
+ open={popoverOpen}
225
+ anchorEl={popoverAnchorEl}
226
+ onClose={handlePopoverClose}
227
+ anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
228
+ transformOrigin={{ vertical: 'top', horizontal: 'center' }}
229
+ slotProps={{
230
+ paper: { style: { maxWidth: '45ch' } }
231
+ }}
232
+ >
233
+ {getPopoverGrid()}
234
+ </Popover>
235
+ </>
236
+ );
237
+ }
238
+
188
239
  return (
189
240
  <>
190
241
  <TextField