@pega/dx-component-builder-sdk 23.1.14 → 23.1.16

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 (290) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +6 -0
  3. package/src/constants.js +10 -0
  4. package/src/tasks/build-jest-assets/index.js +153 -0
  5. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.ts.mustache +35 -0
  6. package/src/tasks/create/templates/Constellation/field/Boolean/demo.stories.tsx.mustache +28 -20
  7. package/src/tasks/create/templates/Constellation/field/Boolean/index.tsx.mustache +11 -48
  8. package/src/tasks/create/templates/Constellation/field/Boolean/mock.ts.mustache +2 -1
  9. package/src/tasks/create/templates/Constellation/field/Boolean/styles.ts.mustache +7 -14
  10. package/src/tasks/create/templates/Constellation/field/Date/{DateFormatter.js.mustache → DateFormatter.ts.mustache} +6 -6
  11. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.tsx.mustache +20 -0
  12. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/date.js → src/tasks/create/templates/Constellation/field/Date/date.ts.mustache} +3 -2
  13. package/src/tasks/create/templates/Constellation/field/Date/demo.stories.tsx.mustache +31 -24
  14. package/src/tasks/create/templates/Constellation/field/Date/index.tsx.mustache +19 -60
  15. package/src/tasks/create/templates/Constellation/field/Date/mock.ts.mustache +2 -1
  16. package/src/tasks/create/templates/Constellation/field/Date/styles.ts.mustache +7 -14
  17. package/src/tasks/create/templates/Constellation/field/DateTime/{date-time.js.mustache → date-time.ts.mustache} +12 -12
  18. package/src/tasks/create/templates/Constellation/field/{TimeOfDay/time-of-day.js.mustache → DateTime/date-utils.ts.mustache} +27 -26
  19. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.js → src/tasks/create/templates/Constellation/field/DateTime/date.ts.mustache} +1 -0
  20. package/src/tasks/create/templates/Constellation/field/DateTime/demo.stories.tsx.mustache +32 -25
  21. package/src/tasks/create/templates/Constellation/field/DateTime/index.tsx.mustache +13 -60
  22. package/src/tasks/create/templates/Constellation/field/DateTime/mock.ts.mustache +3 -1
  23. package/src/tasks/create/templates/Constellation/field/DateTime/styles.ts.mustache +7 -14
  24. package/src/tasks/create/templates/Constellation/field/Decimal/demo.stories.tsx.mustache +25 -13
  25. package/src/tasks/create/templates/Constellation/field/Decimal/index.tsx.mustache +15 -68
  26. package/src/tasks/create/templates/Constellation/field/Decimal/mock.ts.mustache +9 -1
  27. package/src/tasks/create/templates/Constellation/field/Decimal/styles.ts.mustache +7 -14
  28. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/demo.stories.tsx.mustache +28 -15
  29. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/index.tsx.mustache +24 -76
  30. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/mock.ts.mustache +11 -1
  31. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/styles.ts.mustache +7 -14
  32. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/demo.stories.tsx.mustache +25 -12
  33. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/index.tsx.mustache +14 -55
  34. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/mock.ts.mustache +9 -2
  35. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/styles.ts.mustache +7 -14
  36. package/src/tasks/create/templates/Constellation/field/Integer/demo.stories.tsx.mustache +25 -12
  37. package/src/tasks/create/templates/Constellation/field/Integer/index.tsx.mustache +24 -88
  38. package/src/tasks/create/templates/Constellation/field/Integer/mock.ts.mustache +8 -2
  39. package/src/tasks/create/templates/Constellation/field/Integer/styles.ts.mustache +7 -14
  40. package/src/tasks/create/templates/Constellation/field/Picklist/demo.stories.tsx.mustache +25 -12
  41. package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +13 -61
  42. package/src/tasks/create/templates/Constellation/field/Picklist/mock.ts.mustache +9 -1
  43. package/src/tasks/create/templates/Constellation/field/Picklist/styles.ts.mustache +7 -14
  44. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache} +2 -1
  45. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/demo.stories.tsx.mustache +26 -14
  46. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.ts.mustache} +2 -1
  47. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/index.tsx.mustache +15 -76
  48. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/mock.ts.mustache +8 -1
  49. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.ts.mustache} +1 -0
  50. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/repeat-constants.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/repeat-constants.ts.mustache} +1 -1
  51. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{repeat-utils.js.mustache → repeat-utils.ts.mustache} +6 -12
  52. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/styles.ts.mustache +7 -14
  53. package/src/tasks/create/templates/Constellation/field/{Picklist-RadioButtons/textformat-utils.jsx.mustache → Picklist-Autocomplete/textformat-utils.tsx.mustache} +30 -10
  54. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +1 -1
  55. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/demo.stories.tsx.mustache +25 -13
  56. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/index.tsx.mustache +11 -58
  57. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/mock.ts.mustache +9 -1
  58. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/styles.ts.mustache +7 -14
  59. package/src/tasks/create/templates/Constellation/field/{Picklist-Autocomplete/textformat-utils.jsx.mustache → Picklist-RadioButtons/textformat-utils.tsx.mustache} +1 -0
  60. package/src/tasks/create/templates/Constellation/field/Text/demo.stories.tsx.mustache +23 -9
  61. package/src/tasks/create/templates/Constellation/field/Text/index.tsx.mustache +4 -22
  62. package/src/tasks/create/templates/Constellation/field/Text/mock.ts.mustache +8 -1
  63. package/src/tasks/create/templates/Constellation/field/Text/styles.ts.mustache +7 -14
  64. package/src/tasks/create/templates/Constellation/field/Text-Email/demo.stories.tsx.mustache +24 -11
  65. package/src/tasks/create/templates/Constellation/field/Text-Email/index.tsx.mustache +10 -47
  66. package/src/tasks/create/templates/Constellation/field/Text-Email/mock.ts.mustache +8 -1
  67. package/src/tasks/create/templates/Constellation/field/Text-Email/styles.ts.mustache +7 -14
  68. package/src/tasks/create/templates/Constellation/field/Text-Input/StatusWork.tsx +3 -9
  69. package/src/tasks/create/templates/Constellation/field/Text-Input/demo.stories.tsx.mustache +24 -11
  70. package/src/tasks/create/templates/Constellation/field/Text-Input/index.tsx.mustache +11 -51
  71. package/src/tasks/create/templates/Constellation/field/Text-Input/mock.ts.mustache +9 -1
  72. package/src/tasks/create/templates/Constellation/field/Text-Input/styles.ts.mustache +7 -14
  73. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/demo.stories.tsx.mustache +24 -11
  74. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/index.tsx.mustache +13 -49
  75. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/mock.ts.mustache +9 -1
  76. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/styles.ts.mustache +7 -14
  77. package/src/tasks/create/templates/Constellation/field/Text-Phone/demo.stories.tsx.mustache +25 -11
  78. package/src/tasks/create/templates/Constellation/field/Text-Phone/index.tsx.mustache +14 -53
  79. package/src/tasks/create/templates/Constellation/field/Text-Phone/mock.ts.mustache +9 -1
  80. package/src/tasks/create/templates/Constellation/field/Text-Phone/styles.ts.mustache +7 -14
  81. package/src/tasks/create/templates/Constellation/field/Text-URL/demo.stories.tsx.mustache +24 -11
  82. package/src/tasks/create/templates/Constellation/field/Text-URL/index.tsx.mustache +15 -71
  83. package/src/tasks/create/templates/Constellation/field/Text-URL/mock.ts.mustache +9 -1
  84. package/src/tasks/create/templates/Constellation/field/Text-URL/styles.ts.mustache +7 -14
  85. package/src/tasks/create/templates/Constellation/field/Text-URL/{text-url.jsx.mustache → text-url.tsx.mustache} +4 -3
  86. package/src/tasks/create/templates/Constellation/field/TimeOfDay/demo.stories.tsx.mustache +28 -22
  87. package/src/tasks/create/templates/Constellation/field/TimeOfDay/index.tsx.mustache +17 -53
  88. package/src/tasks/create/templates/Constellation/field/TimeOfDay/mock.ts.mustache +2 -1
  89. package/src/tasks/create/templates/Constellation/field/TimeOfDay/styles.ts.mustache +7 -14
  90. package/src/tasks/create/templates/Constellation/field/{DateTime/date-utils.js.mustache → TimeOfDay/time-of-day.ts.mustache} +24 -23
  91. package/src/tasks/create/templates/Constellation/template/DETAILS/StatusWork.tsx.mustache +17 -19
  92. package/src/tasks/create/templates/Constellation/template/DETAILS/demo.stories.tsx.mustache +19 -8
  93. package/src/tasks/create/templates/Constellation/template/DETAILS/index.tsx.mustache +4 -17
  94. package/src/tasks/create/templates/Constellation/template/DETAILS/styles.ts.mustache +7 -14
  95. package/src/tasks/create/templates/Constellation/template/DETAILS-region/StatusWork.tsx.mustache +17 -19
  96. package/src/tasks/create/templates/Constellation/template/DETAILS-region/demo.stories.tsx.mustache +17 -8
  97. package/src/tasks/create/templates/Constellation/template/DETAILS-region/index.tsx.mustache +5 -19
  98. package/src/tasks/create/templates/Constellation/template/DETAILS-region/styles.ts.mustache +7 -14
  99. package/src/tasks/create/templates/Constellation/template/DETAILS-region/{utils.js.mustache → utils.ts.mustache} +15 -13
  100. package/src/tasks/create/templates/Constellation/template/FORM/demo.stories.tsx.mustache +18 -8
  101. package/src/tasks/create/templates/Constellation/template/FORM/index.tsx.mustache +5 -13
  102. package/src/tasks/create/templates/Constellation/template/FORM/styles.ts.mustache +7 -14
  103. package/src/tasks/create/templates/Constellation/template/FORM-region/demo.stories.tsx.mustache +17 -7
  104. package/src/tasks/create/templates/Constellation/template/FORM-region/index.tsx.mustache +4 -10
  105. package/src/tasks/create/templates/Constellation/template/FORM-region/styles.ts.mustache +7 -14
  106. package/src/tasks/create/templates/Constellation/template/PAGE/demo.stories.tsx.mustache +14 -8
  107. package/src/tasks/create/templates/Constellation/template/PAGE/index.tsx.mustache +5 -16
  108. package/src/tasks/create/templates/Constellation/template/PAGE/styles.ts.mustache +7 -14
  109. package/{tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.js → src/tasks/create/templates/Constellation/template/PAGE/utils.ts.mustache} +28 -14
  110. package/src/tasks/create/templates/Constellation/widget/CASE/demo.stories.tsx.mustache +13 -7
  111. package/src/tasks/create/templates/Constellation/widget/CASE/index.tsx.mustache +3 -10
  112. package/src/tasks/create/templates/Constellation/widget/CASE/styles.ts.mustache +7 -14
  113. package/src/tasks/create/templates/Constellation/widget/PAGE/demo.stories.tsx.mustache +18 -13
  114. package/src/tasks/create/templates/Constellation/widget/PAGE/index.tsx.mustache +4 -18
  115. package/src/tasks/create/templates/Constellation/widget/PAGE/styles.ts.mustache +7 -14
  116. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Avatar.tsx.mustache +3 -13
  117. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Operator.tsx.mustache +5 -20
  118. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/demo.stories.tsx.mustache +15 -9
  119. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/index.tsx.mustache +24 -39
  120. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/styles.ts.mustache +7 -14
  121. package/src/tasks/create/templates/SDK-Angular/widget/PAGE-CASE/page-case.component.ts.mustache +7 -5
  122. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +101 -23
  123. package/src/tasks/create/templates/SDK-React/field/Decimal/config.json.mustache +155 -0
  124. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +12 -3
  125. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +3 -1
  126. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +4 -0
  127. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +10 -0
  128. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +17 -3
  129. package/src/tasks/index.js +1 -0
  130. package/src/tasks/publish/helper.js +1 -1
  131. package/src/util.js +7 -0
  132. package/tests/assets/sdk-r/components/create/_components.md +6 -0
  133. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +23 -9
  134. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +4 -22
  135. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +8 -1
  136. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +7 -14
  137. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  138. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  139. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  140. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +12 -3
  141. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  142. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/index.tsx +1 -0
  143. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +230 -0
  144. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +2 -2
  145. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  146. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +6 -6
  147. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  148. package/tests/assets/sdk-r/components/createAll/_components.md +6 -0
  149. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.ts +35 -0
  150. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/demo.stories.tsx +28 -20
  151. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +11 -48
  152. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/mock.ts +2 -1
  153. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/styles.ts +7 -14
  154. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/demo.stories.tsx +28 -15
  155. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/index.tsx +24 -76
  156. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/mock.ts +11 -1
  157. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/styles.ts +7 -14
  158. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/{DateFormatter.js → DateFormatter.ts} +6 -6
  159. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.tsx +20 -0
  160. package/{src/tasks/create/templates/Constellation/field/Date/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/date.ts} +3 -2
  161. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/demo.stories.tsx +31 -24
  162. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/index.tsx +19 -60
  163. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/mock.ts +2 -1
  164. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/styles.ts +7 -14
  165. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-time.js → date-time.ts} +12 -12
  166. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-utils.js → date-utils.ts} +27 -26
  167. package/{src/tasks/create/templates/Constellation/field/DateTime/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.ts} +1 -0
  168. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/demo.stories.tsx +32 -25
  169. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/index.tsx +13 -60
  170. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/mock.ts +3 -1
  171. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/styles.ts +7 -14
  172. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/demo.stories.tsx +25 -13
  173. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/index.tsx +15 -68
  174. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/mock.ts +9 -1
  175. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/styles.ts +7 -14
  176. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/demo.stories.tsx +24 -11
  177. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/index.tsx +10 -47
  178. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/mock.ts +8 -1
  179. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/styles.ts +7 -14
  180. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/demo.stories.tsx +25 -12
  181. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/index.tsx +24 -88
  182. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/mock.ts +8 -2
  183. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/styles.ts +7 -14
  184. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/demo.stories.tsx +24 -11
  185. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/index.tsx +13 -49
  186. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/mock.ts +9 -1
  187. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/styles.ts +7 -14
  188. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/demo.stories.tsx +25 -12
  189. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/index.tsx +14 -55
  190. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/mock.ts +9 -2
  191. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/styles.ts +7 -14
  192. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/demo.stories.tsx +25 -11
  193. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/index.tsx +14 -53
  194. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/mock.ts +9 -1
  195. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/styles.ts +7 -14
  196. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/demo.stories.tsx +25 -12
  197. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +13 -61
  198. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/mock.ts +9 -1
  199. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/styles.ts +7 -14
  200. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +25 -13
  201. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +11 -58
  202. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/mock.ts +9 -1
  203. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/styles.ts +7 -14
  204. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MySearchbox/textformat-utils.jsx → Pega_DXIL_MyRadiobuttons/textformat-utils.tsx} +1 -0
  205. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts} +2 -1
  206. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/demo.stories.tsx +26 -14
  207. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.ts} +2 -1
  208. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +15 -76
  209. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/mock.ts +8 -1
  210. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.ts} +1 -0
  211. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/repeat-constants.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/repeat-constants.ts} +1 -1
  212. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{repeat-utils.js → repeat-utils.ts} +6 -12
  213. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/styles.ts +7 -14
  214. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MyRadiobuttons/textformat-utils.jsx → Pega_DXIL_MySearchbox/textformat-utils.tsx} +30 -10
  215. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
  216. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/demo.stories.tsx +23 -9
  217. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +4 -22
  218. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/mock.ts +8 -1
  219. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/styles.ts +7 -14
  220. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  221. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/demo.stories.tsx +24 -11
  222. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.tsx +11 -51
  223. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/mock.ts +9 -1
  224. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/styles.ts +7 -14
  225. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +28 -22
  226. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/index.tsx +17 -53
  227. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/mock.ts +2 -1
  228. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/styles.ts +7 -14
  229. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/{time-of-day.js → time-of-day.ts} +24 -23
  230. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/demo.stories.tsx +24 -11
  231. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/index.tsx +15 -71
  232. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/mock.ts +9 -1
  233. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/styles.ts +7 -14
  234. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/{text-url.jsx → text-url.tsx} +4 -3
  235. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  236. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +19 -8
  237. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +4 -17
  238. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +7 -14
  239. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/demo.stories.tsx +18 -8
  240. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +5 -13
  241. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/styles.ts +7 -14
  242. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/demo.stories.tsx +14 -8
  243. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/index.tsx +5 -16
  244. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/styles.ts +7 -14
  245. package/{src/tasks/create/templates/Constellation/template/PAGE/utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.ts} +28 -14
  246. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  247. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -8
  248. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +5 -19
  249. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +7 -14
  250. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/{utils.js → utils.ts} +15 -13
  251. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +17 -7
  252. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +4 -10
  253. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/styles.ts +7 -14
  254. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +13 -7
  255. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -10
  256. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/styles.ts +7 -14
  257. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +3 -13
  258. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Operator.tsx +5 -20
  259. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +15 -9
  260. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +24 -39
  261. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/styles.ts +7 -14
  262. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +18 -13
  263. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +4 -18
  264. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/styles.ts +7 -14
  265. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +101 -23
  266. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +3 -1
  267. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/config.json +155 -0
  268. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +12 -3
  269. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +4 -0
  270. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +10 -0
  271. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -3
  272. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  273. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  274. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  275. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +12 -3
  276. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  277. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/index.tsx +1 -0
  278. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +230 -0
  279. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +2 -2
  280. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  281. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +6 -6
  282. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  283. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.js.mustache +0 -38
  284. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.jsx.mustache +0 -41
  285. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.js +0 -38
  286. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.jsx +0 -41
  287. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{component-constants.js → component-constants.ts} +0 -0
  288. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{format-constants.js.mustache → format-constants.ts.mustache} +0 -0
  289. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{component-constants.js → component-constants.ts} +0 -0
  290. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{format-constants.js → format-constants.ts} +0 -0
