@pega/dx-component-builder-sdk 0.24.1 → 0.24.3

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 (255) hide show
  1. package/package.json +1 -1
  2. package/src/tasks/create/templates/Constellation/field/Icon-Button-URL/demo.stories.tsx.mustache +1 -1
  3. package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +0 -1
  4. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache +15 -37
  5. package/src/tasks/create/templates/Constellation/template/DETAILS/HighlightRender.tsx.mustache +2 -2
  6. package/src/tasks/create/templates/Constellation/template/DETAILS-region/HighlightRender.tsx.mustache +2 -2
  7. package/src/tasks/create/templates/Constellation/template/DETAILS-region/index.tsx.mustache +1 -1
  8. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.html.mustache +19 -18
  9. package/src/tasks/create/templates/SDK-Angular/field/Boolean/boolean.component.ts.mustache +127 -44
  10. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/demo.stories.tsx.mustache +36 -15
  11. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.html.mustache +40 -0
  12. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/{text-url.component.scss.mustache → icon-button-url.component.scss.mustache} +4 -0
  13. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/icon-button-url.component.ts.mustache +195 -0
  14. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/mock.ts.mustache +32 -12
  15. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.html.mustache +1 -0
  16. package/src/tasks/create/templates/SDK-Angular/field/Text-URL/text-url.component.ts.mustache +2 -0
  17. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.html.mustache +1 -0
  18. package/src/tasks/create/templates/SDK-Angular/field/TimeOfDay/time-of-day.component.ts.mustache +2 -0
  19. package/src/tasks/create/templates/SDK-Angular/template/FORM-region/form.component.scss.mustache +1 -1
  20. package/src/tasks/create/templates/SDK-Angular/widget/CASE/case.component.ts.mustache +2 -2
  21. package/src/tasks/create/templates/SDK-Angular/widget/PAGE/page.component.html.mustache +1 -1
  22. package/src/tasks/create/templates/SDK-React/field/Boolean/demo.stories.tsx.mustache +1 -1
  23. package/src/tasks/create/templates/SDK-React/field/Boolean/mock.ts.mustache +8 -8
  24. package/src/tasks/create/templates/SDK-React/field/Date/index.tsx.mustache +2 -2
  25. package/src/tasks/create/templates/SDK-React/field/Date/mock.ts.mustache +7 -7
  26. package/src/tasks/create/templates/SDK-React/field/DateTime/demo.stories.tsx.mustache +1 -1
  27. package/src/tasks/create/templates/SDK-React/field/DateTime/index.tsx.mustache +2 -3
  28. package/src/tasks/create/templates/SDK-React/field/DateTime/mock.ts.mustache +6 -6
  29. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +51 -35
  30. package/src/tasks/create/templates/SDK-React/field/Decimal/mock.ts.mustache +1 -1
  31. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/config.json.mustache +1 -1
  32. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/demo.stories.tsx.mustache +1 -1
  33. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +47 -37
  34. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/mock.ts.mustache +1 -1
  35. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/config.json.mustache +1 -1
  36. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +36 -21
  37. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/mock.ts.mustache +1 -1
  38. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/demo.stories.tsx.mustache +58 -25
  39. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/index.tsx.mustache +134 -53
  40. package/src/tasks/create/templates/SDK-React/field/Icon-Button-URL/mock.ts.mustache +2 -14
  41. package/src/tasks/create/templates/SDK-React/field/Integer/config.json.mustache +1 -1
  42. package/src/tasks/create/templates/SDK-React/field/Integer/index.tsx.mustache +19 -20
  43. package/src/tasks/create/templates/SDK-React/field/Integer/mock.ts.mustache +1 -1
  44. package/src/tasks/create/templates/SDK-React/field/Picklist/index.tsx.mustache +26 -26
  45. package/src/tasks/create/templates/SDK-React/field/Picklist-RadioButtons/mock.ts.mustache +0 -1
  46. package/src/tasks/create/templates/SDK-React/field/Text/config.json.mustache +1 -1
  47. package/src/tasks/create/templates/SDK-React/field/Text/index.tsx.mustache +0 -1
  48. package/src/tasks/create/templates/SDK-React/field/Text/mock.ts.mustache +1 -1
  49. package/src/tasks/create/templates/SDK-React/field/Text-Email/config.json.mustache +1 -1
  50. package/src/tasks/create/templates/SDK-React/field/Text-Email/mock.ts.mustache +1 -1
  51. package/src/tasks/create/templates/SDK-React/field/Text-Input/config.json.mustache +1 -1
  52. package/src/tasks/create/templates/SDK-React/field/Text-Input/index.tsx.mustache +0 -1
  53. package/src/tasks/create/templates/SDK-React/field/Text-Input/mock.ts.mustache +1 -1
  54. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/index.tsx.mustache +1 -3
  55. package/src/tasks/create/templates/SDK-React/field/Text-Paragraph/mock.ts.mustache +1 -1
  56. package/src/tasks/create/templates/SDK-React/field/Text-Phone/index.tsx.mustache +1 -2
  57. package/src/tasks/create/templates/SDK-React/field/Text-URL/index.tsx.mustache +1 -2
  58. package/src/tasks/create/templates/SDK-React/field/Text-URL/mock.ts.mustache +1 -1
  59. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/demo.stories.tsx.mustache +4 -4
  60. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/index.tsx.mustache +0 -2
  61. package/src/tasks/create/templates/SDK-React/field/TimeOfDay/mock.ts.mustache +6 -6
  62. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +1 -4
  63. package/src/tasks/create/templates/SDK-React/template/DETAILS/index.tsx.mustache +3 -8
  64. package/src/tasks/create/templates/SDK-React/template/DETAILS/mock.ts.mustache +181 -165
  65. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +1 -3
  66. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/index.tsx.mustache +3 -8
  67. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/mock.ts.mustache +207 -163
  68. package/src/tasks/create/templates/SDK-React/template/FORM/config.json.mustache +1 -1
  69. package/src/tasks/create/templates/SDK-React/template/FORM/demo.stories.tsx.mustache +0 -1
  70. package/src/tasks/create/templates/SDK-React/template/FORM/index.tsx.mustache +14 -16
  71. package/src/tasks/create/templates/SDK-React/template/FORM/utils.ts.mustache +1 -1
  72. package/src/tasks/create/templates/SDK-React/template/FORM-region/demo.stories.tsx.mustache +0 -2
  73. package/src/tasks/create/templates/SDK-React/template/FORM-region/mock.ts.mustache +121 -122
  74. package/src/tasks/create/templates/SDK-React/template/PAGE/OneColumn.tsx.mustache +12 -13
  75. package/src/tasks/create/templates/SDK-React/template/PAGE/demo.stories.tsx.mustache +1 -1
  76. package/src/tasks/create/templates/SDK-React/template/PAGE/index.tsx.mustache +3 -5
  77. package/src/tasks/create/templates/SDK-React/template/PAGE/mock.ts.mustache +8 -9
  78. package/src/tasks/create/templates/SDK-React/widget/CASE/config.json.mustache +2 -2
  79. package/src/tasks/create/templates/SDK-React/widget/CASE/demo.stories.tsx.mustache +0 -1
  80. package/src/tasks/create/templates/SDK-React/widget/CASE/index.tsx.mustache +3 -3
  81. package/src/tasks/create/templates/SDK-React/widget/PAGE/config.json.mustache +43 -43
  82. package/src/tasks/create/templates/SDK-React/widget/PAGE/mock.ts.mustache +1 -1
  83. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/demo.stories.tsx.mustache +1 -2
  84. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/index.tsx.mustache +0 -1
  85. package/src/tasks/create/templates/SDK-React/widget/PAGE-CASE/mock.ts.mustache +0 -1
  86. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +94 -4
  87. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/config.json +1 -1
  88. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/index.tsx +0 -1
  89. package/tests/assets/sdk-r/components/create/custom-sdk/field/Pega_DXIL_MyTestText/mock.ts +1 -1
  90. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  91. package/tests/assets/sdk-r/components/create/override-sdk/field/CancelAlert/CancelAlert.tsx +2 -0
  92. package/tests/assets/sdk-r/components/create/override-sdk/field/Currency/Currency.tsx +36 -26
  93. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +33 -19
  94. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +1 -1
  95. package/tests/assets/sdk-r/components/create/override-sdk/field/Percentage/Percentage.tsx +33 -18
  96. package/tests/assets/sdk-r/components/create/override-sdk/field/ScalarList/ScalarList.tsx +2 -0
  97. package/tests/assets/sdk-r/components/create/override-sdk/field/UserReference/UserReference.tsx +11 -1
  98. package/tests/assets/sdk-r/components/create/override-sdk/infra/Assignment/Assignment.tsx +2 -1
  99. package/tests/assets/sdk-r/components/create/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
  100. package/tests/assets/sdk-r/components/create/override-sdk/infra/DeferLoad/DeferLoad.tsx +5 -1
  101. package/tests/assets/sdk-r/components/create/override-sdk/infra/MultiStep/MultiStep.tsx +3 -1
  102. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +2 -2
  103. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseView/CaseView.tsx +2 -1
  104. package/tests/assets/sdk-r/components/create/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
  105. package/tests/assets/sdk-r/components/create/override-sdk/template/DataReference/DataReference.tsx +1 -1
  106. package/tests/assets/sdk-r/components/create/override-sdk/template/DefaultForm/utils/index.ts +2 -7
  107. package/tests/assets/sdk-r/components/create/override-sdk/template/Details/Details.tsx +1 -1
  108. package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +1 -1
  109. package/tests/assets/sdk-r/components/create/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +1 -1
  110. package/tests/assets/sdk-r/components/create/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -0
  111. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +4 -2
  112. package/tests/assets/sdk-r/components/create/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  113. package/tests/assets/sdk-r/components/create/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +1 -1
  114. package/tests/assets/sdk-r/components/create/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -0
  115. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -0
  116. package/tests/assets/sdk-r/components/create/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -1
  117. package/tests/assets/sdk-r/components/create/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +1 -1
  118. package/tests/assets/sdk-r/components/create/override-sdk/widget/Attachment/Attachment.tsx +3 -2
  119. package/tests/assets/sdk-r/components/create/override-sdk/widget/FileUtility/FileUtility.tsx +1 -1
  120. package/tests/assets/sdk-r/components/create/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -0
  121. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +3 -2
  122. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
  123. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +99 -0
  124. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/index.tsx +201 -0
  125. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
  126. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
  127. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +0 -1
  128. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts +15 -37
  129. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +11 -0
  130. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +3 -0
  131. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +94 -4
  132. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
  133. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
  134. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
  135. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/Operator.tsx +215 -0
  136. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +77 -23
  137. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +48 -37
  138. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/mock.ts +78 -20
  139. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +16 -0
  140. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
  141. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +28 -5
  142. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
  143. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/localizations.json +4 -2
  144. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
  145. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
  146. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
  147. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
  148. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +95 -26
  149. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
  150. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
  151. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
  152. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
  153. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
  154. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +87 -6
  155. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +67 -5
  156. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/demo.stories.tsx +1 -1
  157. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/mock.ts +8 -8
  158. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/config.json +1 -1
  159. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/demo.stories.tsx +1 -1
  160. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +44 -34
  161. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/mock.ts +1 -1
  162. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/index.tsx +2 -2
  163. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDate/mock.ts +7 -7
  164. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/demo.stories.tsx +1 -1
  165. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/index.tsx +2 -3
  166. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDateTime/mock.ts +6 -6
  167. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +48 -32
  168. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/mock.ts +1 -1
  169. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/config.json +1 -1
  170. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyEmail/mock.ts +1 -1
  171. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/config.json +64 -0
  172. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +91 -0
  173. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/index.tsx +157 -0
  174. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/mock.ts +4 -0
  175. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyIconButtonURL/styles.js +7 -0
  176. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/config.json +1 -1
  177. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/index.tsx +16 -17
  178. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyInteger/mock.ts +1 -1
  179. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/index.tsx +1 -3
  180. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyParagraph/mock.ts +1 -1
  181. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/config.json +1 -1
  182. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +34 -19
  183. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/mock.ts +1 -1
  184. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPhone/index.tsx +1 -2
  185. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPicklist/index.tsx +23 -23
  186. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyRadiobuttons/mock.ts +0 -1
  187. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/config.json +1 -1
  188. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/index.tsx +0 -1
  189. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyText/mock.ts +1 -1
  190. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/config.json +1 -1
  191. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/index.tsx +0 -1
  192. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTextInput/mock.ts +1 -1
  193. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +4 -4
  194. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/index.tsx +0 -2
  195. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyTimeOfDay/mock.ts +6 -6
  196. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/index.tsx +1 -2
  197. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyURL/mock.ts +1 -1
  198. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +1 -7
  199. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/index.tsx +4 -9
  200. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/mock.ts +181 -165
  201. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/config.json +1 -1
  202. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/demo.stories.tsx +0 -1
  203. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/index.tsx +11 -13
  204. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyForm/utils.ts +1 -1
  205. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/OneColumn.tsx +12 -13
  206. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/demo.stories.tsx +1 -1
  207. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/index.tsx +3 -5
  208. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyPage/mock.ts +8 -9
  209. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +1 -6
  210. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +4 -9
  211. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/mock.ts +207 -163
  212. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +0 -2
  213. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnForm/mock.ts +121 -122
  214. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/config.json +2 -2
  215. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +0 -1
  216. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -3
  217. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +1 -2
  218. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +0 -1
  219. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageCaseWidget/mock.ts +0 -1
  220. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/config.json +43 -43
  221. package/tests/assets/sdk-r/components/createAll/custom-sdk/widget/Pega_DXIL_MyPageWidget/mock.ts +1 -1
  222. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  223. package/tests/assets/sdk-r/components/createAll/override-sdk/field/CancelAlert/CancelAlert.tsx +2 -0
  224. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Currency/Currency.tsx +36 -26
  225. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +33 -19
  226. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +1 -1
  227. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Percentage/Percentage.tsx +33 -18
  228. package/tests/assets/sdk-r/components/createAll/override-sdk/field/ScalarList/ScalarList.tsx +2 -0
  229. package/tests/assets/sdk-r/components/createAll/override-sdk/field/UserReference/UserReference.tsx +11 -1
  230. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/Assignment/Assignment.tsx +2 -1
  231. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DashboardFilter/DashboardFilter.tsx +1 -1
  232. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/DeferLoad/DeferLoad.tsx +5 -1
  233. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/MultiStep/MultiStep.tsx +3 -1
  234. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +2 -2
  235. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseView/CaseView.tsx +2 -1
  236. package/tests/assets/sdk-r/components/createAll/override-sdk/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +1 -1
  237. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DataReference/DataReference.tsx +1 -1
  238. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DefaultForm/utils/index.ts +2 -7
  239. package/tests/assets/sdk-r/components/createAll/override-sdk/template/Details/Details.tsx +1 -1
  240. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsThreeColumn/DetailsThreeColumn.tsx +1 -1
  241. package/tests/assets/sdk-r/components/createAll/override-sdk/template/DetailsTwoColumn/DetailsTwoColumn.tsx +1 -1
  242. package/tests/assets/sdk-r/components/createAll/override-sdk/template/FieldGroupTemplate/FieldGroupTemplate.tsx +2 -0
  243. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +4 -2
  244. package/tests/assets/sdk-r/components/createAll/override-sdk/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +1 -1
  245. package/tests/assets/sdk-r/components/createAll/override-sdk/template/NarrowWideDetails/NarrowWideDetails.tsx +1 -1
  246. package/tests/assets/sdk-r/components/createAll/override-sdk/template/PromotedFilters/PromotedFilters.tsx +1 -0
  247. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -0
  248. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +1 -1
  249. package/tests/assets/sdk-r/components/createAll/override-sdk/template/WideNarrowDetails/WideNarrowDetails.tsx +1 -1
  250. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/Attachment/Attachment.tsx +3 -2
  251. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/FileUtility/FileUtility.tsx +1 -1
  252. package/tests/assets/sdk-r/components/createAll/override-sdk/widget/QuickCreate/QuickCreate.tsx +1 -0
  253. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/text-url.component.html.mustache +0 -29
  254. package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/text-url.component.ts.mustache +0 -179
  255. /package/src/tasks/create/templates/SDK-Angular/field/Icon-Button-URL/{text-url.component.spec.ts.mustache → icon-button-url.component.spec.ts.mustache} +0 -0
