@dxc-technology/halstack-react 0.0.0-3836f12 → 0.0.0-38849bf

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 (351) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/{dist/box → box}/Box.js +18 -53
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +47 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +177 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/{dist/card → card}/Card.js +42 -124
  33. package/card/types.d.ts +69 -0
  34. package/card/types.js +5 -0
  35. package/checkbox/Checkbox.d.ts +4 -0
  36. package/checkbox/Checkbox.js +253 -0
  37. package/checkbox/Checkbox.stories.tsx +192 -0
  38. package/checkbox/types.d.ts +60 -0
  39. package/checkbox/types.js +5 -0
  40. package/{dist/chip → chip}/Chip.js +48 -104
  41. package/chip/index.d.ts +22 -0
  42. package/{dist/common → common}/OpenSans.css +0 -0
  43. package/{dist/common → common}/RequiredComponent.js +3 -11
  44. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  54. package/{dist/common → common}/utils.js +0 -0
  55. package/common/variables.js +1577 -0
  56. package/{dist/date → date}/Date.js +71 -57
  57. package/date/index.d.ts +27 -0
  58. package/date-input/DateInput.d.ts +4 -0
  59. package/date-input/DateInput.js +361 -0
  60. package/date-input/DateInput.stories.tsx +138 -0
  61. package/date-input/types.d.ts +100 -0
  62. package/date-input/types.js +5 -0
  63. package/dialog/Dialog.d.ts +4 -0
  64. package/{dist/dialog → dialog}/Dialog.js +29 -100
  65. package/dialog/types.d.ts +43 -0
  66. package/dialog/types.js +5 -0
  67. package/dropdown/Dropdown.d.ts +4 -0
  68. package/dropdown/Dropdown.js +417 -0
  69. package/dropdown/types.d.ts +89 -0
  70. package/dropdown/types.js +5 -0
  71. package/file-input/FileInput.js +532 -0
  72. package/file-input/FileItem.js +193 -0
  73. package/file-input/index.d.ts +81 -0
  74. package/footer/Footer.d.ts +4 -0
  75. package/footer/Footer.js +266 -0
  76. package/footer/Footer.stories.jsx +151 -0
  77. package/footer/Icons.js +77 -0
  78. package/footer/types.d.ts +61 -0
  79. package/footer/types.js +5 -0
  80. package/header/Header.d.ts +7 -0
  81. package/header/Header.js +324 -0
  82. package/header/Icons.js +34 -0
  83. package/header/types.d.ts +45 -0
  84. package/header/types.js +5 -0
  85. package/{dist/heading → heading}/Heading.js +30 -76
  86. package/heading/index.d.ts +17 -0
  87. package/input-text/Icons.js +22 -0
  88. package/{dist/input-text → input-text}/InputText.js +151 -171
  89. package/input-text/index.d.ts +36 -0
  90. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  91. package/layout/Icons.js +55 -0
  92. package/link/Link.d.ts +3 -0
  93. package/link/Link.js +161 -0
  94. package/link/Link.stories.tsx +70 -0
  95. package/link/types.d.ts +74 -0
  96. package/link/types.js +5 -0
  97. package/main.d.ts +44 -0
  98. package/{dist/main.js → main.js} +121 -69
  99. package/number-input/NumberInput.d.ts +4 -0
  100. package/number-input/NumberInput.js +86 -0
  101. package/number-input/NumberInput.stories.tsx +115 -0
  102. package/number-input/NumberInputContext.js +16 -0
  103. package/number-input/types.d.ts +117 -0
  104. package/number-input/types.js +5 -0
  105. package/package.json +34 -25
  106. package/paginator/Icons.js +66 -0
  107. package/paginator/Paginator.d.ts +4 -0
  108. package/paginator/Paginator.js +198 -0
  109. package/paginator/Paginator.stories.tsx +63 -0
  110. package/paginator/types.d.ts +38 -0
  111. package/paginator/types.js +5 -0
  112. package/password-input/PasswordInput.d.ts +4 -0
  113. package/password-input/PasswordInput.js +162 -0
  114. package/password-input/PasswordInput.stories.tsx +131 -0
  115. package/password-input/types.d.ts +100 -0
  116. package/password-input/types.js +5 -0
  117. package/progress-bar/ProgressBar.d.ts +4 -0
  118. package/progress-bar/ProgressBar.js +170 -0
  119. package/progress-bar/ProgressBar.stories.jsx +58 -0
  120. package/progress-bar/types.d.ts +37 -0
  121. package/progress-bar/types.js +5 -0
  122. package/radio/Radio.d.ts +4 -0
  123. package/radio/Radio.js +174 -0
  124. package/radio/Radio.stories.tsx +192 -0
  125. package/radio/types.d.ts +54 -0
  126. package/radio/types.js +5 -0
  127. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +77 -135
  128. package/resultsetTable/index.d.ts +19 -0
  129. package/select/Select.js +865 -0
  130. package/select/index.d.ts +131 -0
  131. package/sidenav/Sidenav.d.ts +9 -0
  132. package/sidenav/Sidenav.js +136 -0
  133. package/sidenav/types.d.ts +50 -0
  134. package/sidenav/types.js +5 -0
  135. package/slider/Slider.d.ts +4 -0
  136. package/slider/Slider.js +317 -0
  137. package/slider/Slider.stories.tsx +172 -0
  138. package/slider/types.d.ts +78 -0
  139. package/slider/types.js +5 -0
  140. package/spinner/Spinner.d.ts +4 -0
  141. package/spinner/Spinner.js +250 -0
  142. package/spinner/Spinner.stories.jsx +102 -0
  143. package/spinner/types.d.ts +32 -0
  144. package/spinner/types.js +5 -0
  145. package/switch/Switch.d.ts +4 -0
  146. package/{dist/switch → switch}/Switch.js +28 -71
  147. package/switch/Switch.stories.tsx +160 -0
  148. package/switch/types.d.ts +58 -0
  149. package/switch/types.js +5 -0
  150. package/table/Table.d.ts +4 -0
  151. package/table/Table.js +118 -0
  152. package/table/Table.stories.jsx +276 -0
  153. package/table/types.d.ts +21 -0
  154. package/table/types.js +5 -0
  155. package/tabs/Tabs.d.ts +4 -0
  156. package/tabs/Tabs.js +211 -0
  157. package/tabs/types.d.ts +71 -0
  158. package/tabs/types.js +5 -0
  159. package/tag/Tag.d.ts +4 -0
  160. package/tag/Tag.js +193 -0
  161. package/tag/Tag.stories.tsx +145 -0
  162. package/tag/types.d.ts +60 -0
  163. package/tag/types.js +5 -0
  164. package/text-input/TextInput.js +825 -0
  165. package/text-input/index.d.ts +135 -0
  166. package/textarea/Textarea.js +317 -0
  167. package/textarea/Textarea.stories.jsx +135 -0
  168. package/textarea/index.d.ts +117 -0
  169. package/{dist/toggle → toggle}/Toggle.js +15 -49
  170. package/toggle/index.d.ts +21 -0
  171. package/toggle-group/ToggleGroup.js +243 -0
  172. package/toggle-group/index.d.ts +21 -0
  173. package/{dist/upload → upload}/Upload.js +11 -19
  174. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  175. package/upload/buttons-upload/Icons.js +40 -0
  176. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  177. package/upload/dragAndDropArea/Icons.js +39 -0
  178. package/upload/file-upload/FileToUpload.js +115 -0
  179. package/upload/file-upload/Icons.js +66 -0
  180. package/{dist/upload → upload}/files-upload/FilesToUpload.js +14 -28
  181. package/upload/index.d.ts +15 -0
  182. package/upload/transaction/Icons.js +160 -0
  183. package/upload/transaction/Transaction.js +104 -0
  184. package/upload/transactions/Transactions.js +94 -0
  185. package/{dist/useTheme.js → useTheme.js} +0 -0
  186. package/wizard/Icons.js +65 -0
  187. package/wizard/Wizard.js +271 -0
  188. package/wizard/index.d.ts +18 -0
  189. package/README.md +0 -66
  190. package/babel.config.js +0 -8
  191. package/dist/BackgroundColorContext.js +0 -46
  192. package/dist/ThemeContext.js +0 -216
  193. package/dist/accordion/Accordion.js +0 -356
  194. package/dist/accordion/Accordion.stories.js +0 -207
  195. package/dist/accordion/readme.md +0 -96
  196. package/dist/accordion-group/AccordionGroup.js +0 -188
  197. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  198. package/dist/accordion-group/readme.md +0 -70
  199. package/dist/alert/Alert.js +0 -388
  200. package/dist/alert/Alert.stories.js +0 -158
  201. package/dist/alert/close.svg +0 -4
  202. package/dist/alert/error.svg +0 -4
  203. package/dist/alert/info.svg +0 -4
  204. package/dist/alert/readme.md +0 -43
  205. package/dist/alert/success.svg +0 -4
  206. package/dist/alert/warning.svg +0 -4
  207. package/dist/badge/Badge.js +0 -61
  208. package/dist/button/Button.js +0 -228
  209. package/dist/button/Button.stories.js +0 -224
  210. package/dist/button/readme.md +0 -93
  211. package/dist/checkbox/Checkbox.js +0 -233
  212. package/dist/checkbox/Checkbox.stories.js +0 -144
  213. package/dist/checkbox/readme.md +0 -116
  214. package/dist/common/variables.js +0 -976
  215. package/dist/date/Date.stories.js +0 -205
  216. package/dist/date/calendar.svg +0 -1
  217. package/dist/date/calendar_dark.svg +0 -1
  218. package/dist/date/readme.md +0 -73
  219. package/dist/dialog/Dialog.stories.js +0 -217
  220. package/dist/dialog/readme.md +0 -32
  221. package/dist/dropdown/Dropdown.js +0 -498
  222. package/dist/dropdown/Dropdown.stories.js +0 -249
  223. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  224. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  225. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  226. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  227. package/dist/dropdown/readme.md +0 -69
  228. package/dist/footer/Footer.js +0 -405
  229. package/dist/footer/Footer.stories.js +0 -94
  230. package/dist/footer/dxc_logo_wht.png +0 -0
  231. package/dist/footer/readme.md +0 -41
  232. package/dist/header/Header.js +0 -431
  233. package/dist/header/Header.stories.js +0 -176
  234. package/dist/header/close_icon.svg +0 -1
  235. package/dist/header/dxc_logo_black.png +0 -0
  236. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  237. package/dist/header/dxc_logo_white.png +0 -0
  238. package/dist/header/hamb_menu_black.svg +0 -1
  239. package/dist/header/hamb_menu_white.svg +0 -1
  240. package/dist/header/readme.md +0 -33
  241. package/dist/input-text/InputText.stories.js +0 -209
  242. package/dist/input-text/error.svg +0 -1
  243. package/dist/input-text/readme.md +0 -91
  244. package/dist/layout/facebook.svg +0 -45
  245. package/dist/layout/linkedin.svg +0 -50
  246. package/dist/layout/twitter.svg +0 -53
  247. package/dist/link/Link.js +0 -212
  248. package/dist/link/readme.md +0 -51
  249. package/dist/paginator/Paginator.js +0 -283
  250. package/dist/paginator/images/next.svg +0 -3
  251. package/dist/paginator/images/nextPage.svg +0 -3
  252. package/dist/paginator/images/previous.svg +0 -3
  253. package/dist/paginator/images/previousPage.svg +0 -3
  254. package/dist/paginator/readme.md +0 -50
  255. package/dist/progress-bar/ProgressBar.js +0 -206
  256. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  257. package/dist/progress-bar/readme.md +0 -63
  258. package/dist/radio/Radio.js +0 -190
  259. package/dist/radio/Radio.stories.js +0 -166
  260. package/dist/radio/readme.md +0 -70
  261. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  262. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  263. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  264. package/dist/select/Select.js +0 -490
  265. package/dist/select/Select.stories.js +0 -235
  266. package/dist/select/readme.md +0 -72
  267. package/dist/sidenav/Sidenav.js +0 -183
  268. package/dist/slider/Slider.js +0 -267
  269. package/dist/slider/Slider.stories.js +0 -241
  270. package/dist/slider/readme.md +0 -64
  271. package/dist/spinner/Spinner.js +0 -214
  272. package/dist/spinner/Spinner.stories.js +0 -183
  273. package/dist/spinner/readme.md +0 -65
  274. package/dist/switch/Switch.stories.js +0 -134
  275. package/dist/switch/readme.md +0 -133
  276. package/dist/table/Table.js +0 -118
  277. package/dist/tabs/Tabs.js +0 -347
  278. package/dist/tabs/Tabs.stories.js +0 -130
  279. package/dist/tabs/readme.md +0 -78
  280. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  281. package/dist/tabs-for-sections/readme.md +0 -78
  282. package/dist/tag/Tag.js +0 -268
  283. package/dist/textarea/Textarea.js +0 -238
  284. package/dist/toggle/Toggle.stories.js +0 -297
  285. package/dist/toggle/readme.md +0 -80
  286. package/dist/toggle-group/ToggleGroup.js +0 -241
  287. package/dist/toggle-group/readme.md +0 -82
  288. package/dist/upload/Upload.stories.js +0 -72
  289. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  290. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  291. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  292. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  293. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  294. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  295. package/dist/upload/file-upload/FileToUpload.js +0 -162
  296. package/dist/upload/file-upload/audio-icon.svg +0 -4
  297. package/dist/upload/file-upload/close.svg +0 -4
  298. package/dist/upload/file-upload/file-icon.svg +0 -4
  299. package/dist/upload/file-upload/video-icon.svg +0 -4
  300. package/dist/upload/readme.md +0 -37
  301. package/dist/upload/transaction/Transaction.js +0 -152
  302. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  303. package/dist/upload/transaction/audio-icon.svg +0 -4
  304. package/dist/upload/transaction/error-icon.svg +0 -4
  305. package/dist/upload/transaction/file-icon-err.svg +0 -4
  306. package/dist/upload/transaction/file-icon.svg +0 -4
  307. package/dist/upload/transaction/image-icon-err.svg +0 -4
  308. package/dist/upload/transaction/image-icon.svg +0 -4
  309. package/dist/upload/transaction/success-icon.svg +0 -4
  310. package/dist/upload/transaction/video-icon-err.svg +0 -4
  311. package/dist/upload/transaction/video-icon.svg +0 -4
  312. package/dist/upload/transactions/Transactions.js +0 -122
  313. package/dist/wizard/Wizard.js +0 -383
  314. package/dist/wizard/invalid_icon.svg +0 -6
  315. package/dist/wizard/valid_icon.svg +0 -6
  316. package/dist/wizard/validation-wrong.svg +0 -6
  317. package/test/Accordion.test.js +0 -33
  318. package/test/AccordionGroup.test.js +0 -125
  319. package/test/Alert.test.js +0 -53
  320. package/test/Box.test.js +0 -10
  321. package/test/Button.test.js +0 -18
  322. package/test/Card.test.js +0 -30
  323. package/test/Checkbox.test.js +0 -45
  324. package/test/Chip.test.js +0 -25
  325. package/test/Date.test.js +0 -393
  326. package/test/Dialog.test.js +0 -23
  327. package/test/Dropdown.test.js +0 -130
  328. package/test/Footer.test.js +0 -99
  329. package/test/Header.test.js +0 -39
  330. package/test/Heading.test.js +0 -35
  331. package/test/InputText.test.js +0 -240
  332. package/test/Link.test.js +0 -42
  333. package/test/Paginator.test.js +0 -177
  334. package/test/ProgressBar.test.js +0 -35
  335. package/test/Radio.test.js +0 -37
  336. package/test/ResultsetTable.test.js +0 -330
  337. package/test/Select.test.js +0 -192
  338. package/test/Sidenav.test.js +0 -45
  339. package/test/Slider.test.js +0 -82
  340. package/test/Spinner.test.js +0 -27
  341. package/test/Switch.test.js +0 -45
  342. package/test/Table.test.js +0 -36
  343. package/test/Tabs.test.js +0 -109
  344. package/test/TabsForSections.test.js +0 -34
  345. package/test/Tag.test.js +0 -32
  346. package/test/TextArea.test.js +0 -52
  347. package/test/ToggleGroup.test.js +0 -81
  348. package/test/Upload.test.js +0 -60
  349. package/test/Wizard.test.js +0 -130
  350. package/test/mocks/pngMock.js +0 -1
  351. package/test/mocks/svgMock.js +0 -1
