@pega/custom-dx-components 23.1.12 → 24.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/cli.js +8 -2
  4. package/src/constants.js +9 -0
  5. package/src/tasks/build-all/helper.js +6 -0
  6. package/src/tasks/build-comp/helper.js +8 -0
  7. package/src/tasks/build-jest-assets/index.js +171 -0
  8. package/src/tasks/bundle/builder/webpack.config.js +15 -1
  9. package/src/tasks/create/index.js +3 -0
  10. package/src/tasks/create/templates/Constellation/Field/Boolean/demo.stories.tsx.mustache +3 -13
  11. package/src/tasks/create/templates/Constellation/Field/Boolean/index.tsx.mustache +8 -5
  12. package/src/tasks/create/templates/Constellation/Field/Date/demo.stories.tsx.mustache +8 -19
  13. package/src/tasks/create/templates/Constellation/Field/Date/index.tsx.mustache +1 -1
  14. package/src/tasks/create/templates/Constellation/Field/DateTime/demo.stories.tsx.mustache +7 -18
  15. package/src/tasks/create/templates/Constellation/Field/DateTime/index.tsx.mustache +1 -1
  16. package/src/tasks/create/templates/Constellation/Field/DateTime/mock.ts.mustache +1 -0
  17. package/src/tasks/create/templates/Constellation/Field/Decimal/demo.stories.tsx.mustache +1 -7
  18. package/src/tasks/create/templates/Constellation/Field/Decimal/index.tsx.mustache +1 -1
  19. package/src/tasks/create/templates/Constellation/Field/Decimal/mock.ts.mustache +1 -0
  20. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/demo.stories.tsx.mustache +2 -9
  21. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.tsx.mustache +1 -1
  22. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/mock.ts.mustache +2 -0
  23. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/demo.stories.tsx.mustache +2 -6
  24. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.tsx.mustache +1 -1
  25. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/mock.ts.mustache +1 -0
  26. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/PConnProps.d.ts.mustache +46 -0
  27. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/config.json.mustache +64 -0
  28. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/demo.stories.tsx.mustache +104 -0
  29. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/index.tsx.mustache +218 -0
  30. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/mock.ts.mustache +5 -0
  31. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/styles.ts.mustache +8 -0
  32. package/src/tasks/create/templates/Constellation/Field/Integer/demo.stories.tsx.mustache +2 -6
  33. package/src/tasks/create/templates/Constellation/Field/Integer/index.tsx.mustache +1 -1
  34. package/src/tasks/create/templates/Constellation/Field/Picklist/demo.stories.tsx.mustache +2 -6
  35. package/src/tasks/create/templates/Constellation/Field/Picklist/index.tsx.mustache +1 -1
  36. package/src/tasks/create/templates/Constellation/Field/Picklist/mock.ts.mustache +1 -0
  37. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/demo.stories.tsx.mustache +2 -8
  38. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/index.tsx.mustache +11 -0
  39. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/utils.ts.mustache +3 -0
  40. package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/demo.stories.tsx.mustache +1 -7
  41. package/src/tasks/create/templates/Constellation/Field/Text/demo.stories.tsx.mustache +0 -3
  42. package/src/tasks/create/templates/Constellation/Field/Text/index.tsx.mustache +94 -4
  43. package/src/tasks/create/templates/Constellation/Field/Text-Email/demo.stories.tsx.mustache +1 -5
  44. package/src/tasks/create/templates/Constellation/Field/Text-Email/index.tsx.mustache +1 -1
  45. package/src/tasks/create/templates/Constellation/Field/Text-Input/StatusWork.tsx +3 -9
  46. package/src/tasks/create/templates/Constellation/Field/Text-Input/demo.stories.tsx.mustache +1 -5
  47. package/src/tasks/create/templates/Constellation/Field/Text-Input/index.tsx.mustache +1 -1
  48. package/src/tasks/create/templates/Constellation/Field/Text-Input/mock.ts.mustache +1 -0
  49. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/demo.stories.tsx.mustache +1 -5
  50. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.tsx.mustache +1 -1
  51. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/mock.ts.mustache +1 -0
  52. package/src/tasks/create/templates/Constellation/Field/Text-Phone/demo.stories.tsx.mustache +2 -5
  53. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.tsx.mustache +1 -1
  54. package/src/tasks/create/templates/Constellation/Field/Text-Phone/mock.ts.mustache +1 -0
  55. package/src/tasks/create/templates/Constellation/Field/Text-URL/demo.stories.tsx.mustache +1 -5
  56. package/src/tasks/create/templates/Constellation/Field/Text-URL/mock.ts.mustache +1 -0
  57. package/src/tasks/create/templates/Constellation/Field/TimeofDay/demo.stories.tsx.mustache +5 -15
  58. package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.tsx.mustache +1 -1
  59. package/src/tasks/create/templates/Constellation/Template/DETAILS/Avatar.tsx.mustache +78 -0
  60. package/src/tasks/create/templates/Constellation/Template/DETAILS/DetailsRender.tsx.mustache +55 -0
  61. package/src/tasks/create/templates/Constellation/Template/DETAILS/HighlightRender.tsx.mustache +49 -0
  62. package/src/tasks/create/templates/Constellation/Template/DETAILS/Operator.tsx.mustache +218 -0
  63. package/src/tasks/create/templates/Constellation/Template/DETAILS/StatusWork.tsx.mustache +17 -19
  64. package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.tsx.mustache +79 -25
  65. package/src/tasks/create/templates/Constellation/Template/DETAILS/index.tsx.mustache +51 -40
  66. package/src/tasks/create/templates/Constellation/Template/DETAILS/mock.ts.mustache +78 -20
  67. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.ts.mustache +16 -0
  68. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Avatar.tsx.mustache +78 -0
  69. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/DetailsRender.tsx.mustache +55 -0
  70. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/HighlightRender.tsx.mustache +49 -0
  71. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Operator.tsx.mustache +218 -0
  72. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/StatusWork.tsx.mustache +17 -19
  73. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.tsx.mustache +96 -27
  74. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.tsx.mustache +42 -39
  75. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/mock.ts.mustache +68 -10
  76. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.ts.mustache +15 -0
  77. package/src/tasks/create/templates/Constellation/Template/FORM/DetailsRender.tsx +59 -0
  78. package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.tsx.mustache +5 -3
  79. package/src/tasks/create/templates/Constellation/Template/FORM/index.tsx.mustache +31 -5
  80. package/src/tasks/create/templates/Constellation/Template/FORM-region/DetailsRender.tsx +59 -0
  81. package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.tsx.mustache +4 -2
  82. package/src/tasks/create/templates/Constellation/Template/FORM-region/index.tsx.mustache +29 -7
  83. package/src/tasks/create/templates/Constellation/Template/PAGE/GetNextWork.tsx.mustache +2 -1
  84. package/src/tasks/create/templates/Constellation/Template/PAGE/demo.stories.tsx.mustache +4 -3
  85. package/src/tasks/create/templates/Constellation/Template/PAGE/localizations.json.mustache +4 -2
  86. package/src/tasks/create/templates/Constellation/Widget/CASE/demo.stories.tsx.mustache +3 -2
  87. package/src/tasks/create/templates/Constellation/Widget/PAGE/demo.stories.tsx.mustache +91 -13
  88. package/src/tasks/create/templates/Constellation/Widget/PAGE/index.tsx.mustache +67 -5
  89. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/demo.stories.tsx.mustache +5 -4
  90. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/PConnProps.d.ts.mustache +46 -0
  91. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/config.json.mustache +32 -0
  92. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/demo.stories.tsx.mustache +103 -0
  93. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/index.tsx.mustache +216 -0
  94. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/mock.ts.mustache +5 -0
  95. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/styles.ts.mustache +8 -0
  96. package/src/tasks/create/templates/Launchpad/Widget/PAGE/OneColumnPage.svg +36 -0
  97. package/src/tasks/create/templates/Launchpad/Widget/PAGE/PConnProps.d.ts.mustache +46 -0
  98. package/src/tasks/create/templates/Launchpad/Widget/PAGE/config.json.mustache +59 -0
  99. package/src/tasks/create/templates/Launchpad/Widget/PAGE/demo.stories.tsx.mustache +120 -0
  100. package/src/tasks/create/templates/Launchpad/Widget/PAGE/index.tsx.mustache +109 -0
  101. package/src/tasks/create/templates/Launchpad/Widget/PAGE/mock.ts.mustache +25 -0
  102. package/src/tasks/create/templates/Launchpad/Widget/PAGE/styles.ts.mustache +8 -0
  103. package/src/tasks/create-all/index.js +3 -0
  104. package/src/tasks/index.js +1 -0
  105. package/src/tasks/init/template/.storybook/preview.js +3 -0
  106. package/src/tasks/init/template/package.json.mustache +7 -6
  107. package/src/tasks/init/template/tsconfig.build.json +3 -1
  108. package/src/tasks/publish/helper.js +6 -0
  109. package/src/tasks/publish-all/helper.js +6 -0
  110. package/src/tasks/validator/index.js +7 -1
  111. package/src/util.js +18 -0
  112. package/tests/assets/components/create/Pega_DXIL_MyDetails.zip +0 -0
  113. package/tests/assets/components/create/Pega_DXIL_MyTestText/demo.stories.tsx +0 -3
  114. package/tests/assets/components/create/Pega_DXIL_MyTestText/index.tsx +94 -4
  115. package/tests/assets/components/create/_components.md +1 -0
  116. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
  117. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyBoolean/index.tsx +8 -5
  118. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/demo.stories.tsx +3 -2
  119. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
  120. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/index.tsx +1 -1
  121. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyCurrency/mock.ts +2 -0
  122. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
  123. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDate/index.tsx +1 -1
  124. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
  125. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/index.tsx +1 -1
  126. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDateTime/mock.ts +1 -0
  127. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
  128. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/index.tsx +1 -1
  129. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDecimal/mock.ts +1 -0
  130. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
  131. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
  132. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
  133. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/Operator.tsx +215 -0
  134. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  135. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/demo.stories.tsx +79 -25
  136. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/index.tsx +48 -37
  137. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/mock.ts +78 -20
  138. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails/styles.ts +16 -0
  139. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyDetails.zip +0 -0
  140. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
  141. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyEmail/index.tsx +1 -1
  142. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
  143. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
  144. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyForm/index.tsx +28 -5
  145. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
  146. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/config.json +64 -0
  147. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +104 -0
  148. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/index.tsx +215 -0
  149. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
  150. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
  151. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
  152. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyInteger/index.tsx +1 -1
  153. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
  154. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
  155. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPage/localizations.json +4 -2
  156. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +5 -4
  157. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageWidget/demo.stories.tsx +91 -13
  158. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPageWidget/index.tsx +67 -5
  159. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
  160. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/index.tsx +1 -1
  161. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyParagraph/mock.ts +1 -0
  162. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
  163. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/index.tsx +1 -1
  164. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPercentage/mock.ts +1 -0
  165. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
  166. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/index.tsx +1 -1
  167. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPhone/mock.ts +1 -0
  168. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
  169. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/index.tsx +1 -1
  170. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyPicklist/mock.ts +1 -0
  171. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
  172. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
  173. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/index.tsx +11 -0
  174. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MySearchbox/utils.ts +3 -0
  175. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/demo.stories.tsx +0 -3
  176. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyText/index.tsx +94 -4
  177. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  178. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
  179. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/index.tsx +1 -1
  180. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTextInput/mock.ts +1 -0
  181. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
  182. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
  183. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
  184. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
  185. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
  186. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
  187. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  188. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +96 -27
  189. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
  190. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
  191. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
  192. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
  193. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
  194. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
  195. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
  196. package/tests/assets/components/createAll/Constellation/Pega_DXIL_MyURL/mock.ts +1 -0
  197. package/tests/assets/components/createAll/Constellation/_components.md +1 -0
  198. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/demo.stories.tsx +3 -13
  199. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyBoolean/index.tsx +8 -5
  200. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/demo.stories.tsx +2 -9
  201. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/index.tsx +1 -1
  202. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyCurrency/mock.ts +2 -0
  203. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/demo.stories.tsx +8 -19
  204. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDate/index.tsx +1 -1
  205. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/demo.stories.tsx +7 -18
  206. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/index.tsx +1 -1
  207. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDateTime/mock.ts +1 -0
  208. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/demo.stories.tsx +1 -7
  209. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/index.tsx +1 -1
  210. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDecimal/mock.ts +1 -0
  211. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/Avatar.tsx +78 -0
  212. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/DetailsRender.tsx +52 -0
  213. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/HighlightRender.tsx +46 -0
  214. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/Operator.tsx +215 -0
  215. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  216. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/demo.stories.tsx +79 -25
  217. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/index.tsx +48 -37
  218. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/mock.ts +78 -20
  219. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails/styles.ts +16 -0
  220. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyDetails.zip +0 -0
  221. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/demo.stories.tsx +1 -5
  222. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyEmail/index.tsx +1 -1
  223. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/DetailsRender.tsx +59 -0
  224. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/demo.stories.tsx +5 -3
  225. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyForm/index.tsx +28 -5
  226. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/PConnProps.d.ts +46 -0
  227. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/config.json +32 -0
  228. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/demo.stories.tsx +103 -0
  229. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/index.tsx +213 -0
  230. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/mock.ts +5 -0
  231. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/styles.ts +8 -0
  232. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/demo.stories.tsx +2 -6
  233. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyInteger/index.tsx +1 -1
  234. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/GetNextWork.tsx +2 -1
  235. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/demo.stories.tsx +4 -3
  236. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPage/localizations.json +4 -2
  237. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/demo.stories.tsx +88 -9
  238. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/index.tsx +67 -5
  239. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/demo.stories.tsx +1 -5
  240. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/index.tsx +1 -1
  241. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyParagraph/mock.ts +1 -0
  242. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/demo.stories.tsx +2 -6
  243. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/index.tsx +1 -1
  244. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPercentage/mock.ts +1 -0
  245. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/demo.stories.tsx +2 -5
  246. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/index.tsx +1 -1
  247. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPhone/mock.ts +1 -0
  248. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/demo.stories.tsx +2 -6
  249. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/index.tsx +1 -1
  250. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyPicklist/mock.ts +1 -0
  251. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyRadioButtons/demo.stories.tsx +1 -7
  252. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/demo.stories.tsx +2 -8
  253. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/index.tsx +11 -0
  254. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MySearchbox/utils.ts +3 -0
  255. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/demo.stories.tsx +0 -3
  256. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyText/index.tsx +94 -4
  257. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  258. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/demo.stories.tsx +1 -5
  259. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/index.tsx +1 -1
  260. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTextInput/mock.ts +1 -0
  261. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +5 -15
  262. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/index.tsx +1 -1
  263. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Avatar.tsx +78 -0
  264. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/DetailsRender.tsx +52 -0
  265. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/HighlightRender.tsx +46 -0
  266. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/Operator.tsx +215 -0
  267. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  268. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +96 -27
  269. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/index.tsx +39 -36
  270. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/mock.ts +68 -10
  271. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/styles.ts +15 -0
  272. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/DetailsRender.tsx +59 -0
  273. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +4 -2
  274. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/index.tsx +23 -4
  275. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/demo.stories.tsx +1 -5
  276. package/tests/assets/components/createAll/Launchpad/Pega_DXIL_MyURL/mock.ts +1 -0
  277. package/tests/assets/components/createAll/Launchpad/_components.md +1 -0
