@pega/dx-component-builder-sdk 0.1.0

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 (279) hide show
  1. package/.access_token +1 -0
  2. package/.agilestudio +3 -0
  3. package/.eslintrc.json +18 -0
  4. package/.prettierignore +2 -0
  5. package/.prettierrc.json +1 -0
  6. package/LICENSE +185 -0
  7. package/README.md +199 -0
  8. package/bin/index.js +5 -0
  9. package/cspell.json +26 -0
  10. package/package.json +67 -0
  11. package/src/cli.js +104 -0
  12. package/src/constants.js +134 -0
  13. package/src/tasks/authenticate/helper.js +60 -0
  14. package/src/tasks/authenticate/index.js +81 -0
  15. package/src/tasks/build/helper.js +125 -0
  16. package/src/tasks/build/index.js +52 -0
  17. package/src/tasks/bundle/builder/index.js +218 -0
  18. package/src/tasks/bundle/builder/modules.js +139 -0
  19. package/src/tasks/bundle/builder/paths.js +50 -0
  20. package/src/tasks/bundle/builder/webpack.config.js +336 -0
  21. package/src/tasks/bundle/index.js +65 -0
  22. package/src/tasks/create/index.js +380 -0
  23. package/src/tasks/create/template/config.json.mustache +62 -0
  24. package/src/tasks/create/template/demo.stories.jsx.mustache +44 -0
  25. package/src/tasks/create/template/index.jsx.mustache +55 -0
  26. package/src/tasks/create/template/styles.js.mustache +7 -0
  27. package/src/tasks/create/templates/Constellation/Field/Boolean/Boolean.js.mustache +38 -0
  28. package/src/tasks/create/templates/Constellation/Field/Boolean/boolean-format.js.mustache +26 -0
  29. package/src/tasks/create/templates/Constellation/Field/Boolean/config.json.mustache +145 -0
  30. package/src/tasks/create/templates/Constellation/Field/Boolean/event-utils.js.mustache +18 -0
  31. package/src/tasks/create/templates/Constellation/Field/Boolean/index.jsx.mustache +171 -0
  32. package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +7 -0
  33. package/src/tasks/create/templates/Constellation/Field/Date/config.json.mustache +195 -0
  34. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +327 -0
  35. package/src/tasks/create/templates/Constellation/Field/Date/demo.stories.jsx.mustache +44 -0
  36. package/src/tasks/create/templates/Constellation/Field/Date/index.jsx.mustache +254 -0
  37. package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +7 -0
  38. package/src/tasks/create/templates/Constellation/Field/Date/suggestions-handler.js +10 -0
  39. package/src/tasks/create/templates/Constellation/Field/DateTime/config.json.mustache +256 -0
  40. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +93 -0
  41. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js +286 -0
  42. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +327 -0
  43. package/src/tasks/create/templates/Constellation/Field/DateTime/demo.stories.jsx.mustache +44 -0
  44. package/src/tasks/create/templates/Constellation/Field/DateTime/index.jsx.mustache +252 -0
  45. package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +7 -0
  46. package/src/tasks/create/templates/Constellation/Field/DateTime/suggestions-handler.js +10 -0
  47. package/src/tasks/create/templates/Constellation/Field/Decimal/config.json.mustache +278 -0
  48. package/src/tasks/create/templates/Constellation/Field/Decimal/demo.stories.jsx.mustache +44 -0
  49. package/src/tasks/create/templates/Constellation/Field/Decimal/event-utils.js.mustache +18 -0
  50. package/src/tasks/create/templates/Constellation/Field/Decimal/index.jsx.mustache +272 -0
  51. package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +7 -0
  52. package/src/tasks/create/templates/Constellation/Field/Decimal/suggestions-handler.js +10 -0
  53. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/config.json.mustache +291 -0
  54. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/demo.stories.jsx.mustache +44 -0
  55. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/event-utils.js.mustache +18 -0
  56. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.jsx.mustache +300 -0
  57. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +7 -0
  58. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/suggestions-handler.js +10 -0
  59. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/config.json.mustache +93 -0
  60. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/demo.stories.jsx.mustache +44 -0
  61. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/event-utils.js.mustache +18 -0
  62. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.jsx.mustache +275 -0
  63. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +7 -0
  64. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/suggestions-handler.js +10 -0
  65. package/src/tasks/create/templates/Constellation/Field/Integer/config.json.mustache +347 -0
  66. package/src/tasks/create/templates/Constellation/Field/Integer/demo.stories.jsx.mustache +44 -0
  67. package/src/tasks/create/templates/Constellation/Field/Integer/event-utils.js.mustache +18 -0
  68. package/src/tasks/create/templates/Constellation/Field/Integer/index.jsx.mustache +335 -0
  69. package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +7 -0
  70. package/src/tasks/create/templates/Constellation/Field/Integer/suggestions-handler.js +10 -0
  71. package/src/tasks/create/templates/Constellation/Field/Picklist/config.json.mustache +114 -0
  72. package/src/tasks/create/templates/Constellation/Field/Picklist/demo.stories.jsx.mustache +44 -0
  73. package/src/tasks/create/templates/Constellation/Field/Picklist/event-utils.js.mustache +18 -0
  74. package/src/tasks/create/templates/Constellation/Field/Picklist/index.jsx.mustache +308 -0
  75. package/src/tasks/create/templates/Constellation/Field/Picklist/picklist.js.mustache +43 -0
  76. package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +7 -0
  77. package/src/tasks/create/templates/Constellation/Field/Picklist/suggestions-handler.js +10 -0
  78. package/src/tasks/create/templates/Constellation/Field/Text/config.json.mustache +62 -0
  79. package/src/tasks/create/templates/Constellation/Field/Text/demo.stories.jsx.mustache +44 -0
  80. package/src/tasks/create/templates/Constellation/Field/Text/index.jsx.mustache +60 -0
  81. package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +7 -0
  82. package/src/tasks/create/templates/Constellation/Field/Text-Email/config.json.mustache +111 -0
  83. package/src/tasks/create/templates/Constellation/Field/Text-Email/demo.stories.jsx.mustache +44 -0
  84. package/src/tasks/create/templates/Constellation/Field/Text-Email/event-utils.js.mustache +18 -0
  85. package/src/tasks/create/templates/Constellation/Field/Text-Email/index.jsx.mustache +189 -0
  86. package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +7 -0
  87. package/src/tasks/create/templates/Constellation/Field/Text-Email/suggestions-handler.js +10 -0
  88. package/src/tasks/create/templates/Constellation/Field/Text-Email/text-email.js.mustache +43 -0
  89. package/src/tasks/create/templates/Constellation/Field/Text-Input/StatusWork.js +27 -0
  90. package/src/tasks/create/templates/Constellation/Field/Text-Input/config.json.mustache +111 -0
  91. package/src/tasks/create/templates/Constellation/Field/Text-Input/demo.stories.jsx.mustache +44 -0
  92. package/src/tasks/create/templates/Constellation/Field/Text-Input/event-utils.js.mustache +18 -0
  93. package/src/tasks/create/templates/Constellation/Field/Text-Input/index.jsx.mustache +196 -0
  94. package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +7 -0
  95. package/src/tasks/create/templates/Constellation/Field/Text-Input/suggestions-handler.js +10 -0
  96. package/src/tasks/create/templates/Constellation/Field/Text-Input/text-input.js.mustache +43 -0
  97. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/config.json.mustache +111 -0
  98. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/demo.stories.jsx.mustache +44 -0
  99. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/event-utils.js.mustache +18 -0
  100. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.jsx.mustache +189 -0
  101. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +7 -0
  102. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/suggestions-handler.js +10 -0
  103. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/text-paragraph.js.mustache +43 -0
  104. package/src/tasks/create/templates/Constellation/Field/Text-Phone/config.json.mustache +123 -0
  105. package/src/tasks/create/templates/Constellation/Field/Text-Phone/demo.stories.jsx.mustache +44 -0
  106. package/src/tasks/create/templates/Constellation/Field/Text-Phone/event-utils.js.mustache +18 -0
  107. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.jsx.mustache +223 -0
  108. package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +7 -0
  109. package/src/tasks/create/templates/Constellation/Field/Text-Phone/suggestions-handler.js +10 -0
  110. package/src/tasks/create/templates/Constellation/Field/Text-Phone/text-phone.js.mustache +43 -0
  111. package/src/tasks/create/templates/Constellation/Field/Text-URL/config.json.mustache +237 -0
  112. package/src/tasks/create/templates/Constellation/Field/Text-URL/demo.stories.jsx.mustache +44 -0
  113. package/src/tasks/create/templates/Constellation/Field/Text-URL/event-utils.js.mustache +18 -0
  114. package/src/tasks/create/templates/Constellation/Field/Text-URL/index.jsx.mustache +232 -0
  115. package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +7 -0
  116. package/src/tasks/create/templates/Constellation/Field/Text-URL/suggestions-handler.js +10 -0
  117. package/src/tasks/create/templates/Constellation/Field/Text-URL/text-url.js.mustache +172 -0
  118. package/src/tasks/create/templates/Constellation/Field/TimeofDay/config.json.mustache +185 -0
  119. package/src/tasks/create/templates/Constellation/Field/TimeofDay/demo.stories.jsx.mustache +44 -0
  120. package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.jsx.mustache +213 -0
  121. package/src/tasks/create/templates/Constellation/Field/TimeofDay/styles.js.mustache +7 -0
  122. package/src/tasks/create/templates/Constellation/Field/TimeofDay/suggestions-handler.js +10 -0
  123. package/src/tasks/create/templates/Constellation/Field/TimeofDay/time-of-day.js.mustache +286 -0
  124. package/src/tasks/create/templates/Constellation/Template/DETAILS/OneColumnDetails.svg +22 -0
  125. package/src/tasks/create/templates/Constellation/Template/DETAILS/config.json.mustache +35 -0
  126. package/src/tasks/create/templates/Constellation/Template/DETAILS/index.jsx.mustache +88 -0
  127. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +7 -0
  128. package/src/tasks/create/templates/Constellation/Template/DETAILS/utils.js.mustache +155 -0
  129. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/TwoColumnDetails.svg +28 -0
  130. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/config.json.mustache +42 -0
  131. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.jsx.mustache +88 -0
  132. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +7 -0
  133. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/utils.js.mustache +155 -0
  134. package/src/tasks/create/templates/Constellation/Template/FORM/DefaultForm.svg +29 -0
  135. package/src/tasks/create/templates/Constellation/Template/FORM/config.json.mustache +45 -0
  136. package/src/tasks/create/templates/Constellation/Template/FORM/index.jsx.mustache +49 -0
  137. package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +7 -0
  138. package/src/tasks/create/templates/Constellation/Template/FORM-region/TwoColumn.svg +38 -0
  139. package/src/tasks/create/templates/Constellation/Template/FORM-region/config.json.mustache +27 -0
  140. package/src/tasks/create/templates/Constellation/Template/FORM-region/index.jsx.mustache +51 -0
  141. package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +7 -0
  142. package/src/tasks/create/templates/Constellation/Template/PAGE/GetNextWork.js.mustache +29 -0
  143. package/src/tasks/create/templates/Constellation/Template/PAGE/OneColumnPage.svg +36 -0
  144. package/src/tasks/create/templates/Constellation/Template/PAGE/config.json.mustache +32 -0
  145. package/src/tasks/create/templates/Constellation/Template/PAGE/index.jsx.mustache +68 -0
  146. package/src/tasks/create/templates/Constellation/Template/PAGE/localizations.json.mustache +4 -0
  147. package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +7 -0
  148. package/src/tasks/create/templates/Constellation/Template/PAGE/utils.js.mustache +226 -0
  149. package/src/tasks/create/templates/Constellation/Widget/CASE/OneColumnPage.svg +36 -0
  150. package/src/tasks/create/templates/Constellation/Widget/CASE/config.json.mustache +23 -0
  151. package/src/tasks/create/templates/Constellation/Widget/CASE/index.jsx.mustache +75 -0
  152. package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +7 -0
  153. package/src/tasks/create/templates/Constellation/Widget/PAGE/OneColumnPage.svg +36 -0
  154. package/src/tasks/create/templates/Constellation/Widget/PAGE/config.json.mustache +59 -0
  155. package/src/tasks/create/templates/Constellation/Widget/PAGE/index.jsx.mustache +48 -0
  156. package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +7 -0
  157. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Avatar.js.mustache +73 -0
  158. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/OneColumnPage.svg +36 -0
  159. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Operator.js.mustache +239 -0
  160. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/config.json.mustache +66 -0
  161. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/index.jsx.mustache +110 -0
  162. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +7 -0
  163. package/src/tasks/create/templates/SDK-Angular/Field/__components.md +4 -0
  164. package/src/tasks/create/templates/SDK-Angular/Template/__components.md +4 -0
  165. package/src/tasks/create/templates/SDK-Angular/Widget/__components.md +4 -0
  166. package/src/tasks/create/templates/SDK-React/Field/Boolean/config.json.mustache +73 -0
  167. package/src/tasks/create/templates/SDK-React/Field/Boolean/demo.stories.jsx.mustache +44 -0
  168. package/src/tasks/create/templates/SDK-React/Field/Boolean/index.tsx.mustache +109 -0
  169. package/src/tasks/create/templates/SDK-React/Field/Boolean/styles.js.mustache +7 -0
  170. package/src/tasks/create/templates/SDK-React/Field/Date/config.json.mustache +133 -0
  171. package/src/tasks/create/templates/SDK-React/Field/Date/demo.stories.jsx.mustache +44 -0
  172. package/src/tasks/create/templates/SDK-React/Field/Date/index.tsx.mustache +122 -0
  173. package/src/tasks/create/templates/SDK-React/Field/Date/styles.js.mustache +7 -0
  174. package/src/tasks/create/templates/SDK-React/Field/DateTime/config.json.mustache +190 -0
  175. package/src/tasks/create/templates/SDK-React/Field/DateTime/demo.stories.jsx.mustache +44 -0
  176. package/src/tasks/create/templates/SDK-React/Field/DateTime/index.tsx.mustache +112 -0
  177. package/src/tasks/create/templates/SDK-React/Field/DateTime/styles.js.mustache +7 -0
  178. package/src/tasks/create/templates/SDK-React/Field/Decimal/config.json.mustache +80 -0
  179. package/src/tasks/create/templates/SDK-React/Field/Decimal/demo.stories.jsx.mustache +44 -0
  180. package/src/tasks/create/templates/SDK-React/Field/Decimal/index.tsx.mustache +105 -0
  181. package/src/tasks/create/templates/SDK-React/Field/Decimal/styles.js.mustache +7 -0
  182. package/src/tasks/create/templates/SDK-React/Field/Decimal-Currency/config.json.mustache +111 -0
  183. package/src/tasks/create/templates/SDK-React/Field/Decimal-Currency/demo.stories.jsx.mustache +44 -0
  184. package/src/tasks/create/templates/SDK-React/Field/Decimal-Currency/index.tsx.mustache +131 -0
  185. package/src/tasks/create/templates/SDK-React/Field/Decimal-Currency/styles.js.mustache +7 -0
  186. package/src/tasks/create/templates/SDK-React/Field/Decimal-Percentage/config.json.mustache +80 -0
  187. package/src/tasks/create/templates/SDK-React/Field/Decimal-Percentage/demo.stories.jsx.mustache +44 -0
  188. package/src/tasks/create/templates/SDK-React/Field/Decimal-Percentage/index.tsx.mustache +128 -0
  189. package/src/tasks/create/templates/SDK-React/Field/Decimal-Percentage/styles.js.mustache +7 -0
  190. package/src/tasks/create/templates/SDK-React/Field/Integer/config.json.mustache +74 -0
  191. package/src/tasks/create/templates/SDK-React/Field/Integer/demo.stories.jsx.mustache +44 -0
  192. package/src/tasks/create/templates/SDK-React/Field/Integer/index.tsx.mustache +124 -0
  193. package/src/tasks/create/templates/SDK-React/Field/Integer/styles.js.mustache +7 -0
  194. package/src/tasks/create/templates/SDK-React/Field/Picklist/config.json.mustache +72 -0
  195. package/src/tasks/create/templates/SDK-React/Field/Picklist/demo.stories.jsx.mustache +44 -0
  196. package/src/tasks/create/templates/SDK-React/Field/Picklist/index.tsx.mustache +141 -0
  197. package/src/tasks/create/templates/SDK-React/Field/Picklist/styles.js.mustache +7 -0
  198. package/src/tasks/create/templates/SDK-React/Field/Text/config.json.mustache +69 -0
  199. package/src/tasks/create/templates/SDK-React/Field/Text/demo.stories.jsx.mustache +44 -0
  200. package/src/tasks/create/templates/SDK-React/Field/Text/index.tsx.mustache +119 -0
  201. package/src/tasks/create/templates/SDK-React/Field/Text/styles.js.mustache +7 -0
  202. package/src/tasks/create/templates/SDK-React/Field/Text-Email/config.json.mustache +69 -0
  203. package/src/tasks/create/templates/SDK-React/Field/Text-Email/demo.stories.jsx.mustache +44 -0
  204. package/src/tasks/create/templates/SDK-React/Field/Text-Email/index.tsx.mustache +121 -0
  205. package/src/tasks/create/templates/SDK-React/Field/Text-Email/styles.js.mustache +7 -0
  206. package/src/tasks/create/templates/SDK-React/Field/Text-Input/config.json.mustache +69 -0
  207. package/src/tasks/create/templates/SDK-React/Field/Text-Input/demo.stories.jsx.mustache +44 -0
  208. package/src/tasks/create/templates/SDK-React/Field/Text-Input/index.tsx.mustache +119 -0
  209. package/src/tasks/create/templates/SDK-React/Field/Text-Input/styles.js.mustache +7 -0
  210. package/src/tasks/create/templates/SDK-React/Field/Text-Paragraph/config.json.mustache +69 -0
  211. package/src/tasks/create/templates/SDK-React/Field/Text-Paragraph/demo.stories.jsx.mustache +44 -0
  212. package/src/tasks/create/templates/SDK-React/Field/Text-Paragraph/index.tsx.mustache +123 -0
  213. package/src/tasks/create/templates/SDK-React/Field/Text-Paragraph/styles.js.mustache +7 -0
  214. package/src/tasks/create/templates/SDK-React/Field/Text-Phone/config.json.mustache +81 -0
  215. package/src/tasks/create/templates/SDK-React/Field/Text-Phone/demo.stories.jsx.mustache +44 -0
  216. package/src/tasks/create/templates/SDK-React/Field/Text-Phone/index.tsx.mustache +147 -0
  217. package/src/tasks/create/templates/SDK-React/Field/Text-Phone/styles.js.mustache +7 -0
  218. package/src/tasks/create/templates/SDK-React/Field/Text-URL/config.json.mustache +111 -0
  219. package/src/tasks/create/templates/SDK-React/Field/Text-URL/demo.stories.jsx.mustache +44 -0
  220. package/src/tasks/create/templates/SDK-React/Field/Text-URL/index.tsx.mustache +98 -0
  221. package/src/tasks/create/templates/SDK-React/Field/Text-URL/styles.js.mustache +7 -0
  222. package/src/tasks/create/templates/SDK-React/Field/TimeofDay/config.json.mustache +121 -0
  223. package/src/tasks/create/templates/SDK-React/Field/TimeofDay/demo.stories.jsx.mustache +44 -0
  224. package/src/tasks/create/templates/SDK-React/Field/TimeofDay/index.tsx.mustache +120 -0
  225. package/src/tasks/create/templates/SDK-React/Field/TimeofDay/styles.js.mustache +7 -0
  226. package/src/tasks/create/templates/SDK-React/Template/DETAILS/DefaultForm.svg +29 -0
  227. package/src/tasks/create/templates/SDK-React/Template/DETAILS/config.json.mustache +21 -0
  228. package/src/tasks/create/templates/SDK-React/Template/DETAILS/index.tsx.mustache +45 -0
  229. package/src/tasks/create/templates/SDK-React/Template/DETAILS/styles.js.mustache +7 -0
  230. package/src/tasks/create/templates/SDK-React/Template/DETAILS-region/TwoColumnDetails.svg +28 -0
  231. package/src/tasks/create/templates/SDK-React/Template/DETAILS-region/config.json.mustache +27 -0
  232. package/src/tasks/create/templates/SDK-React/Template/DETAILS-region/index.tsx.mustache +53 -0
  233. package/src/tasks/create/templates/SDK-React/Template/DETAILS-region/styles.js.mustache +7 -0
  234. package/src/tasks/create/templates/SDK-React/Template/FORM/DefaultForm.css +25 -0
  235. package/src/tasks/create/templates/SDK-React/Template/FORM/DefaultForm.svg +29 -0
  236. package/src/tasks/create/templates/SDK-React/Template/FORM/config.json.mustache +45 -0
  237. package/src/tasks/create/templates/SDK-React/Template/FORM/index.tsx.mustache +63 -0
  238. package/src/tasks/create/templates/SDK-React/Template/FORM/styles.js.mustache +7 -0
  239. package/src/tasks/create/templates/SDK-React/Template/FORM-region/TwoColumn.svg +38 -0
  240. package/src/tasks/create/templates/SDK-React/Template/FORM-region/config.json.mustache +49 -0
  241. package/src/tasks/create/templates/SDK-React/Template/FORM-region/index.tsx.mustache +69 -0
  242. package/src/tasks/create/templates/SDK-React/Template/FORM-region/styles.js.mustache +7 -0
  243. package/src/tasks/create/templates/SDK-React/Template/PAGE/OneColumn.tsx.mustache +32 -0
  244. package/src/tasks/create/templates/SDK-React/Template/PAGE/OneColumnPage.svg +28 -0
  245. package/src/tasks/create/templates/SDK-React/Template/PAGE/config.json.mustache +32 -0
  246. package/src/tasks/create/templates/SDK-React/Template/PAGE/index.tsx.mustache +31 -0
  247. package/src/tasks/create/templates/SDK-React/Template/PAGE/styles.js.mustache +7 -0
  248. package/src/tasks/create/templates/SDK-React/Widget/CASE/OneColumnPage.svg +36 -0
  249. package/src/tasks/create/templates/SDK-React/Widget/CASE/config.json.mustache +23 -0
  250. package/src/tasks/create/templates/SDK-React/Widget/CASE/index.tsx.mustache +183 -0
  251. package/src/tasks/create/templates/SDK-React/Widget/CASE/styles.js.mustache +7 -0
  252. package/src/tasks/create/templates/SDK-React/Widget/PAGE/OneColumnPage.svg +36 -0
  253. package/src/tasks/create/templates/SDK-React/Widget/PAGE/config.json.mustache +59 -0
  254. package/src/tasks/create/templates/SDK-React/Widget/PAGE/index.tsx.mustache +78 -0
  255. package/src/tasks/create/templates/SDK-React/Widget/PAGE/styles.js.mustache +7 -0
  256. package/src/tasks/create/templates/SDK-React/Widget/PAGE-CASE/OneColumnPage.svg +36 -0
  257. package/src/tasks/create/templates/SDK-React/Widget/PAGE-CASE/config.json.mustache +66 -0
  258. package/src/tasks/create/templates/SDK-React/Widget/PAGE-CASE/index.tsx.mustache +239 -0
  259. package/src/tasks/create/templates/SDK-React/Widget/PAGE-CASE/styles.js.mustache +7 -0
  260. package/src/tasks/create/templates/SDK-WebComponents/Field/__components.md +4 -0
  261. package/src/tasks/create/templates/SDK-WebComponents/Template/__components.md +4 -0
  262. package/src/tasks/create/templates/SDK-WebComponents/Widget/__components.md +4 -0
  263. package/src/tasks/delete/helper.js +122 -0
  264. package/src/tasks/delete/index.js +45 -0
  265. package/src/tasks/delete-all/helper.js +177 -0
  266. package/src/tasks/delete-all/index.js +45 -0
  267. package/src/tasks/index.js +11 -0
  268. package/src/tasks/linter/index.js +46 -0
  269. package/src/tasks/list/helper.js +118 -0
  270. package/src/tasks/list/index.js +51 -0
  271. package/src/tasks/map/map.js +118 -0
  272. package/src/tasks/publish/helper.js +147 -0
  273. package/src/tasks/publish/index.js +72 -0
  274. package/src/tasks/publish-all/helper.js +139 -0
  275. package/src/tasks/publish-all/index.js +84 -0
  276. package/src/tasks/update/index.js +5 -0
  277. package/src/tasks/upgrade/index.js +31 -0
  278. package/src/tasks/validator/index.js +216 -0
  279. package/src/util.js +442 -0
