@pega/dx-component-builder-sdk 0.23.13 → 0.23.15

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 (199) hide show
  1. package/package.json +1 -1
  2. package/src/constants.js +20 -0
  3. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.html.mustache +5 -1
  4. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.ts.mustache +6 -0
  5. package/src/tasks/create/templates/SDK-Angular/field/Date/date.component.html.mustache +5 -1
  6. package/src/tasks/create/templates/SDK-Angular/field/Date/date.component.ts.mustache +7 -0
  7. package/src/tasks/create/templates/SDK-Angular/template/DETAILS/details.component.ts.mustache +2 -1
  8. package/src/tasks/create/templates/SDK-Angular/template/FORM/form.component.scss.mustache +14 -5
  9. package/src/tasks/create/templates/SDK-React/field/Boolean/demo.stories.tsx.mustache +8 -4
  10. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +23 -21
  11. package/src/tasks/create/templates/SDK-React/field/Date/demo.stories.tsx.mustache +17 -15
  12. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +24 -26
  13. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +15 -14
  14. package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +20 -22
  15. package/src/tasks/create/templates/SDK-React/field/Decimal/demo.stories.tsx.mustache +15 -14
  16. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +4 -5
  17. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/demo.stories.tsx.mustache +14 -12
  18. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +3 -4
  19. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/demo.stories.tsx.mustache +2 -2
  20. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +3 -4
  21. package/src/tasks/create/templates/SDK-React/field/Integer/demo.stories.tsx.mustache +3 -3
  22. package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +3 -4
  23. package/src/tasks/create/templates/SDK-React/field/Picklist/demo.stories.tsx.mustache +2 -3
  24. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +3 -4
  25. package/src/tasks/create/templates/SDK-React/field/Picklist-Autocomplete/demo.stories.tsx.mustache +3 -3
  26. package/src/tasks/create/templates/SDK-React/field/Picklist-Autocomplete/index.tsx.mustache +31 -32
  27. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/demo.stories.tsx.mustache +6 -4
  28. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/index.tsx.mustache +22 -23
  29. package/src/tasks/create/templates/SDK-React/field/Text/demo.stories.tsx.mustache +8 -4
  30. package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +18 -19
  31. package/src/tasks/create/templates/SDK-React/field/Text-Email/demo.stories.tsx.mustache +8 -4
  32. package/src/tasks/create/templates/SDK-React/field/Text-Email/index.tsx.mustache +26 -27
  33. package/src/tasks/create/templates/SDK-React/field/Text-Input/demo.stories.tsx.mustache +8 -4
  34. package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +18 -19
  35. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/demo.stories.tsx.mustache +8 -5
  36. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +21 -22
  37. package/src/tasks/create/templates/SDK-React/field/Text-Phone/demo.stories.tsx.mustache +6 -4
  38. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +39 -40
  39. package/src/tasks/create/templates/SDK-React/field/Text-URL/demo.stories.tsx.mustache +8 -4
  40. package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +19 -20
  41. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/demo.stories.tsx.mustache +6 -4
  42. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +4 -5
  43. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +22 -22
  44. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +19 -20
  45. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +17 -17
  46. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +19 -20
  47. package/src/tasks/create/templates/SDK-React/template/FORM/demo.stories.tsx.mustache +30 -18
  48. package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +6 -7
  49. package/src/tasks/create/templates/SDK-React/template/FORM-region/demo.stories.tsx.mustache +50 -24
  50. package/src/tasks/create/templates/SDK-React/template/FORM-region/index.tsx.mustache +8 -9
  51. package/src/tasks/create/templates/SDK-React/template/PAGE/demo.stories.tsx.mustache +37 -21
  52. package/src/tasks/create/templates/SDK-React/template/PAGE/index.tsx.mustache +4 -5
  53. package/src/tasks/create/templates/SDK-React/widget/CASE/demo.stories.tsx.mustache +22 -10
  54. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +10 -11
  55. package/src/tasks/create/templates/SDK-React/widget/PAGE/demo.stories.tsx.mustache +3 -4
  56. package/src/tasks/create/templates/SDK-React/widget/PAGE/index.tsx.mustache +23 -24
  57. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.tsx.mustache +21 -9
  58. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +37 -37
  59. package/src/tasks/validator/index.js +52 -47
  60. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/field-group/field-group.component.html +21 -0
  61. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/field-group/field-group.component.scss +18 -0
  62. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/field-group/field-group.component.spec.ts +21 -0
  63. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/field-group/field-group.component.ts +24 -0
  64. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +8 -2
  65. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.html +33 -0
  66. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +19 -0
  67. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.spec.ts +24 -0
  68. package/tests/assets/sdk-a/components/create/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +89 -0
  69. package/tests/assets/sdk-a/components/create/override-sdk/field/check-box/check-box.component.html +5 -1
  70. package/tests/assets/sdk-a/components/create/override-sdk/field/check-box/check-box.component.ts +6 -0
  71. package/tests/assets/sdk-a/components/create/override-sdk/field/date/date.component.html +5 -1
  72. package/tests/assets/sdk-a/components/create/override-sdk/field/date/date.component.ts +7 -0
  73. package/tests/assets/sdk-a/components/create/override-sdk/field/group/config-ext.json +8 -0
  74. package/tests/assets/sdk-a/components/create/override-sdk/field/group/group.component.html +25 -0
  75. package/tests/assets/sdk-a/components/create/override-sdk/field/group/group.component.scss +0 -0
  76. package/tests/assets/sdk-a/components/create/override-sdk/field/group/group.component.spec.ts +21 -0
  77. package/tests/assets/sdk-a/components/create/override-sdk/field/group/group.component.ts +84 -0
  78. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.html +20 -0
  79. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.scss +0 -0
  80. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.spec.ts +24 -0
  81. package/tests/assets/sdk-a/components/create/override-sdk/field/rich-text/rich-text.component.ts +131 -0
  82. package/tests/assets/sdk-a/components/create/override-sdk/template/app-shell/app-shell.component.ts +2 -2
  83. package/tests/assets/sdk-a/components/create/override-sdk/template/case-view/case-view.component.ts +1 -1
  84. package/tests/assets/sdk-a/components/create/override-sdk/template/default-form/default-form.component.scss +9 -5
  85. package/tests/assets/sdk-a/components/create/override-sdk/template/details/details.component.ts +2 -1
  86. package/tests/assets/sdk-a/components/create/override-sdk/widget/file-utility/file-utility.component.ts +21 -15
  87. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.html +5 -1
  88. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-boolean/pega-dxil-my-boolean.component.ts +6 -0
  89. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/pega-dxil-my-date.component.html +5 -1
  90. package/tests/assets/sdk-a/components/createAll/custom-sdk/field/pega-dxil-my-date/pega-dxil-my-date.component.ts +7 -0
  91. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-details/pega-dxil-my-details.component.ts +2 -1
  92. package/tests/assets/sdk-a/components/createAll/custom-sdk/template/pega-dxil-my-form/pega-dxil-my-form.component.scss +14 -5
  93. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/field-group/field-group.component.html +21 -0
  94. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/field-group/field-group.component.scss +18 -0
  95. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/field-group/field-group.component.spec.ts +21 -0
  96. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/field-group/field-group.component.ts +24 -0
  97. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/material-details-fields/material-details-fields.component.html +8 -2
  98. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.html +33 -0
  99. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.scss +19 -0
  100. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.spec.ts +24 -0
  101. package/tests/assets/sdk-a/components/createAll/override-sdk/designSystemExtension/rich-text-editor/rich-text-editor.component.ts +89 -0
  102. package/tests/assets/sdk-a/components/createAll/override-sdk/field/check-box/check-box.component.html +5 -1
  103. package/tests/assets/sdk-a/components/createAll/override-sdk/field/check-box/check-box.component.ts +6 -0
  104. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date/date.component.html +5 -1
  105. package/tests/assets/sdk-a/components/createAll/override-sdk/field/date/date.component.ts +7 -0
  106. package/tests/assets/sdk-a/components/createAll/override-sdk/field/group/config-ext.json +8 -0
  107. package/tests/assets/sdk-a/components/createAll/override-sdk/field/group/group.component.html +25 -0
  108. package/tests/assets/sdk-a/components/createAll/override-sdk/field/group/group.component.scss +0 -0
  109. package/tests/assets/sdk-a/components/createAll/override-sdk/field/group/group.component.spec.ts +21 -0
  110. package/tests/assets/sdk-a/components/createAll/override-sdk/field/group/group.component.ts +84 -0
  111. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.html +20 -0
  112. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.scss +0 -0
  113. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.spec.ts +24 -0
  114. package/tests/assets/sdk-a/components/createAll/override-sdk/field/rich-text/rich-text.component.ts +131 -0
  115. package/tests/assets/sdk-a/components/createAll/override-sdk/template/app-shell/app-shell.component.ts +2 -2
  116. package/tests/assets/sdk-a/components/createAll/override-sdk/template/case-view/case-view.component.ts +1 -1
  117. package/tests/assets/sdk-a/components/createAll/override-sdk/template/default-form/default-form.component.scss +9 -5
  118. package/tests/assets/sdk-a/components/createAll/override-sdk/template/details/details.component.ts +2 -1
  119. package/tests/assets/sdk-a/components/createAll/override-sdk/widget/file-utility/file-utility.component.ts +21 -15
  120. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/demo.stories.tsx +8 -4
  121. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +15 -16
  122. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +35 -6
  123. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +7 -4
  124. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/Group.tsx +37 -0
  125. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/config-ext.json +8 -0
  126. package/tests/assets/sdk-r/components/create/override-sdk/field/Group/index.tsx +1 -0
  127. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +14 -1
  128. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/DefaultForm.css +6 -2
  129. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +19 -1
  130. package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +22 -16
  131. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/PConnProps.d.ts +46 -0
  132. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +54 -0
  133. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +73 -0
  134. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +15 -0
  135. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +15 -0
  136. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/demo.stories.tsx +8 -4
  137. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +23 -21
  138. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/demo.stories.tsx +14 -12
  139. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +0 -1
  140. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/demo.stories.tsx +17 -15
  141. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +21 -23
  142. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +15 -14
  143. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +20 -22
  144. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/demo.stories.tsx +15 -14
  145. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +1 -2
  146. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/demo.stories.tsx +8 -4
  147. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/index.tsx +23 -24
  148. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/demo.stories.tsx +3 -3
  149. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +0 -1
  150. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/demo.stories.tsx +8 -5
  151. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +18 -19
  152. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -2
  153. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +0 -1
  154. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/demo.stories.tsx +6 -4
  155. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +33 -34
  156. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -3
  157. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
  158. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +6 -4
  159. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/index.tsx +22 -23
  160. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MySearchbox/demo.stories.tsx +3 -3
  161. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MySearchbox/index.tsx +28 -29
  162. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/config.json +83 -0
  163. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/demo.stories.tsx +59 -0
  164. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +101 -0
  165. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/mock.ts +16 -0
  166. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTestText/styles.js +7 -0
  167. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/demo.stories.tsx +8 -4
  168. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +15 -16
  169. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/demo.stories.tsx +8 -4
  170. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +15 -16
  171. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +6 -4
  172. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +1 -2
  173. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/demo.stories.tsx +8 -4
  174. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +16 -17
  175. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +22 -22
  176. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +16 -17
  177. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/demo.stories.tsx +56 -18
  178. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +3 -4
  179. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/demo.stories.tsx +37 -21
  180. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/index.tsx +4 -5
  181. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -17
  182. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +16 -17
  183. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +50 -24
  184. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/index.tsx +8 -9
  185. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +22 -10
  186. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +10 -11
  187. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +21 -9
  188. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +34 -34
  189. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +3 -4
  190. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/index.tsx +23 -24
  191. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldGroup/FieldGroup.tsx +35 -6
  192. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +7 -4
  193. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/Group.tsx +37 -0
  194. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/config-ext.json +8 -0
  195. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Group/index.tsx +1 -0
  196. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +14 -1
  197. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/DefaultForm.css +6 -2
  198. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +19 -1
  199. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +22 -16