@@ -28,6 +28,7 @@
28
28
  "_internal-test-full": "npm run _internal-test-functional && npm run _internal-test-unit",
29
29
  "_internal-test-functional": "npm run test:functional:local --prefix node_modules/@pega/custom-dx-components",
30
30
  "_internal-test-unit": "npm run test:unit:local --prefix node_modules/@pega/custom-dx-components",
31
+ "_internal-build-jest-assets": "custom-dx-components buildJestAssets",
31
32
  "_lint:styles": "stylelint \"./**/*.@(js|jsx|ts|tsx)\"",
32
33
  "_lint:format": "prettier -c .",
33
34
  "_lint:spelling": "cspell --no-progress **/*",
@@ -50,9 +51,9 @@
50
51
  "license": "Enter License",
51
52
  "sideEffects": false,
52
53
  "dependencies": {
53
- "@pega/cosmos-react-condition-builder": "^4.2.0",
54
- "@pega/cosmos-react-core": "^4.2.0",
55
- "@pega/cosmos-react-work": "^4.2.0",
54
+ "@pega/cosmos-react-condition-builder": "^6.0.3",
55
+ "@pega/cosmos-react-core": "^6.0.3",
56
+ "@pega/cosmos-react-work": "^6.0.3",
56
57
  "dayjs": "^1.11.10",
57
58
  "lodash.get": "^4.4.2",
58
59
  "polished": "^4.2.2",
@@ -60,7 +61,7 @@
60
61
  "react": "^17.0.2",
61
62
  "react-autosuggest": "^10.1.0",
62
63
  "react-dom": "^17.0.2",
63
- "react-is": "^18.2.0",
64
+ "react-is": "^17.0.2",
64
65
  "react-player": "^2.10.1",
65
66
  "react-redux": "^7.2.6",
66
67
  "styled-components": "^5.3.5",
@@ -68,8 +69,8 @@
68
69
  },