@@ -0,0 +1,195 @@
1
+ import { Component, OnInit, Input, ChangeDetectorRef, forwardRef, OnDestroy } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormGroup, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatInputModule } from '@angular/material/input';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
8
+ import { AngularPConnectData, AngularPConnectService } from '@pega/angular-sdk-components';
9
+ import { Utils } from '@pega/angular-sdk-components';
10
+ import { ComponentMapperComponent } from '@pega/angular-sdk-components';
11
+ import { PConnFieldProps } from '@pega/angular-sdk-components';
12
+
13
+ interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
14
+ // If any, enter additional props that only exist on URL here
15
+ countryCode: string;
16
+ }
17
+
18
+ @Component({
19
+ selector: 'app-{{COMPONENT_CLASS_NAME_KEBAB}}',
20
+ templateUrl: './{{COMPONENT_CLASS_NAME_KEBAB}}.component.html',
21
+ styleUrls: ['./{{COMPONENT_CLASS_NAME_KEBAB}}.component.scss'],
22
+ standalone: true,
23
+ imports: [
24
+ CommonModule,
25
+ MatIconModule,
26
+ MatButtonModule,
27
+ ReactiveFormsModule,
28
+ MatInputModule,
29
+ MatTableModule,
30
+ forwardRef(() => ComponentMapperComponent)
31
+ ]
32
+ })
33
+ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
34
+ @Input() pConn$: typeof PConnect;
35
+ @Input() formGroup$: FormGroup;
36
+
37
+ // Used with AngularPConnect
38
+ angularPConnectData: AngularPConnectData = {};
39
+ configProps$: {{COMPONENT_CLASS_NAME}}Props;
40
+
41
+ label$ = '';
42
+ value$ = '';
43
+ controlName$: string;
44
+ bHasForm$ = true;
45
+ componentReference = '';
46
+ displayMode$?: string = '';
47
+ tooltip$ = '';
48
+ showTable$ = false;
49
+ tableLabel$ = '';
50
+ stateNameLabel$ = '';
51
+ stateCodeLabel$ = '';
52
+ waitingForData = false;
53
+ repeatList$: MatTableDataSource<any>;
54
+ fields$: any[];
55
+ displayedColumns$ = ['stateName', 'stateCode'];
56
+ countryCode = 'USA';
57
+
58
+ constructor(
59
+ private angularPConnect: AngularPConnectService,
60
+ private cdRef: ChangeDetectorRef,
61
+ private utils: Utils
62
+ ) {}
63
+
64
+ ngOnInit(): void {
65
+ // First thing in initialization is registering and subscribing to the AngularPConnect service
66
+ this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
67
+ this.controlName$ = this.angularPConnect.getComponentID(this);
68
+
69
+ // Then, continue on with other initialization
70
+
71
+ // call updateSelf when initializing
72
+ // this.updateSelf();
73
+ this.checkAndUpdate();
74
+
75
+ if (this.formGroup$) {
76
+ // add control to formGroup
77
+ // this.formGroup$.addControl(this.controlName$, this.fieldControl);
78
+ // this.fieldControl.setValue(this.value$);
79
+ this.bHasForm$ = true;
80
+ } else {
81
+ this.bHasForm$ = false;
82
+ }
83
+ }
84
+
85
+ ngOnDestroy(): void {
86
+ if (this.formGroup$) {
87
+ this.formGroup$.removeControl(this.controlName$);
88
+ }
89
+
90
+ if (this.angularPConnectData.unsubscribeFn) {
91
+ this.angularPConnectData.unsubscribeFn();
92
+ }
93
+ }
94
+
95
+ // Callback passed when subscribing to store change
96
+ onStateChange() {
97
+ this.checkAndUpdate();
98
+ }
99
+
100
+ checkAndUpdate() {
101
+ // Should always check the bridge to see if the component should
102
+ // update itself (re-render)
103
+ const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
104
+
105
+ // ONLY call updateSelf when the component should update
106
+ if (bUpdateSelf) {
107
+ this.updateSelf();
108
+ }
109
+ }
110
+
111
+ // updateSelf
112
+ updateSelf(): void {
113
+ // moved this from ngOnInit() and call this from there instead...
114
+ this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as PegaDxilMyAngularIconButtonUrlProps;
115
+
116
+ if (this.configProps$.value != undefined) {
117
+ this.value$ = this.configProps$.value;
118
+ }
119
+ if (this.configProps$.countryCode != undefined) {
120
+ this.countryCode = this.configProps$.countryCode;
121
+ }
122
+
123
+ // localized labels
124
+ this.label$ = this.pConn$.getLocalizedValue('State list for', '', '');
125
+ this.label$ = this.label$.concat(' ').concat(this.countryCode);
126
+ this.tooltip$ = this.pConn$.getLocalizedValue('Click to show/hide state list', '', '');
127
+ this.tableLabel$ = this.pConn$.getLocalizedValue('State list', '', '');
128
+ this.stateNameLabel$ = this.pConn$.getLocalizedValue('State name', '', '');
129
+ this.stateCodeLabel$ = this.pConn$.getLocalizedValue('State code', '', '');
130
+
131
+ this.displayMode$ = this.configProps$.displayMode;
132
+
133
+ this.componentReference = (this.pConn$.getStateProps() as any).value;
134
+
135
+ }
136
+
137
+ buttonClick() {
138
+ if (!this.showTable$) {
139
+ this.showTable$ = true;
140
+
141
+ this.configProps$ = this.pConn$.getConfigProps();
142
+ // @ts-ignore - second parameter pageReference for getValue method should be optional
143
+ const dataViewName = 'D_pyStateList';
144
+ const context = this.pConn$.getContextName();
145
+
146
+ this.waitingForData = true;
147
+
148
+ const stateListData = PCore.getDataApiUtils().getData(
149
+ dataViewName,
150
+ { dataViewParameters: [{ pyCountry: this.countryCode }] } as any,
151
+ context
152
+ ) as Promise<any>;
153
+
154
+ stateListData
155
+ .then((stateJSON: any) => {
156
+ this.fields$ = [{ stateName: 'pyLabel', stateCode: 'pyStateCode' }];
157
+
158
+ const tableDataResults = this.updateData(stateJSON.data.data, this.fields$);
159
+
160
+ this.repeatList$ = new MatTableDataSource(tableDataResults);
161
+
162
+ this.waitingForData = false;
163
+ })
164
+ .catch((error: any) => {
165
+ console.log(error);
166
+ });
167
+ } else {
168
+ this.showTable$ = false;
169
+ }
170
+ }
171
+
172
+ updateData(listData: any[], fieldData: any[]): any[] {
173
+ const returnList: any[] = new Array<any>();
174
+ listData.forEach(row => {
175
+ // copy
176
+ const rowData = JSON.parse(JSON.stringify(row));
177
+
178
+ const newRow = { stateName: '', stateCode: '' };
179
+
180
+ for (const field of fieldData) {
181
+ const stateName = this.pConn$.getLocalizedValue(rowData[field.stateName], '', '');
182
+ const stateCode = rowData[field.stateCode];
183
+
184
+ newRow.stateName = stateName;
185
+ newRow.stateCode = stateCode;
186
+ }
187
+ returnList.push(newRow);
188
+ });
189
+ return returnList;
190
+ }
191
+
192
+ getErrorMessage() {
193
+ return '';
194
+ }
195
+ }
@@ -1,17 +1,37 @@
1
1
  export const configProps = {
2
- value: '',
3
- label: 'URL Sample',
4
- placeholder: 'URL Placeholder',
5
- helperText: 'URL Helper Text',
6
- testId: 'url-12345678',
7
- hasSuggestions: false,
8
- required: false,
9
- disabled: false,
10
- readOnly: false,
11
- displayMode: ''
2
+ countryCode: 'USA',
3
+ value: 'https://www.yahoo.com'
4
+ };
5
+
6
+ export const stateListData = {
7
+ data: {
8
+ fetchDateTime: '2023-01-18T12:04:56.517Z',
9
+ pxObjClass: 'Pega-State',
10
+ resultCount: 3,
11
+ data: [
12
+ {
13
+ pyLabel: 'Massachusetts',
14
+ pyStateCode: 'MA'
15
+ },
16
+ {
17
+ pyLabel: 'Rhode Island',
18
+ pyStateCode: 'RI'
19
+ },
20
+ {
21
+ pyLabel: 'Connecticut',
22
+ pyStateCode: 'CT'
23
+ }
24
+ ]
25
+ },
26
+ status: 200,
27
+ statusText: '',
28
+ headers: {
29
+ 'content-length': '1328',
30
+ 'content-type': 'application/json;charset=UTF-8'
31
+ },
32
+ request: {}
12
33
  };
