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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) 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/util.js +7 -0
  131. package/tests/assets/sdk-r/components/create/_components.md +6 -0
  132. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +23 -9
  133. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +4 -22
  134. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +8 -1
  135. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +7 -14
  136. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  137. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  138. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  139. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +12 -3
  140. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  141. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/index.tsx +1 -0
  142. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +230 -0
  143. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +2 -2
  144. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  145. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +6 -6
  146. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  147. package/tests/assets/sdk-r/components/createAll/_components.md +6 -0
  148. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.ts +35 -0
  149. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/demo.stories.tsx +28 -20
  150. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +11 -48
  151. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/mock.ts +2 -1
  152. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/styles.ts +7 -14
  153. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/demo.stories.tsx +28 -15
  154. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/index.tsx +24 -76
  155. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/mock.ts +11 -1
  156. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/styles.ts +7 -14
  157. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/{DateFormatter.js → DateFormatter.ts} +6 -6
  158. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.tsx +20 -0
  159. 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
  160. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/demo.stories.tsx +31 -24
  161. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/index.tsx +19 -60
  162. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/mock.ts +2 -1
  163. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/styles.ts +7 -14
  164. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-time.js → date-time.ts} +12 -12
  165. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-utils.js → date-utils.ts} +27 -26
  166. 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
  167. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/demo.stories.tsx +32 -25
  168. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/index.tsx +13 -60
  169. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/mock.ts +3 -1
  170. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/styles.ts +7 -14
  171. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/demo.stories.tsx +25 -13
  172. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/index.tsx +15 -68
  173. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/mock.ts +9 -1
  174. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/styles.ts +7 -14
  175. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/demo.stories.tsx +24 -11
  176. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/index.tsx +10 -47
  177. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/mock.ts +8 -1
  178. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/styles.ts +7 -14
  179. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/demo.stories.tsx +25 -12
  180. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/index.tsx +24 -88
  181. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/mock.ts +8 -2
  182. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/styles.ts +7 -14
  183. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/demo.stories.tsx +24 -11
  184. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/index.tsx +13 -49
  185. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/mock.ts +9 -1
  186. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/styles.ts +7 -14
  187. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/demo.stories.tsx +25 -12
  188. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/index.tsx +14 -55
  189. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/mock.ts +9 -2
  190. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/styles.ts +7 -14
  191. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/demo.stories.tsx +25 -11
  192. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/index.tsx +14 -53
  193. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/mock.ts +9 -1
  194. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/styles.ts +7 -14
  195. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/demo.stories.tsx +25 -12
  196. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +13 -61
  197. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/mock.ts +9 -1
  198. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/styles.ts +7 -14
  199. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +25 -13
  200. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +11 -58
  201. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/mock.ts +9 -1
  202. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/styles.ts +7 -14
  203. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MySearchbox/textformat-utils.jsx → Pega_DXIL_MyRadiobuttons/textformat-utils.tsx} +1 -0
  204. 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
  205. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/demo.stories.tsx +26 -14
  206. 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
  207. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +15 -76
  208. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/mock.ts +8 -1
  209. 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
  210. 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
  211. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{repeat-utils.js → repeat-utils.ts} +6 -12
  212. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/styles.ts +7 -14
  213. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MyRadiobuttons/textformat-utils.jsx → Pega_DXIL_MySearchbox/textformat-utils.tsx} +30 -10
  214. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
  215. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/demo.stories.tsx +23 -9
  216. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +4 -22
  217. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/mock.ts +8 -1
  218. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/styles.ts +7 -14
  219. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  220. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/demo.stories.tsx +24 -11
  221. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.tsx +11 -51
  222. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/mock.ts +9 -1
  223. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/styles.ts +7 -14
  224. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +28 -22
  225. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/index.tsx +17 -53
  226. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/mock.ts +2 -1
  227. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/styles.ts +7 -14
  228. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/{time-of-day.js → time-of-day.ts} +24 -23
  229. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/demo.stories.tsx +24 -11
  230. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/index.tsx +15 -71
  231. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/mock.ts +9 -1
  232. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/styles.ts +7 -14
  233. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/{text-url.jsx → text-url.tsx} +4 -3
  234. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  235. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +19 -8
  236. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +4 -17
  237. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +7 -14
  238. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/demo.stories.tsx +18 -8
  239. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +5 -13
  240. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/styles.ts +7 -14
  241. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/demo.stories.tsx +14 -8
  242. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/index.tsx +5 -16
  243. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/styles.ts +7 -14
  244. 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
  245. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  246. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -8
  247. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +5 -19
  248. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +7 -14
  249. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/{utils.js → utils.ts} +15 -13
  250. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +17 -7
  251. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +4 -10
  252. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/styles.ts +7 -14
  253. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +13 -7
  254. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -10
  255. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/styles.ts +7 -14
  256. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +3 -13
  257. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Operator.tsx +5 -20
  258. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +15 -9
  259. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +24 -39
  260. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/styles.ts +7 -14
  261. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +18 -13
  262. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +4 -18
  263. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/styles.ts +7 -14
  264. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +101 -23
  265. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +3 -1
  266. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/config.json +155 -0
  267. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +12 -3
  268. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +4 -0
  269. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +10 -0
  270. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -3
  271. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  272. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  273. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  274. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +12 -3
  275. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  276. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/index.tsx +1 -0
  277. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +230 -0
  278. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +2 -2
  279. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  280. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +6 -6
  281. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  282. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.js.mustache +0 -38
  283. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.jsx.mustache +0 -41
  284. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.js +0 -38
  285. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.jsx +0 -41
  286. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{component-constants.js → component-constants.ts} +0 -0
  287. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{format-constants.js.mustache → format-constants.ts.mustache} +0 -0
  288. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{component-constants.js → component-constants.ts} +0 -0
  289. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{format-constants.js → format-constants.ts} +0 -0