@@ -0,0 +1,327 @@
1
+ import dayjs from 'dayjs';
2
+
3
+ const relativeTime = require('dayjs/plugin/relativeTime');
4
+ const utc = require('dayjs/plugin/utc');
5
+
6
+ dayjs.extend(relativeTime);
7
+ dayjs.extend(utc);
8
+
9
+ export const datetimedisplayformatter = (formatter) => {
10
+ const objectvalues = {};
11
+ switch (formatter) {
12
+ case "DateTime-Long": {
13
+ objectvalues.variantVal = "datetime";
14
+ objectvalues.formatVal = "long";
15
+ break;
16
+ }
17
+ case "DateTime-Short": {
18
+ objectvalues.variantVal = "date";
19
+ objectvalues.formatVal = "short";
20
+ break;
21
+ }
22
+ case "DateTime-Since": {
23
+ objectvalues.variantVal = "relative";
24
+ break;
25
+ }
26
+ case "Time-Only": {
27
+ objectvalues.variantVal = "time";
28
+ objectvalues.formatVal = "short";
29
+ break;
30
+ }
31
+ // no default
32
+ }
33
+ return objectvalues;
34
+ };
35
+
36
+ export const formatExists = (formatterVal) => {
37
+ const formatterValues = [
38
+ "DateTime-Long",
39
+ "DateTime-Short",
40
+ "DateTime-Since",
41
+ "Time-Only"
42
+ ];
43
+ let isformatter = false;
44
+ if (formatterValues.includes(formatterVal)) {
45
+ isformatter = true;
46
+ }
47
+ return isformatter;
48
+ };
49
+
50
+
51
+
52
+ /**
53
+ * Return relative time in fromNow for the given datetime
54
+ * @description Convert and return the given datetime in dayJSObject
55
+ *
56
+ * @param {string} text datetime
57
+ * @returns {object} datetime as a dayjs object
58
+ */
59
+ export const getDayJSObject = (text) => {
60
+ const momObj = dayjs(text);
61
+ if (momObj.isValid()) return momObj;
62
+ const timeStamp = text;
63
+ const isDateTime = timeStamp.indexOf("GMT") !== -1;
64
+ const year = parseInt(timeStamp.substr(0, 4), 10);
65
+ const month = parseInt(timeStamp.substr(4, 2), 10) - 1;
66
+ const day = parseInt(timeStamp.substr(6, 2), 10);
67
+
68
+ const CurrentTz = PCore.getLocaleUtils().getTimeZoneInUse();
69
+
70
+ let mom = new Date();
71
+
72
+ mom.setUTCDate(day);
73
+ mom.setUTCMonth(month);
74
+ mom.setUTCFullYear(year);
75
+
76
+ /* istanbul ignore else */
77
+ if (isDateTime) {
78
+ const hours = parseInt(timeStamp.substr(9, 2), 10);
79
+ const minutes = parseInt(timeStamp.substr(11, 2), 10);
80
+ const seconds = parseInt(timeStamp.substr(13, 2), 10);
81
+ const ms = parseInt(timeStamp.substr(16, 3), 10);
82
+ mom.setUTCHours(hours);
83
+ mom.setUTCMinutes(minutes);
84
+ mom.setUTCSeconds(seconds);
85
+ mom.setUTCMilliseconds(ms);
86
+ }
87
+
88
+ mom = dayjs(
89
+ mom.toLocaleString("en-US", {
90
+ timeZone: CurrentTz
91
+ })
92
+ );
93
+
94
+ return mom;
95
+ };
96
+
97
+ /**
98
+ * Return relative time in fromNow for the given datetime
99
+ *
100
+ * @param {string} time datetime
101
+ * @returns {object} relative time from now
102
+ */
103
+ export const getRelativeTime = (time) => {
104
+ let relativetime = "";
105
+ if (dayjs(time).isUTC()) {
106
+ relativetime = dayjs(time).fromNow();
107
+ } else {
108
+ const dayjstime = getDayJSObject(time);
109
+ relativetime = dayjs(dayjstime).fromNow();
110
+ }
111
+ return relativetime;
112
+ };
113
+
114
+ /**
115
+ * Return year for the date passed
116
+ *
117
+ * @param {string} value from which Year needs to be taken out
118
+ * @returns {number} year for the date passed
119
+ */
120
+ export const getFullYear = (value) =>
121
+ value ? new Date(value).getFullYear() : new Date().getFullYear();
122
+
123
+ /**
124
+ * Return maxDate for the date passed
125
+ *
126
+ * @param {number} nextYears next number of years
127
+ * @param {number} currentYear current year
128
+ * @param {number} yearFromValue year set on value in redux
129
+ *
130
+ * @returns {string} maxDate calculated based on inputs
131
+ */
132
+ export const getMaxDate = (nextYears, currentYear, yearFromValue) => {
133
+ if (Number.isNaN(nextYears)) {
134
+ nextYears = 20;
135
+ }
136
+ let maxYear = currentYear + nextYears;
137
+ if (yearFromValue > maxYear) {
138
+ maxYear = yearFromValue;
139
+ }
140
+ return `${maxYear}-01-01`;
141
+ };
142
+
143
+ /**
144
+ * Return minDate for the date passed
145
+ *
146
+ * @param {number} previousYears previous number of years
147
+ * @param {number} currentYear current year
148
+ * @param {number} yearFromValue year set on value in redux
149
+ *
150
+ * @returns {string} minDate calculated based on inputs
151
+ */
152
+ export const getMinDate = (previousYears, currentYear, yearFromValue) => {
153
+ if (Number.isNaN(previousYears)) {
154
+ previousYears = 100;
155
+ }
156
+ let minYear = currentYear - previousYears;
157
+ if (yearFromValue < minYear) {
158
+ minYear = yearFromValue;
159
+ }
160
+ return `${minYear}-12-31`;
161
+ };
162
+
163
+ /**
164
+ * Return clockFormat after parsing
165
+ *
166
+ * @param {number | string} clockFormat chosen by user
167
+ *
168
+ * @returns {number} clockFormat
169
+ */
170
+ export const parseClockFormat = (clockFormat) =>
171
+ typeof clockFormat === "string" ? parseInt(clockFormat, 10) : clockFormat;
172
+
173
+ /**
174
+ * Return datetime value string off to seconds
175
+ *
176
+ * @param {string} datetime in ISO format
177
+ * @param {boolean} withSeconds to specify if seconds is needed or not
178
+ *
179
+ * @returns {string} datetime after stripping of ms and seconds if selected to
180
+ */
181
+ export const correctDateTimeToSeconds = (datetime, withSeconds) => {
182
+ if (withSeconds) {
183
+ return `${datetime.substring(0, datetime.indexOf("Z"))}.000Z`;
184
+ }
185
+ return `${datetime.substring(0, datetime.lastIndexOf(":"))}:00.000Z`;
186
+ };
187
+
188
+ /**
189
+ * Return time value string off to seconds
190
+ *
191
+ * @param {string} datetime in ISO format
192
+ * @param {boolean} withSeconds to specify if seconds is needed or not
193
+ *
194
+ * @returns {string} just time after stripping of ms and seconds if selected to
195
+ */
196
+ export const timeCorrectedToSeconds = (datetime, withSeconds) => {
197
+ if (withSeconds) {
198
+ return datetime.substring(datetime.indexOf("T") + 1, datetime.indexOf("."));
199
+ }
200
+ return `${datetime.substring(
201
+ datetime.indexOf("T") + 1,
202
+ datetime.lastIndexOf(":")
203
+ )}:00`;
204
+ };
205
+
206
+ /**
207
+ * This function handles the cosmos blur handler of DateTime components
208
+ *
209
+ * @param {string | undefined} errorState for the selected datetime value
210
+ * @param {string} actualValue present in redux
211
+ * @param {string} formattedValue retrieved by trimming ISO to just Date/Time, also applying timezone if DateTime
212
+ * @param {object} actions object which has fire and blur callbacks
213
+ * @param {string} propName name of the property bound
214
+ * @param {object} pConn component's PConnect object which is useful to invoke validationApi
215
+ *
216
+ * @returns {void}
217
+ */
218
+ export const datetimeFireChangeBlurEvents = (
219
+ errorState,
220
+ actualValue,
221
+ formattedValue,
222
+ actions,
223
+ propName,
224
+ pConn
225
+ ) => {
226
+
227
+ // TODO - clean up, we should not rely on timestamp from cosmos to check InComplete validation
228
+ // above triggerFieldChange should have validated this
229
+ if (errorState) {
230
+ pConn.getValidationApi().validate(errorState);
231
+ }
232
+ // BUG-640834 In errorState presist old values avoiding store update & re-render.
233
+ else{
234
+ if (formattedValue !== actualValue) {
235
+ actions.updateFieldValue(propName, formattedValue);
236
+ }
237
+ actions.triggerFieldChange(propName, formattedValue);
238
+ }
239
+ };
240
+
241
+ /**
242
+ * Return Date format for the locale passed
243
+ *
244
+ * @param {string} locale locale string
245
+ * @param {object} options options for format string
246
+ * @returns {string} dateformat for the locale
247
+ * Example : getDateFormat("pl-PL") returns "DD.MM.YYYY"
248
+ */
249
+ export const getDateFormat = (locale, options) => {
250
+ return new Intl.DateTimeFormat(locale, options)
251
+ .formatToParts()
252
+ .map(({ type, value }) => {
253
+ switch (type) {
254
+ case "day":
255
+ return "DD";
256
+ case "month":
257
+ return "MM";
258
+ case "year":
259
+ return "YYYY";
260
+ case "hour":
261
+ return "hh";
262
+ case "minute":
263
+ return "mm";
264
+ case "second":
265
+ return "ss";
266
+ case "dayPeriod":
267
+ return "A";
268
+ case "literal":
269
+ return value;
270
+ default:
271
+ return "";
272
+ }
273
+ })
274
+ .join("");
275
+ };
276
+
277
+ /**
278
+ * Return boolean for the locale passed to specify if locale uses 12 hour format
279
+ *
280
+ * @param {string} locale locale string
281
+ * @returns {boolean} True or False for the locale
282
+ * Example : getDateFormat("pl-PL") returns false
283
+ */
284
+ export const is12HClockFormat = (locale) => {
285
+ const meridiem = new Intl.DateTimeFormat(locale, {
286
+ hour: "numeric"
287
+ })
288
+ .formatToParts()
289
+ .find(({ type }) => type === "dayPeriod");
290
+ return !!(meridiem === null || meridiem === undefined
291
+ ? undefined
292
+ : meridiem.value);
293
+ };
294
+
295
+ /**
296
+ * Return Option object for Time formatting
297
+ *
298
+ * @param {boolean} withSeconds true or false depending on seconds to be included
299
+ * @param {boolean} is12h 12 hour format
300
+ * @returns {object} options object time formatting
301
+ * Example : getTimeOptions(false, true) returns {hour: 'numeric',minute: 'numeric',hour12: true}
302
+ */
303
+ export const getTimeOptions = (withSeconds, is12h = false) => {
304
+ return {
305
+ hour: "numeric",
306
+ minute: "numeric",
307
+ ...(withSeconds && { second: "numeric" }),
308
+ hour12: is12h
309
+ };
310
+ };
311
+
312
+ /**
313
+ * Return Option object for Datetime formatting
314
+ *
315
+ * @param {boolean} withSeconds true or false depending on seconds to be included
316
+ * @param {boolean} is12h 12 hour format
317
+ * @returns {object} options object datetime formatting
318
+ * Example : getDateTimeOptions(false, true) returns {year: 'numeric',month: 'numeric',day: 'numeric',hour: 'numeric',minute: 'numeric',hour12: true}
319
+ */
320
+ export const getDateTimeOptions = (withSeconds, is12h = false) => {
321
+ return {
322
+ year: "numeric",
323
+ month: "numeric",
324
+ day: "numeric",
325
+ ...getTimeOptions(withSeconds, is12h)
326
+ };
327
+ };
@@ -0,0 +1,44 @@
1
+ import { useState } from 'react';
2
+ import { withKnobs, text, boolean } from '@storybook/addon-knobs';
3
+
4
+ import {{COMPONENT_CLASS_NAME}} from './index.jsx';
5
+
6
+ export default {
7
+ title: '{{COMPONENT_CLASS_NAME}}',
8
+ decorators: [withKnobs],
9
+ component: {{COMPONENT_CLASS_NAME}}
10
+ };
11
+
12
+ export const base{{COMPONENT_CLASS_NAME}} = () => {
13
+ const [value, setValue] = useState('test value');
14
+
15
+ const props = {
16
+ getPConnect: () => {
17
+ return {
18
+ getActionsApi: () => {
19
+ return {
20
+ updateFieldValue: (propName, value) => {
21
+ setValue(value);
22
+ }
23
+ };
24
+ },
25
+ getStateProps: () => {
26
+ return { value: '.name' };
27
+ }
28
+ };
29
+ },
30
+ value,
31
+ placeholder: text('Placeholder', 'Test placeholder'),
32
+ disabled: boolean('Disabled', false),
33
+ readOnly: boolean('Disabled', false),
34
+ required: boolean('Disabled', false),
35
+ label: text('Label', 'Sample Label'),
36
+ testId: text('Test id', 'text-12344566')
37
+ };
38
+
39
+ return (
40
+ <>
41
+ <{{COMPONENT_CLASS_NAME}} {...props} />
42
+ </>
43
+ );
44
+ };
@@ -0,0 +1,254 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { DateInput, FieldValueList, DateTimeDisplay, Text } from '@pega/cosmos-react-core';
3
+ import PropTypes from 'prop-types';
4
+
5
+ import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
6
+
7
+ // includes in bundle
8
+ import {
9
+ datetimedisplayformatter,
10
+ formatExists,
11
+ getFullYear,
12
+ getMaxDate,
13
+ getMinDate,
14
+ datetimeFireChangeBlurEvents,
15
+ getDateFormat
16
+ } from "./date.js";
17
+ import { suggestionsHandler } from './suggestions-handler';
18
+
19
+ // Duplicated runtime code from Constellation Design System Component
20
+
21
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
22
+ // any default values in config.pros should be set in defaultProps at bottom of this file
23
+ const {{COMPONENT_CLASS_NAME}} = props => {
24
+ const {
25
+ getPConnect,
26
+ value,
27
+ validatemessage,
28
+ label,
29
+ hideLabel,
30
+ helperText,
31
+ nextYearRange,
32
+ previousYearRange,
33
+ showWeekNumber,
34
+ testId,
35
+ showAsFormattedText,
36
+ additionalProps,
37
+ displayMode,
38
+ variant,
39
+ hasSuggestions
40
+ } = props;
41
+
42
+ let {formatter} = props;
43
+ const pConn = getPConnect();
44
+ const actions = pConn.getActionsApi();
45
+ const propName = pConn?.getStateProps()?.value;
46
+
47
+ let { readOnly, required, disabled } = props;
48
+ [readOnly, required, disabled] = [readOnly, required, disabled].map(
49
+ (prop) => prop === true || (typeof prop === "string" && prop === "true")
50
+ );
51
+
52
+ const [status, setStatus] = useState(hasSuggestions ? 'pending' : '');
53
+
54
+ useEffect(() => {
55
+ if (validatemessage !== '') {
56
+ setStatus('error');
57
+ }
58
+ if (hasSuggestions) {
59
+ setStatus('pending');
60
+ } else if (!hasSuggestions && status !== 'success') {
61
+ setStatus(validatemessage !== '' ? 'error' : undefined);
62
+ }
63
+ }, [validatemessage, hasSuggestions]);
64
+
65
+ // calculate min and max range of calendar
66
+ const currentYear = getFullYear();
67
+ const yearFromValue = getFullYear(value);
68
+ const maxDate = getMaxDate(
69
+ parseInt(nextYearRange, 10),
70
+ currentYear,
71
+ yearFromValue
72
+ );
73
+ const minDate = getMinDate(
74
+ parseInt(previousYearRange, 10),
75
+ currentYear,
76
+ yearFromValue
77
+ );
78
+
79
+ const onResolveSuggestionHandler = (accepted) => {
80
+ suggestionsHandler(accepted, pConn, setStatus);
81
+ };
82
+
83
+
84
+
85
+ function handleBlur(onBlurValue) {
86
+ const { valueAsISOString: date, state: errorState } = onBlurValue;
87
+ const trimmedDate = date ? date.substring(0, date.indexOf('T')) : date;
88
+ datetimeFireChangeBlurEvents(errorState, value, trimmedDate, actions, propName, pConn);
89
+ const isValueChanged = !(value === undefined && trimmedDate === '') && value !== trimmedDate;
90
+ if (hasSuggestions && isValueChanged) {
91
+ pConn.ignoreSuggestion();
92
+ }
93
+ }
94
+
95
+ function handleChange(onChangeValue) {
96
+ const { valueAsISOString: date } = onChangeValue;
97
+ const trimmedDate = date ? date.substring(0, date.indexOf('T')) : date;
98
+ if (hasSuggestions && value !== trimmedDate) {
99
+ setStatus(undefined);
100
+ }
101
+ pConn.clearErrorMessages({
102
+ property: propName
103
+ })
104
+ }
105
+
106
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'STACKED_LARGE_VAL' || displayMode === 'DISPLAY_ONLY') {
107
+ let variantValue = "date";
108
+ let formatValue = "long";
109
+ if(pConn && pConn.getConfigProps()){
110
+ const runtimeformatter = pConn.getConfigProps()?.formatter;
111
+ if(formatter !== runtimeformatter){
112
+ formatter = runtimeformatter;
113
+ }
114
+ }
115
+ if(formatter !== "" && formatExists(formatter)){
116
+ const {variantVal,formatVal} = datetimedisplayformatter(formatter);
117
+ variantValue = variantVal;
118
+ formatValue = formatVal;
119
+ }
120
+ const displayComp = (
121
+ <DateTimeDisplay
122
+ variant={variantValue}
123
+ format={formatValue}
124
+ value={value}
125
+ />
126
+ );
127
+ switch(displayMode){
128
+ case 'DISPLAY_ONLY': {
129
+ return ( <Styled{{COMPONENT_CLASS_NAME}}Wrapper> displayComp </Styled{{COMPONENT_CLASS_NAME}}Wrapper>);
130
+ }
131
+ case "LABELS_LEFT" : {
132
+ return (
133
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
134
+ <FieldValueList
135
+ variant={hideLabel ? "stacked" : variant}
136
+ data-testid={testId}
137
+ fields={[{ id: '1', name: hideLabel ? "" :label, value: displayComp }]}
138
+ />
139
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
140
+
141
+ );
142
+ }
143
+ case "STACKED_LARGE_VAL" : {
144
+ return (
145
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
146
+ <FieldValueList
147
+ variant='stacked'
148
+ data-testid={testId}
149
+ fields={[{ id: '2', name: hideLabel ? "" :label, value: <Text variant='h1' as='span'>{displayComp}</Text> }]}
150
+ />
151
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
152
+
153
+ );
154
+ }
155
+ // no default
156
+ }
157
+ }
158
+
159
+
160
+ let dateComponent;
161
+
162
+ if (readOnly && showAsFormattedText) {
163
+ const environmentInfo = PCore.getEnvironmentInfo();
164
+ const locale = environmentInfo && environmentInfo.getLocale();
165
+ const textAdditionalProps = {
166
+ format: getDateFormat(locale),
167
+ fieldType: 'Date'
168
+ };
169
+ dateComponent = (
170
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
171
+ <FormattedText
172
+ formatType='date'
173
+ value={value}
174
+ label={label}
175
+ hideLabel={hideLabel}
176
+ testId={testId}
177
+ additionalProps={textAdditionalProps}
178
+ customFormat={getDateFormat(locale)}
179
+ />
180
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
181
+ );
182
+ } else {
183
+ dateComponent = (
184
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
185
+ <DateInput
186
+ {...additionalProps}
187
+ label={label}
188
+ labelHidden={hideLabel}
189
+ info={validatemessage || helperText}
190
+ status={status}
191
+ value={value || undefined}
192
+ disabled={disabled}
193
+ readOnly={readOnly}
194
+ required={required}
195
+ showWeekNumber={showWeekNumber}
196
+ min={minDate}
197
+ max={maxDate}
198
+ data-testid={testId}
199
+ onFocus={actions.onFocus}
200
+ onChange={handleChange}
201
+ onBlur={handleBlur}
202
+ onResolveSuggestion={onResolveSuggestionHandler}
203
+ />
204
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
205
+ );
206
+ }
207
+ return dateComponent;
208
+ }
209
+
210
+
211
+
212
+ {{COMPONENT_CLASS_NAME}}.defaultProps = {
213
+ value: undefined,
214
+ validatemessage: "",
215
+ helperText: "",
216
+ hideLabel: false,
217
+ disabled: false,
218
+ readOnly: false,
219
+ required: false,
220
+ showWeekNumber: false,
221
+ nextYearRange: "",
222
+ previousYearRange: "",
223
+ testId: null,
224
+ showAsFormattedText: false,
225
+ additionalProps: {},
226
+ displayMode: null,
227
+ variant: "inline",
228
+ formatter: "defaultDate",
229
+ hasSuggestions: false
230
+ };
231
+
232
+ {{COMPONENT_CLASS_NAME}}.propTypes = {
233
+ value: PropTypes.string,
234
+ label: PropTypes.string.isRequired,
235
+ hideLabel: PropTypes.bool,
236
+ getPConnect: PropTypes.func.isRequired,
237
+ validatemessage: PropTypes.string,
238
+ helperText: PropTypes.string,
239
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
240
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
241
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
242
+ showWeekNumber: PropTypes.bool,
243
+ nextYearRange: PropTypes.string,
244
+ previousYearRange: PropTypes.string,
245
+ testId: PropTypes.string,
246
+ showAsFormattedText: PropTypes.bool,
247
+ additionalProps: PropTypes.objectOf(PropTypes.any),
248
+ displayMode: PropTypes.string,
249
+ variant: PropTypes.string,
250
+ formatter: PropTypes.string,
251
+ hasSuggestions: PropTypes.bool
252
+ };
253
+
254
+ export default {{COMPONENT_CLASS_NAME}};
@@ -0,0 +1,7 @@
1
+ import styled, { css } from 'styled-components';
2
+
3
+ export default styled.div(() => {
4
+ return css`
5
+ margin: 8px 0;
6
+ `;
7
+ });
@@ -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
+ };