@pega/custom-dx-components 8.8.16 → 8.8.18

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 (246) hide show
  1. package/.prettierrc.json +7 -1
  2. package/babel.config.cjs +13 -0
  3. package/jest.config.cjs +37 -0
  4. package/package.json +12 -4
  5. package/src/auth.js +9 -3
  6. package/src/cli.js +12 -0
  7. package/src/constants.js +9 -4
  8. package/src/currentPath.cjs +1 -0
  9. package/src/tasks/authenticate/index.js +43 -40
  10. package/src/tasks/build/helper.js +18 -31
  11. package/src/tasks/build/index.js +26 -6
  12. package/src/tasks/build-all/index.js +15 -3
  13. package/src/tasks/bundle/builder/index.js +5 -0
  14. package/src/tasks/bundle/builder/webpack.config.js +1 -3
  15. package/src/tasks/create/index.js +17 -7
  16. package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +13 -6
  17. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
  18. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
  19. package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +13 -6
  20. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
  21. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
  23. package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +13 -6
  24. package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +13 -6
  25. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +13 -6
  26. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +13 -6
  27. package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +13 -6
  28. package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +13 -6
  29. package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +13 -6
  30. package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +13 -6
  31. package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +13 -6
  32. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +13 -6
  33. package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +13 -6
  34. package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +13 -6
  35. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/styles.js.mustache +13 -6
  36. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
  37. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +13 -6
  38. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +13 -6
  39. package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +13 -6
  40. package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +13 -6
  41. package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +13 -6
  42. package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +13 -6
  43. package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +13 -6
  44. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +13 -6
  45. package/src/tasks/create-all/index.js +109 -150
  46. package/src/tasks/delete/helper.js +87 -53
  47. package/src/tasks/delete/index.js +8 -15
  48. package/src/tasks/delete-all/helper.js +132 -85
  49. package/src/tasks/delete-all/index.js +8 -15
  50. package/src/tasks/index.js +2 -0
  51. package/src/tasks/init/index.js +20 -22
  52. package/src/tasks/init/template/babel.config.cjs +13 -0
  53. package/src/tasks/init/template/jest.config.cjs +21 -0
  54. package/src/tasks/init/template/package.json.mustache +6 -4
  55. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
  56. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
  57. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
  58. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
  59. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +14 -0
  60. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
  61. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
  62. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
  63. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
  64. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
  65. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
  66. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
  67. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +14 -0
  68. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
  69. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
  70. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
  71. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
  72. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
  73. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +14 -0
  74. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
  75. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
  76. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
  77. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
  78. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
  79. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +14 -0
  80. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
  81. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
  82. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
  83. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
  84. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
  85. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
  86. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
  87. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
  88. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +14 -0
  89. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
  90. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
  91. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
  92. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
  93. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
  94. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
  95. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
  96. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
  97. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +14 -0
  98. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
  99. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
  100. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
  101. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
  102. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
  103. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
  104. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +14 -0
  105. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
  106. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
  107. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
  108. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
  109. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
  110. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
  111. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
  112. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +14 -0
  113. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
  114. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
  115. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
  116. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
  117. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
  118. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
  119. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +14 -0
  120. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
  121. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
  122. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
  123. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
  124. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
  125. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
  126. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +14 -0
  127. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
  128. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
  129. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
  130. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
  131. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
  132. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +14 -0
  133. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
  134. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
  135. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
  136. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
  137. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
  138. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
  139. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
  140. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
  141. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +14 -0
  142. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
  143. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
  144. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
  145. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
  146. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
  147. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
  148. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
  149. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
  150. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +14 -0
  151. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
  152. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
  153. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
  154. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
  155. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
  156. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +14 -0
  157. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
  158. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
  159. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
  160. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
  161. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
  162. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +14 -0
  163. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
  164. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
  165. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
  166. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
  167. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
  168. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
  169. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +14 -0
  170. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
  171. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
  172. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
  173. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
  174. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
  175. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
  176. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +14 -0
  177. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
  178. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
  179. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
  180. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
  181. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
  182. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
  183. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +14 -0
  184. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
  185. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
  186. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
  187. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
  188. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
  189. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +14 -0
  190. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
  191. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
  192. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
  193. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
  194. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
  195. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
  196. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +14 -0
  197. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
  198. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
  199. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
  200. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
  201. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
  202. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +14 -0
  203. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
  204. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
  205. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
  206. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
  207. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
  208. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
  209. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
  210. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
  211. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +14 -0
  212. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
  213. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
  214. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
  215. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
  216. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
  217. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
  218. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +14 -0
  219. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
  220. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
  221. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
  222. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
  223. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
  224. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +14 -0
  225. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
  226. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
  227. package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
  228. package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
  229. package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
  230. package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
  231. package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
  232. package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
  233. package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
  234. package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
  235. package/src/tasks/list/helper.js +129 -61
  236. package/src/tasks/list/index.js +3 -4
  237. package/src/tasks/promote-webpack/index.js +126 -0
  238. package/src/tasks/promote-webpack/webpack.config.js +376 -0
  239. package/src/tasks/publish/helper.js +69 -80
  240. package/src/tasks/publish/index.js +29 -12
  241. package/src/tasks/publish-all/helper.js +66 -83
  242. package/src/tasks/publish-all/index.js +30 -18
  243. package/src/tasks/rename/index.js +127 -97
  244. package/src/tasks/revert-webpack/index.js +71 -0
  245. package/src/util.js +205 -108
  246. package/test/unitTest/util.test.js +544 -0