@@ -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
+ };
@@ -0,0 +1,100 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Text to be placed above the date.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * Name attribute of the input element.
15
+ */
16
+ name?: string;
17
+ /**
18
+ * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
19
+ */
20
+ value?: string;
21
+ /**
22
+ * The format in which the date value will be displayed. User must use this format when editing the value or it will be considered as an invalid date.
23
+ */
24
+ format?: string;
25
+ /**
26
+ * Helper text to be placed above the date.
27
+ */
28
+ helperText?: string;
29
+ /**
30
+ * If true, the date format will appear as placeholder in the field.
31
+ */
32
+ placeholder?: boolean;
33
+ /**
34
+ * If true, the date input will have an action to clear the entered value.
35
+ */
36
+ clearable?: boolean;
37
+ /**
38
+ * If true, the component will be disabled.
39
+ */
40
+ disabled?: boolean;
41
+ /**
42
+ * If true, the date will be optional, showing '(Optional)'
43
+ * next to the label. Otherwise, the field will be considered required and an error will be
44
+ * passed as a parameter to the OnBlur and onChange functions when it has
45
+ * not been filled.
46
+ */
47
+ optional?: boolean;
48
+ /**
49
+ * This function will be called when the user types within the input
50
+ * element of the component. An object including the string value, the
51
+ * error and the date value will be passed to this function.
52
+ * If the string value is a valid date, error will
53
+ * be null. Also, if the string value is not a valid date, date will be null.
54
+ */
55
+ onChange?: (val: {
56
+ value: string;
57
+ error: string | null;
58
+ date: Date | null;
59
+ }) => void;
60
+ /**
61
+ * This function will be called when the input element loses the focus.
62
+ * An object including the string value, the error and the date value
63
+ * will be passed to this function. If the string value is a valid date, error will
64
+ * be null. Also, if the string value is not a valid date, date will be null.
65
+ */
66
+ onBlur?: (val: {
67
+ value: string;
68
+ error: string | null;
69
+ date: Date | null;
70
+ }) => void;
71
+ /**
72
+ * If it is defined, the component will change its appearance, showing
73
+ * the error below the date input component. If it is not defined, the error
74
+ * messages will be managed internally, but never displayed on its own.
75
+ */
76
+ error?: string;
77
+ /**
78
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
79
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
80
+ */
81
+ autocomplete?: string;
82
+ /**
83
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
84
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
85
+ */
86
+ margin?: Space | Margin;
87
+ /**
88
+ * Size of the component.
89
+ */
90
+ size?: "medium" | "large" | "fillParent";
91
+ /**
92
+ * Value of the tabindex attribute.
93
+ */
94
+ tabIndex?: number;
95
+ };
96
+ /**
97
+ * Reference to the component.
98
+ */
99
+ export declare type RefType = HTMLDivElement;
100
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DialogPropsType from "./types";
3
+ declare const DxcDialog: ({ isCloseVisible, onCloseClick, children, overlay, onBackgroundClick, padding, tabIndex, }: DialogPropsType) => JSX.Element;
4
+ export default DxcDialog;
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -23,51 +21,17 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
22
  var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