@@ -1,6 +1,5 @@
1
1
  import { useState, useEffect } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Table, Text } from '@pega/cosmos-react-core';
2
+ import { Table, Text, withConfiguration } from '@pega/cosmos-react-core';
4
3
  import type { PConnFieldProps } from './PConnProps';
5
4
 
6
5
  import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
@@ -16,7 +15,7 @@ interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
16
15
 
17
16
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
18
17
  // any default values in config.pros should be set in defaultProps at bottom of this file
19
- export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
18
+ function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
20
19
  const { getPConnect, label } = props;
21
20
  const pConn = getPConnect();
22
21
  const [history, setHistory] = useState([]);
@@ -77,10 +76,4 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
77
76
 
78
77
  }
79
78
 
80
- {{COMPONENT_CLASS_NAME}}.defaultProps = {
81
-
82
- };
83
-
84
- {{COMPONENT_CLASS_NAME}}.propTypes = {
85
- getPConnect: PropTypes.func.isRequired
86
- };
79
+ export default withConfiguration({{COMPONENT_CLASS_NAME}});
@@ -1,15 +1,8 @@
1
-
2
- // utilizing theming, comment out, if want individual style
3
- import styled from 'styled-components';
4
- import { Configuration } from '@pega/cosmos-react-core';
5
-
6
- export default styled(Configuration)``;
7
-
8
1
  // individual style, comment out above, and uncomment here and add styles
9
- // import styled, { css } from 'styled-components';
10
- //
11
- // export default styled.div(() => {
12
- // return css`
13
- // margin: 0px 0;
14
- // `;
15
- // });
2
+ import styled, { css } from 'styled-components';
3
+
4
+ export default styled.div(() => {
5
+ return css`
6
+ margin: 0px 0;
7
+ `;
8
+ });
@@ -1,33 +1,38 @@
1
1
 
2
2
  /* eslint-disable react/jsx-no-useless-fragment */
3
3
  // @ts-nocheck
4
- import { withKnobs } from '@storybook/addon-knobs';
4
+ import type { Meta, StoryObj } from '@storybook/react';
5
5
 