@@ -50,6 +50,161 @@
50
50
  }
51
51
  ]
52
52
  },
53
+ {
54
+ "label": "Read-only settings",
55
+ "format": "GROUP",
56
+ "properties": [
57
+ {
58
+ "format": "SELECT",
59
+ "name": "formatter",
60
+ "label": "Format",
61
+ "defaultValue": "defaultDecimal",
62
+ "source": [
63
+ {
64
+ "key": "defaultDecimal",
65
+ "value": "Default"
66
+ },
67
+ {
68
+ "key": "Integer",
69
+ "value": "Integer"
70
+ },
71
+ {
72
+ "key": "Currency",
73
+ "value": "Currency"
74
+ },
75
+ {
76
+ "key": "Percentage",
77
+ "value": "Percentage"
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "format": "CASCADE",
85
+ "visibility": "(formatter = Currency)",
86
+ "source": {
87
+ "format": "SELECT",
88
+ "label": "ISO Code Selection",
89
+ "name": "isoCodeSelection",
90
+ "defaultValue": "constant",
91
+ "source": [
92
+ {
93
+ "key": "constant",
94
+ "value": "Constant"
95
+ },
96
+ {
97
+ "key": "propertyRef",
98
+ "value": "Property Reference"
99
+ }
100
+ ]
101
+ },
102
+ "cascadeElements": [
103
+ {
104
+ "key": "currencyISOCode",
105
+ "format": "TEXT",
106
+ "name": "currencyISOCode",
107
+ "label": "Currency ISO Code",
108
+ "defaultValue": "USD",
109
+ "match": "constant"
110
+ },
111
+ {
112
+ "key": "currencyISOCode",
113
+ "format": "PROPERTY",
114
+ "name": "currencyISOCode",
115
+ "label": "Currency ISO Code",
116
+ "match": "propertyRef"
117
+ }
118
+ ]
119
+ },
120
+ {
121
+ "format": "SELECT",
122
+ "name": "currencyDisplay",
123
+ "label": "Currency display",
124
+ "visibility": "(formatter = Currency)",
125
+ "defaultValue": "symbol",
126
+ "source": [
127
+ {
128
+ "key": "symbol",
129
+ "value": "Auto"
130
+ },
131
+ {
132
+ "key": "code",
133
+ "value": "Code"
134
+ },
135
+ {
136
+ "key": "name",
137
+ "value": "Name"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "format": "SELECT",
143
+ "name": "negative",
144
+ "label": "Negative number display",
145
+ "visibility": "(formatter = Currency)",
146
+ "defaultValue": "minus-sign",
147
+ "source": [
148
+ {
149
+ "key": "minus-sign",
150
+ "value": "Standard"
151
+ },
152
+ {
153
+ "key": "parentheses",
154
+ "value": "Accounting"
155
+ }
156
+ ]
157
+ },
158
+ {
159
+ "format": "SELECT",
160
+ "name": "notation",
161
+ "label": "Notation",
162
+ "visibility": "(!negative = parentheses)&&(!formatter = Percentage)",
163
+ "defaultValue": "standard",
164
+ "source": [
165
+ {
166
+ "key": "standard",
167
+ "value": "Standard"
168
+ },
169
+ {
170
+ "key": "compact",
171
+ "value": "Compact"
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "format": "SELECT",
177
+ "name": "currencyDecimalPrecision",
178
+ "label": "Decimal places shown",
179
+ "visibility": "(formatter = Currency)",
180
+ "defaultValue": "auto",
181
+ "source": [
182
+ {
183
+ "key": "auto",
184
+ "value": "Auto"
185
+ },
186
+ {
187
+ "key": "0",
188
+ "value": "None"
189
+ },
190
+ {
191
+ "key": "1",
192
+ "value": "1"
193
+ },
194
+ {
195
+ "key": "2",
196
+ "value": "2"
197
+ },
198
+ {
199
+ "key": "3",
200
+ "value": "3"
201
+ },
202
+ {
203
+ "key": "4",
204
+ "value": "4"
205
+ }
206
+ ]
207
+ },
53
208
  {
54
209
  "label": "Conditions",
55
210
  "format": "GROUP",
@@ -14,6 +14,7 @@ interface PegaDxilMyDecimalProps extends PConnFieldProps {
14
14
  currencyISOCode?: string;
15
15
  decimalPrecision?: number;
16
16
  showGroupSeparators?: string;
17
+ formatter?: string;
17
18
  }
18
19
 
19
20
  // Duplicated runtime code from React SDK
@@ -40,7 +41,8 @@ export default function PegaDxilMyDecimal(props: PegaDxilMyDecimalProps) {
40
41
  decimalPrecision = 2,
41
42
  showGroupSeparators = true,
42
43
  testId,
43
- placeholder
44
+ placeholder,
45
+ formatter
44
46
  } = props;
45
47
 
46
48
  const pConn = getPConnect();
@@ -51,9 +53,16 @@ export default function PegaDxilMyDecimal(props: PegaDxilMyDecimalProps) {
51
53
  const theSymbols = getCurrencyCharacters(currencyISOCode);
52
54
  const theCurrDec = theSymbols.theDecimalIndicator;
53
55
  const theCurrSep = theSymbols.theDigitGroupSeparator;
56
+ const theCurrSym = theSymbols.theCurrencySymbol;
54
57
 
55
58
  const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
56
- const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
59
+
60
+ let formattedValue = '';
61
+ if (formatter === 'Currency') {
62
+ formattedValue = format(value, formatter.toLowerCase(), theCurrencyOptions);
63
+ } else {
64
+ formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
65
+ }
57
66
 
58
67
  if (displayMode === 'LABELS_LEFT') {
59
68
  return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;
@@ -89,7 +98,7 @@ export default function PegaDxilMyDecimal(props: PegaDxilMyDecimalProps) {
89
98
  outputFormat='number'
90
99
  textAlign='left'
91
100
  InputProps={{ inputProps: { ...testProp } }}
92
- currencySymbol=''
101
+ currencySymbol={readOnly && formatter === 'Currency' ? theCurrSym : ''}
93
102
  decimalCharacter={theCurrDec}
94
103
  digitGroupSeparator={showGroupSeparators ? theCurrSep : ''}
95
104
  decimalPlaces={decimalPrecision}
@@ -7,6 +7,10 @@ import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event
7
7
  import { format } from '@pega/react-sdk-components/lib/components/helpers/formatters';
8
8
  import StyledPegaDxilMyPercentageWrapper from './styles';
9
9
 
10
+ /* Using @unicef/material-ui-currency-textfield component here, since it allows formatting decimal values,
11
+ as per the locale.
12
+ */
13
+
10
14
  interface PegaDxilMyPercentageProps extends PConnFieldProps {
11
15
  // If any, enter additional props that only exist on this componentName
12
16
  currencyISOCode: string;
@@ -26,6 +26,13 @@ window.PCore = {
26
26
  }
27
27
  };
28
28
  },
29
+ getLocaleUtils: (): any => {
30
+ return {
31
+ getLocaleValue: value => {
32
+ return value;
33
+ }
34
+ };
35
+ },
29
36
  getEnvironmentInfo: (): any => {
30
37
  return {
31
38
  getUseLocale: () => {
@@ -63,6 +70,9 @@ export const BasePegaDxilMyDetails: Story = args => {
63
70
  },
64
71
  resolveConfigProps: () => {
65
72
  /* nothing */
73
+ },
74
+ createComponent: () => {
75
+ /* nothing */
66
76
  }
67
77
  };
68
78
  }
@@ -6,9 +6,20 @@ import operatorDetails, { pyReviewRaw } from './mock';
6
6
  window.PCore = {
7
7
  ...window.PCore,
8
8
  getUserApi: (): any => {
9
- return new Promise(resolve => {
10
- resolve(operatorDetails);
11
- });
9
+ return {
10
+ getOperatorDetails: () => {
11
+ return new Promise(resolve => {
12
+ resolve(operatorDetails);
13
+ });
14
+ }
15
+ };
16
+ },
17
+ getLocaleUtils: (): any => {
18
+ return {
19
+ getLocaleValue: value => {
20
+ return value;
21
+ }
22
+ };
12
23
  },
13
24
  getEnvironmentInfo: (): any => {
14
25
  return {
@@ -57,6 +68,9 @@ export const BasePegaDxilMyTwoColumnDetails: Story = args => {
57
68
  },
58
69
  resolveConfigProps: () => {
59
70
  /* nothing */
71
+ },
72
+ createComponent: () => {
73
+ /* nothing */
60
74
  }
61
75
  };
62
76
  }
@@ -109,9 +109,9 @@ export default function CaseSummaryFields(props: CaseSummaryFieldsProps) {
109
109
  label={field.config.label}
110
110
  InputProps={{
111
111
  readOnly: true,
112
+ disableUnderline: true,
112
113
  inputProps: {
113
- style: { cursor: 'pointer' },
114
- disableUnderline: true
114
+ style: { cursor: 'pointer' }
115
115
  }
116
116
  }}
117
117
  />
@@ -9,6 +9,7 @@ interface FieldValueListProps {
9
9
  name?: string;
10
10
  value: any;
11
11
  variant?: string;
12
+ isHtml?: boolean;
12
13
  }
13
14
 
14
15
  const useStyles = makeStyles(theme => ({
@@ -45,7 +46,7 @@ function formatItemValue(value) {
45
46
  }
46
47
 
47
48
  export default function FieldValueList(props: FieldValueListProps) {
48
- const { name, value, variant = 'inline' } = props;
49
+ const { name, value, variant = 'inline', isHtml = false } = props;
49
50
  const classes = useStyles();
50
51
 
51
52
  function getGridItemLabel() {
@@ -63,9 +64,14 @@ export default function FieldValueList(props: FieldValueListProps) {
63
64
 
64
65
  return (
65
66
  <Grid item xs={variant === 'stacked' ? 12 : 6} className={variant === 'stacked' ? classes.noPaddingTop : ''}>
66
- <Typography variant={variant === 'stacked' ? 'h6' : 'body2'} component='span' className={classes.fieldValue}>
67
- {formattedValue}
68
- </Typography>
67
+ {isHtml ? (
68
+ // eslint-disable-next-line react/no-danger
69
+ <div dangerouslySetInnerHTML={{ __html: formattedValue }} />
70
+ ) : (
71
+ <Typography variant={variant === 'stacked' ? 'h6' : 'body2'} component='span' className={classes.fieldValue}>
72
+ {formattedValue}
73
+ </Typography>
74
+ )}
69
75
  </Grid>
70
76
  );
71
77
  }
@@ -1,19 +1,35 @@
1
+ /* eslint-disable react/no-array-index-key */
1
2
  import { useState, useEffect } from 'react';
2
3
  import { Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, FormLabel } from '@material-ui/core';
3
4
 
4
5
  import handleEvent from '@pega/react-sdk-components/lib/components/helpers/event-utils';
5
6
  import { getComponentFromMap } from '@pega/react-sdk-components/lib/bridge/helpers/sdk_component_map';
7
+ import { insertInstruction, deleteInstruction, updateNewInstuctions } from '@pega/react-sdk-components/lib/components/helpers/instructions-utils';
6
8
  import { PConnFieldProps } from '@pega/react-sdk-components/lib/types/PConnProps';
9
+ import { makeStyles } from '@material-ui/core/styles';
7
10
 
8
11
  interface CheckboxProps extends Omit<PConnFieldProps, 'value'> {
9
12
  // If any, enter additional props that only exist on Checkbox here
10
13
  value?: boolean;
11
- // eslint-disable-next-line react/no-unused-prop-types
12
14
  caption?: string;
13
15
  trueLabel?: string;
14
16
  falseLabel?: string;
17
+ selectionMode?: string;
18
+ datasource?: any;
19
+ selectionKey?: string;
20
+ selectionList?: any;
21
+ primaryField: string;
22
+ readonlyContextList: any;
23
+ referenceList: string;
15
24
  }
16
25
 
26
+ const useStyles = makeStyles(() => ({
27
+ checkbox: {
28
+ display: 'flex',
29
+ flexDirection: 'column'
30
+ }
31
+ }));
32
+
17
33
  export default function CheckboxComponent(props: CheckboxProps) {
18
34
  // Get emitted components from map (so we can get any override that may exist)
19
35
  const FieldValueList = getComponentFromMap('FieldValueList');
@@ -21,7 +37,8 @@ export default function CheckboxComponent(props: CheckboxProps) {
21
37
  const {
22
38
  getPConnect,
23
39
  label,
24
- value = false,
40
+ caption,
41
+ value,
25
42
  readOnly,
26
43
  testId,
27
44
  required,
@@ -32,22 +49,34 @@ export default function CheckboxComponent(props: CheckboxProps) {
32
49
  displayMode,
33
50
  hideLabel,
34
51
  trueLabel,
35
- falseLabel
52
+ falseLabel,
53
+ selectionMode,
54
+ datasource,
55
+ selectionKey,
56
+ selectionList,
57
+ primaryField,
58
+ referenceList,
59
+ readonlyContextList: selectedvalues
36
60
  } = props;
61
+ const classes = useStyles();
37
62
  const helperTextToDisplay = validatemessage || helperText;
38
-
39
63
  const thePConn = getPConnect();
40
- const theConfigProps = thePConn.getConfigProps() as CheckboxProps;
41
- const caption = theConfigProps.caption;
42
64
  const actionsApi = thePConn.getActionsApi();
43
65
  const propName = (thePConn.getStateProps() as any).value;
44
66
 
45
- const [checked, setChecked] = useState(false);
67
+ const [checked, setChecked] = useState<any>(false);
46
68
  useEffect(() => {
47
69
  // This update theSelectedButton which will update the UI to show the selected button correctly
48
70
  setChecked(value);
49
71
  }, [value]);
50
72
 
73
+ useEffect(() => {
74
+ if (referenceList?.length > 0) {
75
+ thePConn.setReferenceList(selectionList);
76
+ updateNewInstuctions(thePConn, selectionList);
77
+ }
78
+ }, [thePConn]);
79
+
51
80
  if (displayMode === 'LABELS_LEFT') {
52
81
  return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />;
53
82
  }
@@ -64,28 +93,77 @@ export default function CheckboxComponent(props: CheckboxProps) {
64
93
  thePConn.getValidationApi().validate(event.target.checked);
65
94
  };
66
95
 
67
- let theCheckbox = <Checkbox color='primary' disabled={disabled} />;
96
+ const handleChangeMultiMode = (event, element) => {
97
+ if (event.target.checked) {
98
+ insertInstruction(thePConn, selectionList, selectionKey, primaryField, {
99
+ id: element.key,
100
+ primary: element.text ?? element.value
101
+ });
102
+ } else {
103
+ deleteInstruction(thePConn, selectionList, selectionKey, {
104
+ id: element.key,
105
+ primary: element.text ?? element.value
106
+ });
107
+ }
108
+ thePConn.clearErrorMessages({
109
+ property: selectionList,
110
+ category: '',
111
+ context: ''
112
+ });
113
+ };
68
114
 
69
- if (readOnly) {
70
- // Workaround for lack of InputProps readOnly from https://github.com/mui-org/material-ui/issues/17043
71
- // Also note that we need to turn off the onChange call in the FormControlLabel wrapper, too. See below!
72
- theCheckbox = <Checkbox value={value || false} readOnly={readOnly} />;
115
+ let theCheckbox;
116
+ const listOfCheckboxes: any = [];
117
+ if (selectionMode === 'multi') {
118
+ const listSourceItems = datasource?.source ?? [];
119
+ const dataField: any = selectionKey?.split?.('.')[1];
120
+ listSourceItems.forEach((element, index) => {
121
+ listOfCheckboxes.push(
122
+ <FormControlLabel
123
+ control={
124
+ <Checkbox
125
+ key={index}
126
+ checked={selectedvalues?.some?.(data => data[dataField] === element.key)}
127
+ onChange={event => handleChangeMultiMode(event, element)}
128
+ onBlur={() => {
129
+ thePConn.getValidationApi().validate(selectedvalues, selectionList);
130
+ }}
131
+ data-testid={`${testId}:${element.value}`}
132
+ />
133
+ }
134
+ key={index}
135
+ label={element.text ?? element.value}
136
+ labelPlacement='end'
137
+ data-test-id={testId}
138
+ />
139
+ );
140
+ });
141
+ theCheckbox = <div className={classes.checkbox}>{listOfCheckboxes}</div>;
142
+ } else {
143
+ theCheckbox = (
144
+ <FormControlLabel
145
+ control={
146
+ <Checkbox
147
+ color='primary'
148
+ checked={checked}
149
+ onChange={!readOnly ? handleChange : undefined}
150
+ onBlur={!readOnly ? handleBlur : undefined}
151
+ value={value}
152
+ disabled={disabled}
153
+ readOnly={readOnly}
154
+ />
155
+ }
156
+ label={caption}
157
+ labelPlacement='end'
158
+ data-test-id={testId}
159
+ />
160
+ );
73
161
  }
74
162
 
75
163
  return (
76
164
  <FormControl required={required} error={status === 'error'}>
77
165
  {!hideLabel && <FormLabel component='legend'>{label}</FormLabel>}
78
- <FormGroup>
79
- <FormControlLabel
80
- control={theCheckbox}
81
- checked={checked}
82
- onChange={!readOnly ? handleChange : undefined}
83
- onBlur={!readOnly ? handleBlur : undefined}
84
- label={caption}
85
- labelPlacement='end'
86
- data-test-id={testId}
87
- />
88
- </FormGroup>
166
+ <FormGroup>{theCheckbox}</FormGroup>
89
167
  <FormHelperText>{helperTextToDisplay}</FormHelperText>
90
168
  </FormControl>
91
169
  );
@@ -15,6 +15,7 @@ interface DecimalProps extends PConnFieldProps {
15
15
  currencyISOCode?: string;
16
16
  decimalPrecision?: number;
17
17
  showGroupSeparators?: string;
18
+ formatter?: string;
18
19
  }
19
20
 
20
21
  export default function Decimal(props: DecimalProps) {
@@ -38,7 +39,8 @@ export default function Decimal(props: DecimalProps) {
38
39
  decimalPrecision = 2,
39
40
  showGroupSeparators = true,
40
41
  testId,
41
- placeholder
42
+ placeholder,
43
+ formatter
42
44
  } = props;
43
45
 
44
46
  const pConn = getPConnect();
@@ -49,9 +51,16 @@ export default function Decimal(props: DecimalProps) {
49
51
  const theSymbols = getCurrencyCharacters(currencyISOCode);
50
52
  const theCurrDec = theSymbols.theDecimalIndicator;
51
53
  const theCurrSep = theSymbols.theDigitGroupSeparator;
54
+ const theCurrSym = theSymbols.theCurrencySymbol;
52
55
 
53
56
  const theCurrencyOptions = getCurrencyOptions(currencyISOCode);
54
- const formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
57
+
58
+ let formattedValue = '';
59
+ if (formatter === 'Currency') {
60
+ formattedValue = format(value, formatter.toLowerCase(), theCurrencyOptions);
61
+ } else {
62
+ formattedValue = format(value, pConn.getComponentName().toLowerCase(), theCurrencyOptions);
63
+ }
55
64
 
56
65
  if (displayMode === 'LABELS_LEFT') {
57
66
  return <FieldValueList name={hideLabel ? '' : label} value={formattedValue} />;
@@ -86,7 +95,7 @@ export default function Decimal(props: DecimalProps) {
86
95
  outputFormat='number'
87
96
  textAlign='left'
88
97
  InputProps={{ inputProps: { ...testProp } }}
89
- currencySymbol=''
98
+ currencySymbol={readOnly && formatter === 'Currency' ? theCurrSym : ''}
90
99
  decimalCharacter={theCurrDec}
91
100
  digitGroupSeparator={showGroupSeparators ? theCurrSep : ''}
92
101
  decimalPlaces={decimalPrecision}