13
34
 
14
35
  export const stateProps = {
15
- value: '.URLSample',
16
- hasSuggestions: false
36
+ value: '.URL'
17
37
  };
@@ -14,6 +14,7 @@
14
14
  type="url"
15
15
  [value]="value$"
16
16
  [required]="bRequired$"
17
+ [attr.data-test-id]="testId"
17
18
  [formControl]="fieldControl"
18
19
  (change)="fieldOnChange($event)"
19
20
  (blur)="fieldOnBlur($event)"
@@ -36,6 +36,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
36
36
  bVisible$ = true;
37
37
  displayMode$?: string = '';
38
38
  controlName$: string;
39
+ testId = '';
39
40
  bHasForm$ = true;
40
41
  componentReference = '';
41
42
  helperText: string;
@@ -106,6 +107,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
106
107
  this.value$ = this.configProps$.value;
107
108
  }
108
109
 
110
+ this.testId = this.configProps$.testId;
109
111
  this.label$ = this.configProps$.label;
110
112
  this.displayMode$ = this.configProps$.displayMode;
111
113
  this.helperText = this.configProps$.helperText;
@@ -14,6 +14,7 @@
14
14
  type="time"
15
15
  [value]="value$"
16
16
  [required]="bRequired$"
17
+ [attr.data-test-id]="testId"
17
18
  [formControl]="fieldControl"
