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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +6 -0
  3. package/src/constants.js +10 -0
  4. package/src/tasks/build-jest-assets/index.js +153 -0
  5. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.ts.mustache +35 -0
  6. package/src/tasks/create/templates/Constellation/field/Boolean/demo.stories.tsx.mustache +28 -20
  7. package/src/tasks/create/templates/Constellation/field/Boolean/index.tsx.mustache +11 -48
  8. package/src/tasks/create/templates/Constellation/field/Boolean/mock.ts.mustache +2 -1
  9. package/src/tasks/create/templates/Constellation/field/Boolean/styles.ts.mustache +7 -14
  10. package/src/tasks/create/templates/Constellation/field/Date/{DateFormatter.js.mustache → DateFormatter.ts.mustache} +6 -6
  11. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.tsx.mustache +20 -0
  12. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/date.js → src/tasks/create/templates/Constellation/field/Date/date.ts.mustache} +3 -2
  13. package/src/tasks/create/templates/Constellation/field/Date/demo.stories.tsx.mustache +31 -24
  14. package/src/tasks/create/templates/Constellation/field/Date/index.tsx.mustache +19 -60
  15. package/src/tasks/create/templates/Constellation/field/Date/mock.ts.mustache +2 -1
  16. package/src/tasks/create/templates/Constellation/field/Date/styles.ts.mustache +7 -14
  17. package/src/tasks/create/templates/Constellation/field/DateTime/{date-time.js.mustache → date-time.ts.mustache} +12 -12
  18. package/src/tasks/create/templates/Constellation/field/{TimeOfDay/time-of-day.js.mustache → DateTime/date-utils.ts.mustache} +27 -26
  19. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.js → src/tasks/create/templates/Constellation/field/DateTime/date.ts.mustache} +1 -0
  20. package/src/tasks/create/templates/Constellation/field/DateTime/demo.stories.tsx.mustache +32 -25
  21. package/src/tasks/create/templates/Constellation/field/DateTime/index.tsx.mustache +13 -60
  22. package/src/tasks/create/templates/Constellation/field/DateTime/mock.ts.mustache +3 -1
  23. package/src/tasks/create/templates/Constellation/field/DateTime/styles.ts.mustache +7 -14
  24. package/src/tasks/create/templates/Constellation/field/Decimal/demo.stories.tsx.mustache +25 -13
  25. package/src/tasks/create/templates/Constellation/field/Decimal/index.tsx.mustache +15 -68
  26. package/src/tasks/create/templates/Constellation/field/Decimal/mock.ts.mustache +9 -1
  27. package/src/tasks/create/templates/Constellation/field/Decimal/styles.ts.mustache +7 -14
  28. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/demo.stories.tsx.mustache +28 -15
  29. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/index.tsx.mustache +24 -76
  30. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/mock.ts.mustache +11 -1
  31. package/src/tasks/create/templates/Constellation/field/Decimal-Currency/styles.ts.mustache +7 -14
  32. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/demo.stories.tsx.mustache +25 -12
  33. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/index.tsx.mustache +14 -55
  34. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/mock.ts.mustache +9 -2
  35. package/src/tasks/create/templates/Constellation/field/Decimal-Percentage/styles.ts.mustache +7 -14
  36. package/src/tasks/create/templates/Constellation/field/Integer/demo.stories.tsx.mustache +25 -12
  37. package/src/tasks/create/templates/Constellation/field/Integer/index.tsx.mustache +24 -88
  38. package/src/tasks/create/templates/Constellation/field/Integer/mock.ts.mustache +8 -2
  39. package/src/tasks/create/templates/Constellation/field/Integer/styles.ts.mustache +7 -14
  40. package/src/tasks/create/templates/Constellation/field/Picklist/demo.stories.tsx.mustache +25 -12
  41. package/src/tasks/create/templates/Constellation/field/Picklist/index.tsx.mustache +13 -61
  42. package/src/tasks/create/templates/Constellation/field/Picklist/mock.ts.mustache +9 -1
  43. package/src/tasks/create/templates/Constellation/field/Picklist/styles.ts.mustache +7 -14
  44. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.ts.mustache} +2 -1
  45. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/demo.stories.tsx.mustache +26 -14
  46. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.ts.mustache} +2 -1
  47. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/index.tsx.mustache +15 -76
  48. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/mock.ts.mustache +8 -1
  49. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.ts.mustache} +1 -0
  50. package/{tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/repeat-constants.js → src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/repeat-constants.ts.mustache} +1 -1
  51. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{repeat-utils.js.mustache → repeat-utils.ts.mustache} +6 -12
  52. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/styles.ts.mustache +7 -14
  53. package/src/tasks/create/templates/Constellation/field/{Picklist-RadioButtons/textformat-utils.jsx.mustache → Picklist-Autocomplete/textformat-utils.tsx.mustache} +30 -10
  54. package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/utils.ts.mustache +1 -1
  55. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/demo.stories.tsx.mustache +25 -13
  56. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/index.tsx.mustache +11 -58
  57. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/mock.ts.mustache +9 -1
  58. package/src/tasks/create/templates/Constellation/field/Picklist-RadioButtons/styles.ts.mustache +7 -14
  59. package/src/tasks/create/templates/Constellation/field/{Picklist-Autocomplete/textformat-utils.jsx.mustache → Picklist-RadioButtons/textformat-utils.tsx.mustache} +1 -0
  60. package/src/tasks/create/templates/Constellation/field/Text/demo.stories.tsx.mustache +23 -9
  61. package/src/tasks/create/templates/Constellation/field/Text/index.tsx.mustache +4 -22
  62. package/src/tasks/create/templates/Constellation/field/Text/mock.ts.mustache +8 -1
  63. package/src/tasks/create/templates/Constellation/field/Text/styles.ts.mustache +7 -14
  64. package/src/tasks/create/templates/Constellation/field/Text-Email/demo.stories.tsx.mustache +24 -11
  65. package/src/tasks/create/templates/Constellation/field/Text-Email/index.tsx.mustache +10 -47
  66. package/src/tasks/create/templates/Constellation/field/Text-Email/mock.ts.mustache +8 -1
  67. package/src/tasks/create/templates/Constellation/field/Text-Email/styles.ts.mustache +7 -14
  68. package/src/tasks/create/templates/Constellation/field/Text-Input/StatusWork.tsx +3 -9
  69. package/src/tasks/create/templates/Constellation/field/Text-Input/demo.stories.tsx.mustache +24 -11
  70. package/src/tasks/create/templates/Constellation/field/Text-Input/index.tsx.mustache +11 -51
  71. package/src/tasks/create/templates/Constellation/field/Text-Input/mock.ts.mustache +9 -1
  72. package/src/tasks/create/templates/Constellation/field/Text-Input/styles.ts.mustache +7 -14
  73. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/demo.stories.tsx.mustache +24 -11
  74. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/index.tsx.mustache +13 -49
  75. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/mock.ts.mustache +9 -1
  76. package/src/tasks/create/templates/Constellation/field/Text-Paragraph/styles.ts.mustache +7 -14
  77. package/src/tasks/create/templates/Constellation/field/Text-Phone/demo.stories.tsx.mustache +25 -11
  78. package/src/tasks/create/templates/Constellation/field/Text-Phone/index.tsx.mustache +14 -53
  79. package/src/tasks/create/templates/Constellation/field/Text-Phone/mock.ts.mustache +9 -1
  80. package/src/tasks/create/templates/Constellation/field/Text-Phone/styles.ts.mustache +7 -14
  81. package/src/tasks/create/templates/Constellation/field/Text-URL/demo.stories.tsx.mustache +24 -11
  82. package/src/tasks/create/templates/Constellation/field/Text-URL/index.tsx.mustache +15 -71
  83. package/src/tasks/create/templates/Constellation/field/Text-URL/mock.ts.mustache +9 -1
  84. package/src/tasks/create/templates/Constellation/field/Text-URL/styles.ts.mustache +7 -14
  85. package/src/tasks/create/templates/Constellation/field/Text-URL/{text-url.jsx.mustache → text-url.tsx.mustache} +4 -3
  86. package/src/tasks/create/templates/Constellation/field/TimeOfDay/demo.stories.tsx.mustache +28 -22
  87. package/src/tasks/create/templates/Constellation/field/TimeOfDay/index.tsx.mustache +17 -53
  88. package/src/tasks/create/templates/Constellation/field/TimeOfDay/mock.ts.mustache +2 -1
  89. package/src/tasks/create/templates/Constellation/field/TimeOfDay/styles.ts.mustache +7 -14
  90. package/src/tasks/create/templates/Constellation/field/{DateTime/date-utils.js.mustache → TimeOfDay/time-of-day.ts.mustache} +24 -23
  91. package/src/tasks/create/templates/Constellation/template/DETAILS/StatusWork.tsx.mustache +17 -19
  92. package/src/tasks/create/templates/Constellation/template/DETAILS/demo.stories.tsx.mustache +19 -8
  93. package/src/tasks/create/templates/Constellation/template/DETAILS/index.tsx.mustache +4 -17
  94. package/src/tasks/create/templates/Constellation/template/DETAILS/styles.ts.mustache +7 -14
  95. package/src/tasks/create/templates/Constellation/template/DETAILS-region/StatusWork.tsx.mustache +17 -19
  96. package/src/tasks/create/templates/Constellation/template/DETAILS-region/demo.stories.tsx.mustache +17 -8
  97. package/src/tasks/create/templates/Constellation/template/DETAILS-region/index.tsx.mustache +5 -19
  98. package/src/tasks/create/templates/Constellation/template/DETAILS-region/styles.ts.mustache +7 -14
  99. package/src/tasks/create/templates/Constellation/template/DETAILS-region/{utils.js.mustache → utils.ts.mustache} +15 -13
  100. package/src/tasks/create/templates/Constellation/template/FORM/demo.stories.tsx.mustache +18 -8
  101. package/src/tasks/create/templates/Constellation/template/FORM/index.tsx.mustache +5 -13
  102. package/src/tasks/create/templates/Constellation/template/FORM/styles.ts.mustache +7 -14
  103. package/src/tasks/create/templates/Constellation/template/FORM-region/demo.stories.tsx.mustache +17 -7
  104. package/src/tasks/create/templates/Constellation/template/FORM-region/index.tsx.mustache +4 -10
  105. package/src/tasks/create/templates/Constellation/template/FORM-region/styles.ts.mustache +7 -14
  106. package/src/tasks/create/templates/Constellation/template/PAGE/demo.stories.tsx.mustache +14 -8
  107. package/src/tasks/create/templates/Constellation/template/PAGE/index.tsx.mustache +5 -16
  108. package/src/tasks/create/templates/Constellation/template/PAGE/styles.ts.mustache +7 -14
  109. package/{tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.js → src/tasks/create/templates/Constellation/template/PAGE/utils.ts.mustache} +28 -14
  110. package/src/tasks/create/templates/Constellation/widget/CASE/demo.stories.tsx.mustache +13 -7
  111. package/src/tasks/create/templates/Constellation/widget/CASE/index.tsx.mustache +3 -10
  112. package/src/tasks/create/templates/Constellation/widget/CASE/styles.ts.mustache +7 -14
  113. package/src/tasks/create/templates/Constellation/widget/PAGE/demo.stories.tsx.mustache +18 -13
  114. package/src/tasks/create/templates/Constellation/widget/PAGE/index.tsx.mustache +4 -18
  115. package/src/tasks/create/templates/Constellation/widget/PAGE/styles.ts.mustache +7 -14
  116. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Avatar.tsx.mustache +3 -13
  117. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/Operator.tsx.mustache +5 -20
  118. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/demo.stories.tsx.mustache +15 -9
  119. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/index.tsx.mustache +24 -39
  120. package/src/tasks/create/templates/Constellation/widget/PAGE-CASE/styles.ts.mustache +7 -14
  121. package/src/tasks/create/templates/SDK-Angular/widget/PAGE-CASE/page-case.component.ts.mustache +7 -5
  122. package/src/tasks/create/templates/SDK-React/field/Boolean/index.tsx.mustache +101 -23
  123. package/src/tasks/create/templates/SDK-React/field/Decimal/config.json.mustache +155 -0
  124. package/src/tasks/create/templates/SDK-React/field/Decimal/index.tsx.mustache +12 -3
  125. package/src/tasks/create/templates/SDK-React/field/Decimal-Currency/index.tsx.mustache +3 -1
  126. package/src/tasks/create/templates/SDK-React/field/Decimal-Percentage/index.tsx.mustache +4 -0
  127. package/src/tasks/create/templates/SDK-React/template/DETAILS/demo.stories.tsx.mustache +10 -0
  128. package/src/tasks/create/templates/SDK-React/template/DETAILS-region/demo.stories.tsx.mustache +17 -3
  129. package/src/tasks/index.js +1 -0
  130. package/src/util.js +7 -0
  131. package/tests/assets/sdk-r/components/create/_components.md +6 -0
  132. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/demo.stories.tsx +23 -9
  133. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/index.tsx +4 -22
  134. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/mock.ts +8 -1
  135. package/tests/assets/sdk-r/components/create/custom-constellation/field/Pega_DXIL_MyTestText/styles.ts +7 -14
  136. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  137. package/tests/assets/sdk-r/components/create/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  138. package/tests/assets/sdk-r/components/create/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  139. package/tests/assets/sdk-r/components/create/override-sdk/field/Decimal/Decimal.tsx +12 -3
  140. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  141. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/index.tsx +1 -0
  142. package/tests/assets/sdk-r/components/create/override-sdk/field/Multiselect/utils.ts +230 -0
  143. package/tests/assets/sdk-r/components/create/override-sdk/field/RichText/RichText.tsx +2 -2
  144. package/tests/assets/sdk-r/components/create/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  145. package/tests/assets/sdk-r/components/create/override-sdk/template/ListView/ListView.tsx +6 -6
  146. package/tests/assets/sdk-r/components/create/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  147. package/tests/assets/sdk-r/components/createAll/_components.md +6 -0
  148. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.ts +35 -0
  149. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/demo.stories.tsx +28 -20
  150. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/index.tsx +11 -48
  151. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/mock.ts +2 -1
  152. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/styles.ts +7 -14
  153. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/demo.stories.tsx +28 -15
  154. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/index.tsx +24 -76
  155. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/mock.ts +11 -1
  156. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyCurrency/styles.ts +7 -14
  157. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/{DateFormatter.js → DateFormatter.ts} +6 -6
  158. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.tsx +20 -0
  159. package/{src/tasks/create/templates/Constellation/field/Date/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/date.ts} +3 -2
  160. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/demo.stories.tsx +31 -24
  161. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/index.tsx +19 -60
  162. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/mock.ts +2 -1
  163. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/styles.ts +7 -14
  164. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-time.js → date-time.ts} +12 -12
  165. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/{date-utils.js → date-utils.ts} +27 -26
  166. package/{src/tasks/create/templates/Constellation/field/DateTime/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/date.ts} +1 -0
  167. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/demo.stories.tsx +32 -25
  168. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/index.tsx +13 -60
  169. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/mock.ts +3 -1
  170. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDateTime/styles.ts +7 -14
  171. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/demo.stories.tsx +25 -13
  172. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/index.tsx +15 -68
  173. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/mock.ts +9 -1
  174. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDecimal/styles.ts +7 -14
  175. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/demo.stories.tsx +24 -11
  176. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/index.tsx +10 -47
  177. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/mock.ts +8 -1
  178. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyEmail/styles.ts +7 -14
  179. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/demo.stories.tsx +25 -12
  180. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/index.tsx +24 -88
  181. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/mock.ts +8 -2
  182. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyInteger/styles.ts +7 -14
  183. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/demo.stories.tsx +24 -11
  184. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/index.tsx +13 -49
  185. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/mock.ts +9 -1
  186. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyParagraph/styles.ts +7 -14
  187. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/demo.stories.tsx +25 -12
  188. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/index.tsx +14 -55
  189. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/mock.ts +9 -2
  190. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPercentage/styles.ts +7 -14
  191. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/demo.stories.tsx +25 -11
  192. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/index.tsx +14 -53
  193. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/mock.ts +9 -1
  194. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPhone/styles.ts +7 -14
  195. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/demo.stories.tsx +25 -12
  196. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/index.tsx +13 -61
  197. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/mock.ts +9 -1
  198. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyPicklist/styles.ts +7 -14
  199. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/demo.stories.tsx +25 -13
  200. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/index.tsx +11 -58
  201. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/mock.ts +9 -1
  202. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyRadiobuttons/styles.ts +7 -14
  203. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MySearchbox/textformat-utils.jsx → Pega_DXIL_MyRadiobuttons/textformat-utils.tsx} +1 -0
  204. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/date.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/date.ts} +2 -1
  205. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/demo.stories.tsx +26 -14
  206. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/embed-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/embed-utils.ts} +2 -1
  207. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/index.tsx +15 -76
  208. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/mock.ts +8 -1
  209. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/picklist-utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/picklist-utils.ts} +1 -0
  210. package/{src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/repeat-constants.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/repeat-constants.ts} +1 -1
  211. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{repeat-utils.js → repeat-utils.ts} +6 -12
  212. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/styles.ts +7 -14
  213. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/{Pega_DXIL_MyRadiobuttons/textformat-utils.jsx → Pega_DXIL_MySearchbox/textformat-utils.tsx} +30 -10
  214. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/utils.ts +1 -1
  215. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/demo.stories.tsx +23 -9
  216. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/index.tsx +4 -22
  217. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/mock.ts +8 -1
  218. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyText/styles.ts +7 -14
  219. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/StatusWork.tsx +3 -9
  220. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/demo.stories.tsx +24 -11
  221. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/index.tsx +11 -51
  222. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/mock.ts +9 -1
  223. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTextInput/styles.ts +7 -14
  224. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/demo.stories.tsx +28 -22
  225. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/index.tsx +17 -53
  226. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/mock.ts +2 -1
  227. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/styles.ts +7 -14
  228. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyTimeOfDay/{time-of-day.js → time-of-day.ts} +24 -23
  229. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/demo.stories.tsx +24 -11
  230. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/index.tsx +15 -71
  231. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/mock.ts +9 -1
  232. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/styles.ts +7 -14
  233. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyURL/{text-url.jsx → text-url.tsx} +4 -3
  234. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/StatusWork.tsx +17 -19
  235. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/demo.stories.tsx +19 -8
  236. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/index.tsx +4 -17
  237. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyDetails/styles.ts +7 -14
  238. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/demo.stories.tsx +18 -8
  239. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/index.tsx +5 -13
  240. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyForm/styles.ts +7 -14
  241. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/demo.stories.tsx +14 -8
  242. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/index.tsx +5 -16
  243. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/styles.ts +7 -14
  244. package/{src/tasks/create/templates/Constellation/template/PAGE/utils.js.mustache → tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyPage/utils.ts} +28 -14
  245. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/StatusWork.tsx +17 -19
  246. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -8
  247. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/index.tsx +5 -19
  248. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/styles.ts +7 -14
  249. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnDetails/{utils.js → utils.ts} +15 -13
  250. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/demo.stories.tsx +17 -7
  251. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/index.tsx +4 -10
  252. package/tests/assets/sdk-r/components/createAll/custom-constellation/template/Pega_DXIL_MyTwoColumnForm/styles.ts +7 -14
  253. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/demo.stories.tsx +13 -7
  254. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/index.tsx +3 -10
  255. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyCaseWidget/styles.ts +7 -14
  256. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Avatar.tsx +3 -13
  257. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/Operator.tsx +5 -20
  258. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/demo.stories.tsx +15 -9
  259. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/index.tsx +24 -39
  260. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageCaseWidget/styles.ts +7 -14
  261. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/demo.stories.tsx +18 -13
  262. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/index.tsx +4 -18
  263. package/tests/assets/sdk-r/components/createAll/custom-constellation/widget/Pega_DXIL_MyPageWidget/styles.ts +7 -14
  264. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyBoolean/index.tsx +101 -23
  265. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyCurrency/index.tsx +3 -1
  266. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/config.json +155 -0
  267. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyDecimal/index.tsx +12 -3
  268. package/tests/assets/sdk-r/components/createAll/custom-sdk/field/Pega_DXIL_MyPercentage/index.tsx +4 -0
  269. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyDetails/demo.stories.tsx +10 -0
  270. package/tests/assets/sdk-r/components/createAll/custom-sdk/template/Pega_DXIL_MyTwoColumnDetails/demo.stories.tsx +17 -3
  271. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +2 -2
  272. package/tests/assets/sdk-r/components/createAll/override-sdk/designSystemExtension/FieldValueList/FieldValueList.tsx +10 -4
  273. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Checkbox/Checkbox.tsx +101 -23
  274. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Decimal/Decimal.tsx +12 -3
  275. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/Multiselect.tsx +244 -0
  276. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/index.tsx +1 -0
  277. package/tests/assets/sdk-r/components/createAll/override-sdk/field/Multiselect/utils.ts +230 -0
  278. package/tests/assets/sdk-r/components/createAll/override-sdk/field/RichText/RichText.tsx +2 -2
  279. package/tests/assets/sdk-r/components/createAll/override-sdk/infra/NavBar/NavBar.tsx +1 -1
  280. package/tests/assets/sdk-r/components/createAll/override-sdk/template/ListView/ListView.tsx +6 -6
  281. package/tests/assets/sdk-r/components/createAll/override-sdk/template/SimpleTableManual/SimpleTableManual.tsx +4 -4
  282. package/src/tasks/create/templates/Constellation/field/Boolean/Boolean.js.mustache +0 -38
  283. package/src/tasks/create/templates/Constellation/field/Date/FormattedText.jsx.mustache +0 -41
  284. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyBoolean/Boolean.js +0 -38
  285. package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MyDate/FormattedText.jsx +0 -41
  286. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{component-constants.js → component-constants.ts} +0 -0
  287. /package/src/tasks/create/templates/Constellation/field/Picklist-Autocomplete/{format-constants.js.mustache → format-constants.ts.mustache} +0 -0
  288. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{component-constants.js → component-constants.ts} +0 -0
  289. /package/tests/assets/sdk-r/components/createAll/custom-constellation/field/Pega_DXIL_MySearchbox/{format-constants.js → format-constants.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/dx-component-builder-sdk",
3
- "version": "23.1.14",
3
+ "version": "23.1.15",
4
4
  "description": "Utility for building custom UI components",
5
5
  "bin": "./bin/index.js",
6
6
  "scripts": {
package/src/cli.js CHANGED
@@ -5,6 +5,7 @@ import {
5
5
  authenticate,
6
6
  buildComponent,
7
7
  buildAllComponents,
8
+ buildJestAssets,
8
9
  clearMap,
9
10
  createComponent,
10
11
  createAllComponents,
@@ -31,6 +32,7 @@ const TASKS = {
31
32
  OVERRIDE_ALL: 'overrideAll',
32
33
  BUILD: 'buildComponent',
33
34
  BUILD_ALL: 'buildAllComponents',
35
+ BUILD_JEST_ASSETS: 'buildJestAssets',
34
36
  MAP_ALL: "mapAll",
35
37
  PUBLISH: 'publish',
36
38
  PUBLISH_ALL: 'publishAll',
@@ -144,6 +146,10 @@ export default async (args = []) => {
144
146
  scanAndFix(options);
145
147
  break;
146
148
  }
149
+ case TASKS.BUILD_JEST_ASSETS: {
150
+ buildJestAssets(options);
151
+ break;
152
+ }
147
153
  default: {
148
154
  console.log(chalk.red(`No task matched with ${task}`));
149
155
  break;
package/src/constants.js CHANGED
@@ -54,6 +54,12 @@ export const SERVER_TYPE = 'serverType';
54
54
  export const SERVER_REST_URL = 'infinityRestServerUrl';
55
55
  export const LP_SERVER_REST_URL = 'launchpadRestServerUrl';
56
56
 
57
+ export const JEST_ASSETS_PATH = 'node_modules/@pega/dx-component-builder-sdk/tests/assets/';
58
+ export const JEST_ASSETS_SDK_A = 'sdk-a/components';
59
+ export const JEST_ASSETS_SDK_R = 'sdk-r/components';
60
+ export const JEST_CREATE_PATH = 'create/';
61
+ export const JEST_CREATE_ALL_PATH = 'createAll/';
62
+
57
63
  /* dxcbConfig.componentDefaults LINT setting/value constants */
58
64
  export const LINT_SETTING_KEY = 'lintAction'; // LINT_SETTING_KEY is expected to be in sdk-config's dxcbConfig.componentDefaults
59
65
  export const LINT_OFF = 'off'; // LINT_OFF: don't run lint
@@ -308,6 +314,10 @@ export const COMPONENT_SCHEMA = {
308
314
  name: 'Integer',
309
315
  value: 'Integer'
310
316
  },
317
+ {
318
+ name: 'Multi Select',
319
+ value: 'Multiselect'
320
+ },
311
321
  {
312
322
  name: 'Percentage',
313
323
  value: 'Percentage'
@@ -0,0 +1,153 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { join } from 'path';
4
+ import inquirer from 'inquirer';
5
+ import { Listr } from 'listr2';
6
+ import chalk from 'chalk';
7
+
8
+ import { showVersion, getSubComponents, checkPathAccess, getComponents, getFramework, getListOfDirectories } from '../../util.js';
9
+ import createAll from '../create-all/index.js';
10
+ import create from '../create/index.js';
11
+ import overrideAll from '../override-all/index.js';
12
+ import override from '../override/index.js';
13
+ import deleteAll from '../delete-all/index.js';
14
+
15
+ import { JEST_ASSETS_PATH, JEST_CREATE_PATH, JEST_CREATE_ALL_PATH, JEST_ASSETS_SDK_A,
16
+ JEST_ASSETS_SDK_R, SDK_CONFIG_JSON_FILENAME,
17
+ REACT_COMPONENTS_DIRECTORY_PATH, ANGULAR_COMPONENTS_DIRECTORY_PATH } from '../../constants.js';
18
+ import { dir } from 'console';
19
+
20
+
21
+ const getBuildAssetsQuestions = async () => {
22
+ const message = "\n**IMPORTANT** Building Jest Assets will remove any local components in your components directory!\n";
23
+ console.log(`${chalk.green.bold(message)}`);
24
+
25
+ return [
26
+ {
27
+ name: 'buildAssets',
28
+ type: 'confirm',
29
+ message: 'Generate Jest Assets ?',
30
+ default: false
31
+ }
32
+ ];
33
+ };
34
+
35
+
36
+
37
+
38
+ const deleteTestDirectory = async(dirPath) => {
39
+
40
+ try {
41
+ fs.rmSync(dirPath, { recursive: true });
42
+ // console.log(`${chalk.red.bold(dirPath)} is deleted from assets`);
43
+ } catch (err) {
44
+ console.log('no directory');
45
+ throw new Error(`No such directory ${dirPath}`);
46
+ }
47
+ }
48
+
49
+ const copyAssets = async(destinationPath) => {
50
+ const currentDirectory = process.cwd();
51
+ const framework = await getFramework();
52
+
53
+ const SDK_DIR = framework === "SDK-React" ? REACT_COMPONENTS_DIRECTORY_PATH : ANGULAR_COMPONENTS_DIRECTORY_PATH;
54
+
55
+ const srcDir = join(currentDirectory, SDK_DIR );
56
+
57
+
58
+
59
+ fs.cpSync(srcDir, destinationPath, { recursive: true});
60
+ }
61
+
62
+ const deleteAssets = async() => {
63
+ let args = [ '','', '', 'Local', 'custom', 'Y'];
64
+ let myOptions = {};
65
+ myOptions["params"] = args;
66
+
67
+ await deleteAll(myOptions);
68
+
69
+ args = [ '','', '', 'Local', 'override', 'Y'];
70
+ myOptions = {};
71
+ myOptions["params"] = args;
72
+
73
+ await deleteAll(myOptions);
74
+
75
+ }
76
+
77
+ const createJestAssets = async() => {
78
+
79
+ const framework = await getFramework();
80
+
81
+ // initially delete local assets
82
+ await deleteAssets();
83
+
84
+ let args = [ '','', '', 'My', '0.0.1', 'DXIL', '', 'Pega'];
85
+ let myOptions = {};
86
+ myOptions["params"] = args;
87
+
88
+ await createAll(myOptions);
89
+ await overrideAll();
90
+
91
+
92
+ const jestAssetFrameworkPath = framework === "SDK-React" ? JEST_ASSETS_SDK_R: JEST_ASSETS_SDK_A;
93
+
94
+ // create All
95
+ // get current test assets and delete them
96
+ let createAllPath = path.join(path.resolve(), JEST_ASSETS_PATH, jestAssetFrameworkPath, JEST_CREATE_ALL_PATH);
97
+ const fileDirList = await getListOfDirectories(createAllPath);
98
+
99
+ for (const index in fileDirList) {
100
+ const directoryToDelete = fileDirList[index];
101
+ // console.log(chalk.bold.green("Deleting: " + componentToDelete));
102
+ // eslint-disable-next-line no-await-in-loop
103
+ await deleteTestDirectory(path.join(createAllPath, directoryToDelete));
104
+ }
105
+
106
+
107
+
108
+ await copyAssets(createAllPath);
109
+ await deleteAssets();
110
+
111
+ // create
112
+ args = [ '','', '', 'Field', 'Text', 'MyTestText', 'My Test Text', '0.0.1','DXIL', '', 'My Test Text Description', 'Pega'];
113
+ myOptions = {};
114
+ myOptions["params"] = args;
115
+
116
+ await create(myOptions);
117
+ await overrideAll();
118
+
119
+ // get current test assets and delete them
120
+ let createPath = path.join(path.resolve(), JEST_ASSETS_PATH, jestAssetFrameworkPath, JEST_CREATE_PATH);
121
+ const fileDirList2 = await getListOfDirectories(createPath);
122
+
123
+ for (const index in fileDirList2) {
124
+ const directoryToDelete = fileDirList2[index];
125
+ // console.log(chalk.bold.green("Deleting: " + componentToDelete));
126
+ // eslint-disable-next-line no-await-in-loop
127
+ await deleteTestDirectory(path.join(createPath, directoryToDelete));
128
+ }
129
+
130
+
131
+
132
+ await copyAssets(createPath);
133
+ await deleteAssets();
134
+
135
+
136
+ }
137
+
138
+
139
+ export default async options => {
140
+ showVersion();
141
+
142
+ const questions = await getBuildAssetsQuestions();
143
+ const answers = await inquirer.prompt(questions);
144
+ const { buildAssets } = answers;
145
+
146
+ if (buildAssets) {
147
+
148
+ await createJestAssets(false);
149
+
150
+ }
151
+
152
+
153
+ };
@@ -0,0 +1,35 @@
1
+ function Boolean(value: any, { allowEmpty = true, tick = '', cross = '' } = {}) {
2
+ if (
3
+ (!allowEmpty && !value) ||
4
+ value === false ||
5
+ value?.toString()?.toLowerCase() === 'false' ||
6
+ value === 0 ||
7
+ value === '0'
8
+ ) {
9
+ return cross || '';
10
+ }
11
+ if (
12
+ value === true ||
13
+ value?.toString()?.toLowerCase() === 'true' ||
14
+ value === 1 ||
15
+ value === '1'
16
+ ) {
17
+ return tick || '';
18
+ }
19
+ if (
20
+ allowEmpty &&
21
+ (value === 'null' || value === '' || value === null || typeof value === 'undefined')
22
+ ) {
23
+ return '––';
24
+ }
25
+ return value;
26
+ }
27
+
28
+ export default {
29
+ TrueFalse: (value: any, options: Object) =>
30
+ Boolean(value, {
31
+ ...options,
32
+ tick: 'True',
33
+ cross: 'False'
34
+ })
35
+ };
@@ -1,38 +1,29 @@
1
+
1
2
  /* eslint-disable react/jsx-no-useless-fragment */
2
3
  // @ts-nocheck
3
4
  import { useState } from 'react';
4
- import { withKnobs } from '@storybook/addon-knobs';
5
+ import type { Meta, StoryObj } from '@storybook/react';
5
6
 
6
7
  import { configProps, stateProps } from './mock';
7
8
 
8
9
  import {{COMPONENT_CLASS_NAME}} from './index';
9
10
 
10
- export default {
11
+ const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
11
12
  title: '{{COMPONENT_CLASS_NAME}}',
12
- decorators: [withKnobs],
13
- component: {{COMPONENT_CLASS_NAME}}
13
+ component: {{COMPONENT_CLASS_NAME}},
14
+ excludeStories: /.*Data$/
14
15
  };
15
16
 
16
- export const Base{{COMPONENT_CLASS_NAME}} = () => {
17
+ export default meta;
18
+ type Story = StoryObj<typeof {{COMPONENT_CLASS_NAME}}>;
19
+
20
+ export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
17
21
 
18
22
  const [value, setValue] = useState(configProps.value);
19
23
 
20
24
  const props = {
21
25
  value,
22
- label: configProps.label,
23
- helperText: configProps.helperText,
24
- caption: configProps.caption,
25
- validatemessage: configProps.validatemessage,
26
- hideLabel: configProps.hideLabel,
27
- testId: configProps.testId,
28
26
  additionalProps: configProps.additionalProps,
29
- displayMode: configProps.displayMode,
30
- variant: configProps.variant,
31
- trueLabel: configProps.trueLabel,
32
- falseLabel: configProps.falseLabel,
33
- disabled: configProps.disabled,
34
- readOnly: configProps.readOnly,
35
- required: configProps.required,
36
27
  getPConnect: () => {
37
28
  return {
38
29
  getStateProps: () => {
@@ -57,7 +48,24 @@ export const Base{{COMPONENT_CLASS_NAME}} = () => {
57
48
 
58
49
  return (
59
50
  <>
60
- <{{COMPONENT_CLASS_NAME}} {...props} />
51
+ <{{COMPONENT_CLASS_NAME}} {...props} {...args} />
61
52
  </>
62
53
  );
63
- };
54
+ };
55
+
56
+ Base{{COMPONENT_CLASS_NAME}}.args = {
57
+ label: configProps.label,
58
+ helperText: configProps.helperText,
59
+ caption: configProps.caption,
60
+ testId: configProps.testId,
61
+ readOnly: configProps.readOnly,
62
+ disabled: configProps.disabled,
63
+ required: configProps.required,
64
+ status: configProps.status,
65
+ hideLabel: configProps.hideLabel,
66
+ trueLabel: configProps.trueLabel,
67
+ falseLabel: configProps.falseLabel,
68
+ displayMode: configProps.displayMode,
69
+ variant: configProps.variant,
70
+ validatemessage: configProps.validatemessage
71
+ };
@@ -2,10 +2,9 @@ import {
2
2
  Checkbox as CosmosCheckbox,
3
3
  CheckboxGroup,
4
4
  FieldValueList,
5
- Text
5
+ Text,
6
+ withConfiguration
6
7
  } from "@pega/cosmos-react-core";
7
- import PropTypes from "prop-types";
8
-
9
8
 
10
9
  import type { PConnFieldProps } from './PConnProps';
11
10
 
@@ -40,19 +39,19 @@ interface ActionsProps {
40
39
 
41
40
  // props passed in combination of props from property panel (config.json) and run time props from Constellation
42
41
  // any default values in config.pros should be set in defaultProps at bottom of this file
43
- export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
42
+ function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}Props) {
44
43
  const {
45
44
  getPConnect,
46
- value,
47
- label,
48
- helperText,
45
+ value = false,
46
+ label = '',
47
+ helperText = '',
49
48
  caption,
50
49
  validatemessage,
51
50
  hideLabel,
52
51
  testId,
53
- additionalProps,
52
+ additionalProps = {},
54
53
  displayMode,
55
- variant,
54
+ variant = 'inline',
56
55
  trueLabel,
57
56
  falseLabel
58
57
  } = props;
@@ -62,7 +61,7 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
62
61
  const stateProps = pConn.getStateProps() as StateProps;
63
62
  const propName: string = stateProps.value;
64
63
 
65
- let { readOnly, required, disabled } = props;
64
+ let { readOnly = false, required = false, disabled = false } = props;
66
65
  [readOnly, required, disabled] = [readOnly, required, disabled].map(
67
66
  (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
68
67
  );
@@ -105,7 +104,7 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
105
104
  }
106
105
 
107
106
  if (displayMode === 'DISPLAY_ONLY') {
108
- return ( <Styled{{COMPONENT_CLASS_NAME}}Wrapper> displayComponent </Styled{{COMPONENT_CLASS_NAME}}Wrapper>);
107
+ return ( <Styled{{COMPONENT_CLASS_NAME}}Wrapper> {displayComponent} </Styled{{COMPONENT_CLASS_NAME}}Wrapper>);
109
108
  }
110
109
 
111
110
  if (displayMode === "LABELS_LEFT") {
@@ -161,40 +160,4 @@ export default function {{COMPONENT_CLASS_NAME}}(props: {{COMPONENT_CLASS_NAME}}
161
160
  };
162
161
 
163
162
 
164
- {{COMPONENT_CLASS_NAME}}.defaultProps = {
165
- validatemessage: '',
166
- value: false,
167
- label: '',
168
- hideLabel: false,
169
- helperText: '',
170
- disabled: false,
171
- readOnly: false,
172
- required: false,
173
- testId: '',
174
- additionalProps: {},
175
- displayMode: null,
176
- variant: 'inline',
177
- displayValue: 'Yes/No',
178
- trueLabel: '',
179
- falseLabel: ''
180
- };
181
-
182
- {{COMPONENT_CLASS_NAME}}.propTypes = {
183
- getPConnect: PropTypes.func.isRequired,
184
- validatemessage: PropTypes.string,
185
- label: PropTypes.string,
186
- hideLabel: PropTypes.bool,
187
- helperText: PropTypes.string,
188
- value: PropTypes.bool,
189
- caption: PropTypes.string.isRequired,
190
- disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
191
- readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
192
- required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
193
- testId: PropTypes.string,
194
- additionalProps: PropTypes.objectOf(PropTypes.any),
195
- displayMode: PropTypes.string,
196
- variant: PropTypes.string,
197
- displayValue: PropTypes.string,
198
- trueLabel: PropTypes.string,
199
- falseLabel: PropTypes.string
200
- };
163
+ export default withConfiguration({{COMPONENT_CLASS_NAME}});
@@ -14,7 +14,8 @@ export const configProps = {
14
14
  falseLabel: 'False',
15
15
  disabled: false,
16
16
  readOnly: false,
17
- required: true
17
+ required: true,
18
+ status: ''
18
19
  };
19
20
 
20
21
  export const stateProps = {
@@ -1,15 +1,8 @@
1
-
2
- // utilizing theming, comment out, if want individual style
3
- import styled from 'styled-components';
4
- import { Configuration } from '@pega/cosmos-react-core';
5
-
6
- export default styled(Configuration)``;
7
-
8
1
  // individual style, comment out above, and uncomment here and add styles
9
- // import styled, { css } from 'styled-components';
10
- //
11
- // export default styled.div(() => {
12
- // return css`
13
- // margin: 0px 0;
14
- // `;
15
- // });
2
+ import styled, { css } from 'styled-components';
3
+
4
+ export default styled.div(() => {
5
+ return css`
6
+ margin: 0px 0;
7
+ `;
8
+ });
@@ -15,8 +15,8 @@ const types = ['fromNow', 'customFormat'];
15
15
 
16
16
  // value should be in ISO 8601 format.
17
17
  function DateFormatter(
18
- value,
19
- { type = types[1], format = "DD/MM/YYYY", tzone } = {}
18
+ value: any,
19
+ { type = types[1], format = "DD/MM/YYYY", tzone = null } = {}
20
20
  ) {
21
21
  if (!value) return value;
22
22
  switch (type) {
@@ -31,7 +31,7 @@ function DateFormatter(
31
31
  }
32
32
 
33
33
  // value should be in hh:mm:ss format (00:00:00 - 23:59:59).
34
- function TimeFormatter(value, options) {
34
+ function TimeFormatter(value: any, options: any) {
35
35
  if (!value) return value;
36
36
  const { locale = "en-US" } = options;
37
37
  const timeOnlyRegex = /^(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)$/;
@@ -49,10 +49,10 @@ function TimeFormatter(value, options) {
49
49
  }
50
50
 
51
51
  export default {
52
- Date: (value, options) => DateFormatter(value, { type: 'customFormat', ...options }),
53
- 'Date-Time-Default': (value, options) =>
52
+ Date: (value: any, options: any) => DateFormatter(value, { type: 'customFormat', ...options }),
53
+ 'Date-Time-Default': (value: any, options: any) =>
54
54
  DateFormatter(value, { ...options, type: 'customFormat', format: 'lll' }),
55
- 'Time-Default': (value, options) =>
55
+ 'Time-Default': (value: any, options: any) =>
56
56
  TimeFormatter(value, {
57
57
  ...options,
58
58
  type: 'customFormat',
@@ -0,0 +1,20 @@
1
+ import { FieldValueList } from '@pega/cosmos-react-core';
2
+
3
+ import { format } from './date';
4
+
5
+ export default function FormattedText(props: any) {
6
+ const { formatType = 'none', label, value, testId, hideLabel, variant = 'stacked', additionalProps = {} } = props;
7
+
8
+ let text = value;
9
+
10
+ text = format(text, formatType, additionalProps);
11
+
12
+ const fields = [
13
+ {
14
+ id: label.toLowerCase(),
15
+ name: hideLabel ? '' : label,
16
+ value: text
17
+ }
18
+ ];
19
+ return <FieldValueList variant={variant} fields={fields} data-testid={testId} />;
20
+ }
@@ -1,6 +1,6 @@
1
- /* eslint-disable no-undef */
1
+ // @ts-nocheck
2
2
  import dayjs from 'dayjs';
3
- import DateFormatter from './DateFormatter.js';
3
+ import DateFormatter from './DateFormatter';
4
4
 
5
5
  import relativeTime from 'dayjs/plugin/relativeTime.js';
6
6
  import localizedFormat from 'dayjs/plugin/localizedFormat.js';
@@ -47,6 +47,7 @@ function getDateObject(text) {
47
47
  }
48
48
 
49
49
  function parseDateInISO(value) {
50
+ // eslint-disable-next-line prefer-regex-literals
50
51
  const isMilliSeconds = new RegExp('^[0-9]+$').exec(value);
51
52
  if (isMilliSeconds) {
52
53
  const date = new Date(parseInt(value, 10));
@@ -1,16 +1,19 @@
1
1
 
2
2
  /* eslint-disable react/jsx-no-useless-fragment */
3
3
  // @ts-nocheck
4
- import { withKnobs } from '@storybook/addon-knobs';
4
+ import type { Meta, StoryObj } from '@storybook/react';
5
5
  import { configProps, stateProps } from './mock';
6
6
  import {{COMPONENT_CLASS_NAME}} from './index';
7
7
 
8
- export default {
8
+ const meta: Meta<typeof {{COMPONENT_CLASS_NAME}}> = {
9
9
  title: '{{COMPONENT_CLASS_NAME}}',
10
- decorators: [withKnobs],
11
- component: {{COMPONENT_CLASS_NAME}}
10
+ component: {{COMPONENT_CLASS_NAME}},
11
+ excludeStories: /.*Data$/
12
12
  };
13
13
 
14
+ export default meta;
15
+ type Story = StoryObj<typeof {{COMPONENT_CLASS_NAME}}>;
16
+
14
17
  if (!window.PCore) {
15
18
  window.PCore = {};
16
19
  }
@@ -26,8 +29,11 @@ window.PCore.getEnvironmentInfo = () => {
26
29
  };
27
30
  };
28
31
 
29
- export const Base{{COMPONENT_CLASS_NAME}} = () => {
32
+ export const Base{{COMPONENT_CLASS_NAME}}: Story = args => {
30
33
  const props = {
34
+ value: configProps.value,
35
+ additionalProps: configProps.additionalProps,
36
+ hasSuggestions: configProps.hasSuggestions,
31
37
  getPConnect: () => {
32
38
  return {
33
39
  getActionsApi: () => {
@@ -51,29 +57,30 @@ export const Base{{COMPONENT_CLASS_NAME}} = () => {
51
57
  acceptSuggestion: () => {/* nothing */},
52
58
  clearErrorMessages: () => {/* nothing */}
53
59
  };
54
- },
55
- value: configProps.value,
56
- validatemessage: configProps.validatemessage,
57
- label: configProps.label,
58
- hideLabel: configProps.hideLabel,
59
- helperText: configProps.helperText,
60
- nextYearRange: configProps.nextYearRange,
61
- previousYearRange: configProps.previousYearRange,
62
- showWeekNumber: configProps.showWeekNumber,
63
- testId: configProps.testId,
64
- showAsFormattedText: configProps.showAsFormattedText,
65
- additionalProps: configProps.additionalProps,
66
- displayMode: configProps.displayMode,
67
- variant: configProps.variant,
68
- hasSuggestions: configProps.hasSuggestions,
69
- disabled: configProps.disabled,
70
- readOnly: configProps.readOnly,
71
- required: configProps.required
60
+ }
72
61
  };
73
62
 
74
63
  return (
75
64
  <>
76
- <{{COMPONENT_CLASS_NAME}} {...props} />
65
+ <{{COMPONENT_CLASS_NAME}} {...props} {...args} />
77
66
  </>
78
67
  );
79
68
  };
69
+
70
+ Base{{COMPONENT_CLASS_NAME}}.args = {
71
+ label: configProps.label,
72
+ helperText: configProps.helperText,
73
+ showWeekNumber: configProps.showWeekNumber,
74
+ testId: configProps.testId,
75
+ readOnly: configProps.readOnly,
76
+ disabled: configProps.disabled,
77
+ required: configProps.required,
78
+ status: configProps.status,
79
+ hideLabel: configProps.hideLabel,
80
+ nextYearRange: configProps.nextYearRange,
81
+ previousYearRange: configProps.previousYearRange,
82
+ showAsFormattedText: configProps.showAsFormattedText,
83
+ displayMode: configProps.displayMode,
84
+ variant: configProps.variant,
85
+ validatemessage: configProps.validatemessage
86
+ };