25
23
 
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
24
  var _variables = require("../common/variables.js");
29
25
 
30
26
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
27
 
32
- function _templateObject4() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n"]);
34
-
35
- _templateObject4 = function _templateObject4() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- function _templateObject3() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: ", ";\n right: ", ";\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n width: ", ";\n height: ", ";\n border: none;\n"]);
44
-
45
- _templateObject3 = function _templateObject3() {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
51
-
52
- function _templateObject2() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow-y: auto;\n font-family: ", ";\n font-size:", ";\n font-weight: ", ";\n color: ", ";\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n & * {\n ::-webkit-scrollbar {\n width: 3px;\n }\n\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n }\n"]);
54
-
55
- _templateObject2 = function _templateObject2() {
56
- return data;
57
- };
58
-
59
- return data;
60
- }
28
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
61
29
 
62
- function _templateObject() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n \n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n max-width: ", ";\n min-width: ", ";\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"]);
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
64
31
 
65
- _templateObject = function _templateObject() {
66
- return data;
67
- };
32
+ 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); }
68
33
 
69
- return data;
70
- }
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
71
35
 
72
36
  var DxcDialog = function DxcDialog(_ref) {
73
37
  var _ref$isCloseVisible = _ref.isCloseVisible,
@@ -81,7 +45,7 @@ var DxcDialog = function DxcDialog(_ref) {
81
45
  _ref$tabIndex = _ref.tabIndex,
82
46
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
83
47
 
84
- var _useState = (0, _react.useState)(),
48
+ var _useState = (0, _react.useState)(false),
85
49
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
86
50
  isResponsive = _useState2[0],
87
51
  setIsResponsive = _useState2[1];
@@ -89,21 +53,15 @@ var DxcDialog = function DxcDialog(_ref) {
89
53
  var colorsTheme = (0, _useTheme["default"])();
90
54
 
91
55
  var handleClose = function handleClose() {
92
- if (typeof onCloseClick === "function") {
93
- onCloseClick();
94
- }
56
+ onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
95
57
  };
96
58
 
97
59
  var handleOverlayClick = function handleOverlayClick() {
98
- if (typeof onBackgroundClick === "function") {
99
- onBackgroundClick();
100
- }
60
+ onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
101
61
  };
102
62
 
103
63
  var handleResize = function handleResize(width) {
104
- if (width) {
105
- if (width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false)) ;
106
- }
64
+ setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
107
65
  };
108
66
 
109
67
  var handleEventListener = function handleEventListener() {
@@ -117,33 +75,35 @@ var DxcDialog = function DxcDialog(_ref) {
117
75
  window.removeEventListener("resize", handleEventListener);
118
76
  };
119
77
  }, []);
120
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
78
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
121
79
  theme: colorsTheme.dialog
122
- }, _react["default"].createElement(DialogContainer, {
80
+ }, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
123
81
  open: true,
124
82
  isCloseVisible: isCloseVisible,
125
83
  onClose: handleOverlayClick,
126
84
  overlay: overlay,
127
85
  padding: padding,
128
86
  isResponsive: isResponsive
129
- }, isCloseVisible && _react["default"].createElement(CloseIconContainer, {
87
+ }, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
130
88
  onClick: handleClose,
131
89
  tabIndex: tabIndex
132
- }, _react["default"].createElement(CloseIcon, {
90
+ }, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
133
91
  xmlns: "http://www.w3.org/2000/svg",
134
92
  width: "24",
135
93
  height: "24",
136
- viewBox: "0 0 24 24"
137
- }, _react["default"].createElement("path", {
138
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",
94
+ viewBox: "0 0 24 24",
139
95
  fill: "currentColor"
140
- }), _react["default"].createElement("path", {
141
- d: "M0 0h24v24H0z",
96
+ }, /*#__PURE__*/_react["default"].createElement("path", {
97
+ d: "M0 0h24v24H0V0z",
142
98
  fill: "none"
143
- }))), _react["default"].createElement(Children, null, children)));
99
+ }), /*#__PURE__*/_react["default"].createElement("path", {
100
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
101
+ }))), /*#__PURE__*/_react["default"].createElement(Children, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
102
+ color: colorsTheme.dialog.backgroundColor
103
+ }, children))));
144
104
  };