18
19
  (change)="fieldOnChange($event)"
19
20
  (blur)="fieldOnBlur($event)"
@@ -36,6 +36,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
36
36
  bVisible$ = true;
37
37
  displayMode$?: string = '';
38
38
  controlName$: string;
39
+ testId = '';
39
40
  bHasForm$ = true;
40
41
  componentReference = '';
41
42
  helperText: string;
@@ -100,6 +101,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnDestroy {
100
101
  // moved this from ngOnInit() and call this from there instead...
101
102
  this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps()) as {{COMPONENT_CLASS_NAME}}Props;
102
103
 
104
+ this.testId = this.configProps$.testId;
103
105
  this.label$ = this.configProps$.label;
104
106
  this.displayMode$ = this.configProps$.displayMode;
105
107
 
@@ -11,7 +11,7 @@
11
11
  .psdk-two-column-column {
12
12
  width: 50%;
13
13
  float: left;
14
- padding: 0rem 0.3125rem;
14
+ padding: 0rem 0rem;
15
15
  height: 100%;
16
16
  }
17
17
 
@@ -50,7 +50,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit {
50
50
 
51
51
  const tableDataResults = this.updateData(historyJSON.data.data, this.fields$);
52
52
 
53
- this.displayedColumns$ = this.getDisplayColumns(this.fields$ as never[]);
53
+ this.displayedColumns$ = this.getDisplayColumns(this.fields$);
54
54
 
55
55
  this.repeatList$ = new MatTableDataSource(tableDataResults);
56
56
 
@@ -87,7 +87,7 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit {
87
87
  }
88
88
 
89
89
  getDisplayColumns(fields: any[] = []) {
90
- return fields.map((field: { fieldName: any }) => {
90
+ return fields.map(field => {
91
91
  return field.fieldName;
92
92
  });
93
93
  }
@@ -12,6 +12,6 @@
12
12
  </ul>
13
13
  </div>
14
14
  </div>
15
- <a *ngIf="configProps$.whatsnewlink !== ''" mat-raised-button color="primary" [href]="configProps$.whatsnewlink">See what's new</a>
15
+ <a *ngIf="configProps$.whatsnewlink != ''" mat-raised-button color="primary" [href]="configProps$.whatsnewlink">See what's new</a>
16
16
  </article>
17
17
  <%={{ }}=%> {{! revert delimiters for mustache }}
@@ -51,7 +51,7 @@ export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
51
51
  }
52
52
  };
53
53
 
54
- return <{{COMPONENT_CLASS_NAME}} {...props} {...args} value={value} />
54
+ return <{{COMPONENT_CLASS_NAME}} {...props} {...args} value={value} />;
55
55
  };