6
6
  import {{COMPONENT_CLASS_NAME}} from './index';
7
7
 
8
8
 
9
9
  import configProps from './mock';
10
10
 
11
- export default {
11
+ const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
12
12
  title: '{{COMPONENT_CLASS_NAME}}',
13
- decorators: [withKnobs],
14
- component: {{COMPONENT_CLASS_NAME}}
13
+ component: {{COMPONENT_CLASS_NAME}},
14
+ excludeStories: /.*Data$/
15
15
  };
16
16
 
17
- export const Base{{COMPONENT_CLASS_NAME}} = () => {
17
+ export default meta;
18
+ type Story = StoryObj<typeof {{COMPONENT_CLASS_NAME}}>;
19
+
20
+ export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
18
21
 
19
22
  const props = {
20
- label: configProps.label,
21
- header: configProps.header,
22
- description: configProps.description,
23
- image: configProps.image,
24
- datasource: configProps.datasource,
25
- whatsnewlink: configProps.whatsnewlink
26
- };
23
+ image: configProps.image
24
+ };
27
25
 
28
26
  return (
29
27
  <>
30
- <{{COMPONENT_CLASS_NAME}} {...props} />
28
+ <{{COMPONENT_CLASS_NAME}} {...props} {...args} />
31
29
  </>
32
30
  );
33
31
  };
32
+
33
+ Base{{COMPONENT_CLASS_NAME}}.args = {
34
+ header: configProps.header,
35
+ description: configProps.description,
36
+ whatsnewlink: configProps.whatsnewlink,
37
+ datasource: configProps.datasource,
38
+ };
@@ -1,4 +1,4 @@
1
- import PropTypes from 'prop-types';
1
+ import { withConfiguration } from '@pega/cosmos-react-core';
2
2
  import { AppAnnouncement as PegaAppAnnouncement } from '@pega/cosmos-react-work';
3
3
  import type { PConnFieldProps } from './PConnProps';
4
4
 
@@ -19,9 +19,9 @@ interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
19
19
 
20
20
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
21
21
  // any default values in config.pros should be set in defaultProps at bottom of this file
22
- export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
22
+ function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
23
23
 
24
- const { header, description, datasource, whatsnewlink, image } = props;
24
+ const { header, description, datasource = [], whatsnewlink, image } = props;
25
25
  let details = [];
26
26
  // @ts-ignore
27
27
  if (datasource && datasource.source) {
@@ -44,18 +44,4 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
44
44
 
45
45
  }
46
46
 
47
- {{COMPONENT_CLASS_NAME}}.defaultProps = {
48
- header: '',
49
- description: '',
50
- image: '',
51
- datasource: [],
52
- whatsnewlink: ''
53
- };
54
-
55
- {{COMPONENT_CLASS_NAME}}.propTypes = {
56
- header: PropTypes.string,
57
- description: PropTypes.string,
58
- datasource: PropTypes.instanceOf(Object),
59
- whatsnewlink: PropTypes.string,
60
- image: PropTypes.string
61
- };
47
+ export default withConfiguration({{COMPONENT_CLASS_NAME}});
@@ -1,15 +1,8 @@
1
-
2
- // utilizing theming, comment out, if want individual style
3
- import styled from 'styled-components';
4
- import { Configuration } from '@pega/cosmos-react-core';
5
-
6
- export default styled(Configuration)``;
7
-
8
1
  // individual style, comment out above, and uncomment here and add styles
9
- // import styled, { css } from 'styled-components';
10
- //
11
- // export default styled.div(() => {
12
- // return css`
13
- // margin: 0px 0;
14
- // `;
15
- // });
2
+ import styled, { css } from 'styled-components';
3
+
4
+ export default styled.div(() => {
5
+ return css`
6
+ margin: 0px 0;
7
+ `;
8
+ });
@@ -1,8 +1,7 @@
1
1
  /* eslint-disable react-hooks/rules-of-hooks */
2
2
  import React from 'react';
3
3
  import { useEffect, useState } from 'react';