@@ -39,7 +39,6 @@ const StyledTableCell = withStyles((theme: Theme) =>
39
39
  // Case widget example is a "history table"
40
40
 
41
41
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
42
- // any default values in config.pros should be set in defaultProps at bottom of this file
43
42
  export default function PegaDxilMyCaseWidget(props: PegaDxilMyCaseWidgetProps) {
44
43
  const { getPConnect } = props;
45
44
  const thePConn = getPConnect();
@@ -164,15 +163,15 @@ export default function PegaDxilMyCaseWidget(props: PegaDxilMyCaseWidgetProps) {
164
163
  }
165
164
 
166
165
  return (
167
- <StyledPegaDxilMyCaseWidgetWrapper>
168
- <div id='CaseHistory'>
169
- <TableContainer>
170
- <Table>
171
- <TableHead>{getTableHeader()}</TableHead>
172
- <TableBody>{getTableData()}</TableBody>
173
- </Table>
174
- </TableContainer>
175
- </div>
166
+ <StyledPegaDxilMyCaseWidgetWrapper>
167
+ <div id='CaseHistory'>
168
+ <TableContainer>
169
+ <Table>
170
+ <TableHead>{getTableHeader()}</TableHead>
171
+ <TableBody>{getTableData()}</TableBody>
172
+ </Table>
173
+ </TableContainer>
174
+ </div>
176
175
  </StyledPegaDxilMyCaseWidgetWrapper>
177
176
  );
178
- }
177
+ }
@@ -14,7 +14,7 @@ window.PCore = {
14
14
  }