56
56
 
57
57
  Base{{COMPONENT_CLASS_NAME}}.args = {
@@ -1,11 +1,11 @@
1
1
  export const configProps = {
2
- caption: "Boolean Caption SDK",
2
+ caption: 'Boolean Caption SDK',
3
3
  value: false,
4
- trueLabel: "Yes",
5
- falseLabel: "No",
6
- label: "Boolean Sample",
7
- helperText: "Boolean Helper Text",
8
- testId: "boolean-12345678",
4
+ trueLabel: 'Yes',
5
+ falseLabel: 'No',
6
+ label: 'Boolean Sample',
7
+ helperText: 'Boolean Helper Text',
8
+ testId: 'boolean-12345678',
9
9
  hasSuggestions: false,
10
10
  readOnly: false,
11
11
  disabled: false,
@@ -17,6 +17,6 @@ export const configProps = {
17
17
  };
18
18
 
19
19
  export const stateProps = {
20
- value: ".BooleanSample",
20
+ value: '.BooleanSample',
21
21
  hasSuggestions: false
22
- };
22
+ };
@@ -2,7 +2,7 @@ import { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/picker
2
2
  import DayjsUtils from '@date-io/dayjs';
3
3
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
4
4
  import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
5
- 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
6
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
7
  import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
8
  import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
@@ -118,7 +118,7 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
118
118
  InputProps={{ ...testProp }}
119
119
  <%={{ }}=%> {{! revert delimiters for mustache }}
120
120
  />
121
- </MuiPickersUtilsProvider>
121
+ </MuiPickersUtilsProvider>
122
122
  </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
123
123
  );
124
124
  }