69
70
  "devDependencies": {
70
71
  "@pega/configs": "^0.6.0",
71
- "@pega/custom-dx-components": "23.1.12",
72
- "@pega/pcore-pconnect-typedefs": "~2.1.1",
72
+ "@pega/custom-dx-components": "24.1.10",
73
+ "@pega/pcore-pconnect-typedefs": "~3.0.0",
73
74
  "@storybook/addon-actions": "^7.6.7",
74
75
  "@storybook/addon-essentials": "^7.6.7",
75
76
  "@storybook/addon-links": "^7.6.7",
@@ -5,7 +5,9 @@
5
5
  "./src/**/*.stories.ts",
6
6
  "./src/**/*.stories.tsx",
7
7
  "./src/**/*.stories.js",
8
- "./src/**/*.stories.jsx"
8
+ "./src/**/*.stories.jsx",
9
+ "./src/**/*.test.jsx",
10
+ "./src/**/*.test.tsx"
9
11
  ],
10
12
  "compilerOptions": {
11
13
  "noEmit": false,
@@ -84,11 +84,17 @@ export const zipComponent = async componentKey => {
84
84
  const srcDirectory = await getComponentDirectoryPath(componentKey);
85
85
  const buildDirectory = await path.join(path.resolve(), 'dist/components', componentKey);
86
86
  const configJson = `${srcDirectory}/config.json`;
87
+ const localizationJson = `${srcDirectory}/localizations.json`;
87
88
 
88
89
  const zip = new AdmZip();
89
90
 
90
91
  zip.addLocalFolder(srcDirectory, 'src/');
91
92
  zip.addLocalFile(configJson);
93
+
94
+ if (fs.existsSync(localizationJson)) {
95
+ zip.addLocalFile(localizationJson);
96
+ }
97
+
92
98
  zip.addLocalFolder(buildDirectory);
93
99
  const zipContent = zip.toBuffer().toString('base64');
94
100
 
@@ -70,11 +70,17 @@ export const zipComponent = async componentKey => {
70
70
  const srcDirectory = await getComponentDirectoryPath(componentKey);
71
71
  const buildDirectory = await path.join(path.resolve(), 'dist/components', componentKey);
72
72
  const configJson = `${srcDirectory}/config.json`;
73
+ const localizationJson = `${srcDirectory}/localizations.json`;
73
74
 
74
75
  const zip = new AdmZip();
75
76
 
76
77
  zip.addLocalFolder(srcDirectory, 'src/');
77
78
  zip.addLocalFile(configJson);
79
+
80
+ if (fs.existsSync(localizationJson)) {
81
+ zip.addLocalFile(localizationJson);
82
+ }
83
+
78
84
  zip.addLocalFolder(buildDirectory);
79
85
  const zipContent = zip.toBuffer().toString('base64');
80
86
 
@@ -350,7 +350,13 @@ export default async (option) => {
350
350
  }
351
351
 
352
352
  //const data = JSON.parse(fs.readFileSync(path.resolve(configFile), 'utf8'));
353
- const data = JSON.parse(configData);
353
+ let data;
354
+ try {
355
+ data = JSON.parse(configData);
356
+ }
357
+ catch (er) {
358
+ throw new Error(`Invalid schema json in config.json: ${er}`);
359
+ }
354
360
 
355
361
  const valid = validateSchema(data);
356
362
 
package/src/util.js CHANGED
@@ -262,6 +262,24 @@ export const getComponentDefaults = async () => {
262
262
  return config.component;
263
263
  };
264
264
 
265
+ export const getServerType = async () => {
266
+ const defaultPegaServerConfig = await getPegaServerConfig();
267
+ return defaultPegaServerConfig.serverType;
268
+ }
269
+
270
+ export const setServerType = async(serverType) => {
271
+ const currentDirectory = process.cwd();
272
+ const pegaConfigJsonPath = join(currentDirectory, TASKS_CONFIG_JSON_FILENAME);
273
+ let configData = await getPegaConfig();
274
+ let serverConfig = configData['server-config'];
275
+ serverConfig.serverType = serverType;
276
+
277
+ // update file
278
+ // stringify "4", makes the json string look like JSON in the file, formated instead of a single line
279
+ fs.writeFileSync(pegaConfigJsonPath, JSON.stringify(configData, null, 4), { encoding: 'utf8' });
280
+
281
+ }
282
+
265
283
  export const getComponentDirectoryPath = async componentKey => {
266
284
  const currentDirectory = process.cwd();
267
285
  const pegaConfigJsonPath = join(currentDirectory, TASKS_CONFIG_JSON_FILENAME);
@@ -23,9 +23,6 @@ export const BasePegaDxilMyTestText: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- testId: configProps.testId,
29
26
  hasSuggestions: configProps.hasSuggestions,
30
27
 
31
28
  getPConnect: () => {
@@ -1,4 +1,12 @@
1
- import { Input, withConfiguration } from '@pega/cosmos-react-core';
1
+ import {
2
+ Input,
3
+ FieldValueList,
4
+ Text,
5
+ EmailDisplay,
6
+ PhoneDisplay,
7
+ URLDisplay,
8
+ withConfiguration
9
+ } from '@pega/cosmos-react-core';
2
10
 
3
11
  import type { PConnFieldProps } from './PConnProps';
4
12
 
@@ -7,7 +15,9 @@ import StyledPegaDxilMyTestTextWrapper from './styles';
7
15
  // interface for props
8
16
  interface PegaDxilMyTestTextProps extends PConnFieldProps {
9
17
  // If any, enter additional props that only exist on TextInput here
10
-
18
+ isTableFormatter?: boolean;
19
+ formatter: string;
20
+ variant?: any;
11
21
  }
12
22
 
13
23
  // interface for StateProps object
@@ -16,23 +26,103 @@ interface StateProps {
16
26
  hasSuggestions: boolean;
17
27
  }
18
28
 
19
- // Duplicated runtime code from Constellation Design System Component
29
+ export const formatExists = (formatterVal: string) => {
30
+ const formatterValues = [
31
+ 'TextInput',
32
+ 'WorkStatus',
33
+ 'RichText',
34
+ 'Email',
35
+ 'Phone',
36
+ 'URL',
37
+ 'Operator'
38
+ ];
39
+ let isformatter = false;
40
+ if (formatterValues.includes(formatterVal)) {
41
+ isformatter = true;
42
+ }
43
+ return isformatter;
44
+ };
45
+
46
+ export const textFormatter = (formatter: string, value: string) => {
47
+ let displayComponent: any = null;
48
+ switch (formatter) {
49
+ case 'TextInput': {
50
+ displayComponent = value;
51
+ break;
52
+ }
53
+ case 'Email': {
54
+ displayComponent = <EmailDisplay value={value} displayText={value} variant='link' />;
55
+ break;
56
+ }
57
+ case 'Phone': {
58
+ displayComponent = <PhoneDisplay value={value} variant='link' />;
59
+ break;
60
+ }
61
+ case 'URL': {
62
+ displayComponent = (
63
+ <URLDisplay target='_blank' value={value} displayText={value} variant='link' />
64
+ );
65
+ break;
66
+ }
67
+ // no default
68
+ }
69
+ return displayComponent;
70
+ };
20
71
 
21
72
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
22
73
  // any default values in config.pros should be set in defaultProps at bottom of this file
23
74
  function PegaDxilMyTestText(props: PegaDxilMyTestTextProps) {
24
- const { getPConnect, value, placeholder, disabled = false, readOnly = false, required = false, label, hideLabel = false, testId } = props;
75
+ const { getPConnect, value, placeholder, disabled = false, displayMode, readOnly = false, required = false, label, hideLabel = false, testId, isTableFormatter = false, variant = 'inline' } = props;
25
76
 
26
77
  const pConn = getPConnect();
27
78
  const actions = pConn.getActionsApi();
28
79
  const stateProps = pConn.getStateProps() as StateProps;
29
80
  const propName: string = stateProps.value;
81
+ const { formatter } = props;
30
82
 
31
83
  const handleOnChange = (event: any) => {
32
84
  const { value: updatedValue } = event.target;
33
85
  actions.updateFieldValue(propName, updatedValue);
34
86
  };
35
87
 
88
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'DISPLAY_ONLY') {
89
+ let displayComp = value || <span aria-hidden='true'>&ndash;&ndash;</span>;
90
+ if (isTableFormatter && formatExists(formatter)) {
91
+ displayComp = textFormatter(formatter, value);
92
+ }
93
+ return displayMode === 'DISPLAY_ONLY' ? (
94
+ <StyledPegaDxilMyTestTextWrapper> {displayComp} </StyledPegaDxilMyTestTextWrapper>
95
+ ) : (
96
+ <StyledPegaDxilMyTestTextWrapper>
97
+ <FieldValueList
98
+ variant={hideLabel ? 'stacked' : variant}
99
+ data-testid={testId}
100
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
101
+ />
102
+ </StyledPegaDxilMyTestTextWrapper>
103
+ );
104
+ }
105
+
106
+ if (displayMode === 'STACKED_LARGE_VAL') {
107
+ const isValDefined = typeof value !== 'undefined' && value !== '';
108
+ const val = isValDefined ? (
109
+ <Text variant='h1' as='span'>
110
+ {value}
111
+ </Text>
112
+ ) : (
113
+ ''
114
+ );
115
+ return (
116
+ <StyledPegaDxilMyTestTextWrapper>
117
+ <FieldValueList
118
+ variant='stacked'
119
+ data-testid={testId}
120
+ fields={[{ id: '2', name: hideLabel ? '' : label, value: val }]}
121
+ />
122
+ </StyledPegaDxilMyTestTextWrapper>
123
+ );
124
+ }
125
+
36
126
  return (
37
127
  <StyledPegaDxilMyTestTextWrapper>
38
128
  <Input
@@ -0,0 +1 @@
1
+ # directory for components #
@@ -23,20 +23,7 @@ export const BasePegaDxilMyBoolean: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- label: configProps.label,
27
- helperText: configProps.helperText,
28
- caption: configProps.caption,
29
- validatemessage: configProps.validatemessage,
30
- hideLabel: configProps.hideLabel,
31
- testId: configProps.testId,
32
26
  additionalProps: configProps.additionalProps,
33
- displayMode: configProps.displayMode,
34
- variant: configProps.variant,
35
- trueLabel: configProps.trueLabel,
36
- falseLabel: configProps.falseLabel,
37
- disabled: configProps.disabled,
38
- readOnly: configProps.readOnly,
39
- required: configProps.required,
40
27
  getPConnect: () => {
41
28
  return {
42
29
  getStateProps: () => {
@@ -76,6 +63,9 @@ BasePegaDxilMyBoolean.args = {
76
63
  required: configProps.required,
77
64
  status: configProps.status,
78
65
  hideLabel: configProps.hideLabel,
66
+ trueLabel: configProps.trueLabel,
67
+ falseLabel: configProps.falseLabel,
79
68
  displayMode: configProps.displayMode,
69
+ variant: configProps.variant,
80
70
  validatemessage: configProps.validatemessage
81
71
  };
@@ -3,7 +3,8 @@ import {
3
3
  CheckboxGroup,
4
4
  FieldValueList,
5
5
  Text,
6
- withConfiguration
6
+ withConfiguration,
7
+ BooleanDisplay
7
8
  } from "@pega/cosmos-react-core";
8
9
 
9
10
  import type { PConnFieldProps } from './PConnProps';
@@ -96,15 +97,17 @@ function PegaDxilMyBoolean(props: PegaDxilMyBooleanProps) {
96
97
 
97
98
  let displayComponent;
98
99
  if (displayMode) {
99
- // @ts-ignore
100
100
  displayComponent = (
101
- // @ts-ignore
102
- <PegaDxilMyBoolean value={value} trueLabel={trueLabel} falseLabel={falseLabel} />
101
+ <BooleanDisplay value={value} trueLabel={trueLabel} falseLabel={falseLabel} />
103
102
  );
104
103
  }
105
104
 
106
105
  if (displayMode === 'DISPLAY_ONLY') {
107
- return ( <StyledPegaDxilMyBooleanWrapper> displayComponent </StyledPegaDxilMyBooleanWrapper>);
106
+ return (
107
+ <StyledPegaDxilMyBooleanWrapper>
108
+ {displayComponent}
109
+ </StyledPegaDxilMyBooleanWrapper>
110
+ );
108
111
  }
109
112
 
110
113
  if (displayMode === "LABELS_LEFT") {
@@ -49,7 +49,6 @@ window.PCore.getDataApiUtils = () => {
49
49
  export const BasePegaDxilMyCaseWidget: Story = args => {
50
50
 
51
51
  const props = {
52
- label: 'Case history',
53
52
 
54
53
  getPConnect: () => {
55
54
  return {
@@ -83,4 +82,6 @@ return (
83
82
  );
84
83
  };
85
84
 
86
- BasePegaDxilMyCaseWidget.args = {};
85
+ BasePegaDxilMyCaseWidget.args = {
86
+ label: 'Case history',
87
+ };
@@ -20,17 +20,8 @@ export const BasePegaDxilMyCurrency: Story = args => {
20
20
 
21
21
  const props = {
22
22
  value: Number(configProps.value),
23
- placeholder: configProps.placeholder,
24
- label: configProps.label,
25
- helperText: configProps.helperText,
26
- showGroupSeparators: configProps.showGroupSeparators,
27
- allowDecimals: configProps.allowDecimals,
28
- currencyISOCode: configProps.currencyISOCode,
29
- alwaysShowISOCode: configProps.alwaysShowISOCode,
30
23
  hasSuggestions: configProps.hasSuggestions,
31
- testId: configProps.testId,
32
24
  fieldMetadata,
33
- validatemessage: '',
34
25
  getPConnect: () => {
35
26
  return {
36
27
  getStateProps: () => {
@@ -60,6 +51,7 @@ export const BasePegaDxilMyCurrency: Story = args => {
60
51
 
61
52
  BasePegaDxilMyCurrency.args = {
62
53
  label: configProps.label,
54
+ placeholder: configProps.placeholder,
63
55
  helperText: configProps.helperText,
64
56
  showGroupSeparators: configProps.showGroupSeparators,
65
57
  allowDecimals: configProps.allowDecimals,
@@ -72,5 +64,6 @@ BasePegaDxilMyCurrency.args = {
72
64
  status: configProps.status,
73
65
  hideLabel: configProps.hideLabel,
74
66
  displayMode: configProps.displayMode,
67
+ variant: configProps.variant,
75
68
  validatemessage: configProps.validatemessage
76
69
  };
@@ -189,7 +189,7 @@ function PegaDxilMyCurrency(props: PegaDxilMyCurrencyProps) {
189
189
 
190
190
  switch (displayMode) {
191
191
  case 'DISPLAY_ONLY': {
192
- return (<StyledPegaDxilMyCurrencyWrapper> displayComp </StyledPegaDxilMyCurrencyWrapper>) ;
192
+ return (<StyledPegaDxilMyCurrencyWrapper> {displayComp} </StyledPegaDxilMyCurrencyWrapper>) ;
193
193
  }
194
194
  case 'LABELS_LEFT': {
195
195
  return (
@@ -3,6 +3,7 @@
3
3
  export const configProps = {
4
4
  value: '',
5
5
  label: 'Currency Sample',
6
+ placeholder: 'Currency Placeholder',
6
7
  currencyISOCode: 'USD',
7
8
  allowDecimals: true,
8
9
  showGroupSeparators: true,
@@ -12,6 +13,7 @@ export const configProps = {
12
13
  testId: 'currency-12345678',
13
14
  hasSuggestions: false,
14
15
  displayMode: '',
16
+ variant: '',
15
17
  hideLabel: false,
16
18
  readOnly: false,
17
19
  required: false,
@@ -31,6 +31,9 @@ window.PCore.getEnvironmentInfo = () => {
31
31
 
32
32
  export const BasePegaDxilMyDate: Story = args => {
33
33
  const props = {
34
+ value: configProps.value,
35
+ additionalProps: configProps.additionalProps,
36
+ hasSuggestions: configProps.hasSuggestions,
34
37
  getPConnect: () => {
35
38
  return {
36
39
  getActionsApi: () => {
@@ -54,25 +57,7 @@ export const BasePegaDxilMyDate: Story = args => {
54
57
  acceptSuggestion: () => {/* nothing */},
55
58
  clearErrorMessages: () => {/* nothing */}
56
59
  };
57
- },
58
- value: configProps.value,
59
- validatemessage: configProps.validatemessage,
60
- label: configProps.label,
61
- hideLabel: configProps.hideLabel,
62
- helperText: configProps.helperText,
63
- nextYearRange: configProps.nextYearRange,
64
- previousYearRange: configProps.previousYearRange,
65
- showWeekNumber: configProps.showWeekNumber,
66
- testId: configProps.testId,
67
- showAsFormattedText: configProps.showAsFormattedText,
68
- additionalProps: configProps.additionalProps,
69
- displayMode: configProps.displayMode,
70
- variant: configProps.variant,
71
- hasSuggestions: configProps.hasSuggestions,
72
- validatemessage: '',
73
- disabled: configProps.disabled,
74
- readOnly: configProps.readOnly,
75
- required: configProps.required
60
+ }
76
61
  };
77
62
 
78
63
  return (
@@ -92,6 +77,10 @@ BasePegaDxilMyDate.args = {
92
77
  required: configProps.required,
93
78
  status: configProps.status,
94
79
  hideLabel: configProps.hideLabel,
80
+ nextYearRange: configProps.nextYearRange,
81
+ previousYearRange: configProps.previousYearRange,
82
+ showAsFormattedText: configProps.showAsFormattedText,
95
83
  displayMode: configProps.displayMode,
84
+ variant: configProps.variant,
96
85
  validatemessage: configProps.validatemessage
97
86
  };
@@ -175,7 +175,7 @@ function PegaDxilMyDate (props: PegaDxilMyDateProps) {
175
175
  );
176
176
  switch(displayMode){
177
177
  case 'DISPLAY_ONLY': {
178
- return ( <StyledPegaDxilMyDateWrapper> displayComp </StyledPegaDxilMyDateWrapper>);
178
+ return ( <StyledPegaDxilMyDateWrapper> {displayComp} </StyledPegaDxilMyDateWrapper>);
179
179
  }
180
180
  case "LABELS_LEFT" : {
181
181
  return (
@@ -31,6 +31,9 @@ window.PCore.getEnvironmentInfo = () => {
31
31
 
32
32
  export const BasePegaDxilMyDateTime: Story = args => {
33
33
  const props = {
34
+ value: configProps.value,
35
+ additionalProps: configProps.additionalProps,
36
+ hasSuggestions: configProps.hasSuggestions,
34
37
  getPConnect: () => {
35
38
  return {
36
39
  getActionsApi: () => {
@@ -54,24 +57,7 @@ export const BasePegaDxilMyDateTime: Story = args => {
54
57
  acceptSuggestion: () => {/* nothing */},
55
58
  clearErrorMessages: () => {/* nothing */}
56
59
  };
57
- },
58
- value: configProps.value,
59
- validatemessage: configProps.validatemessage,
60
- label: configProps.label,
61
- hideLabel: configProps.hideLabel,
62
- helperText: configProps.helperText,
63
- withSeconds: configProps.withSeconds,
64
- nextYearRange: configProps.nextYearRange,
65
- previousYearRange: configProps.previousYearRange,
66
- showWeekNumber: configProps.showWeekNumber,
67
- testId: configProps.testId,
68
- additionalProps: configProps.additionalProps,
69
- displayMode: configProps.displayMode,
70
- variant: configProps.variant,
71
- hasSuggestions: configProps.hasSuggestions,
72
- disabled: configProps.disabled,
73
- readOnly: configProps.readOnly,
74
- required: configProps.required
60
+ }
75
61
  };
76
62
 
77
63
  return (
@@ -92,6 +78,9 @@ BasePegaDxilMyDateTime.args = {
92
78
  required: configProps.required,
93
79
  status: configProps.status,
94
80
  hideLabel: configProps.hideLabel,
81
+ nextYearRange: configProps.nextYearRange,
82
+ previousYearRange: configProps.previousYearRange,
95
83
  displayMode: configProps.displayMode,
84
+ variant: configProps.variant,
96
85
  validatemessage: configProps.validatemessage
97
86
  };
@@ -181,7 +181,7 @@ function PegaDxilMyDateTime (props: PegaDxilMyDateTimeProps) {
181
181
  );
182
182
  switch (displayMode) {
183
183
  case 'DISPLAY_ONLY': {
184
- return ( <StyledPegaDxilMyDateTimeWrapper> displayComp </StyledPegaDxilMyDateTimeWrapper>);
184
+ return ( <StyledPegaDxilMyDateTimeWrapper> {displayComp} </StyledPegaDxilMyDateTimeWrapper>);
185
185
  }
186
186
  case 'LABELS_LEFT': {
187
187
  return (
@@ -2,6 +2,7 @@
2
2
  // @ts-nocheck
3
3
  export const configProps = {
4
4
  value: '2023-01-24T16:45:00.000Z',
5
+ placeholder: 'DateTime Placeholder',
5
6
  validatemessage: '',
6
7
  label: 'DateTime Label',
7
8
  hideLabel: false,
@@ -20,14 +20,7 @@ export const BasePegaDxilMyDecimal: Story = args => {
20
20
 
21
21
  const props = {
22
22
  value: configProps.value,
23
- placeholder: configProps.placeholder,
24
- label: configProps.label,
25
- helperText: configProps.helperText,
26
- showGroupSeparators: configProps.showGroupSeparators,
27
- hasSuggestions: configProps.hasSuggestions,
28
- testId: configProps.testId,
29
23
  fieldMetadata,
30
- validatemessage: '',
31
24
  getPConnect: () => {
32
25
  return {
33
26
  getStateProps: () => {
@@ -66,5 +59,6 @@ BasePegaDxilMyDecimal.args = {
66
59
  status: configProps.status,
67
60
  hideLabel: configProps.hideLabel,
68
61
  displayMode: configProps.displayMode,
62
+ variant: configProps.variant,
69
63
  validatemessage: configProps.validatemessage
70
64
  };
@@ -158,7 +158,7 @@ function PegaDxilMyDecimal(props: PegaDxilMyDecimalProps) {
158
158
 
159
159
  switch (displayMode) {
160
160
  case 'DISPLAY_ONLY': {
161
- return (<StyledPegaDxilMyDecimalWrapper> displayComp </StyledPegaDxilMyDecimalWrapper>);
161
+ return (<StyledPegaDxilMyDecimalWrapper> {displayComp} </StyledPegaDxilMyDecimalWrapper>);
162
162
  }
163
163
  case 'LABELS_LEFT': {
164
164
  return (
@@ -9,6 +9,7 @@ export const configProps = {
9
9
  testId: 'decimal-12345678',
10
10
  hasSuggestions: false,
11
11
  displayMode: '',
12
+ variant: '',
12
13
  hideLabel: false,
13
14
  readOnly: false,
14
15
  required: false,
@@ -0,0 +1,78 @@
1
+ /* eslint-disable react-hooks/rules-of-hooks */
2
+ import React from 'react';
3
+ import { useEffect, useState } from 'react';
4
+ import { Avatar as CosmosAvatar, withConfiguration } from '@pega/cosmos-react-core';
5
+ import type { PConnFieldProps } from './PConnProps';
6
+
7
+
8
+ // interface for props
9
+ interface PegaDxilMyDetailsAvatarProps extends PConnFieldProps {
10
+ // If any, enter additional props that only exist on TextInput here
11
+ metaObj: any;
12
+ showStatus: boolean;
13
+
14
+ }
15
+
16
+ function Avatar(props: PegaDxilMyDetailsAvatarProps) {
17
+ const { metaObj, showStatus = false } = props;
18
+ const [imageBlobUrl, setImageBlobUrl] = useState(null);
19
+ let userName: string;
20
+ let userIdentifier: string;
21
+
22
+ // TODO Below if conditions can be removed once we have apis to get worklist/mywork info
23
+ // This is non CaseView case (Dashboard, MyWork etc)
24
+ if (!metaObj) {
25
+ userName = PCore.getEnvironmentInfo().getOperatorName();
26
+ userIdentifier = PCore.getEnvironmentInfo().getOperatorIdentifier();
27
+ } else {
28
+ userName = metaObj.name;
29
+ userIdentifier = metaObj.ID;
30
+ }
31
+ if (!userName && userIdentifier) {
32
+ userName = userIdentifier;
33
+ }
34
+
35
+ useEffect(() => {
36
+ const imageKey = !metaObj ? PCore.getEnvironmentInfo().getOperatorImageInsKey() : metaObj.image;
37
+ if (imageKey) {
38
+ PCore.getAssetLoader()
39
+ .getSvcImage(imageKey)
40
+ .then((blob) => window.URL.createObjectURL(blob))
41
+ .then((imagePath) => setImageBlobUrl(imagePath as React.SetStateAction<any>));
42
+ }
43
+ }, [metaObj]);
44
+
45
+ if (showStatus) {
46
+ const currentState = PCore.getMessagingServiceManager().getUserPresence().getUserState(userIdentifier);
47
+ const [userState, setUserState]: any = useState(currentState === 'online' ? 'active' : 'inactive');
48
+
49
+ // @ts-ignore
50
+ const handleUserStateChange = ({ state }) => {
51
+ setUserState(state === 'online' ? 'active' : 'inactive');
52
+ };
53
+
54
+ useEffect(() => {
55
+ const subId = PCore.getMessagingServiceManager()
56
+ .getUserPresence()
57
+ // @ts-ignore
58
+ .subscribe(userIdentifier, handleUserStateChange);
59
+
60
+ return function cleanup() {
61
+ PCore.getMessagingServiceManager().getUserPresence().unsubscribe(userIdentifier, subId);
62
+ };
63
+ }, [userIdentifier, handleUserStateChange]);
64
+ // @ts-ignore
65
+ return <CosmosAvatar name={userName} imageSrc={imageBlobUrl as React.SetStateAction<any>} status={userState} />;
66
+ }
67
+
68
+ // Do not render when userName does not exists
69
+ // TODO : In CNR case, pxRequestor is not available, please remove this condition once it populates
70
+ if (!userName) {
71
+ return null;
72
+ }
73
+
74
+ return <CosmosAvatar name={userName} imageSrc={imageBlobUrl as React.SetStateAction<any>} />;
75
+ }
76
+
77
+
78
+ export default withConfiguration(Avatar);