15
15
  };
16
16
  }
17
- }
17
+ };
18
18
 
19
19
  const meta: Meta<typeof PegaDxilMyPageCaseWidget> = {
20
20
  title: 'PegaDxilMyPageCaseWidget',
@@ -25,21 +25,33 @@ const meta: Meta<typeof PegaDxilMyPageCaseWidget> = {
25
25
  export default meta;
26
26
  type Story = StoryObj<typeof PegaDxilMyPageCaseWidget>;
27
27
 
28
- export const BasePegaDxilMyPageCaseWidget: Story = (args) => {
28
+ export const BasePegaDxilMyPageCaseWidget: Story = args => {
29
29
 
30
30
  const props = {
31
31
  getPConnect: () => {
32
32
  return {
33
33
  getActionsApi: () => {
34
34
  return {
35
- updateFieldValue: () => {/* nothing */},
36
- triggerFieldChange: () => {/* nothing */}
35
+ updateFieldValue: () => {
36
+ /* nothing */
37
+ },
38
+ triggerFieldChange: () => {
39
+ /* nothing */
40
+ }
37
41
  };
38
42
  },
39
- ignoreSuggestion: () => {/* nothing */},
40
- acceptSuggestion: () => {/* nothing */},
41
- setInheritedProps: () => {/* nothing */},
42
- resolveConfigProps: () => {/* nothing */}
43
+ ignoreSuggestion: () => {
44
+ /* nothing */
45
+ },
46
+ acceptSuggestion: () => {
47
+ /* nothing */
48
+ },
49
+ setInheritedProps: () => {
50
+ /* nothing */
51
+ },
52
+ resolveConfigProps: () => {
53
+ /* nothing */
54
+ }
43
55
  };
44
56
  }
45
57
  };
@@ -49,4 +61,4 @@ export const BasePegaDxilMyPageCaseWidget: Story = (args) => {
49
61
 
50
62
  BasePegaDxilMyPageCaseWidget.args = {
51
63
  ...caseOpConfig
52
- }
64
+ };
@@ -13,13 +13,13 @@ import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
13
13
 
14
14
  interface PegaDxilMyPageCaseWidgetProps extends PConnProps {
15
15
  // If any, enter additional props that only exist on this component
16
- label: string;
17
- createDateTime: string;
18
- createLabel: string;
19
- createOperator: { userName: string; userId: string };
20
- updateDateTime: string;
21
- updateLabel: string;
22
- updateOperator: { userName: string; userId: string };
16
+ label: string;
17
+ createDateTime: string;
18
+ createLabel: string;
19
+ createOperator: { userName: string; userId: string };
20
+ updateDateTime: string;
21
+ updateLabel: string;
22
+ updateOperator: { userName: string; userId: string };
23
23
  }
24
24
 
25
25
  const useStyles = makeStyles(theme => ({
@@ -38,7 +38,6 @@ const useStyles = makeStyles(theme => ({
38
38
  // Page Case Widget example
39
39
 
40
40
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
41
- // any default values in config.pros should be set in defaultProps at bottom of this file
42
41
  export default function PegaDxilMyPageCaseWidget(props: PegaDxilMyPageCaseWidgetProps) {
43
42
  // const componentName = "Operator";
44
43
  const classes = useStyles();
@@ -192,31 +191,32 @@ export default function PegaDxilMyPageCaseWidget(props: PegaDxilMyPageCaseWidget
192
191
  // End of popover-related
193
192
 
194
193
  return (
195
- <StyledPegaDxilMyPageCaseWidgetWrapper><>
196
- <TextField
197
- defaultValue={caseOpName}
198
- label={caseOpLabel}
199
- onClick={showOperatorDetails}
200
- InputProps={{
201
- readOnly: true,
202
- disableUnderline: true,
203
- inputProps: { style: { cursor: 'pointer' } }
204
- }}
205
- />
206
- <br />
207
- {Utils.generateDateTime(caseTime, 'DateTime-Since')}
208
- <Popover
209
- id={popoverId}
210
- open={popoverOpen}
211
- anchorEl={popoverAnchorEl}
212
- onClose={handlePopoverClose}
213
- anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
214
- transformOrigin={{ vertical: 'top', horizontal: 'center' }}
215
- PaperProps={{ style: { maxWidth: '45ch' } }}
216
- >
217
- {getPopoverGrid()}
218
- </Popover>
219
- </>
194
+ <StyledPegaDxilMyPageCaseWidgetWrapper>
195
+ <>
196
+ <TextField
197
+ defaultValue={caseOpName}
198
+ label={caseOpLabel}
199
+ onClick={showOperatorDetails}
200
+ InputProps={{
201
+ readOnly: true,
202
+ disableUnderline: true,
203
+ inputProps: { style: { cursor: 'pointer' } }
204
+ }}
205
+ />
206
+ <br />
207
+ {Utils.generateDateTime(caseTime, 'DateTime-Since')}
208
+ <Popover
209
+ id={popoverId}
210
+ open={popoverOpen}
211
+ anchorEl={popoverAnchorEl}
212
+ onClose={handlePopoverClose}
213
+ anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
214
+ transformOrigin={{ vertical: 'top', horizontal: 'center' }}
215
+ PaperProps={{ style: { maxWidth: '45ch' } }}
216
+ >
217
+ {getPopoverGrid()}
218
+ </Popover>
219
+ </>
220
220
  </StyledPegaDxilMyPageCaseWidgetWrapper>
221
221
  );
222
- }
222
+ }
@@ -12,8 +12,7 @@ const meta: Meta<typeof PegaDxilMyPageWidget> = {
12
12
  export default meta;
13
13
  type Story = StoryObj<typeof PegaDxilMyPageWidget>;
14
14
 
15
- export const BasePegaDxilMyPageWidget: Story = (args) => {
16
-
15
+ export const BasePegaDxilMyPageWidget: Story = args => {
17
16
  const props = {
18
17
  datasource: configProps.datasource,
19
18
  whatsnewlink: configProps.whatsnewlink
@@ -24,5 +23,5 @@ export const BasePegaDxilMyPageWidget: Story = (args) => {
24
23
 
25
24
  BasePegaDxilMyPageWidget.args = {
26
25
  header: configProps.header,
27
- description: configProps.description,
28
- }
26
+ description: configProps.description
27
+ };
@@ -25,7 +25,6 @@ const useStyles = makeStyles(theme => ({
25
25
  // Page Widget example is the "App Announcment"
26
26
 
27
27
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
28
- // any default values in config.pros should be set in defaultProps at bottom of this file
29
28
  export default function PegaDxilMyPageWidget(props: PegaDxilMyPageWidgetProps) {
30
29
  const { header = '', description = '', datasource = [], whatsnewlink = '' } = props;
31
30
  let details = [];
@@ -42,28 +41,28 @@ export default function PegaDxilMyPageWidget(props: PegaDxilMyPageWidgetProps) {
42
41
  };
43
42
 
44
43
  return (
45
- <StyledPegaDxilMyPageWidgetWrapper>
46
- <Card title='AppAnnouncement' className={classes.root}>
47
- <CardHeader title={<Typography variant='h6'>{header}</Typography>} />
48
- <CardContent>
49
- <Typography variant='body1' gutterBottom>
50
- {description}
51
- </Typography>
52
- {details.map((itm, idx) => {
53
- const theKey = `AppAnn-item-${idx}`;
54
- return (
55
- <Typography key={theKey} variant='body2'>
56
- - {itm}
57
- </Typography>
58
- );
59
- })}
60
- </CardContent>
61
- <CardActions>
62
- <Button color='primary' onClick={handleClick} size='small'>
63
- See what&apos;s new
64
- </Button>
65
- </CardActions>
66
- </Card>
44
+ <StyledPegaDxilMyPageWidgetWrapper>
45
+ <Card title='AppAnnouncement' className={classes.root}>
46
+ <CardHeader title={<Typography variant='h6'>{header}</Typography>} />
47
+ <CardContent>
48
+ <Typography variant='body1' gutterBottom>
49
+ {description}
50
+ </Typography>
51
+ {details.map((itm, idx) => {
52
+ const theKey = `AppAnn-item-${idx}`;
53
+ return (
54
+ <Typography key={theKey} variant='body2'>
55
+ - {itm}
56
+ </Typography>
57
+ );
58
+ })}
59
+ </CardContent>
60
+ <CardActions>
61
+ <Button color='primary' onClick={handleClick} size='small'>
62
+ See what&apos;s new
63
+ </Button>
64
+ </CardActions>
65
+ </Card>
67
66
  </StyledPegaDxilMyPageWidgetWrapper>
68
67
  );
69
- }
68
+ }
@@ -1,12 +1,16 @@
1
- import { PropsWithChildren } from 'react';
1
+ import { PropsWithChildren, useState } from 'react';
2
2
  import Grid from '@material-ui/core/Grid';
3
3
  import { makeStyles } from '@material-ui/core/styles';
4
+ import KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';
5
+ import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';
4
6
 
5
7
  // FieldGroupProps is one of the few components that does NOT have getPConnect.
6
8
  // So, no need to extend PConnProps
7
9
  interface FieldGroupProps {
8
10
  // If any, enter additional props that only exist on this component
9
- name: string | object;
11
+ name?: string;
12
+ collapsible?: boolean;
13
+ instructions?: string;
10
14
  }
11
15
 
12
16
  const useStyles = makeStyles(theme => ({
@@ -23,12 +27,22 @@ const useStyles = makeStyles(theme => ({
23
27
  },
24
28
  fullWidth: {
25
29
  width: '100%'
30
+ },
31
+ fieldGroupHeader: {
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ gap: '5px',
35
+ cursor: collapsible => (collapsible ? 'pointer' : 'auto')
36
+ },
37
+ instructionText: {
38
+ padding: '5px 0'
26
39
  }
27
40
  }));
28
41
 
29
42
  export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
30
- const { children, name } = props;
31
- const classes = useStyles();
43
+ const { children, name, collapsible = false, instructions } = props;
44
+ const classes = useStyles(collapsible);
45
+ const [collapsed, setCollapsed] = useState(false);
32
46
 
33
47
  const descAndChildren = (
34
48
  <Grid container>
@@ -36,15 +50,30 @@ export default function FieldGroup(props: PropsWithChildren<FieldGroupProps>) {
36
50
  </Grid>
37
51
  );
38
52
 
53
+ const headerClickHandler = () => {
54
+ setCollapsed(current => !current);
55
+ };
56
+
39
57
  return (
40
58
  <Grid container spacing={4} justifyContent='space-between'>
41
59
  <Grid item style={{ width: '100%' }}>
42
60
  {name && (
43
61
  <div className={classes.fieldMargin}>
44
- <b>{props.name}</b>
62
+ {collapsible ? (
63
+ <span id='field-group-header' className={classes.fieldGroupHeader} onClick={headerClickHandler}>
64
+ {collapsed ? <KeyboardArrowRightIcon /> : <KeyboardArrowDownIcon />}
65
+ <b>{name}</b>
66
+ </span>
67
+ ) : (
68
+ <b>{name}</b>
69
+ )}
45
70
  </div>
46
71
  )}
47
- {descAndChildren}
72
+ {instructions && instructions !== 'none' && (
73
+ // eslint-disable-next-line react/no-danger
74
+ <div key='instructions' className={classes.instructionText} dangerouslySetInnerHTML={{ __html: instructions }} />
75
+ )}
76
+ {!collapsed && descAndChildren}
48
77
  </Grid>
49
78
  </Grid>
50
79
  );
@@ -10,6 +10,8 @@ interface CheckboxProps extends Omit<PConnFieldProps, 'value'> {
10
10
  value?: boolean;
11
11
  // eslint-disable-next-line react/no-unused-prop-types
12
12
  caption?: string;
13
+ trueLabel?: string;
14
+ falseLabel?: string;
13
15
  }
14
16
 
15
17
  export default function CheckboxComponent(props: CheckboxProps) {
@@ -18,7 +20,6 @@ export default function CheckboxComponent(props: CheckboxProps) {
18
20
 
19
21
  const {
20
22
  getPConnect,
21
- label,
22
23
  value = false,
23
24
  readOnly,
24
25
  testId,
@@ -28,7 +29,9 @@ export default function CheckboxComponent(props: CheckboxProps) {
28
29
  helperText,
29
30
  validatemessage,
30
31
  displayMode,
31
- hideLabel
32
+ hideLabel,
33
+ trueLabel,
34
+ falseLabel
32
35
  } = props;
33
36
  const helperTextToDisplay = validatemessage || helperText;
34
37
 
@@ -45,11 +48,11 @@ export default function CheckboxComponent(props: CheckboxProps) {
45
48
  }, [value]);
46
49
 
47
50
  if (displayMode === 'LABELS_LEFT') {
48
- return <FieldValueList name={hideLabel ? '' : label} value={value.toString()} />;
51
+ return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />;
49
52
  }
50
53
 
51
54
  if (displayMode === 'STACKED_LARGE_VAL') {
52
- return <FieldValueList name={hideLabel ? '' : label} value={value.toString()} variant='stacked' />;
55
+ return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} variant='stacked' />;
53
56
  }
54
57
 
55
58
  const handleChange = event => {
@@ -0,0 +1,37 @@
1
+ import { ReactElement, useMemo } from 'react';
2
+ import { Grid } from '@material-ui/core';
3
+ import FieldGroup from '@pega/react-sdk-components/lib/components/designSystemExtension/FieldGroup';
4
+ import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
5
+
6
+ interface GroupProps extends PConnFieldProps {
7
+ children: ReactElement[];
8
+ heading: string;
9
+ showHeading: boolean;
10
+ instructions?: string;
11
+ collapsible: boolean;
12
+ type: string;
13
+ }
14
+
15
+ export default function Group(props: GroupProps) {
16
+ const { children, heading, showHeading, instructions, collapsible, displayMode, type } = props;
17
+
18
+ const isReadOnly = displayMode === 'LABELS_LEFT';
19
+
20
+ const content = useMemo(() => {
21
+ return (
22
+ <Grid container spacing={2}>
23
+ {children?.map(child => (
24
+ <Grid item xs={12} key={child.key}>
25
+ {child}
26
+ </Grid>
27
+ ))}
28
+ </Grid>
29
+ );
30
+ }, [children, type, isReadOnly]);
31
+
32
+ return (
33
+ <FieldGroup name={showHeading ? heading : undefined} collapsible={collapsible} instructions={instructions}>
34
+ {content}
35
+ </FieldGroup>
36
+ );
37
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "componentKey": "Group",
3
+ "name": "Group",
4
+ "label": "Field Group",
5
+ "description": "Field Group",
6
+ "type": "Group",
7
+ "properties": []
8
+ }
@@ -0,0 +1 @@
1
+ export { default } from './Group';
@@ -46,6 +46,15 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
46
46
  handleClose();
47
47
  }
48
48
 
49
+ function _actionMenuProcessClick(process) {
50
+ const actionsAPI = thePConn.getActionsApi();
51
+ const openProcessAction = actionsAPI.openProcessAction.bind(actionsAPI);
52
+ openProcessAction(process.ID, {
53
+ ...process
54
+ });
55
+ handleClose();
56
+ }
57
+
49
58
  availableActions.forEach(action => {
50
59
  arMenuItems.push(
51
60
  <MenuItem key={action.ID} onClick={() => _actionMenuActionsClick(action)}>
@@ -55,7 +64,11 @@ export default function CaseViewActionsMenu(props: CaseViewActionsMenuProps) {
55
64
  });
56
65
 
57
66
  availableProcesses.forEach(process => {
58
- arMenuItems.push(<MenuItem onClick={handleClose}>{process.name}</MenuItem>);
67
+ arMenuItems.push(
68
+ <MenuItem key={process.ID} onClick={() => _actionMenuProcessClick(process)}>
69
+ {localizedVal(process.name, '', localeKey)}
70
+ </MenuItem>
71
+ );
59
72
  });
60
73
 
61
74
  return (
@@ -16,12 +16,16 @@
16
16
  gap: calc(1rem);
17
17
  }
18
18
 
19
+ .psdk-default-form-three-column .grid-column {
20
+ grid-column: 1 / span 3;
21
+ }
22
+
19
23
  .psdk-default-form-two-column .grid-column {
20
24
  grid-column: 1 / span 2;
21
25
  }
22
26
 
23
- .psdk-default-form-three-column .grid-column {
24
- grid-column: 1 / span 3;
27
+ .psdk-default-form-one-column .grid-column {
28
+ grid-column: 1;
25
29
  }
26
30
 
27
31
  .psdk-default-form-instruction-text {
@@ -30,6 +30,7 @@ import { getReferenceList } from '@pega/react-sdk-components/lib/components/help
30
30
  import { getDataPage } from '@pega/react-sdk-components/lib/components/helpers/data_page';
31
31
  import { buildFieldsForTable, filterData, getContext } from '@pega/react-sdk-components/lib/components/helpers/simpleTableHelpers';
32
32
  import { PConnProps } from '@pega/react-sdk-components/lib/types/PConnProps';
33
+ import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
33
34
 
34
35
  interface SimpleTableManualProps extends PConnProps {
35
36
  // If any, enter additional props that only exist on this component
@@ -171,6 +172,10 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
171
172
  const bUseSeparateViewForEdit = editModeConfig ? editModeConfig.useSeparateViewForEdit : useSeparateViewForEdit;
172
173
  const editView = editModeConfig ? editModeConfig.editView : viewForEditModal;
173
174
 
175
+ const fieldsWithPropNames = rawFields.map((field, index) => {
176
+ return { ...resolvedFields[index], propName: field.config.value.replace('@P .', '') };
177
+ });
178
+
174
179
  useEffect(() => {
175
180
  if (editableMode && !allowEditingInModal) {
176
181
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
@@ -197,6 +202,19 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
197
202
  return field.name ? field.name : field.cellRenderer;
198
203
  });
199
204
 
205
+ const getFormattedValue = (val, key) => {
206
+ const rawField = fieldsWithPropNames.find(item => item.propName === key);
207
+ let options = {};
208
+ if (rawField && ['Boolean', 'Checkbox'].includes(rawField.type)) {
209
+ const { trueLabel, falseLabel } = rawField.config;
210
+ options = {
211
+ trueLabel,
212
+ falseLabel
213
+ };
214
+ }
215
+ return rawField ? format(val, rawField.type, options) : val;
216
+ };
217
+
200
218
  // console.log(`SimpleTable displayedColumns:`);
201
219
  // console.log(displayedColumns);
202
220
 
@@ -209,7 +227,7 @@ export default function SimpleTableManual(props: PropsWithChildren<SimpleTableMa
209
227
  for (const key of refKeys) {
210
228
  valBuilder = valBuilder[key];
211
229
  }
212
- return valBuilder;
230
+ return getFormattedValue(valBuilder, inColKey);
213
231
  }
214
232
 
215
233
  const formatRowsData = data => {
@@ -346,23 +346,29 @@ export default function FileUtility(props: FileUtilityProps) {
346
346
  if (fileData.attachedFiles && fileData.attachedFiles.length > 0) {
347
347
  setProgress(true);
348
348
  }
349
- for (const file of fileData.attachedFiles) {
350
- attachmentUtils
351
- .uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName())
352
- .then((fileResponse: any) => {
353
- if (fileResponse.type === 'File') {
354
- (attachmentUtils.linkAttachmentsToCase(caseID, [fileResponse], 'File', thePConn.getContextName()) as Promise<any>)
355
- .then(() => {
356
- setFileData(current => {
357
- return { ...current, fileList: [], attachedFiles: [] };
358
- });
359
- getAttachments();
360
- })
361
- .catch();
349
+
350
+ Promise.allSettled(
351
+ fileData.attachedFiles.map(file => attachmentUtils.uploadAttachment(file, onUploadProgress, errorHandler, thePConn.getContextName()))
352
+ )
353
+ .then((fileResponses: any) => {
354
+ const uploadedFiles: any = [];
355
+ fileResponses.forEach(fileResponse => {
356
+ if (fileResponse.status === 'fulfilled') {
357
+ uploadedFiles.push(fileResponse.value);
362
358
  }
363
- })
364
- .catch();
365
- }
359
+ });
360
+ if (uploadedFiles.length > 0) {
361
+ (attachmentUtils.linkAttachmentsToCase(caseID, uploadedFiles, 'File', thePConn.getContextName()) as Promise<any>)
362
+ .then(() => {
363
+ setFileData(current => {
364
+ return { ...current, fileList: [], attachedFiles: [] };
365
+ });
366
+ getAttachments();
367
+ })
368
+ .catch();
369
+ }
370
+ })
371
+ .catch();
366
372
  }
367
373
 
368
374
  function onAddLinksClick() {