@@ -1,8 +1,8 @@
1
1
  export const configProps = {
2
- value: "",
3
- label: "Date Sample",
4
- helperText: "Date Helper Text",
5
- testId: "date-12345678",
2
+ value: '',
3
+ label: 'Date Sample',
4
+ helperText: 'Date Helper Text',
5
+ testId: 'date-12345678',
6
6
  readOnly: false,
7
7
  disabled: false,
8
8
  required: true,
@@ -10,9 +10,9 @@ export const configProps = {
10
10
  hideLabel: false,
11
11
  displayMode: '',
12
12
  validatemessage: ''
13
- }
13
+ };
14
14
 
15
15
  export const stateProps = {
16
- value: ".DateSample",
16
+ value: '.DateSample',
17
17
  hasSuggestions: false
18
- }
18
+ };
@@ -22,7 +22,7 @@ window.PCore = {
22
22
  return value;
23
23
  }
24
24
  };
25
- },
25
+ }
26
26
  };
27
27
 
28
28
  const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
@@ -2,7 +2,7 @@ import { KeyboardDateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pi
2
2
  import DayjsUtils from '@date-io/dayjs';
3
3
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
4
4
  import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters/';
5
- 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
6
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
7
  import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
8
 
@@ -106,8 +106,7 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
106
106
  onAccept={handleAccept}
107
107
  data-test-id={testId}
108
108
  />
109
- </MuiPickersUtilsProvider>
109
+ </MuiPickersUtilsProvider>
110
110
  </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
111
111
  );