4
- import PropTypes from 'prop-types';
5
- import { Avatar as CosmosAvatar } from '@pega/cosmos-react-core';
4
+ import { Avatar as CosmosAvatar, withConfiguration } from '@pega/cosmos-react-core';
6
5
  import type { PConnFieldProps } from './PConnProps';
7
6
 
8
7
 
@@ -15,7 +14,7 @@ interface {{COMPONENT_CLASS_NAME}}AvatarProps extends PConnFieldProps {
15
14
  }
16
15
 
17
16
  function Avatar(props: {{COMPONENT_CLASS_NAME}}AvatarProps) {
18
- const { metaObj, showStatus } = props;
17
+ const { metaObj, showStatus = false } = props;
19
18
  const [imageBlobUrl, setImageBlobUrl] = useState(null);
20
19
  let userName: string;
21
20
  let userIdentifier: string;
@@ -75,14 +74,5 @@ function Avatar(props: {{COMPONENT_CLASS_NAME}}AvatarProps) {
75
74
  return <CosmosAvatar name={userName} imageSrc={imageBlobUrl as React.SetStateAction<any>} />;
76
75
  }
77
76
 
78
- Avatar.propTypes = {
79
- metaObj: PropTypes.objectOf(PropTypes.any),
80
- showStatus: PropTypes.bool
81
- };
82
77
 
83
- Avatar.defaultProps = {
84
- metaObj: null,
85
- showStatus: false
86
- };
87
-
88
- export default Avatar;
78
+ export default withConfiguration(Avatar);
@@ -8,11 +8,11 @@ import {
8
8
  useElement,
9
9
  Progress,
10
10
  FormField,
11
- useTheme
11
+ useTheme,
12
+ withConfiguration
12
13
  } from '@pega/cosmos-react-core';
13
14
  import { Glimpse } from '@pega/cosmos-react-work';
14
15
  import { EmailDisplay } from '@pega/cosmos-react-core';
15
- import PropTypes from 'prop-types';
16
16
 
17
17
  import type { PConnFieldProps } from './PConnProps';
18
18
 
@@ -31,7 +31,7 @@ interface {{COMPONENT_CLASS_NAME}}OperatorProps extends PConnFieldProps {
31
31
 
32
32
  let pTarget = null;
33
33
 
34
- export default function Operator(props: {{COMPONENT_CLASS_NAME}}OperatorProps) {
34
+ function Operator(props: {{COMPONENT_CLASS_NAME}}OperatorProps) {
35
35
  const { id, name, label, testId, helperText, externalUser, metaObj } = props;
36
36
  const [isOpen, setIsOpen] = useState(false);
37
37
  const [isLoading, setIsLoading] = useState(true);
@@ -92,7 +92,7 @@ export default function Operator(props: {{COMPONENT_CLASS_NAME}}OperatorProps) {
92
92
  } else {
93
93
  return PCore.getUserApi()
94
94
  .getOperatorDetails(id, true)
95
- .then((res: any) => {
95
+ .then(res => {
96
96
  if (res.data?.pyOperatorInfo) {
97
97
  const fields = [];
98
98
  const data = res.data;
@@ -214,20 +214,5 @@ export default function Operator(props: {{COMPONENT_CLASS_NAME}}OperatorProps) {
214
214
  return comp;
215
215
  };
216
216
 
217
- Operator.propTypes = {
218
- name: PropTypes.string,
219
- id: PropTypes.string,
220
- label: PropTypes.string,
221
- testId: PropTypes.string,
222
- helperText: PropTypes.string,
223
- metaObj: PropTypes.object
224
- };
225
217
 
226
- Operator.defaultProps = {
227
- name: '',
228
- id: '',
229
- label: null,
230
- testId: null,
231
- helperText: null,
232
- metaObj: null
233
- };
218
+ export default withConfiguration(Operator);
@@ -1,17 +1,20 @@
1
1
  /* eslint-disable react/jsx-no-useless-fragment */
2
2
  // @ts-nocheck
3
- import { withKnobs } from '@storybook/addon-knobs';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
4
 
5
5
  import {{COMPONENT_CLASS_NAME}} from './index';
6
6
 
7
7
  import { configProps, operatorDetails } from './mock';
8
8
 
9
- export default {
9
+ const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
10
10
  title: '{{COMPONENT_CLASS_NAME}}',
11
- decorators: [withKnobs],
12
- component: {{COMPONENT_CLASS_NAME}}
11
+ component: {{COMPONENT_CLASS_NAME}},
12
+ excludeStories: /.*Data$/
13
13
  };
14
14
 
15
+ export default meta;
16
+ type Story = StoryObj<typeof {{COMPONENT_CLASS_NAME}}>;
17
+
15
18
  if (!window.PCore) {
16
19
  window.PCore = {};
17
20
  }
@@ -34,17 +37,14 @@ window.PCore.getUserApi = () => {
34
37
  };
35
38
  };
36
39
 
37
- export const Base{{COMPONENT_CLASS_NAME}} = () => {
40
+ export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
38
41
 
39
42
  const props = {
40
43
  label: configProps.label,
41
- createLabel: configProps.createLabel,
42
- updateLabel: configProps.updateLabel,
43
44
  createOperator: configProps.createOperator,
44
45
  updateOperator: configProps.updateOperator,
45
46
  createDateTime: configProps.createDateTime,
46
47
  updateDateTime: configProps.updateDateTime,
47
- hideLabel: configProps.hideLabel,
48
48
 
49
49
  getPConnect: () => {
50
50
  return {
@@ -64,7 +64,13 @@ export const Base{{COMPONENT_CLASS_NAME}} = () => {
64
64
 
65
65
  return (
66
66
  <>
67
- <{{COMPONENT_CLASS_NAME}} {...props} />
67
+ <{{COMPONENT_CLASS_NAME}} {...props} {...args} />
68
68
  </>
69
69
  );
70
70
  };
71
+
72
+ Base{{COMPONENT_CLASS_NAME}}.args = {
73
+ createLabel: configProps.createLabel,
74
+ updateLabel: configProps.updateLabel,
75
+ hideLabel: configProps.hideLabel
76
+ };
@@ -1,8 +1,8 @@
1
1
 
2
2
  /* eslint-disable no-nested-ternary */
3
3
  import { Fragment } from 'react';
4
- import { DateTimeDisplay, Card, CardHeader, CardContent, Flex } from '@pega/cosmos-react-core';
5
- import PropTypes from 'prop-types';
4
+ import { DateTimeDisplay, Card, CardHeader, CardContent, Flex, withConfiguration } from '@pega/cosmos-react-core';
5
+
6
6
  import type { PConnFieldProps } from './PConnProps';
7
7
 
8
8
  // includes in bundle
@@ -25,7 +25,6 @@ interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
25
25
  updateDateTime: string;
26
26
  resolveDateTime: string;
27
27
  hideLabel: boolean;
28
-
29
28
  }
30
29
 
31
30
 
@@ -33,12 +32,12 @@ interface {{COMPONENT_CLASS_NAME}}Props extends PConnFieldProps {
33
32
 
34
33
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
35
34
  // any default values in config.pros should be set in defaultProps at bottom of this file
36
- export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
35
+ function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
37
36
 
38
37
  const {
39
38
  getPConnect,
40
- title,
41
- label,
39
+ title = 'Create operator',
40
+ label = 'Create operator',
42
41
  createLabel,
43
42
  updateLabel,
44
43
  createOperator,
@@ -68,9 +67,22 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
68
67
  <CardContent>
69
68
  {{! pick new delimiters for mustache }} {{=<% %>=}}
70
69
  <Flex container={{ direction: 'row'}}>
71
- <Operator label={hideLabel ? undefined : _label} name={user.userName} id={user.userId} getPConnect={getPConnect} value={undefined} validatemessage='' hideLabel={false} readOnly={false} required={false} disabled={false} externalUser={undefined} />
72
-
73
-
70
+ <Operator
71
+ label={hideLabel ? '' : _label}
72
+ name={user.userName}
73
+ id={user.userId}
74
+ getPConnect={getPConnect}
75
+ value={undefined}
76
+ validatemessage=''
77
+ hideLabel={false}
78
+ readOnly={false}
79
+ required={false}
80
+ disabled={false}
81
+ externalUser={undefined}
82
+ metaObj={undefined}
83
+ testId=''
84
+ helperText=''
85
+ />
74
86
  <%={{ }}=%> {{! revert delimiters for mustache }}
75
87
  {dateTimeValue && (
76
88
  <Fragment>
@@ -93,36 +105,9 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
93
105
 
94
106
  }
95
107
 
96
- {{COMPONENT_CLASS_NAME}}.defaultProps = {
97
- "label": "Create operator",
98
- "title": "Create operator",
99
- createLabel: null,
100
- updateLabel: null,
101
- createOperator: null,
102
- updateOperator: null,
103
- createDateTime: null,
104
- updateDateTime: null,
105
- resolveLabel: null,
106
- resolveOperator: null,
107
- resolveDateTime: null,
108
- hideLabel: false
109
- };
110
-
111
- {{COMPONENT_CLASS_NAME}}.propTypes = {
112
- getPConnect: PropTypes.func.isRequired,
113
- label: PropTypes.string,
114
- title: PropTypes.string,
115
- createLabel: PropTypes.string,
116
- updateLabel: PropTypes.string,
117
- resolveLabel: PropTypes.string,
118
- createOperator: PropTypes.objectOf(PropTypes.any),
119
- updateOperator: PropTypes.objectOf(PropTypes.any),
120
- resolveOperator: PropTypes.objectOf(PropTypes.any),
121
- createDateTime: PropTypes.string,
122
- updateDateTime: PropTypes.string,
123
- resolveDateTime: PropTypes.string,
124
- hideLabel: PropTypes.bool
125
- };
108
+
109
+
110
+ export default withConfiguration({{COMPONENT_CLASS_NAME}});
126
111
 
127
112
  // as objects are there in props, shallow comparision fails & re-rendering of comp happens even with
128
113
  // same key value pairs in obj. hence using custom comparison function on when to re-render
@@ -1,15 +1,8 @@
1
-
2
- // utilizing theming, comment out, if want individual style
3
- import styled from 'styled-components';
4
- import { Configuration } from '@pega/cosmos-react-core';
5
-
6
- export default styled(Configuration)``;
7
-
8
1
  // individual style, comment out above, and uncomment here and add styles
9
- // import styled, { css } from 'styled-components';
10
- //
11
- // export default styled.div(() => {
12
- // return css`
13
- // margin: 0px 0;
14
- // `;
15
- // });
2
+ import styled, { css } from 'styled-components';
3
+
4
+ export default styled.div(() => {
5
+ return css`
6
+ margin: 0px 0;
7
+ `;
8
+ });
@@ -4,7 +4,7 @@ import { MatButtonModule } from '@angular/material/button';
4
4
  import { Utils } from '@pega/angular-sdk-components';
5
5
 
6
6
  @Component({
7
- selector: 'app-{{COMPONENT_CLASS_NAME_KEBAB}}',
7
+ selector: 'app-{{COMPONENT_CLASS_NAME_KEBAB}}',
8
8
  templateUrl: './{{COMPONENT_CLASS_NAME_KEBAB}}.component.html',
9
9
  styleUrls: ['./{{COMPONENT_CLASS_NAME_KEBAB}}.component.scss'],
10
10
  standalone: true,
@@ -12,7 +12,7 @@ import { Utils } from '@pega/angular-sdk-components';
12
12
  })
13
13
  export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnChanges, OnDestroy {
14
14
  @Input() pConn$: typeof PConnect;
15
-
15
+ @Input() displayLabel;
16
16
  fields$: any[] = [];
17
17
  bShowPopover$: boolean;
18
18
  date$: string;
@@ -51,15 +51,17 @@ export class {{COMPONENT_CLASS_NAME}}Component implements OnInit, OnChanges, OnD
51
51
 
52
52
  updateSelf(): void {
53
53
  const configProps$ = this.pConn$.getConfigProps() as any;
54
- if (configProps$?.label?.toLowerCase() == 'create operator') {
54
+ this.displayLabel = this.displayLabel?.toLowerCase();
55
+ const label = configProps$?.label?.toLowerCase();
56
+ if (label === 'create operator' || this.displayLabel === 'create operator') {
55
57
  this.name$ = configProps$.createOperator.userName;
56
58
  this.id$ = configProps$.createOperator.userId;
57
59
  this.label$ = configProps$.createLabel;
58
- } else if (configProps$?.label?.toLowerCase() == 'update operator') {
60
+ } else if (label === 'update operator' || this.displayLabel === 'update operator') {
59
61
  this.name$ = configProps$.updateOperator.userName;
60
62
  this.id$ = configProps$.updateOperator.userId;
61
63
  this.label$ = configProps$.updateLabel;
62
- } else if (configProps$?.label?.toLowerCase() == 'resolve operator') {
64
+ } else if (label === 'resolve operator' || this.displayLabel === 'resolve operator') {
63
65
  this.name$ = configProps$.resolveOperator.userName;
64
66
  this.id$ = configProps$.resolveOperator.userId;
65
67
  this.label$ = configProps$.resolveLabel;
@@ -1,20 +1,36 @@
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
  import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
8
11
 
9
12
  interface {{COMPONENT_CLASS_NAME}}Props extends Omit<PConnFieldProps, 'value'> {
10
13
  // If any, enter additional props that only exist on this componentName
11
14
  value?: boolean;
12
- // eslint-disable-next-line react/no-unused-prop-types
13
15
  caption?: string;
14
16
  trueLabel?: string;
15
17
  falseLabel?: string;
18
+ selectionMode?: string;
19
+ datasource?: any;
20
+ selectionKey?: string;
21
+ selectionList?: any;
22
+ primaryField: string;
23
+ readonlyContextList: any;
24
+ referenceList: string;
16
25
  }
17
26
 
27
+ const useStyles = makeStyles(() => ({
28
+ checkbox: {
29
+ display: 'flex',
30
+ flexDirection: 'column'
31
+ }
32
+ }));
33
+
18
34
  // Duplicated runtime code from React SDK
19
35
 
20
36
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
@@ -25,7 +41,8 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
25
41
  const {
26
42
  getPConnect,
27
43
  label,
28
- value = false,
44
+ caption,
45
+ value,
29
46
  readOnly,
30
47
  testId,
31
48
  required,
@@ -36,22 +53,34 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
36
53
  displayMode,
37
54
  hideLabel,
38
55
  trueLabel,
39
- falseLabel
56
+ falseLabel,
57
+ selectionMode,
58
+ datasource,
59
+ selectionKey,
60
+ selectionList,
61
+ primaryField,
62
+ referenceList,
63
+ readonlyContextList: selectedvalues
40
64
  } = props;
65
+ const classes = useStyles();
41
66
  const helperTextToDisplay = validatemessage || helperText;
42
-
43
67
  const thePConn = getPConnect();
44
- const theConfigProps = thePConn.getConfigProps() as {{COMPONENT_CLASS_NAME}}Props;
45
- const caption = theConfigProps.caption;
46
68
  const actionsApi = thePConn.getActionsApi();
47
69
  const propName = (thePConn.getStateProps() as any).value;
48
70
 
49
- const [checked, setChecked] = useState(false);
71
+ const [checked, setChecked] = useState<any>(false);
50
72
  useEffect(() => {
51
73
  // This update theSelectedButton which will update the UI to show the selected button correctly
52
74
  setChecked(value);
53
75
  }, [value]);
54
76
 
77
+ useEffect(() => {
78
+ if (referenceList?.length > 0) {
79
+ thePConn.setReferenceList(selectionList);
80
+ updateNewInstuctions(thePConn, selectionList);
81
+ }
82
+ }, [thePConn]);
83
+
55
84
  if (displayMode === 'LABELS_LEFT') {
56
85
  return <FieldValueList name={hideLabel ? '' : caption} value={value ? trueLabel : falseLabel} />;
57
86
  }
@@ -68,29 +97,78 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
68
97
  thePConn.getValidationApi().validate(event.target.checked);
69
98
  };
70
99
 
71
- let theCheckbox = <Checkbox color='primary' disabled={disabled} />;
100
+ const handleChangeMultiMode = (event, element) => {
101
+ if (event.target.checked) {
102
+ insertInstruction(thePConn, selectionList, selectionKey, primaryField, {
103
+ id: element.key,
104
+ primary: element.text ?? element.value
105
+ });
106
+ } else {
107
+ deleteInstruction(thePConn, selectionList, selectionKey, {
108
+ id: element.key,
109
+ primary: element.text ?? element.value
110
+ });
111
+ }
112
+ thePConn.clearErrorMessages({
113
+ property: selectionList,
114
+ category: '',
115
+ context: ''
116
+ });
117
+ };
72
118
 
73
- if (readOnly) {
74
- // Workaround for lack of InputProps readOnly from https://github.com/mui-org/material-ui/issues/17043
75
- // Also note that we need to turn off the onChange call in the FormControlLabel wrapper, too. See below!
76
- theCheckbox = <Checkbox value={value || false} readOnly={readOnly} />;
119
+ let theCheckbox;
120
+ const listOfCheckboxes: any = [];
121
+ if (selectionMode === 'multi') {
122
+ const listSourceItems = datasource?.source ?? [];
123
+ const dataField: any = selectionKey?.split?.('.')[1];
124
+ listSourceItems.forEach((element, index) => {
125
+ listOfCheckboxes.push(
126
+ <FormControlLabel
127
+ control={
128
+ <Checkbox
129
+ key={index}
130
+ checked={selectedvalues?.some?.(data => data[dataField] === element.key)}
131
+ onChange={event => handleChangeMultiMode(event, element)}
132
+ onBlur={() => {
133
+ thePConn.getValidationApi().validate(selectedvalues, selectionList);
134
+ }}
135
+ data-testid={`${testId}:${element.value}`}
136
+ />
137
+ }
138
+ key={index}
139
+ label={element.text ?? element.value}
140
+ labelPlacement='end'
141
+ data-test-id={testId}
142
+ />
143
+ );
144
+ });
145
+ theCheckbox = <div className={classes.checkbox}>{listOfCheckboxes}</div>;
146
+ } else {
147
+ theCheckbox = (
148
+ <FormControlLabel
149
+ control={
150
+ <Checkbox
151
+ color='primary'
152
+ checked={checked}
153
+ onChange={!readOnly ? handleChange : undefined}
154
+ onBlur={!readOnly ? handleBlur : undefined}
155
+ value={value}
156
+ disabled={disabled}
157
+ readOnly={readOnly}
158
+ />
159
+ }
160
+ label={caption}
161
+ labelPlacement='end'
162
+ data-test-id={testId}
163
+ />
164
+ );
77
165
  }
78
166
 
79
167
  return (
80
168
  <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
81
169
  <FormControl required={required} error={status === 'error'}>
82
170
  {!hideLabel && <FormLabel component='legend'>{label}</FormLabel>}
83
- <FormGroup>
84
- <FormControlLabel
85
- control={theCheckbox}
86
- checked={checked}
87
- onChange={!readOnly ? handleChange : undefined}
88
- onBlur={!readOnly ? handleBlur : undefined}
89
- label={caption}
90
- labelPlacement='end'
91
- data-test-id={testId}
92
- />
93
- </FormGroup>
171
+ <FormGroup>{theCheckbox}</FormGroup>
94
172
  <FormHelperText>{helperTextToDisplay}</FormHelperText>
95
173
  </FormControl>
96
174
  </Styled{{COMPONENT_CLASS_NAME}}Wrapper>