145
105
 
146
- var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject(), function (props) {
106
+ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n max-width: ", ";\n min-width: ", ";\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
147
107
  return props.theme.fontFamily;
148
108
  }, function (props) {
149
109
  return props.overlay === true ? props.theme.overlayColor : "transparent";
@@ -160,7 +120,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
160
120
  }, function (props) {
161
121
  return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
162
122
  }, function (props) {
163
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
123
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
164
124
  }, function (props) {
165
125
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
166
126
  }, function (props) {
@@ -171,37 +131,21 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
171
131
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
172
132
  });
173
133
 
174
- var Children = _styledComponents["default"].div(_templateObject2(), function (props) {
175
- return props.theme.fontFamily;
176
- }, function (props) {
177
- return props.theme.fontSize;
178
- }, function (props) {
179
- return props.theme.fontWeight;
180
- }, function (props) {
181
- return props.theme.fontColor;
182
- }, function (props) {
183
- return props.theme.scrollBarTrackColor;
184
- }, function (props) {
185
- return props.theme.scrollBarThumbColor;
186
- }, function (props) {
187
- return props.theme.scrollBarTrackColor;
188
- }, function (props) {
189
- return props.theme.scrollBarThumbColor;
190
- });
134
+ var Children = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
191
135
 
192
- var CloseIconContainer = _styledComponents["default"].button(_templateObject3(), function (props) {
193
- return props.theme.closeIconColor;
194
- }, function (props) {
136
+ var CloseIconContainer = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: ", ";\n right: ", ";\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n color: ", ";\n width: ", ";\n height: ", ";\n border: none;\n"])), function (props) {
195
137
  return props.theme.closeIconTopPosition;
196
138
  }, function (props) {
197
139
  return props.theme.closeIconRightPosition;
140
+ }, function (props) {
141
+ return props.theme.closeIconColor;
198
142
  }, function (props) {
199
143
  return props.theme.closeIconWidth;
200
144
  }, function (props) {
201
145
  return props.theme.closeIconHeight;
202
146
  });