112
112
  }
113
-
@@ -1,8 +1,8 @@
1
1
  export const configProps = {
2
- value: "",
3
- label: "Date Time Sample",
4
- helperText: "Date Time Helper Text",
5
- testId: "datetime-12345678",
2
+ value: '',
3
+ label: 'Date Time Sample',
4
+ helperText: 'Date Time Helper Text',
5
+ testId: 'datetime-12345678',
6
6
  readOnly: false,
7
7
  disabled: false,
8
8
  required: true,
@@ -13,6 +13,6 @@ export const configProps = {
13
13
  };
14
14
 
15
15
  export const stateProps = {
16
- value: ".DateTimeSample",
16
+ value: '.DateTimeSample',
17
17
  hasSuggestions: false
18
- };
18
+ };
@@ -1,5 +1,6 @@
1
- import CurrencyTextField from '@unicef/material-ui-currency-textfield';
2
-
1
+ import { TextField } from '@material-ui/core';
2
+ import { NumericFormat } from 'react-number-format';
3
+ import { useState } from 'react';
3
4
  import { getCurrencyCharacters, getCurrencyOptions } from '@pega/react-sdk-components/lib/components/field/Currency/currency-utils.js';
4
5
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
5
6
  import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
@@ -7,13 +8,15 @@ import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpe
7
8
  import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
8
9
  import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
9
10
 
10
- // Using control from: https://github.com/unicef/material-ui-currency-textfield
11
+ /* Using react-number-format component here, since it allows formatting decimal values,
12
+ as per the locale.
13
+ */
11
14
 
12
15
  interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
13
16
  // If any, enter additional props that only exist on this componentName
14
17
  currencyISOCode?: string;
