@dxc-technology/halstack-react 0.0.0-90f64ff → 0.0.0-9179a3a

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 (378) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +48 -0
  3. package/ThemeContext.d.ts +15 -0
  4. package/ThemeContext.js +243 -0
  5. package/{dist/select/Select.js → V3Select/V3Select.js} +118 -248
  6. package/V3Select/index.d.ts +27 -0
  7. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +16 -20
  8. package/V3Textarea/index.d.ts +27 -0
  9. package/accordion/Accordion.d.ts +4 -0
  10. package/{dist/accordion → accordion}/Accordion.js +37 -132
  11. package/accordion/Accordion.stories.tsx +300 -0
  12. package/accordion/types.d.ts +68 -0
  13. package/accordion/types.js +5 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +170 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  17. package/accordion-group/types.d.ts +72 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/{dist/alert → alert}/Alert.js +44 -157
  21. package/alert/Alert.stories.tsx +170 -0
  22. package/alert/types.d.ts +49 -0
  23. package/alert/types.js +5 -0
  24. package/badge/Badge.js +59 -0
  25. package/box/Box.d.ts +4 -0
  26. package/{dist/box → box}/Box.js +15 -45
  27. package/box/Box.stories.tsx +132 -0
  28. package/box/types.d.ts +43 -0
  29. package/box/types.js +5 -0
  30. package/button/Button.d.ts +4 -0
  31. package/{dist/button → button}/Button.js +25 -84
  32. package/button/Button.stories.tsx +276 -0
  33. package/button/types.d.ts +57 -0
  34. package/button/types.js +5 -0
  35. package/card/Card.d.ts +4 -0
  36. package/{dist/card → card}/Card.js +34 -124
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/ice-cream.jpg +0 -0
  39. package/card/types.d.ts +67 -0
  40. package/card/types.js +5 -0
  41. package/checkbox/Checkbox.d.ts +4 -0
  42. package/{dist/checkbox → checkbox}/Checkbox.js +18 -65
  43. package/checkbox/Checkbox.stories.tsx +192 -0
  44. package/checkbox/types.d.ts +60 -0
  45. package/checkbox/types.js +5 -0
  46. package/chip/Chip.d.ts +4 -0
  47. package/{dist/chip → chip}/Chip.js +22 -88
  48. package/chip/Chip.stories.tsx +121 -0
  49. package/chip/types.d.ts +53 -0
  50. package/chip/types.js +5 -0
  51. package/{dist/common → common}/OpenSans.css +0 -0
  52. package/{dist/common → common}/RequiredComponent.js +3 -11
  53. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  55. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  56. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  57. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  58. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  59. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  60. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  61. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  62. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  63. package/{dist/common → common}/utils.js +0 -0
  64. package/{dist/common → common}/variables.js +386 -173
  65. package/{dist/date → date}/Date.js +21 -29
  66. package/date/index.d.ts +27 -0
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +358 -0
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/types.d.ts +100 -0
  71. package/date-input/types.js +5 -0
  72. package/dialog/Dialog.d.ts +4 -0
  73. package/{dist/dialog → dialog}/Dialog.js +22 -75
  74. package/dialog/Dialog.stories.tsx +212 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/{dist/dropdown → dropdown}/Dropdown.js +45 -172
  79. package/dropdown/types.d.ts +89 -0
  80. package/dropdown/types.js +5 -0
  81. package/file-input/FileInput.d.ts +4 -0
  82. package/file-input/FileInput.js +521 -0
  83. package/file-input/FileItem.d.ts +14 -0
  84. package/file-input/FileItem.js +184 -0
  85. package/file-input/types.d.ts +112 -0
  86. package/file-input/types.js +5 -0
  87. package/footer/Footer.d.ts +4 -0
  88. package/footer/Footer.js +260 -0
  89. package/footer/Footer.stories.tsx +130 -0
  90. package/footer/Icons.d.ts +2 -0
  91. package/footer/Icons.js +77 -0
  92. package/footer/types.d.ts +65 -0
  93. package/footer/types.js +5 -0
  94. package/header/Header.d.ts +7 -0
  95. package/header/Header.js +324 -0
  96. package/header/Header.stories.tsx +162 -0
  97. package/header/Icons.d.ts +2 -0
  98. package/header/Icons.js +34 -0
  99. package/header/types.d.ts +47 -0
  100. package/header/types.js +5 -0
  101. package/heading/Heading.d.ts +4 -0
  102. package/{dist/heading → heading}/Heading.js +31 -90
  103. package/heading/Heading.stories.tsx +53 -0
  104. package/heading/types.d.ts +33 -0
  105. package/heading/types.js +5 -0
  106. package/input-text/Icons.js +22 -0
  107. package/{dist/input-text → input-text}/InputText.js +39 -135
  108. package/input-text/index.d.ts +36 -0
  109. package/layout/ApplicationLayout.d.ts +10 -0
  110. package/{dist/layout → layout}/ApplicationLayout.js +43 -149
  111. package/layout/ApplicationLayout.stories.tsx +171 -0
  112. package/layout/Icons.js +55 -0
  113. package/layout/types.d.ts +57 -0
  114. package/layout/types.js +5 -0
  115. package/link/Link.d.ts +3 -0
  116. package/{dist/link → link}/Link.js +21 -101
  117. package/link/Link.stories.tsx +146 -0
  118. package/link/types.d.ts +74 -0
  119. package/link/types.js +5 -0
  120. package/list/List.d.ts +7 -0
  121. package/list/List.js +37 -0
  122. package/list/List.stories.tsx +70 -0
  123. package/main.d.ts +48 -0
  124. package/{dist/main.js → main.js} +133 -89
  125. package/number-input/NumberInput.d.ts +4 -0
  126. package/number-input/NumberInput.js +83 -0
  127. package/number-input/NumberInput.stories.tsx +115 -0
  128. package/number-input/NumberInputContext.d.ts +4 -0
  129. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +6 -3
  130. package/number-input/numberInputContextTypes.d.ts +19 -0
  131. package/number-input/numberInputContextTypes.js +5 -0
  132. package/number-input/types.d.ts +117 -0
  133. package/number-input/types.js +5 -0
  134. package/package.json +32 -24
  135. package/paginator/Icons.js +66 -0
  136. package/paginator/Paginator.d.ts +4 -0
  137. package/paginator/Paginator.js +192 -0
  138. package/paginator/Paginator.stories.tsx +63 -0
  139. package/paginator/types.d.ts +38 -0
  140. package/paginator/types.js +5 -0
  141. package/password-input/PasswordInput.d.ts +4 -0
  142. package/{dist/password/Password.js → password-input/PasswordInput.js} +46 -83
  143. package/password-input/PasswordInput.stories.tsx +131 -0
  144. package/password-input/types.d.ts +107 -0
  145. package/password-input/types.js +5 -0
  146. package/progress-bar/ProgressBar.d.ts +4 -0
  147. package/{dist/progress-bar → progress-bar}/ProgressBar.js +22 -94
  148. package/progress-bar/ProgressBar.stories.jsx +58 -0
  149. package/progress-bar/types.d.ts +37 -0
  150. package/progress-bar/types.js +5 -0
  151. package/radio/Radio.d.ts +4 -0
  152. package/{dist/radio → radio}/Radio.js +17 -52
  153. package/radio/Radio.stories.tsx +192 -0
  154. package/radio/types.d.ts +54 -0
  155. package/radio/types.js +5 -0
  156. package/resultsetTable/ResultsetTable.d.ts +4 -0
  157. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +39 -146
  158. package/resultsetTable/ResultsetTable.stories.tsx +276 -0
  159. package/resultsetTable/types.d.ts +67 -0
  160. package/resultsetTable/types.js +5 -0
  161. package/row/Row.d.ts +11 -0
  162. package/row/Row.js +124 -0
  163. package/row/Row.stories.tsx +223 -0
  164. package/select/Select.js +863 -0
  165. package/select/Select.stories.tsx +572 -0
  166. package/select/index.d.ts +131 -0
  167. package/sidenav/Sidenav.d.ts +9 -0
  168. package/sidenav/Sidenav.js +136 -0
  169. package/sidenav/Sidenav.stories.tsx +165 -0
  170. package/sidenav/types.d.ts +50 -0
  171. package/sidenav/types.js +5 -0
  172. package/slider/Slider.d.ts +4 -0
  173. package/slider/Slider.js +317 -0
  174. package/slider/Slider.stories.tsx +177 -0
  175. package/slider/types.d.ts +78 -0
  176. package/slider/types.js +5 -0
  177. package/spinner/Spinner.d.ts +4 -0
  178. package/spinner/Spinner.js +250 -0
  179. package/spinner/Spinner.stories.jsx +102 -0
  180. package/spinner/types.d.ts +32 -0
  181. package/spinner/types.js +5 -0
  182. package/stack/Stack.d.ts +10 -0
  183. package/stack/Stack.js +94 -0
  184. package/stack/Stack.stories.tsx +150 -0
  185. package/switch/Switch.d.ts +4 -0
  186. package/{dist/switch → switch}/Switch.js +28 -71
  187. package/switch/Switch.stories.tsx +160 -0
  188. package/switch/types.d.ts +58 -0
  189. package/switch/types.js +5 -0
  190. package/table/Table.d.ts +4 -0
  191. package/{dist/table → table}/Table.js +12 -26
  192. package/table/Table.stories.jsx +276 -0
  193. package/table/types.d.ts +21 -0
  194. package/table/types.js +5 -0
  195. package/tabs/Tabs.d.ts +4 -0
  196. package/tabs/Tabs.js +213 -0
  197. package/tabs/Tabs.stories.tsx +121 -0
  198. package/tabs/types.d.ts +70 -0
  199. package/tabs/types.js +5 -0
  200. package/tag/Tag.d.ts +4 -0
  201. package/tag/Tag.js +193 -0
  202. package/tag/Tag.stories.tsx +145 -0
  203. package/tag/types.d.ts +60 -0
  204. package/tag/types.js +5 -0
  205. package/text/Text.d.ts +7 -0
  206. package/text/Text.js +30 -0
  207. package/text/Text.stories.tsx +19 -0
  208. package/text-input/TextInput.d.ts +4 -0
  209. package/text-input/TextInput.js +786 -0
  210. package/text-input/TextInput.stories.tsx +456 -0
  211. package/text-input/types.d.ts +159 -0
  212. package/text-input/types.js +5 -0
  213. package/textarea/Textarea.d.ts +4 -0
  214. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +91 -153
  215. package/textarea/Textarea.stories.jsx +135 -0
  216. package/textarea/types.d.ts +130 -0
  217. package/textarea/types.js +5 -0
  218. package/{dist/toggle → toggle}/Toggle.js +16 -50
  219. package/toggle/index.d.ts +21 -0
  220. package/toggle-group/ToggleGroup.d.ts +4 -0
  221. package/toggle-group/ToggleGroup.js +217 -0
  222. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  223. package/toggle-group/types.d.ts +84 -0
  224. package/toggle-group/types.js +5 -0
  225. package/{dist/upload → upload}/Upload.js +11 -15
  226. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  227. package/upload/buttons-upload/Icons.js +40 -0
  228. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  229. package/upload/dragAndDropArea/Icons.js +39 -0
  230. package/upload/file-upload/FileToUpload.js +115 -0
  231. package/upload/file-upload/Icons.js +66 -0
  232. package/{dist/upload → upload}/files-upload/FilesToUpload.js +13 -27
  233. package/upload/index.d.ts +15 -0
  234. package/upload/transaction/Icons.js +160 -0
  235. package/upload/transaction/Transaction.js +104 -0
  236. package/upload/transactions/Transactions.js +94 -0
  237. package/useTheme.d.ts +2 -0
  238. package/{dist/useTheme.js → useTheme.js} +1 -1
  239. package/wizard/Icons.js +65 -0
  240. package/wizard/Wizard.d.ts +4 -0
  241. package/wizard/Wizard.js +231 -0
  242. package/wizard/Wizard.stories.jsx +224 -0
  243. package/wizard/types.d.ts +64 -0
  244. package/wizard/types.js +5 -0
  245. package/README.md +0 -66
  246. package/babel.config.js +0 -8
  247. package/dist/BackgroundColorContext.js +0 -46
  248. package/dist/ThemeContext.js +0 -240
  249. package/dist/accordion-group/AccordionGroup.js +0 -186
  250. package/dist/badge/Badge.js +0 -63
  251. package/dist/checkbox/Checkbox.stories.js +0 -144
  252. package/dist/checkbox/readme.md +0 -116
  253. package/dist/date/Date.stories.js +0 -205
  254. package/dist/date/readme.md +0 -73
  255. package/dist/footer/Footer.js +0 -395
  256. package/dist/footer/Footer.stories.js +0 -94
  257. package/dist/footer/dxc_logo.svg +0 -15
  258. package/dist/footer/readme.md +0 -41
  259. package/dist/header/Header.js +0 -403
  260. package/dist/header/Header.stories.js +0 -176
  261. package/dist/header/close_icon.svg +0 -1
  262. package/dist/header/dxc_logo_black.svg +0 -8
  263. package/dist/header/hamb_menu_black.svg +0 -1
  264. package/dist/header/hamb_menu_white.svg +0 -1
  265. package/dist/header/readme.md +0 -33
  266. package/dist/input-text/InputText.stories.js +0 -209
  267. package/dist/input-text/error.svg +0 -1
  268. package/dist/input-text/readme.md +0 -91
  269. package/dist/layout/facebook.svg +0 -45
  270. package/dist/layout/linkedin.svg +0 -50
  271. package/dist/layout/twitter.svg +0 -53
  272. package/dist/link/readme.md +0 -51
  273. package/dist/new-date/NewDate.js +0 -403
  274. package/dist/new-input-text/NewInputText.js +0 -961
  275. package/dist/number/Number.js +0 -138
  276. package/dist/paginator/Paginator.js +0 -289
  277. package/dist/paginator/images/next.svg +0 -3
  278. package/dist/paginator/images/nextPage.svg +0 -3
  279. package/dist/paginator/images/previous.svg +0 -3
  280. package/dist/paginator/images/previousPage.svg +0 -3
  281. package/dist/paginator/readme.md +0 -50
  282. package/dist/password/styles.css +0 -3
  283. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  284. package/dist/progress-bar/readme.md +0 -63
  285. package/dist/radio/Radio.stories.js +0 -166
  286. package/dist/radio/readme.md +0 -70
  287. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  288. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  289. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  290. package/dist/select/Select.stories.js +0 -235
  291. package/dist/select/readme.md +0 -72
  292. package/dist/sidenav/Sidenav.js +0 -177
  293. package/dist/slider/Slider.js +0 -319
  294. package/dist/slider/Slider.stories.js +0 -241
  295. package/dist/slider/readme.md +0 -64
  296. package/dist/spinner/Spinner.js +0 -381
  297. package/dist/spinner/Spinner.stories.js +0 -183
  298. package/dist/spinner/readme.md +0 -65
  299. package/dist/switch/Switch.stories.js +0 -134
  300. package/dist/switch/readme.md +0 -133
  301. package/dist/tabs/Tabs.js +0 -343
  302. package/dist/tabs/Tabs.stories.js +0 -130
  303. package/dist/tabs/readme.md +0 -78
  304. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  305. package/dist/tabs-for-sections/readme.md +0 -78
  306. package/dist/tag/Tag.js +0 -288
  307. package/dist/toggle/Toggle.stories.js +0 -297
  308. package/dist/toggle/readme.md +0 -80
  309. package/dist/toggle-group/ToggleGroup.js +0 -223
  310. package/dist/upload/Upload.stories.js +0 -72
  311. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  312. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  313. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  314. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  315. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  316. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  317. package/dist/upload/file-upload/FileToUpload.js +0 -184
  318. package/dist/upload/file-upload/audio-icon.svg +0 -4
  319. package/dist/upload/file-upload/close.svg +0 -4
  320. package/dist/upload/file-upload/file-icon.svg +0 -4
  321. package/dist/upload/file-upload/video-icon.svg +0 -4
  322. package/dist/upload/readme.md +0 -37
  323. package/dist/upload/transaction/Transaction.js +0 -175
  324. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  325. package/dist/upload/transaction/audio-icon.svg +0 -4
  326. package/dist/upload/transaction/error-icon.svg +0 -4
  327. package/dist/upload/transaction/file-icon-err.svg +0 -4
  328. package/dist/upload/transaction/file-icon.svg +0 -4
  329. package/dist/upload/transaction/image-icon-err.svg +0 -4
  330. package/dist/upload/transaction/image-icon.svg +0 -4
  331. package/dist/upload/transaction/success-icon.svg +0 -4
  332. package/dist/upload/transaction/video-icon-err.svg +0 -4
  333. package/dist/upload/transaction/video-icon.svg +0 -4
  334. package/dist/upload/transactions/Transactions.js +0 -138
  335. package/dist/wizard/Wizard.js +0 -411
  336. package/dist/wizard/invalid_icon.svg +0 -5
  337. package/dist/wizard/valid_icon.svg +0 -5
  338. package/dist/wizard/validation-wrong.svg +0 -6
  339. package/test/Accordion.test.js +0 -33
  340. package/test/AccordionGroup.test.js +0 -125
  341. package/test/Alert.test.js +0 -53
  342. package/test/Box.test.js +0 -10
  343. package/test/Button.test.js +0 -18
  344. package/test/Card.test.js +0 -30
  345. package/test/Checkbox.test.js +0 -45
  346. package/test/Chip.test.js +0 -25
  347. package/test/Date.test.js +0 -393
  348. package/test/Dialog.test.js +0 -23
  349. package/test/Dropdown.test.js +0 -145
  350. package/test/Footer.test.js +0 -99
  351. package/test/Header.test.js +0 -39
  352. package/test/Heading.test.js +0 -35
  353. package/test/InputText.test.js +0 -240
  354. package/test/Link.test.js +0 -43
  355. package/test/NewDate.test.js +0 -203
  356. package/test/NewInputText.test.js +0 -817
  357. package/test/NewTextarea.test.js +0 -201
  358. package/test/Number.test.js +0 -241
  359. package/test/Paginator.test.js +0 -177
  360. package/test/Password.test.js +0 -76
  361. package/test/ProgressBar.test.js +0 -35
  362. package/test/Radio.test.js +0 -37
  363. package/test/ResultsetTable.test.js +0 -330
  364. package/test/Select.test.js +0 -189
  365. package/test/Sidenav.test.js +0 -45
  366. package/test/Slider.test.js +0 -82
  367. package/test/Spinner.test.js +0 -32
  368. package/test/Switch.test.js +0 -45
  369. package/test/Table.test.js +0 -36
  370. package/test/Tabs.test.js +0 -109
  371. package/test/TabsForSections.test.js +0 -34
  372. package/test/Tag.test.js +0 -32
  373. package/test/TextArea.test.js +0 -52
  374. package/test/ToggleGroup.test.js +0 -81
  375. package/test/Upload.test.js +0 -60
  376. package/test/Wizard.test.js +0 -130
  377. package/test/mocks/pngMock.js +0 -1
  378. package/test/mocks/svgMock.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
@@ -39,23 +39,15 @@ var _InputText = _interopRequireDefault(require("../input-text/InputText"));
39
39
 
40
40
  var _variables = require("../common/variables.js");
41
41
 
42
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
42
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
43
43
 
44
- var _DxcDate$propTypes;
44
+ var _templateObject, _DxcDate$propTypes;
45
45
 
46
- function _templateObject() {
47
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
46
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
48
47
 
49
- _templateObject = function _templateObject() {
50
- return data;
51
- };
52
-
53
- return data;
54
- }
48
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
49
 
56
50
  var DxcDate = function DxcDate(_ref) {
57
- var _colorsTheme$date, _colorsTheme$date2;
58
-
59
51
  var value = _ref.value,
60
52
  _ref$format = _ref.format,
61
53
  format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
@@ -144,16 +136,16 @@ var DxcDate = function DxcDate(_ref) {
144
136
  };
145
137
 
146
138
  var calendarSVG = function calendarSVG() {
147
- return _react["default"].createElement("svg", {
139
+ return /*#__PURE__*/_react["default"].createElement("svg", {
148
140
  xmlns: "http://www.w3.org/2000/svg",
149
141
  height: "24",
150
142
  viewBox: "0 0 24 24",
151
143
  width: "24",
152
144
  fill: "currentColor"
153
- }, _react["default"].createElement("path", {
145
+ }, /*#__PURE__*/_react["default"].createElement("path", {
154
146
  "data-testid": "calendarIcon",
155
147
  d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
156
- }), _react["default"].createElement("path", {
148
+ }), /*#__PURE__*/_react["default"].createElement("path", {
157
149
  d: "M0 0h24v24H0z",
158
150
  fill: "none"
159
151
  }));
@@ -173,11 +165,11 @@ var DxcDate = function DxcDate(_ref) {
173
165
  width: "3px"
174
166
  },
175
167
  "&::-webkit-scrollbar-track": {
176
- backgroundColor: colorsTheme.date.scrollBarTrackColor,
168
+ backgroundColor: "#D9D9D9",
177
169
  borderRadius: "3px"
178
170
  },
179
171
  "&::-webkit-scrollbar-thumb": {
180
- backgroundColor: colorsTheme.date.scrollBarThumbColor,
172
+ backgroundColor: "#666666",
181
173
  borderRadius: "3px"
182
174
  }
183
175
  }
@@ -221,8 +213,8 @@ var DxcDate = function DxcDate(_ref) {
221
213
  },
222
214
  MuiPickersToolbarText: {
223
215
  toolbarTxt: {
224
- color: colorsTheme === null || colorsTheme === void 0 ? void 0 : (_colorsTheme$date = colorsTheme.date) === null || _colorsTheme$date === void 0 ? void 0 : _colorsTheme$date.pickerActualDateColor,
225
- fontFamily: colorsTheme === null || colorsTheme === void 0 ? void 0 : (_colorsTheme$date2 = colorsTheme.date) === null || _colorsTheme$date2 === void 0 ? void 0 : _colorsTheme$date2.fontFamily,
216
+ color: colorsTheme.date.pickerActualDateColor,
217
+ fontFamily: colorsTheme.date.fontFamily,
226
218
  fontSize: "2rem"
227
219
  },
228
220
  toolbarBtnSelected: {
@@ -297,15 +289,15 @@ var DxcDate = function DxcDate(_ref) {
297
289
  }
298
290
  }
299
291
  });
300
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
292
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
301
293
  theme: colorsTheme
302
- }, _react["default"].createElement(_core.MuiThemeProvider, {
294
+ }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
303
295
  theme: dateTheme
304
- }, _react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
296
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
305
297
  utils: _dateFns["default"]
306
- }, _react["default"].createElement(StyledDPicker, {
298
+ }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, {
307
299
  margin: margin
308
- }, _react["default"].createElement(_InputText["default"], {
300
+ }, /*#__PURE__*/_react["default"].createElement(_InputText["default"], {
309
301
  label: label,
310
302
  name: name,
311
303
  suffixIcon: calendarSVG,
@@ -321,7 +313,7 @@ var DxcDate = function DxcDate(_ref) {
321
313
  onChange: onChangeInput,
322
314
  onBlur: onBlur && handlerInputBlur || null,
323
315
  tabIndex: tabIndex
324
- }), _react["default"].createElement(_Popover["default"], {
316
+ }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
325
317
  open: isOpen,
326
318
  anchorEl: anchorEl,
327
319
  anchorOrigin: {
@@ -337,9 +329,9 @@ var DxcDate = function DxcDate(_ref) {
337
329
  marginTop: "10px"
338
330
  }
339
331
  }
340
- }, _react["default"].createElement(_ClickAwayListener["default"], {
332
+ }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
341
333
  onClickAway: handlerPickerClose
342
- }, _react["default"].createElement(_core.Paper, null, _react["default"].createElement(_pickers.DatePicker, {
334
+ }, /*#__PURE__*/_react["default"].createElement(_core.Paper, null, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
343
335
  variant: "static",
344
336
  value: getValueForPicker(),
345
337
  onChange: function onChange(date) {
@@ -356,7 +348,7 @@ var sizes = {
356
348
  fillParent: "100%"
357
349
  };
358
350
 
359
- var StyledDPicker = _styledComponents["default"].div(_templateObject());
351
+ var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
360
352
 
361
353
  DxcDate.propTypes = (_DxcDate$propTypes = {
362
354
  value: _propTypes["default"].string,
@@ -0,0 +1,27 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+
10
+ type Props = {
11
+ value?: string;
12
+ format?: string;
13
+ label?: string;
14
+ name?: string,
15
+ disabled?: boolean;
16
+ required?: boolean;
17
+ assistiveText?: string;
18
+ invalid?: boolean;
19
+ onChange?: void;
20
+ placeholder?: string;
21
+ onBlur?: void;
22
+ margin?: Space | Margin;
23
+ size?: Size;
24
+ tabIndex?: number;
25
+ };
26
+
27
+ export default function DxcDate(props: Props): JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import DateInputPropsType from "./types";
3
+ declare const DxcDateInput: React.ForwardRefExoticComponent<DateInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcDateInput;
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _pickers = require("@material-ui/pickers");
19
+
20
+ var _core = require("@material-ui/core");
21
+
22
+ var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener"));
23
+
24
+ var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
25
+
26
+ var _moment = _interopRequireDefault(require("moment"));
27
+
28
+ var _dateFns = _interopRequireDefault(require("@date-io/date-fns"));
29
+
30
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
+
32
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
33
+
34
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
35
+
36
+ var _templateObject;
37
+
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
+
42
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
43
+ var label = _ref.label,
44
+ _ref$name = _ref.name,
45
+ name = _ref$name === void 0 ? "" : _ref$name,
46
+ value = _ref.value,
47
+ _ref$format = _ref.format,
48
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
49
+ helperText = _ref.helperText,
50
+ _ref$placeholder = _ref.placeholder,
51
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
52
+ _ref$clearable = _ref.clearable,
53
+ clearable = _ref$clearable === void 0 ? false : _ref$clearable,
54
+ _ref$disabled = _ref.disabled,
55
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
56
+ _ref$optional = _ref.optional,
57
+ optional = _ref$optional === void 0 ? false : _ref$optional,
58
+ onChange = _ref.onChange,
59
+ onBlur = _ref.onBlur,
60
+ error = _ref.error,
61
+ _ref$autocomplete = _ref.autocomplete,
62
+ autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
63
+ margin = _ref.margin,
64
+ _ref$size = _ref.size,
65
+ size = _ref$size === void 0 ? "medium" : _ref$size,
66
+ _ref$tabIndex = _ref.tabIndex,
67
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
68
+
69
+ var _useState = (0, _react.useState)(""),
70
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
71
+ innerValue = _useState2[0],
72
+ setInnerValue = _useState2[1];
73
+
74
+ var _useState3 = (0, _react.useState)(false),
75
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
76
+ isOpen = _useState4[0],
77
+ setIsOpen = _useState4[1];
78
+
79
+ var _useState5 = (0, _react.useState)(null),
80
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
81
+ anchorEl = _useState6[0],
82
+ setAnchorEl = _useState6[1];
83
+
84
+ var colorsTheme = (0, _useTheme["default"])();
85
+
86
+ var handleCalendarOnKeyDown = function handleCalendarOnKeyDown(event) {
87
+ switch (event.keyCode) {
88
+ case 27:
89
+ // Esc
90
+ event.preventDefault();
91
+ setIsOpen(false);
92
+ break;
93
+ }
94
+ };
95
+
96
+ var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
97
+ var newValue = (0, _moment["default"])(newDate).format(format.toUpperCase());
98
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
99
+ onChange === null || onChange === void 0 ? void 0 : onChange({
100
+ value: newValue,
101
+ error: null,
102
+ date: newDate !== null && newDate !== void 0 && newDate.toJSON() ? newDate : null
103
+ });
104
+ };
105
+
106
+ var handleIOnChange = function handleIOnChange(_ref2) {
107
+ var newValue = _ref2.value,
108
+ inputError = _ref2.error;
109
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
110
+ var momentDate = (0, _moment["default"])(newValue, format.toUpperCase(), true);
111
+ var invalidDateMessage = newValue !== "" && !momentDate.isValid() ? "Invalid date." : null;
112
+ onChange === null || onChange === void 0 ? void 0 : onChange({
113
+ value: newValue,
114
+ error: inputError || invalidDateMessage,
115
+ date: momentDate.isValid() ? momentDate.toDate() : null
116
+ });
117
+ };
118
+
119
+ var handleIOnBlur = function handleIOnBlur(_ref3) {
120
+ var value = _ref3.value,
121
+ inputError = _ref3.error;
122
+ var momentDate = (0, _moment["default"])(value, format.toUpperCase(), true);
123
+ var invalidDateMessage = value !== "" && !momentDate.isValid() ? "Invalid date." : null;
124
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur({
125
+ value: value,
126
+ error: inputError || invalidDateMessage,
127
+ date: momentDate.isValid() ? momentDate.toDate() : null
128
+ });
129
+ };
130
+
131
+ var getValueForPicker = function getValueForPicker() {
132
+ return (0, _moment["default"])(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase(), true).format();
133
+ };
134
+
135
+ var openCalendar = function openCalendar(event) {
136
+ if (event) {
137
+ setIsOpen(!isOpen);
138
+ setAnchorEl(event.currentTarget);
139
+ }
140
+ };
141
+
142
+ var closeCalendar = function closeCalendar() {
143
+ setIsOpen(false);
144
+ };
145
+
146
+ var calendarAction = {
147
+ onClick: openCalendar,
148
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
149
+ xmlns: "http://www.w3.org/2000/svg",
150
+ height: "24",
151
+ viewBox: "0 0 24 24",
152
+ width: "24",
153
+ fill: "currentColor"
154
+ }, /*#__PURE__*/_react["default"].createElement("path", {
155
+ d: "M0 0h24v24H0z",
156
+ fill: "none"
157
+ }), /*#__PURE__*/_react["default"].createElement("path", {
158
+ d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
159
+ }))
160
+ };
161
+ var dateTheme = (0, _core.createMuiTheme)({
162
+ overrides: {
163
+ MuiTypography: {
164
+ root: {
165
+ fontFamily: "".concat(colorsTheme.dateInput.pickerFontFamily, " !important")
166
+ }
167
+ },
168
+ MuiPickersYearSelection: {
169
+ container: {
170
+ color: colorsTheme.dateInput.pickerYearFontColor,
171
+ "&::-webkit-scrollbar": {
172
+ width: "3px"
173
+ },
174
+ "&::-webkit-scrollbar-track": {
175
+ backgroundColor: "#D9D9D9",
176
+ borderRadius: "3px"
177
+ },
178
+ "&::-webkit-scrollbar-thumb": {
179
+ backgroundColor: "#666666",
180
+ borderRadius: "3px"
181
+ }
182
+ }
183
+ },
184
+ MuiPickersToolbar: {
185
+ toolbar: {
186
+ backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
187
+ color: colorsTheme.dateInput.pickerDayFontColor
188
+ }
189
+ },
190
+ MuiIconButton: {
191
+ root: {
192
+ height: "36px",
193
+ width: "36px",
194
+ padding: "0px"
195
+ }
196
+ },
197
+ MuiTouchRipple: {
198
+ child: {
199
+ opacity: "0"
200
+ }
201
+ },
202
+ MuiButtonBase: {
203
+ root: {
204
+ "&:focus": {
205
+ outline: colorsTheme.dateInput.pickerFocusColor + " solid 2px"
206
+ }
207
+ }
208
+ },
209
+ MuiPickersBasePicker: {
210
+ pickerView: {
211
+ minWidth: "unset",
212
+ maxWidth: "unset",
213
+ minHeight: "unset",
214
+ padding: "0px 10px",
215
+ height: colorsTheme.dateInput.pickerHeight,
216
+ width: colorsTheme.dateInput.pickerWidth,
217
+ backgroundColor: colorsTheme.dateInput.pickerBackgroundColor,
218
+ fontFamily: colorsTheme.dateInput.pickerFontFamily
219
+ }
220
+ },
221
+ MuiPickersToolbarText: {
222
+ toolbarTxt: {
223
+ color: colorsTheme.dateInput.pickerActualDateFontColor,
224
+ fontFamily: colorsTheme.dateInput.pickerFontFamily,
225
+ fontSize: "2rem"
226
+ },
227
+ toolbarBtnSelected: {
228
+ color: colorsTheme.dateInput.pickerActualDateFontColor
229
+ }
230
+ },
231
+ MuiPickersCalendarHeader: {
232
+ transitionContainer: {
233
+ color: colorsTheme.dateInput.pickerMonthFontColor
234
+ },
235
+ dayLabel: {
236
+ color: colorsTheme.dateInput.pickerWeekFontColor,
237
+ fontFamily: colorsTheme.dateInput.pickerFontFamily
238
+ },
239
+ switchHeader: {
240
+ backgroundColor: "#ffffff",
241
+ color: colorsTheme.dateInput.pickerDayFontColor
242
+ },
243
+ iconButton: {
244
+ backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor,
245
+ "&:hover": {
246
+ backgroundColor: colorsTheme.dateInput.pickerMonthArrowsBackgroundColor
247
+ }
248
+ }
249
+ },
250
+ MuiPickersCalendar: {
251
+ week: {
252
+ marginBottom: "2px"
253
+ }
254
+ },
255
+ MuiPickersDay: {
256
+ current: {
257
+ color: colorsTheme.dateInput.pickerDayFontColor
258
+ },
259
+ day: {
260
+ fontFamily: colorsTheme.dateInput.pickerFontFamily,
261
+ color: colorsTheme.dateInput.pickerDayFontColor,
262
+ "&:hover": {
263
+ backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor,
264
+ color: colorsTheme.dateInput.pickerHoverDateFontColor
265
+ }
266
+ },
267
+ daySelected: {
268
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
269
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
270
+ "&:hover": {
271
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
272
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
273
+ opacity: "1"
274
+ }
275
+ }
276
+ },
277
+ MuiPickersYear: {
278
+ yearSelected: {
279
+ color: colorsTheme.dateInput.pickerSelectedDateColor,
280
+ backgroundColor: colorsTheme.dateInput.pickerSelectedDateBackgroundColor,
281
+ margin: "0px 100px",
282
+ borderRadius: "20px"
283
+ },
284
+ root: {
285
+ "&:focus": {
286
+ color: colorsTheme.dateInput.pickerHoverDateFontColor,
287
+ backgroundColor: colorsTheme.dateInput.pickerHoverDateBackgroundColor
288
+ }
289
+ }
290
+ },
291
+ MuiPickersModal: {
292
+ dialogAction: {
293
+ color: "pink"
294
+ }
295
+ }
296
+ }
297
+ });
298
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
299
+ theme: colorsTheme
300
+ }, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
301
+ theme: dateTheme
302
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
303
+ utils: _dateFns["default"]
304
+ }, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
305
+ label: label,
306
+ name: name,
307
+ value: value !== null && value !== void 0 ? value : innerValue,
308
+ helperText: helperText,
309
+ placeholder: placeholder ? format.toUpperCase() : null,
310
+ action: calendarAction,
311
+ clearable: clearable,
312
+ disabled: disabled,
313
+ optional: optional,
314
+ onChange: handleIOnChange,
315
+ onBlur: handleIOnBlur,
316
+ error: error,
317
+ autocomplete: autocomplete,
318
+ margin: margin,
319
+ size: size,
320
+ tabIndex: tabIndex,
321
+ ref: ref
322
+ }), /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
323
+ onKeyDown: handleCalendarOnKeyDown,
324
+ open: isOpen,
325
+ anchorEl: anchorEl,
326
+ anchorOrigin: {
327
+ vertical: "bottom",
328
+ horizontal: "left"
329
+ },
330
+ transformOrigin: {
331
+ vertical: "top",
332
+ horizontal: "center"
333
+ },
334
+ PaperProps: {
335
+ style: {
336
+ marginTop: "10px"
337
+ }
338
+ }
339
+ }, /*#__PURE__*/_react["default"].createElement(_ClickAwayListener["default"], {
340
+ onClickAway: closeCalendar
341
+ }, /*#__PURE__*/_react["default"].createElement(_core.Paper, {
342
+ role: "dialog",
343
+ "aria-modal": "true"
344
+ }, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
345
+ variant: "static",
346
+ value: getValueForPicker(),
347
+ onChange: function onChange(date) {
348
+ return handleCalendarOnClick(date);
349
+ },
350
+ format: format,
351
+ disabled: disabled
352
+ }))))))));
353
+ });
354
+
355
+ var StyledDPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
356
+
357
+ var _default = DxcDateInput;
358
+ exports["default"] = _default;
@@ -0,0 +1,138 @@
1
+ import React from "react";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
3
+ import DxcDateInput from "./DateInput";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
7
+ import DarkContainer from "../../.storybook/components/DarkSection";
8
+
9
+ export default {
10
+ title: "Date input",
11
+ component: DxcDateInput,
12
+ };
13
+
14
+ export const Chromatic = () => (
15
+ <>
16
+ <ExampleContainer>
17
+ <Title title="Complete date input" theme="light" level={4} />
18
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Disabled" theme="light" level={4} />
22
+ <DxcDateInput label="Disabled date input" helperText="Help message" value="06-04-2027" clearable disabled />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Invalid" theme="light" level={4} />
26
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Relation between icons" theme="light" level={4} />
30
+ <DxcDateInput label="Error date input" error="Error message." value="06-04-2027" clearable />
31
+ </ExampleContainer>
32
+ <BackgroundColorProvider color="#333333">
33
+ <DarkContainer>
34
+ <Title title="Dark" theme="dark" level={2} />
35
+ <ExampleContainer>
36
+ <Title title="Complete date input" theme="dark" level={4} />
37
+ <DxcDateInput label="Date input" helperText="Help message" format="yyyy/dd/mm" placeholder optional />
38
+ </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Disabled" theme="dark" level={4} />
41
+ <DxcDateInput label="Disabled Date input" helperText="Help message" value="06-04-2027" clearable disabled />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Invalid" theme="dark" level={4} />
45
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Relation between icons" theme="dark" level={4} />
49
+ <DxcDateInput label="Error date input" value="06-04-2027" error="Error message." clearable />
50
+ </ExampleContainer>
51
+ </DarkContainer>
52
+ </BackgroundColorProvider>
53
+ <Title title="Margins" theme="light" level={2} />
54
+ <ExampleContainer>
55
+ <Title title="Xxsmall" theme="light" level={4} />
56
+ <DxcDateInput label="Xxsmall" margin="xxsmall" />
57
+ </ExampleContainer>
58
+ <ExampleContainer>
59
+ <Title title="Xsmall" theme="light" level={4} />
60
+ <DxcDateInput label="Xsmall" margin="xsmall" />
61
+ </ExampleContainer>
62
+ <ExampleContainer>
63
+ <Title title="Small" theme="light" level={4} />
64
+ <DxcDateInput label="Small" margin="small" />
65
+ </ExampleContainer>
66
+ <ExampleContainer>
67
+ <Title title="Medium" theme="light" level={4} />
68
+ <DxcDateInput label="Medium" margin="medium" />
69
+ </ExampleContainer>
70
+ <ExampleContainer>
71
+ <Title title="Large" theme="light" level={4} />
72
+ <DxcDateInput label="Large" margin="large" />
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xlarge" theme="light" level={4} />
76
+ <DxcDateInput label="Xlarge" margin="xlarge" />
77
+ </ExampleContainer>
78
+ <ExampleContainer>
79
+ <Title title="Xxlarge" theme="light" level={4} />
80
+ <DxcDateInput label="Xxlarge" margin="xxlarge" />
81
+ </ExampleContainer>
82
+ <Title title="Sizes" theme="light" level={2} />
83
+ <ExampleContainer>
84
+ <Title title="Medium size" theme="light" level={4} />
85
+ <DxcDateInput label="Medium" size="medium" />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="Large size" theme="light" level={4} />
89
+ <DxcDateInput label="Large" size="large" />
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="FillParent size" theme="light" level={4} />
93
+ <DxcDateInput label="FillParent" size="fillParent" />
94
+ </ExampleContainer>
95
+ </>
96
+ );
97
+
98
+ const DatePicker = () => (
99
+ <ExampleContainer expanded>
100
+ <Title title="Show date input" theme="light" level={4} />
101
+ <DxcDateInput label="Date input" value="10-06-2023" />
102
+ </ExampleContainer>
103
+ );
104
+
105
+ export const ShowDatePicker = DatePicker.bind({});
106
+ ShowDatePicker.play = async ({ canvasElement }) => {
107
+ const canvas = within(canvasElement);
108
+ const dateBtn = canvas.getByRole("button");
109
+ await userEvent.click(dateBtn);
110
+ await userEvent.tab();
111
+ };
112
+
113
+ const YearPicker = () => (
114
+ <ExampleContainer expanded>
115
+ <Title title="Show date input" theme="light" level={4} />
116
+ <DxcDateInput label="Date input" value="10-06-2023" />
117
+ </ExampleContainer>
118
+ );
119
+
120
+ export const ShowYearPicker = YearPicker.bind({});
121
+ ShowYearPicker.play = async () => {
122
+ await fireEvent.click(screen.getByRole("button"));
123
+ await fireEvent.click(screen.getByText("2023"));
124
+ };
125
+
126
+ const YearPickerFocus = () => (
127
+ <ExampleContainer expanded>
128
+ <Title title="Show date input" theme="light" level={4} />
129
+ <DxcDateInput label="Date input" value="10-06-2023" />
130
+ </ExampleContainer>
131
+ );
132
+
133
+ export const ShowYearPickerFocus = YearPickerFocus.bind({});
134
+ ShowYearPickerFocus.play = async () => {
135
+ await fireEvent.click(screen.getByRole("button"));
136
+ await fireEvent.click(screen.getByText("2023"));
137
+ await screen.getByText("2021").focus();
138
+ };