203
147
 
204
- var CloseIcon = _styledComponents["default"].svg(_templateObject4(), function (props) {
148
+ var CloseIcon = _styledComponents["default"].svg(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"])), function (props) {
205
149
  return props.theme.closeIconBackgroundColor;
206
150
  }, function (props) {
207
151
  return props.theme.closeIconWidth;
@@ -217,20 +161,5 @@ var CloseIcon = _styledComponents["default"].svg(_templateObject4(), function (p
217
161
  return props.theme.closeIconBorderColor;
218
162
  });
219
163
 
220
- DxcDialog.propTypes = {
221
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
222
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
223
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
224
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
225
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
226
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
227
- isVisible: _propTypes["default"].bool,
228
- isCloseVisible: _propTypes["default"].bool,
229
- onClose: _propTypes["default"].func,
230
- onCloseClick: _propTypes["default"].func,
231
- onBackgroundClick: _propTypes["default"].func,
232
- overlay: _propTypes["default"].bool,
233
- tabIndex: _propTypes["default"].number
234
- };
235
164
  var _default = DxcDialog;
236
165
  exports["default"] = _default;
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Padding = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type Props = {
10
+ /**
11
+ * If true, the close 'x' button will be visible.
12
+ */
13
+ isCloseVisible?: boolean;
14
+ /**
15
+ * This function will be called when the user clicks the close 'x' button.
16
+ * The responsibility of hiding the modal lies with the user.
17
+ */
18
+ onCloseClick?: () => void;
19
+ /**
20
+ * If true, the dialog will be displayed over a darker background that covers the content behind.
21
+ */
22
+ overlay?: boolean;
23
+ /**
24
+ * This function will be called when the user clicks background of the modal.
25
+ * The responsibility of hiding the modal lies with the user.
26
+ */
27
+ onBackgroundClick?: () => void;
28
+ /**
29
+ * Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
30
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
31
+ */
32
+ padding?: Padding | Space;
33
+ /**
34
+ * Value of the tabindex given to the close 'x' button.
35
+ */
36
+ tabIndex?: number;
37
+ /**
38
+ * The area inside the dialog. This area can be used to render
39
+ * custom content.
40
+ */
41
+ children: React.ReactNode;
42
+ };
43
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import DropdownPropsType from "./types";
3
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconSrc, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
4
+ export default DxcDropdown;