15
18
  decimalPrecision?: number;
16
- showGroupSeparators?: string;
19
+ showGroupSeparators?: boolean;
17
20
  formatter?: string;
18
21
  }
19
22
 
@@ -38,13 +41,15 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
38
41
  displayMode,
39
42
  hideLabel,
40
43
  currencyISOCode = 'USD',
41
- decimalPrecision = 2,
42
- showGroupSeparators = true,
44
+ decimalPrecision,
45
+ showGroupSeparators,
43
46
  testId,
44
47
  placeholder,
45
48
  formatter
46
49
  } = props;
47
50
 
51
+ const [values, setValues] = useState(value.toString());
52
+
48
53
  const pConn = getPConnect();
49
54
  const actions = pConn.getActionsApi();
50
55
  const propName = (pConn.getStateProps() as any).value;
@@ -57,6 +62,12 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
57
62
 
58
63
  const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
59
64
 
65
+ let readOnlyProp = {}; // Note: empty if NOT ReadOnly
66
+
67
+ if (readOnly) {
68
+ readOnlyProp = { readOnly: true };
69
+ }
70
+
60
71
  let formattedValue = '';
61
72
  if (formatter === 'Currency') {
62
73
  formattedValue = format(value, formatter.toLowerCase(), theCurrencyOptions);
@@ -76,37 +87,42 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
76
87
  'data-test-id': testId
77
88
  };
78
89
 
79
- function decimalOnBlur(event, inValue) {
80
- handleEvent(actions, 'changeNblur', propName, inValue !== '' ? Number(inValue) : inValue);
90
+ function decimalOnBlur() {
91
+ handleEvent(actions, 'changeNblur', propName, values);
81
92
  }
82
93
 
94
+ const handleChange = val => {
95
+ setValues(val.value);
96
+ };
97
+
83
98
  return (
84
- <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
85
- <CurrencyTextField
86
- fullWidth
87
- variant={readOnly ? 'standard' : 'outlined'}
88
- helperText={helperTextToDisplay}
89
- placeholder={placeholder ?? ''}
90
- size='small'
91
- required={required}
92
- disabled={disabled}
93
- error={status === 'error'}
94
- label={label}
95
- value={value}
96
- readOnly={!!readOnly}
97
- type='text'
98
- outputFormat='number'
99
- textAlign='left'
100
- {{! pick new delimiters for mustache }}
101
- {{=<% %>=}}
102
- InputProps={{ inputProps: { ...testProp } }}
103
- <%={{ }}=%> {{! revert delimiters for mustache }}
104
- currencySymbol={readOnly && formatter === 'Currency' ? theCurrSym : ''}
105
- decimalCharacter={theCurrDec}
106
- digitGroupSeparator={showGroupSeparators ? theCurrSep : ''}
107
- decimalPlaces={decimalPrecision}
108
- onBlur={!readOnly ? decimalOnBlur : undefined}
109
- />
110
- </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
99
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
100
+ <NumericFormat
101
+ valueIsNumericString
102
+ fullWidth
103
+ variant={readOnly ? 'standard' : 'outlined'}
104
+ helperText={helperTextToDisplay}
105
+ placeholder={placeholder ?? ''}
106
+ size='small'
107
+ required={required}
108
+ disabled={disabled}
109
+ error={status === 'error'}
110
+ label={label}
111
+ value={values}
112
+ onValueChange={val => {
113
+ handleChange(val);
114
+ }}
115
+ onBlur={!readOnly ? decimalOnBlur : undefined}
116
+ prefix={readOnly && formatter === 'Currency' ? theCurrSym : ''}
117
+ decimalSeparator={theCurrDec}
118
+ thousandSeparator={showGroupSeparators ? theCurrSep : ''}
119
+ decimalScale={readOnly && formatter === 'Currency' ? undefined : decimalPrecision}
120
+ {{! pick new delimiters for mustache }}
121
+ {{=<% %>=}}
122
+ InputProps={{ ...readOnlyProp, inputProps: { ...testProp } }}
123
+ <%={{ }}=%> {{! revert delimiters for mustache }}
124
+ customInput={TextField}
125
+ />
126
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
111
127
  );
112
128
  }
@@ -18,4 +18,4 @@ export const fieldMetadata = {
18
18
  type: 'Decimal',
19
19
  displayAs: 'pxNumber',
20
20
  label: 'Decimal sample'
21
- };
21
+ };
@@ -10,7 +10,7 @@
10
10
  "type": "{{TYPE}}",
11
11
  "subtype": {{{SUB_TYPE}}},
12
12
  "icon": "images/pz-currency-active.svg",
13
- "properties": [
13
+ "properties": [
14
14
  {
15
15
  "name": "label",
16
16
  "label": "Label value",
@@ -15,7 +15,7 @@ window.PCore = {
15
15
  return 'en-GB';
16
16
  }
17
17
  };
18
- }
18
+ }
19
19
  };
20
20
 
21
21
  const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {