@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,252 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { DateTimeInput, FieldValueList, DateTimeDisplay, Text } from "@pega/cosmos-react-core";
3
+ import PropTypes from "prop-types";
4
+
5
+ // includes in bundle
6
+ import DateTimeFormatter from "./date-time";
7
+ import {datetimedisplayformatter,formatExists} from "./date";
8
+ import {
9
+ getFullYear,
10
+ getMaxDate,
11
+ getMinDate,
12
+ parseClockFormat,
13
+ correctDateTimeToSeconds,
14
+ datetimeFireChangeBlurEvents
15
+ } from "./date-utils";
16
+ import { suggestionsHandler } from './suggestions-handler';
17
+
18
+
19
+ import Styled{{COMPONENT_CLASS_NAME}}Wrapper from './styles';
20
+
21
+ // Duplicated runtime code from Constellation Design System Component
22
+
23
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
24
+ // any default values in config.pros should be set in defaultProps at bottom of this file
25
+ const {{COMPONENT_CLASS_NAME}} = props => {
26
+ const {
27
+ getPConnect,
28
+ value,
29
+ validatemessage,
30
+ label,
31
+ hideLabel,
32
+ helperText,
33
+ withSeconds,
34
+ nextYearRange,
35
+ previousYearRange,
36
+ showWeekNumber,
37
+ pickerInterval,
38
+ testId,
39
+ additionalProps,
40
+ displayMode,
41
+ variant,
42
+ hasSuggestions
43
+ } = props;
44
+ let { formatter } = props;
45
+ const pConn = getPConnect();
46
+ const actions = pConn.getActionsApi();
47
+ const propName = pConn.getStateProps().value;
48
+
49
+ const environmentInfo = PCore.getEnvironmentInfo();
50
+ const timezone = environmentInfo && environmentInfo.getTimeZone();
51
+
52
+ let { readOnly, required, disabled } = props;
53
+ [readOnly, required, disabled] = [readOnly, required, disabled].map(
54
+ (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
55
+ );
56
+
57
+ const [status, setStatus] = useState(hasSuggestions ? 'pending' : '');
58
+
59
+ useEffect(() => {
60
+ if (validatemessage !== '') {
61
+ setStatus('error');
62
+ }
63
+ if (hasSuggestions) {
64
+ setStatus('pending');
65
+ } else if (!hasSuggestions && status !== 'success') {
66
+ setStatus(validatemessage !== '' ? 'error' : undefined);
67
+ }
68
+ }, [validatemessage, hasSuggestions]);
69
+
70
+ let { clockFormat } = props;
71
+ clockFormat = parseClockFormat(clockFormat);
72
+
73
+ // calculate min and max range of calendar
74
+ const currentYear = getFullYear();
75
+ const yearFromValue = getFullYear(value);
76
+ const maxDate = getMaxDate(parseInt(nextYearRange, 10), currentYear, yearFromValue);
77
+ const minDate = getMinDate(parseInt(previousYearRange, 10), currentYear, yearFromValue);
78
+
79
+ const onResolveSuggestionHandler = (accepted) => {
80
+ suggestionsHandler(accepted, pConn, setStatus);
81
+ };
82
+
83
+ function handleBlur(onBlurValue) {
84
+ const { valueAsISOString: datetimeTZ, state: errorState } = onBlurValue;
85
+ const datetimeGMT = DateTimeFormatter.convertFromTimezone(datetimeTZ, timezone);
86
+
87
+ const datetimeGMTCorrectedToSeconds = datetimeGMT
88
+ ? correctDateTimeToSeconds(datetimeGMT, withSeconds)
89
+ : datetimeGMT;
90
+
91
+ datetimeFireChangeBlurEvents(errorState, value, datetimeGMTCorrectedToSeconds, actions, propName, pConn);
92
+ const isValueChanged =
93
+ !(value === undefined && datetimeGMTCorrectedToSeconds === '') && value !== datetimeGMTCorrectedToSeconds;
94
+ if (hasSuggestions && isValueChanged) {
95
+ pConn.ignoreSuggestion();
96
+ }
97
+ }
98
+
99
+ function handleChange(onChangeValue) {
100
+ const { valueAsISOString: datetimeTZ } = onChangeValue;
101
+ const datetimeGMT = DateTimeFormatter.convertFromTimezone(datetimeTZ, timezone);
102
+ const datetimeGMTCorrectedToSeconds = datetimeGMT
103
+ ? correctDateTimeToSeconds(datetimeGMT, withSeconds)
104
+ : datetimeGMT;
105
+ if (hasSuggestions && value !== datetimeGMTCorrectedToSeconds) {
106
+ setStatus(undefined);
107
+ }
108
+ pConn.clearErrorMessages({
109
+ property: propName
110
+ });
111
+ }
112
+
113
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'STACKED_LARGE_VAL' || displayMode === 'DISPLAY_ONLY') {
114
+ let variantValue = 'datetime';
115
+ let formatValue = withSeconds ? 'long' : 'short';
116
+ const runtimeformatter = pConn.getConfigProps()?.formatter;
117
+ if (formatter !== runtimeformatter) {
118
+ formatter = runtimeformatter;
119
+ }
120
+ if (formatExists(formatter)) {
121
+ const { variantVal, formatVal } = datetimedisplayformatter(formatter);
122
+ variantValue = variantVal;
123
+ formatValue = withSeconds && formatter === 'Time-Only' ? 'long' : formatVal;
124
+ }
125
+ const displayComp = (
126
+ <DateTimeDisplay
127
+ variant={variantValue}
128
+ format={formatValue}
129
+ value={
130
+ formatter === 'DateTime-Since' ? value : DateTimeFormatter.convertToTimezone(value, { timezone }) || undefined
131
+ }
132
+ clockFormat={clockFormat || undefined}
133
+ />
134
+ );
135
+ switch (displayMode) {
136
+ case 'DISPLAY_ONLY': {
137
+ return ( <Styled{{COMPONENT_CLASS_NAME}}Wrapper> displayComp </Styled{{COMPONENT_CLASS_NAME}}Wrapper>);
138
+ }
139
+ case 'LABELS_LEFT': {
140
+ return (
141
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
142
+ <FieldValueList
143
+ variant={hideLabel ? 'stacked' : variant}
144
+ data-testid={testId}
145
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
146
+ />
147
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
148
+ );
149
+ }
150
+ case 'STACKED_LARGE_VAL': {
151
+ return (
152
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
153
+ <FieldValueList
154
+ variant='stacked'
155
+ data-testid={testId}
156
+ fields={[
157
+ {
158
+ id: '2',
159
+ name: hideLabel ? '' : label,
160
+ value: (
161
+ <Text variant='h1' as='span'>
162
+ {displayComp}
163
+ </Text>
164
+ )
165
+ }
166
+ ]}
167
+ />
168
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
169
+ );
170
+ }
171
+ // no default
172
+ }
173
+ }
174
+
175
+
176
+ return (
177
+ <Styled{{COMPONENT_CLASS_NAME}}Wrapper>
178
+ <DateTimeInput
179
+ {...additionalProps}
180
+ label={label}
181
+ labelHidden={hideLabel}
182
+ info={validatemessage || helperText}
183
+ status={status}
184
+ value={DateTimeFormatter.convertToTimezone(value, { timezone }) || undefined}
185
+ withSeconds={withSeconds}
186
+ disabled={disabled}
187
+ readOnly={readOnly}
188
+ required={required}
189
+ pickerInterval={pickerInterval}
190
+ clockFormat={clockFormat || undefined}
191
+ showWeekNumber={showWeekNumber}
192
+ min={minDate}
193
+ max={maxDate}
194
+ data-testid={testId}
195
+ onFocus={actions.onFocus}
196
+ onChange={handleChange}
197
+ onBlur={handleBlur}
198
+ onResolveSuggestion={onResolveSuggestionHandler}
199
+ />
200
+ </Styled{{COMPONENT_CLASS_NAME}}Wrapper>
201
+ );
202
+ }
203
+
204
+
205
+
206
+ {{COMPONENT_CLASS_NAME}}.defaultProps = {
207
+ value: undefined,
208
+ withSeconds: false,
209
+ validatemessage: "",
210
+ helperText: "",
211
+ hideLabel: false,
212
+ disabled: false,
213
+ readOnly: false,
214
+ required: false,
215
+ pickerInterval: "30",
216
+ clockFormat: 0,
217
+ showWeekNumber: false,
218
+ nextYearRange: "",
219
+ previousYearRange: "",
220
+ testId: null,
221
+ additionalProps: {},
222
+ displayMode: null,
223
+ variant: "inline",
224
+ Format: "defaultDateTime",
225
+ hasSuggestions: false
226
+ };
227
+
228
+ {{COMPONENT_CLASS_NAME}}.propTypes = {
229
+ value: PropTypes.string,
230
+ label: PropTypes.string.isRequired,
231
+ hideLabel: PropTypes.bool,
232
+ withSeconds: PropTypes.bool,
233
+ getPConnect: PropTypes.func.isRequired,
234
+ validatemessage: PropTypes.string,
235
+ helperText: PropTypes.string,
236
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
237
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
238
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
239
+ pickerInterval: PropTypes.string,
240
+ clockFormat: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
241
+ showWeekNumber: PropTypes.bool,
242
+ nextYearRange: PropTypes.string,
243
+ previousYearRange: PropTypes.string,
244
+ testId: PropTypes.string,
245
+ additionalProps: PropTypes.objectOf(PropTypes.any),
246
+ displayMode: PropTypes.string,
247
+ variant: PropTypes.string,
248
+ formatter: PropTypes.string,
249
+ hasSuggestions: PropTypes.bool
250
+ };
251
+
252
+ 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
+ };