@@ -0,0 +1,351 @@
1
+ import { useState, useEffect, useRef } from 'react';
2
+ import { Select, Option, FieldValueList, Text } from '@pega/cosmos-react-core';
3
+ import PropTypes from 'prop-types';
4
+
5
+ // includes in bundle
6
+ import handleEvent from "./event-utils";
7
+ import { suggestionsHandler } from './suggestions-handler';
8
+
9
+ import StyledPegaDxilMyPicklistWrapper from './styles';
10
+ import {EmailDisplay, PhoneDisplay, URLDisplay } from "@pega/cosmos-react-core";
11
+
12
+ export const formatExists = (formatterVal) => {
13
+ const formatterValues = [
14
+ "TextInput",
15
+ "WorkStatus",
16
+ "RichText",
17
+ "Email",
18
+ "Phone",
19
+ "URL",
20
+ "Operator"
21
+ ];
22
+ let isformatter = false;
23
+ if (formatterValues.includes(formatterVal)) {
24
+ isformatter = true;
25
+ }
26
+ return isformatter;
27
+ };
28
+
29
+
30
+ export const textFormatter = (formatter,value) => {
31
+ let displayComponent = null;
32
+ switch(formatter){
33
+ case "TextInput" : {
34
+ displayComponent = value;
35
+ break;
36
+ }
37
+ case "Email" : {
38
+ displayComponent = (<EmailDisplay value={value} displayText={value} variant="link" />);
39
+ break;
40
+ }
41
+ case "Phone" : {
42
+ displayComponent = (<PhoneDisplay value={value} variant="link" />);
43
+ break;
44
+ }
45
+ case "URL" : {
46
+ displayComponent = (<URLDisplay target="_blank" value={value} displayText={value} variant="link" />);
47
+ break;
48
+ }
49
+ // no default
50
+ }
51
+ return displayComponent;
52
+ };
53
+
54
+
55
+ export const setDefaultValue = (dropdownOptions, pConnect, propName) => {
56
+ // calculate the default option and set it to dropdown
57
+ const option = (dropdownOptions && dropdownOptions[0]) || {};
58
+ const defaultValue = option.key ? option.props.value : '';
59
+ pConnect.setValue(propName, defaultValue, defaultValue);
60
+ };
61
+
62
+ const pushPlaceholderOption = (placeholder, listSourceItems, items, pConnect) => {
63
+ // If we have a placeholder, push that option in the list of items
64
+ if (placeholder) {
65
+ items.push(
66
+ <Option key={placeholder} value=''>
67
+ {pConnect.getLocalizedValue(placeholder)}
68
+ </Option>
69
+ );
70
+ } else if (!listSourceItems) {
71
+ // If we don't have a placeholder and our list source is empty, push a blank row option in the list of items
72
+ items.push(<Option key='' value='' />);
73
+ }
74
+ };
75
+
76
+
77
+ // Duplicated runtime code from Constellation Design System Component
78
+
79
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
80
+ // any default values in config.pros should be set in defaultProps at bottom of this file
81
+ const PegaDxilMyPicklist = props => {
82
+ const {
83
+ getPConnect,
84
+ value,
85
+ label,
86
+ hideLabel,
87
+ placeholder,
88
+ datasource,
89
+ listType,
90
+ validatemessage,
91
+ testId,
92
+ helperText,
93
+ additionalProps,
94
+ displayMode,
95
+ onRecordChange,
96
+ variant,
97
+ fieldMetadata,
98
+ isTableFormatter,
99
+ hasSuggestions
100
+ } = props;
101
+ const { formatter } = props;
102
+ const pConnect = getPConnect();
103
+ const actions = pConnect.getActionsApi();
104
+ const propName = pConnect.getStateProps().value;
105
+ const className = pConnect.getCaseInfo().getClassName();
106
+ const refName = propName?.slice(propName.lastIndexOf('.') + 1);
107
+
108
+ let { readOnly, required, disabled } = props;
109
+ [readOnly, required, disabled] = [readOnly, required, disabled].map(
110
+ (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
111
+ );
112
+
113
+ const [status, setStatus] = useState(hasSuggestions ? 'pending' : undefined);
114
+
115
+ const useIsMount = () => {
116
+ const isMountRef = useRef(true);
117
+ useEffect(() => {
118
+ isMountRef.current = false;
119
+ }, []);
120
+ return isMountRef.current;
121
+ };
122
+
123
+ const isMount = useIsMount();
124
+
125
+ const metaData = Array.isArray(fieldMetadata)
126
+ ? fieldMetadata.filter((field) => field?.classID === className)[0]
127
+ : fieldMetadata;
128
+ let displayName = metaData?.datasource?.propertyForDisplayText;
129
+ displayName = displayName?.slice(displayName.lastIndexOf('.') + 1);
130
+ const localeContext = metaData?.datasource?.tableType === 'DataPage' ? 'datapage' : 'associated';
131
+ const localeClass = localeContext === 'datapage' ? '@baseclass' : className;
132
+ const localeName = localeContext === 'datapage' ? metaData?.datasource?.name : refName;
133
+ const localePath = localeContext === 'datapage' ? displayName : '';
134
+
135
+ const configProps = pConnect.getConfigProps();
136
+ const items = [];
137
+ const isDatapage = listType === 'datapage';
138
+ let listSourceItems = isDatapage ? configProps.listOutput : datasource;
139
+
140
+ if (isDatapage && typeof datasource === 'object' && !Array.isArray(listSourceItems)) {
141
+ listSourceItems = datasource.source ? datasource.source : [];
142
+ }
143
+
144
+ useEffect(() => {
145
+ if (validatemessage !== '') {
146
+ setStatus('error');
147
+ }
148
+ if (hasSuggestions) {
149
+ setStatus('pending');
150
+ } else if (!hasSuggestions && status !== 'success') {
151
+ setStatus(validatemessage !== '' ? 'error' : undefined);
152
+ }
153
+ }, [validatemessage, hasSuggestions]);
154
+
155
+ pushPlaceholderOption(placeholder, listSourceItems, items, pConnect);
156
+
157
+ // Loop through all of our list source items that make up the values of the dropdown
158
+
159
+ let selectedLabel = '';
160
+ (listSourceItems || []).forEach((item) => {
161
+ selectedLabel =
162
+ value !== undefined &&
163
+ value !== null &&
164
+ item.key !== undefined &&
165
+ item.key !== null &&
166
+ value.toString() === item.key.toString()
167
+ ? item.text || item.value
168
+ : selectedLabel;
169
+ items.push(
170
+ <Option key={item.key} value={item.key}>
171
+ {isDatapage
172
+ ? pConnect.getLocalizedValue(
173
+ item.text,
174
+ localePath,
175
+ pConnect.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
176
+ )
177
+ : pConnect.getLocalizedValue(
178
+ item.value,
179
+ localePath,
180
+ pConnect.getLocaleRuleNameFromKeys(localeClass, localeContext, localeName)
181
+ )}
182
+ </Option>
183
+ );
184
+ });
185
+
186
+ const isDisplayModeEnabled =
187
+ displayMode === 'LABELS_LEFT' || displayMode === 'STACKED_LARGE_VAL' || displayMode === 'DISPLAY_ONLY';
188
+ let firstOptionKey = '';
189
+ let firstOptionValue = '';
190
+ if (!placeholder && listSourceItems?.length > 0) {
191
+ // First option isn't going to change as long as placeholder is present. Incase placeholder is not there
192
+ // check for new option
193
+ firstOptionKey = listSourceItems[0].key;
194
+ firstOptionValue = listSourceItems[0].text || listSourceItems[0].value;
195
+ }
196
+ useEffect(() => {
197
+ // placeholder - placeholder option configured to be shown with dropdown, empty string if not configured
198
+ // value - value of the dropdown if set to something prior (either by pre-activity or default value etc.), empty string if nothing is set
199
+ // selectedLabel - is value(the one above) if it is one of the option in the dropdown datasource, empty string if not
200
+ // below code does this -
201
+ // set dropdown value to first option if placeholder is NOT present and ((value is empty) or (value is not empty and selectedLabel is empty))
202
+ // set dropdown value to empty if placeholder is present and value is not empty and selectedLabel is empty
203
+ // Broken down first option(key, value) to be as dependency instead of entire items array which creates new reference on every render
204
+ // First option is kept as dependency as setDefaultValue sets only first value from options
205
+ if (!isDisplayModeEnabled && ((!placeholder && !value) || (!isMount && value && !selectedLabel))) {
206
+ setDefaultValue(items, pConnect, propName);
207
+ }
208
+ }, [firstOptionKey, firstOptionValue, placeholder, selectedLabel, value, propName]);
209
+
210
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'DISPLAY_ONLY') {
211
+ let displayComp = selectedLabel;
212
+ if (isTableFormatter && formatExists(formatter)) {
213
+ displayComp = textFormatter(formatter, selectedLabel);
214
+ }
215
+ if (selectedLabel === '') {
216
+ displayComp = value || <span aria-hidden='true'>&ndash;&ndash;</span>;
217
+ }
218
+
219
+ return displayMode === 'DISPLAY_ONLY' ? (
220
+ <StyledPegaDxilMyPicklistWrapper>
221
+ displayComp
222
+ </StyledPegaDxilMyPicklistWrapper>
223
+ ) : (
224
+ <StyledPegaDxilMyPicklistWrapper>
225
+ <FieldValueList
226
+ variant={hideLabel ? 'stacked' : variant}
227
+ data-testid={testId}
228
+ fields={[
229
+ {
230
+ id: '1',
231
+ name: hideLabel ? '' : label,
232
+ value: displayComp
233
+ }
234
+ ]}
235
+ />
236
+ </StyledPegaDxilMyPicklistWrapper>
237
+ );
238
+ }
239
+
240
+ if (displayMode === 'STACKED_LARGE_VAL') {
241
+ selectedLabel = selectedLabel === '' ? value : selectedLabel;
242
+ const isValDefined = typeof selectedLabel !== 'undefined' && selectedLabel !== '';
243
+ const val = isValDefined ? (
244
+ <Text variant='h1' as='span'>
245
+ {selectedLabel}
246
+ </Text>
247
+ ) : (
248
+ ''
249
+ );
250
+ return (
251
+ <StyledPegaDxilMyPicklistWrapper>
252
+ <FieldValueList
253
+ variant='stacked'
254
+ data-testid={testId}
255
+ fields={[{ id: '2', name: hideLabel ? '' : label, value: val }]}
256
+ />
257
+ </StyledPegaDxilMyPicklistWrapper>
258
+ );
259
+ }
260
+
261
+ const onResolveSuggestionHandler = (accepted) => {
262
+ suggestionsHandler(accepted, pConnect, setStatus);
263
+ };
264
+
265
+ return (
266
+ <StyledPegaDxilMyPicklistWrapper>
267
+ <Select
268
+ {...additionalProps}
269
+ label={label}
270
+ labelHidden={hideLabel}
271
+ info={validatemessage || helperText}
272
+ status={status}
273
+ data-testid={testId}
274
+ key={getPConnect().getRawMetadata().config.value}
275
+ value={value}
276
+ disabled={disabled}
277
+ required={required}
278
+ readOnly={readOnly}
279
+ onChange={(event) => {
280
+ handleEvent(actions, 'changeNblur', propName, event.target.value);
281
+ if (hasSuggestions) {
282
+ pConnect.ignoreSuggestion();
283
+ setStatus(undefined);
284
+ }
285
+ if (onRecordChange) {
286
+ onRecordChange(event);
287
+ }
288
+ }}
289
+ onBlur={(event) => {
290
+ pConnect.getValidationApi().validate(event.target.value);
291
+ }}
292
+ onResolveSuggestion={onResolveSuggestionHandler}
293
+ >
294
+ {items}
295
+ </Select>
296
+ </StyledPegaDxilMyPicklistWrapper>
297
+ );
298
+ }
299
+
300
+ PegaDxilMyPicklist.defaultProps = {
301
+ value: '',
302
+ placeholder: '',
303
+ validatemessage: '',
304
+ hideLabel: false,
305
+ disabled: false,
306
+ readOnly: false,
307
+ required: false,
308
+ testId: null,
309
+ helperText: '',
310
+ datasource: [],
311
+ listType: '',
312
+ additionalProps: {},
313
+ fieldMetadata: {},
314
+ displayMode: null,
315
+ onRecordChange: null,
316
+ variant: 'inline',
317
+ formatter: '',
318
+ isTableFormatter: false,
319
+ hasSuggestions: false
320
+ };
321
+
322
+ PegaDxilMyPicklist.propTypes = {
323
+ getPConnect: PropTypes.func.isRequired,
324
+ value: PropTypes.string,
325
+ placeholder: PropTypes.string,
326
+ label: PropTypes.string.isRequired,
327
+ hideLabel: PropTypes.bool,
328
+ datasource: PropTypes.oneOfType([
329
+ PropTypes.arrayOf(PropTypes.any),
330
+ PropTypes.shape({
331
+ source: PropTypes.arrayOf(PropTypes.any)
332
+ })
333
+ ]),
334
+ listType: PropTypes.string,
335
+ validatemessage: PropTypes.string,
336
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
337
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
338
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
339
+ testId: PropTypes.string,
340
+ helperText: PropTypes.string,
341
+ additionalProps: PropTypes.objectOf(PropTypes.any),
342
+ fieldMetadata: PropTypes.objectOf(PropTypes.any),
343
+ displayMode: PropTypes.string,
344
+ onRecordChange: PropTypes.func,
345
+ variant: PropTypes.string,
346
+ formatter: PropTypes.string,
347
+ isTableFormatter: PropTypes.bool,
348
+ hasSuggestions: PropTypes.bool
349
+ };
350
+
351
+ export default PegaDxilMyPicklist;
@@ -0,0 +1,67 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Picklist Sample',
4
+ placeholder: 'Select...',
5
+ listType: 'associated',
6
+ datasource: [
7
+ {
8
+ key: 'Option 1',
9
+ value: 'Option 1'
10
+ },
11
+ {
12
+ key: 'Option 2',
13
+ value: 'Option 2'
14
+ },
15
+ {
16
+ key: 'Option 3',
17
+ value: 'Option 3'
18
+ }
19
+ ],
20
+ helperText: 'Picklist Helper Text',
21
+ testId: 'picklist-12345678',
22
+ hasSuggestions: false
23
+ };
24
+
25
+ export const stateProps = {
26
+ value: '.PicklistSample',
27
+ placeholder: 'Select...',
28
+ datasource: '.PicklistSample',
29
+ hasSuggestions: false
30
+ };
31
+
32
+ export const rawMetadata = {
33
+ type: 'Dropdown',
34
+ config: {
35
+ value: '@P .PicklistSample',
36
+ label: '@L Picklist Sample',
37
+ placeholder: '@L Select...',
38
+ listType: 'associated',
39
+ datasource: '@ASSOCIATED .PicklistSample',
40
+ helperText: '@L Picklist Helper Text',
41
+ testId: 'picklist-12345678'
42
+ }
43
+ };
44
+
45
+ export const fieldMetadata = {
46
+ classID: 'DIXL-MediaCo-Work-NewService',
47
+ type: 'Text',
48
+ displayAs: 'pxDropdown',
49
+ label: 'Picklist sample',
50
+ datasource: {
51
+ tableType: 'PromptList',
52
+ records: [
53
+ {
54
+ key: 'Option 1',
55
+ value: 'Option 1'
56
+ },
57
+ {
58
+ key: 'Option 2',
59
+ value: 'Option 2'
60
+ },
61
+ {
62
+ key: 'Option 3',
63
+ value: 'Option 3'
64
+ }
65
+ ]
66
+ }
67
+ };
@@ -0,0 +1,14 @@
1
+ // utilizing theming, comment out, if want individual style
2
+ import styled from 'styled-components';
3
+ import { Configuration } from '@pega/cosmos-react-core';
4
+
5
+ export default styled(Configuration)``;
6
+
7
+ // individual style, comment out above, and uncomment here and add styles
8
+ // import styled, { css } from 'styled-components';
9
+ //
10
+ // export default styled.div(() => {
11
+ // return css`
12
+ // margin: 0px 0;
13
+ // `;
14
+ // });
@@ -0,0 +1,10 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ export const suggestionsHandler = (accepted, pConn, setStatus) => {
3
+ if (accepted) {
4
+ pConn.acceptSuggestion();
5
+ setStatus('success');
6
+ } else {
7
+ pConn.ignoreSuggestion();
8
+ setStatus(undefined);
9
+ }
10
+ };
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "Pega_DXIL_MyText",
3
+ "label": "My Text",
4
+ "description": "My Text",
5
+ "organization": "Pega",
6
+ "version": "0.0.1",
7
+ "library": "DXIL",
8
+ "allowedApplications": [],
9
+ "componentKey": "Pega_DXIL_MyText",
10
+ "type": "Field",
11
+ "subtype": "Text",
12
+ "properties": [
13
+ {
14
+ "name": "label",
15
+ "label": "Label value",
16
+ "format": "TEXT"
17
+ },
18
+ {
19
+ "name": "placeholder",
20
+ "label": "Placeholder",
21
+ "format": "TEXT"
22
+ },
23
+ {
24
+ "name": "visibility",
25
+ "label": "Visible",
26
+ "format": "VISIBILITY"
27
+ },
28
+ {
29
+ "name": "disabled",
30
+ "label": "Disabled",
31
+ "format": "DISABLED"
32
+ },
33
+ {
34
+ "name": "required",
35
+ "label": "Required",
36
+ "format": "REQUIRED"
37
+ },
38
+ {
39
+ "label": "Advanced",
40
+ "format": "GROUP",
41
+ "collapsible": true,
42
+ "properties": [
43
+ {
44
+ "name": "testId",
45
+ "label": "Test ID",
46
+ "format": "TEXT",
47
+ "ignorePattern": "[^-_\\p{N}\\p{L}]",
48
+ "includeAnnotations": false
49
+ }
50
+ ]
51
+ }
52
+ ],
53
+ "defaultConfig": {
54
+ }
55
+ }
@@ -0,0 +1,51 @@
1
+ import { useState } from 'react';
2
+ import { withKnobs } from '@storybook/addon-knobs';
3
+
4
+ import { stateProps, configProps } from './mock.stories';
5
+
6
+ import PegaDxilMyText from './index.jsx';
7
+
8
+ export default {
9
+ title: 'PegaDxilMyText',
10
+ decorators: [withKnobs],
11
+ component: PegaDxilMyText
12
+ };
13
+
14
+ export const basePegaDxilMyText = () => {
15
+ // eslint-disable-next-line react-hooks/rules-of-hooks
16
+ const [value, setValue] = useState(configProps.value);
17
+
18
+ const props = {
19
+ value,
20
+ placeholder: configProps.placeholder,
21
+ label: configProps.label,
22
+ testId: configProps.testId,
23
+ hasSuggestions: configProps.hasSuggestions,
24
+
25
+ getPConnect: () => {
26
+ return {
27
+ getStateProps: () => {
28
+ return stateProps;
29
+ },
30
+ getActionsApi: () => {
31
+ return {
32
+ updateFieldValue: (propName, theValue) => {
33
+ setValue(theValue);
34
+ },
35
+ triggerFieldChange: () => {/* nothing */}
36
+ };
37
+ },
38
+ ignoreSuggestion: () => {/* nothing */},
39
+ acceptSuggestion: () => {/* nothing */},
40
+ setInheritedProps: () => {/* nothing */},
41
+ resolveConfigProps: () => {/* nothing */}
42
+ };
43
+ }
44
+ };
45
+
46
+ return (
47
+ <>
48
+ <PegaDxilMyText {...props} />
49
+ </>
50
+ );
51
+ };
@@ -0,0 +1,60 @@
1
+ import PropTypes from 'prop-types';
2
+ import { Input, Label } from '@pega/cosmos-react-core';
3
+
4
+ import StyledPegaDxilMyTextWrapper from './styles';
5
+
6
+
7
+ // Duplicated runtime code from Constellation Design System Component
8
+
9
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
10
+ // any default values in config.pros should be set in defaultProps at bottom of this file
11
+ const PegaDxilMyText = props => {
12
+ const { getPConnect, value, placeholder, disabled, readOnly, required, label, testId } = props;
13
+
14
+ const pConn = getPConnect();
15
+ const actions = pConn.getActionsApi();
16
+ const propName = pConn?.getStateProps()?.value;
17
+
18
+ const handleOnChange = event => {
19
+ const { value: updatedValue } = event.target;
20
+ actions.updateFieldValue(propName, updatedValue);
21
+ };
22
+
23
+ return (
24
+ <StyledPegaDxilMyTextWrapper>
25
+ <Label>{label}</Label>
26
+ <Input
27
+ type='text'
28
+ value={value}
29
+ placeholder={placeholder}
30
+ disabled={disabled}
31
+ readOnly={readOnly}
32
+ required={required}
33
+ onChange={handleOnChange}
34
+ testId={testId}
35
+ />
36
+ </StyledPegaDxilMyTextWrapper>
37
+ );
38
+ };
39
+
40
+ PegaDxilMyText.defaultProps = {
41
+ value: '',
42
+ placeholder: '',
43
+ disabled: false,
44
+ readOnly: false,
45
+ required: false,
46
+ testId: null
47
+ };
48
+
49
+ PegaDxilMyText.propTypes = {
50
+ label: PropTypes.string,
51
+ value: PropTypes.string,
52
+ placeholder: PropTypes.string,
53
+ getPConnect: PropTypes.func.isRequired,
54
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
55
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
56
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
57
+ testId: PropTypes.string
58
+ };
59
+
60
+ export default PegaDxilMyText;
@@ -0,0 +1,13 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'Text Sample',
4
+ placeholder: 'Text Placeholder',
5
+ helperText: 'Text Helper Text',
6
+ testId: 'Text-12345678',
7
+ hasSuggestions: false
8
+ };
9
+
10
+ export const stateProps = {
11
+ value: '.TextSample',
12
+ hasSuggestions: false
13
+ };
@@ -0,0 +1,14 @@
1
+ // utilizing theming, comment out, if want individual style
2
+ import styled from 'styled-components';
3
+ import { Configuration } from '@pega/cosmos-react-core';
4
+
5
+ export default styled(Configuration)``;
6
+
7
+ // individual style, comment out above, and uncomment here and add styles
8
+ // import styled, { css } from 'styled-components';
9
+ //
10
+ // export default styled.div(() => {
11
+ // return css`
12
+ // margin: 0px 0;
13
+ // `;
14
+ // });
@@ -0,0 +1,26 @@
1
+ import { Status } from "@pega/cosmos-react-core";
2
+
3
+ export default function StatusWorkRenderer({ value }) {
4
+ let variant = "info";
5
+
6
+ const warnStrings = ["fail", "cancel", "reject", "revoke", "stopped", "warn"];
7
+ const infoStrings = ["open", "hold", "info", "new"];
8
+ const successStrings = ["resolved", "completed", "success"];
9
+ const pendingStrings = ["pending"];
10
+
11
+ if (new RegExp(warnStrings.join("|"), "i").test(value)) {
12
+ variant = "warn";
13
+ } else if (new RegExp(infoStrings.join("|"), "i").test(value)) {
14
+ variant = "info";
15
+ } else if (new RegExp(successStrings.join("|"), "i").test(value)) {
16
+ variant = "success";
17
+ } else if (new RegExp(pendingStrings.join("|"), "i").test(value)) {
18
+ variant = "pending";
19
+ }
20
+
21
+ return (
22
+ <Status type="rectangle" variant={variant}>
23
+ {value}
24
+ </Status>
25
+ );
26
+ }