@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
@@ -20,14 +20,8 @@ export const BasePegaDxilMyPercentage: 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
23
  hasSuggestions: configProps.hasSuggestions,
28
- testId: configProps.testId,
29
24
  fieldMetadata,
30
- validatemessage: '',
31
25
  getPConnect: () => {
32
26
  return {
33
27
  getStateProps: () => {
@@ -57,6 +51,7 @@ export const BasePegaDxilMyPercentage: Story = args => {
57
51
  BasePegaDxilMyPercentage.args = {
58
52
  label: configProps.label,
59
53
  helperText: configProps.helperText,
54
+ placeholder: configProps.placeholder,
60
55
  showGroupSeparators: configProps.showGroupSeparators,
61
56
  testId: configProps.testId,
62
57
  readOnly: configProps.readOnly,
@@ -65,5 +60,6 @@ BasePegaDxilMyPercentage.args = {
65
60
  status: configProps.status,
66
61
  hideLabel: configProps.hideLabel,
67
62
  displayMode: configProps.displayMode,
63
+ variant: configProps.variant,
68
64
  validatemessage: configProps.validatemessage
69
65
  };
@@ -165,7 +165,7 @@ function PegaDxilMyPercentage(props: PegaDxilMyPercentageProps) {
165
165
 
166
166
  return displayMode === 'DISPLAY_ONLY' ? (
167
167
  <StyledPegaDxilMyPercentageWrapper>
168
- displayComp
168
+ {displayComp}
169
169
  </StyledPegaDxilMyPercentageWrapper>
170
170
  ) : (
171
171
  <StyledPegaDxilMyPercentageWrapper>
@@ -8,6 +8,7 @@ export const configProps = {
8
8
  testId: 'percentage-12345678',
9
9
  hasSuggestions: false,
10
10
  displayMode: '',
11
+ variant: '',
11
12
  hideLabel: false,
12
13
  readOnly: false,
13
14
  required: false,
@@ -19,12 +19,7 @@ export const BasePegaDxilMyPhone: Story = args => {
19
19
 
20
20
  const props = {
21
21
  value: configProps.value,
22
- placeholder: configProps.placeholder,
23
- label: configProps.label,
24
- testId: configProps.testId,
25
22
  hasSuggestions: configProps.hasSuggestions,
26
- datasource: configProps.datasource,
27
- validatemessage: '',
28
23
  getPConnect: () => {
29
24
  return {
30
25
  getStateProps: () => {
@@ -52,6 +47,7 @@ export const BasePegaDxilMyPhone: Story = args => {
52
47
  };
53
48
 
54
49
  BasePegaDxilMyPhone.args = {
50
+ datasource: configProps.datasource,
55
51
  label: configProps.label,
56
52
  helperText: configProps.helperText,
57
53
  placeholder: configProps.placeholder,
@@ -62,5 +58,6 @@ BasePegaDxilMyPhone.args = {
62
58
  status: configProps.status,
63
59
  hideLabel: configProps.hideLabel,
64
60
  displayMode: configProps.displayMode,
61
+ variant: configProps.variant,
65
62
  validatemessage: configProps.validatemessage
66
63
  };
@@ -164,7 +164,7 @@ function PegaDxilMyPhone(props: PegaDxilMyPhoneProps) {
164
164
  }
165
165
  return displayMode === 'DISPLAY_ONLY' ? (
166
166
  <StyledPegaDxilMyPhoneWrapper>
167
- displayComp
167
+ {displayComp}
168
168
  </StyledPegaDxilMyPhoneWrapper>
169
169
  ) : (
170
170
  <StyledPegaDxilMyPhoneWrapper>
@@ -26,6 +26,7 @@ export const configProps = {
26
26
  testId: 'phone-12345678',
27
27
  hasSuggestions: false,
28
28
  displayMode: '',
29
+ variant: '',
29
30
  hideLabel: false,
30
31
  readOnly: false,
31
32
  required: false,
@@ -23,14 +23,8 @@ export const BasePegaDxilMyPicklist: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- helperText: configProps.helperText,
29
- datasource: configProps.datasource,
30
- testId: configProps.testId,
31
26
  hasSuggestions: configProps.hasSuggestions,
32
27
  fieldMetadata,
33
- validatemessage: '',
34
28
  getPConnect: () => {
35
29
  return {
36
30
  getConfigProps: () => {
@@ -84,6 +78,7 @@ export const BasePegaDxilMyPicklist: Story = args => {
84
78
  };
85
79
 
86
80
  BasePegaDxilMyPicklist.args = {
81
+ datasource: configProps.datasource,
87
82
  label: configProps.label,
88
83
  helperText: configProps.helperText,
89
84
  placeholder: configProps.placeholder,
@@ -94,5 +89,6 @@ BasePegaDxilMyPicklist.args = {
94
89
  status: configProps.status,
95
90
  hideLabel: configProps.hideLabel,
96
91
  displayMode: configProps.displayMode,
92
+ variant: configProps.variant,
97
93
  validatemessage: configProps.validatemessage
98
94
  };
@@ -256,7 +256,7 @@ function PegaDxilMyPicklist(props: PegaDxilMyPicklistProps) {
256
256
 
257
257
  return displayMode === 'DISPLAY_ONLY' ? (
258
258
  <StyledPegaDxilMyPicklistWrapper>
259
- displayComp
259
+ {displayComp}
260
260
  </StyledPegaDxilMyPicklistWrapper>
261
261
  ) : (
262
262
  <StyledPegaDxilMyPicklistWrapper>
@@ -22,6 +22,7 @@ export const configProps = {
22
22
  testId: 'picklist-12345678',
23
23
  hasSuggestions: false,
24
24
  displayMode: '',
25
+ variant: '',
25
26
  hideLabel: false,
26
27
  readOnly: false,
27
28
  required: false,
@@ -23,15 +23,8 @@ export const BasePegaDxilMyRadiobuttons: Story = args => {
23
23
 
24
24
  const props = {
25
25
  value,
26
- placeholder: configProps.placeholder,
27
- label: configProps.label,
28
- helperText: configProps.helperText,
29
- datasource: configProps.datasource,
30
- inline: configProps.inline,
31
- testId: configProps.testId,
32
26
  hasSuggestions: configProps.hasSuggestions,
33
27
  fieldMetadata,
34
- validatemessage: '',
35
28
  getPConnect: () => {
36
29
  return {
37
30
  getConfigProps: () => {
@@ -88,6 +81,7 @@ export const BasePegaDxilMyRadiobuttons: Story = args => {
88
81
  };
89
82
 
90
83
  BasePegaDxilMyRadiobuttons.args = {
84
+ datasource: configProps.datasource,
91
85
  label: configProps.label,
92
86
  helperText: configProps.helperText,
93
87
  placeholder: configProps.placeholder,
@@ -24,19 +24,11 @@ export const BasePegaDxilMySearchbox: Story = args => {
24
24
 
25
25
  const props = {
26
26
  value,
27
- placeholder: configProps.placeholder,
28
- label: configProps.label,
29
- helperText: configProps.helperText,
30
- datasource: configProps.datasource,
31
- testId: configProps.testId,
32
27
  hasSuggestions: configProps.hasSuggestions,
33
28
  columns: [],
34
- isTableFormatter: false,
35
29
  listType: 'associated',
36
- parameters: {},
37
30
  datasourceMetadata,
38
31
  fieldMetadata,
39
- validatemessage: '',
40
32
  getPConnect: () => {
41
33
  return {
42
34
  getConfigProps: () => {
@@ -93,9 +85,11 @@ export const BasePegaDxilMySearchbox: Story = args => {
93
85
  };
94
86
 
95
87
  BasePegaDxilMySearchbox.args = {
88
+ datasource: configProps.datasource,
96
89
  label: configProps.label,
97
90
  helperText: configProps.helperText,
98
91
  placeholder: configProps.placeholder,
92
+ parameters: {},
99
93
  isTableFormatter: false,
100
94
  testId: configProps.testId,
101
95
  readOnly: configProps.readOnly,
@@ -645,12 +645,14 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
645
645
  PCore.getDataApi()
646
646
  .init(dataConfig, contextName)
647
647
  .then(dataObj => {
648
+ // @ts-ignore
648
649
  setDataApiObj(dataObj);
649
650
  // To avoid calling doSearch if someone types/pastes value before the API call is made
650
651
  if (!filterValue)
651
652
  doSearch(
652
653
  '',
653
654
  getDisplayFieldsMetaData(dataConfig.columns),
655
+ // @ts-ignore
654
656
  dataObj,
655
657
  setItems as any,
656
658
  setLoading,
@@ -677,6 +679,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
677
679
  PCore.getDataApi()
678
680
  .init(dataConfig, contextName)
679
681
  .then(dataObj => {
682
+ // @ts-ignore
680
683
  setDataApiObj(dataObj);
681
684
  // To avoid calling doSearch if someone types/pastes value before the API call is made
682
685
  if (!filterValue) {
@@ -692,6 +695,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
692
695
  doSearch(
693
696
  '',
694
697
  getDisplayFieldsMetaData(dataConfig.columns),
698
+ // @ts-ignore
695
699
  dataObj,
696
700
  setItems as any,
697
701
  setLoading,
@@ -711,6 +715,7 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
711
715
  doSearch(
712
716
  '',
713
717
  getDisplayFieldsMetaData(dataConfig.columns),
718
+ // @ts-ignore
714
719
  dataObj,
715
720
  setItems as any,
716
721
  setLoading,
@@ -770,10 +775,14 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
770
775
  PCore.getDataApi()
771
776
  .init(dataConfig, contextName)
772
777
  .then(dataObj => {
778
+ // @ts-ignore
773
779
  setDataApiObj(dataObj);
780
+ // @ts-ignore
774
781
  buildColumnForDisplayValue(dataObj);
775
782
  // SET matchPosition to EQUALS to return exact matching record
783
+ // @ts-ignore
776
784
  dataObj.matchPosition = 'equals';
785
+ // @ts-ignore
777
786
  dataObj
778
787
  .fetchData(value)
779
788
  .then((displayResponse: { data: Array<never> }) => {
@@ -822,11 +831,13 @@ function PegaDxilMySearchbox(props: PegaDxilMySearchboxProps) {
822
831
  setSelected(searchedItem[0]);
823
832
  setActualValue(value);
824
833
  // RESET matchPosition
834
+ // @ts-ignore
825
835
  dataObj.matchPosition = dataConfig.matchPosition;
826
836
  })
827
837
  .catch(() => {
828
838
  setActualValue(value);
829
839
  // RESET matchPosition
840
+ // @ts-ignore
830
841
  dataObj.matchPosition = dataConfig.matchPosition;
831
842
  });
832
843
  });
@@ -181,7 +181,9 @@ export const updatePropertiesForNewRecord = (
181
181
  setDataApiObj(dataObj);
182
182
  buildColumnForDisplayValue(dataObj);
183
183
  // SET matchPosition to EQUALS to return exact matching record
184
+ // @ts-ignore
184
185
  dataObj.matchPosition = 'equals';
186
+ // @ts-ignore
185
187
  dataObj
186
188
  .fetchData(newCaseId)
187
189
  // @ts-ignore
@@ -212,6 +214,7 @@ export const updatePropertiesForNewRecord = (
212
214
  })
213
215
  .finally(() => {
214
216
  // RESET matchPosition
217
+ // @ts-ignore
215
218
  dataObj.matchPosition = dataConfig.matchPosition;
216
219
  });
217
220
  });
@@ -23,9 +23,6 @@ export const BasePegaDxilMyText: 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 StyledPegaDxilMyTextWrapper from './styles';
7
15
  // interface for props
8
16
  interface PegaDxilMyTextProps 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 PegaDxilMyText(props: PegaDxilMyTextProps) {
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
+ <StyledPegaDxilMyTextWrapper> {displayComp} </StyledPegaDxilMyTextWrapper>
95
+ ) : (
96
+ <StyledPegaDxilMyTextWrapper>
97
+ <FieldValueList
98
+ variant={hideLabel ? 'stacked' : variant}
99
+ data-testid={testId}
100
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
101
+ />
102
+ </StyledPegaDxilMyTextWrapper>
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
+ <StyledPegaDxilMyTextWrapper>
117
+ <FieldValueList
118
+ variant='stacked'
119
+ data-testid={testId}
120
+ fields={[{ id: '2', name: hideLabel ? '' : label, value: val }]}
121
+ />
122
+ </StyledPegaDxilMyTextWrapper>
123
+ );
124
+ }
125
+
36
126
  return (
37
127
  <StyledPegaDxilMyTextWrapper>
38
128
  <Input
@@ -2,9 +2,9 @@
2
2
  import React from 'react';
3
3
  import { Status } from '@pega/cosmos-react-core';
4
4
 
5
- export default function StatusWorkRenderer({ value } : any) {
5
+ export default function StatusWorkRenderer({ value }: any) {
6
6
  // need to cast variant
7
- let variant : 'success' | 'urgent' | 'warn' | 'pending' | 'info';
7
+ let variant: 'success' | 'urgent' | 'warn' | 'pending' | 'info';
8
8
  variant = 'info';
9
9
 
10
10
  const warnStrings = ['fail', 'cancel', 'reject', 'revoke', 'stopped', 'warn'];
@@ -22,11 +22,5 @@ export default function StatusWorkRenderer({ value } : any) {
22
22
  variant = 'pending';
23
23
  }
24
24
 
25
-
26
-
27
- return (
28
- <Status type='rectangle' variant={variant} >
29
- {value}
30
- </Status>
31
- );
25
+ return <Status variant={variant}>{value}</Status>;
32
26
  }
@@ -20,13 +20,8 @@ export const BasePegaDxilMyTextInput: 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
- testId: configProps.testId,
27
23
  hasSuggestions: configProps.hasSuggestions,
28
24
  fieldMetadata,
29
- validatemessage: '',
30
25
  getPConnect: () => {
31
26
  return {
32
27
  getStateProps: () => {
@@ -64,5 +59,6 @@ BasePegaDxilMyTextInput.args = {
64
59
  status: configProps.status,
65
60
  hideLabel: configProps.hideLabel,
66
61
  displayMode: configProps.displayMode,
62
+ variant: configProps.variant,
67
63
  validatemessage: configProps.validatemessage
68
64
  };
@@ -143,7 +143,7 @@ function PegaDxilMyTextInput(props: PegaDxilMyTextInputProps) {
143
143
  displayComp = textFormatter(formatter, value);
144
144
  }
145
145
  return displayMode === 'DISPLAY_ONLY' ? (
146
- <StyledPegaDxilMyTextInputWrapper> displayComp </StyledPegaDxilMyTextInputWrapper>
146
+ <StyledPegaDxilMyTextInputWrapper> {displayComp} </StyledPegaDxilMyTextInputWrapper>
147
147
  ) : (
148
148
  <StyledPegaDxilMyTextInputWrapper>
149
149
  <FieldValueList
@@ -8,6 +8,7 @@ export const configProps = {
8
8
  testId: 'TextInput-12345678',
9
9
  hasSuggestions: false,
10
10
  displayMode: '',
11
+ variant: '',
11
12
  hideLabel: false,
12
13
  readOnly: false,
13
14
  required: false,
@@ -15,6 +15,9 @@ type Story = StoryObj<typeof PegaDxilMyTimeOfDay>;
15
15
 
16
16
  export const BasePegaDxilMyTimeOfDay: Story = args => {
17
17
  const props = {
18
+ value: configProps.value,
19
+ additionalProps: configProps.additionalProps,
20
+ hasSuggestions: configProps.hasSuggestions,
18
21
  getPConnect: () => {
19
22
  return {
20
23
  getActionsApi: () => {
@@ -37,21 +40,7 @@ export const BasePegaDxilMyTimeOfDay: Story = args => {
37
40
  ignoreSuggestion: () => {/* nothing */},
38
41
  clearErrorMessages: () => {/* nothing */}
39
42
  };
40
- },
41
- value: configProps.value,
42
- validatemessage: configProps.validatemessage,
43
- label: configProps.label,
44
- hideLabel: configProps.hideLabel,
45
- helperText: configProps.helperText,
46
- withSeconds: configProps.withSeconds,
47
- testId: configProps.testId,
48
- additionalProps: configProps.additionalProps,
49
- displayMode: configProps.displayMode,
50
- variant: configProps.variant,
51
- hasSuggestions: configProps.hasSuggestions,
52
- disabled: configProps.disabled,
53
- readOnly: configProps.readOnly,
54
- required: configProps.required
43
+ }
55
44
  };
56
45
 
57
46
  return (
@@ -72,5 +61,6 @@ BasePegaDxilMyTimeOfDay.args = {
72
61
  status: configProps.status,
73
62
  hideLabel: configProps.hideLabel,
74
63
  displayMode: configProps.displayMode,
64
+ variant: configProps.variant,
75
65
  validatemessage: configProps.validatemessage
76
66
  };
@@ -140,7 +140,7 @@ function PegaDxilMyTimeOfDay (props: PegaDxilMyTimeOfDayProps) {
140
140
  );
141
141
  switch (displayMode) {
142
142
  case 'DISPLAY_ONLY': {
143
- return ( <StyledPegaDxilMyTimeOfDayWrapper> displayComp </StyledPegaDxilMyTimeOfDayWrapper>);
143
+ return ( <StyledPegaDxilMyTimeOfDayWrapper> {displayComp} </StyledPegaDxilMyTimeOfDayWrapper>);
144
144
  }
145
145
  case 'LABELS_LEFT': {
146
146
  return (
@@ -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 PegaDxilMyTwoColumnDetailsAvatarProps 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: PegaDxilMyTwoColumnDetailsAvatarProps) {
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);
@@ -0,0 +1,52 @@
1
+ import { Fragment, ReactElement } from 'react';
2
+ import { FieldValueList } from '@pega/cosmos-react-core';
3
+
4
+ interface DetailsRenderProps {
5
+ children?: never;
6
+ child: NonNullable<ReactElement>;
7
+ }
8
+
9
+ const DetailsRender = (props: DetailsRenderProps) => {
10
+ const { child } = props;
11
+
12
+ const kids = child.props.getPConnect().getChildren();
13
+
14
+ const displayCompArr: ReactElement[] = [];
15
+
16
+ Object.values(kids).forEach((value: any, i :number) => {
17
+ const { type } = value.getPConnect().getRawMetadata();
18
+ const { hideLabel, variant, testId, label } = value
19
+ .getPConnect()
20
+ .resolveConfigProps(value.getPConnect().getConfigProps());
21
+
22
+ let displayComp;
23
+ const key = JSON.stringify(value.getPConnect());
24
+ const key1 = key.concat(`-${i}`);
25
+
26
+ if (type === 'reference') {
27
+ const refElement = value.getPConnect().getComponent();
28
+
29
+ displayCompArr.push(refElement);
30
+ } else {
31
+ const element = value.getPConnect().getComponent();
32
+ const displayEl = <Fragment key={key}>{element}</Fragment>;
33
+
34
+ displayComp = (
35
+ <Fragment key={key1}>
36
+ <FieldValueList
37
+ style={{ columnGap: '0'}}
38
+ variant={hideLabel ? 'stacked' : variant}
39
+ data-testid={testId}
40
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayEl }]}
41
+ />
42
+ </Fragment>
43
+ );
44
+
45
+ displayCompArr.push(displayComp);
46
+ }
47
+ });
48
+
49
+ return <>{displayCompArr}</>;
50
+ };
51
+
52
+ export default DetailsRender;