@dxc-technology/halstack-react 0.0.0-862baa8 → 0.0.0-8710cb0

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 (358) 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/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +39 -39
  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 +13 -51
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +43 -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/{dist/checkbox → checkbox}/Checkbox.js +44 -82
  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/Chip.stories.tsx +121 -0
  42. package/chip/index.d.ts +22 -0
  43. package/{dist/common → common}/OpenSans.css +0 -0
  44. package/{dist/common → common}/RequiredComponent.js +3 -11
  45. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  55. package/{dist/common → common}/utils.js +0 -0
  56. package/common/variables.js +1577 -0
  57. package/{dist/date → date}/Date.js +33 -51
  58. package/date/index.d.ts +27 -0
  59. package/date-input/DateInput.d.ts +4 -0
  60. package/date-input/DateInput.js +361 -0
  61. package/date-input/DateInput.stories.tsx +138 -0
  62. package/date-input/types.d.ts +100 -0
  63. package/date-input/types.js +5 -0
  64. package/dialog/Dialog.d.ts +4 -0
  65. package/{dist/dialog → dialog}/Dialog.js +29 -100
  66. package/dialog/Dialog.stories.tsx +212 -0
  67. package/dialog/types.d.ts +43 -0
  68. package/dialog/types.js +5 -0
  69. package/dropdown/Dropdown.d.ts +4 -0
  70. package/dropdown/Dropdown.js +417 -0
  71. package/dropdown/types.d.ts +89 -0
  72. package/dropdown/types.js +5 -0
  73. package/file-input/FileInput.js +532 -0
  74. package/file-input/FileItem.js +193 -0
  75. package/file-input/index.d.ts +81 -0
  76. package/footer/Footer.d.ts +4 -0
  77. package/footer/Footer.js +266 -0
  78. package/footer/Footer.stories.jsx +151 -0
  79. package/footer/Icons.js +77 -0
  80. package/footer/types.d.ts +61 -0
  81. package/footer/types.js +5 -0
  82. package/header/Header.d.ts +7 -0
  83. package/header/Header.js +324 -0
  84. package/header/Header.stories.tsx +162 -0
  85. package/header/Icons.js +34 -0
  86. package/header/types.d.ts +45 -0
  87. package/header/types.js +5 -0
  88. package/heading/Heading.d.ts +4 -0
  89. package/{dist/heading → heading}/Heading.js +30 -93
  90. package/heading/types.d.ts +33 -0
  91. package/heading/types.js +5 -0
  92. package/input-text/Icons.js +22 -0
  93. package/{dist/input-text → input-text}/InputText.js +120 -178
  94. package/input-text/index.d.ts +36 -0
  95. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  96. package/layout/Icons.js +55 -0
  97. package/link/Link.d.ts +3 -0
  98. package/link/Link.js +161 -0
  99. package/link/Link.stories.tsx +70 -0
  100. package/link/types.d.ts +74 -0
  101. package/link/types.js +5 -0
  102. package/main.d.ts +44 -0
  103. package/{dist/main.js → main.js} +121 -69
  104. package/number-input/NumberInput.d.ts +4 -0
  105. package/number-input/NumberInput.js +86 -0
  106. package/number-input/NumberInput.stories.tsx +115 -0
  107. package/number-input/NumberInputContext.js +16 -0
  108. package/number-input/types.d.ts +117 -0
  109. package/number-input/types.js +5 -0
  110. package/package.json +34 -25
  111. package/paginator/Icons.js +66 -0
  112. package/paginator/Paginator.d.ts +4 -0
  113. package/paginator/Paginator.js +198 -0
  114. package/paginator/Paginator.stories.tsx +63 -0
  115. package/paginator/types.d.ts +38 -0
  116. package/paginator/types.js +5 -0
  117. package/password-input/PasswordInput.d.ts +4 -0
  118. package/password-input/PasswordInput.js +162 -0
  119. package/password-input/PasswordInput.stories.tsx +131 -0
  120. package/password-input/types.d.ts +100 -0
  121. package/password-input/types.js +5 -0
  122. package/progress-bar/ProgressBar.d.ts +4 -0
  123. package/progress-bar/ProgressBar.js +170 -0
  124. package/progress-bar/ProgressBar.stories.jsx +58 -0
  125. package/progress-bar/types.d.ts +37 -0
  126. package/progress-bar/types.js +5 -0
  127. package/radio/Radio.d.ts +4 -0
  128. package/{dist/radio → radio}/Radio.js +15 -50
  129. package/radio/Radio.stories.tsx +192 -0
  130. package/radio/types.d.ts +54 -0
  131. package/radio/types.js +5 -0
  132. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -136
  133. package/resultsetTable/index.d.ts +19 -0
  134. package/select/Select.js +865 -0
  135. package/select/Select.stories.tsx +572 -0
  136. package/select/index.d.ts +131 -0
  137. package/sidenav/Sidenav.d.ts +9 -0
  138. package/sidenav/Sidenav.js +136 -0
  139. package/sidenav/types.d.ts +50 -0
  140. package/sidenav/types.js +5 -0
  141. package/slider/Slider.d.ts +4 -0
  142. package/slider/Slider.js +317 -0
  143. package/slider/Slider.stories.tsx +177 -0
  144. package/slider/types.d.ts +78 -0
  145. package/slider/types.js +5 -0
  146. package/spinner/Spinner.d.ts +4 -0
  147. package/spinner/Spinner.js +250 -0
  148. package/spinner/Spinner.stories.jsx +102 -0
  149. package/spinner/types.d.ts +32 -0
  150. package/spinner/types.js +5 -0
  151. package/switch/Switch.d.ts +4 -0
  152. package/{dist/switch → switch}/Switch.js +28 -71
  153. package/switch/Switch.stories.tsx +160 -0
  154. package/switch/types.d.ts +58 -0
  155. package/switch/types.js +5 -0
  156. package/table/Table.d.ts +4 -0
  157. package/table/Table.js +118 -0
  158. package/table/Table.stories.jsx +276 -0
  159. package/table/types.d.ts +21 -0
  160. package/table/types.js +5 -0
  161. package/tabs/Tabs.d.ts +4 -0
  162. package/tabs/Tabs.js +211 -0
  163. package/tabs/types.d.ts +71 -0
  164. package/tabs/types.js +5 -0
  165. package/tag/Tag.d.ts +4 -0
  166. package/tag/Tag.js +193 -0
  167. package/tag/Tag.stories.tsx +145 -0
  168. package/tag/types.d.ts +60 -0
  169. package/tag/types.js +5 -0
  170. package/text-input/TextInput.js +825 -0
  171. package/text-input/index.d.ts +135 -0
  172. package/textarea/Textarea.js +317 -0
  173. package/textarea/Textarea.stories.jsx +135 -0
  174. package/textarea/index.d.ts +117 -0
  175. package/{dist/toggle → toggle}/Toggle.js +15 -49
  176. package/toggle/index.d.ts +21 -0
  177. package/toggle-group/ToggleGroup.js +243 -0
  178. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  179. package/toggle-group/index.d.ts +21 -0
  180. package/{dist/upload → upload}/Upload.js +11 -15
  181. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  182. package/upload/buttons-upload/Icons.js +40 -0
  183. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  184. package/upload/dragAndDropArea/Icons.js +39 -0
  185. package/upload/file-upload/FileToUpload.js +115 -0
  186. package/upload/file-upload/Icons.js +66 -0
  187. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  188. package/upload/index.d.ts +15 -0
  189. package/upload/transaction/Icons.js +160 -0
  190. package/upload/transaction/Transaction.js +104 -0
  191. package/upload/transactions/Transactions.js +94 -0
  192. package/{dist/useTheme.js → useTheme.js} +0 -0
  193. package/wizard/Icons.js +65 -0
  194. package/wizard/Wizard.d.ts +4 -0
  195. package/wizard/Wizard.js +231 -0
  196. package/wizard/Wizard.stories.jsx +224 -0
  197. package/wizard/types.d.ts +64 -0
  198. package/wizard/types.js +5 -0
  199. package/README.md +0 -66
  200. package/babel.config.js +0 -8
  201. package/dist/BackgroundColorContext.js +0 -46
  202. package/dist/ThemeContext.js +0 -216
  203. package/dist/accordion/Accordion.js +0 -356
  204. package/dist/accordion/Accordion.stories.js +0 -207
  205. package/dist/accordion/readme.md +0 -96
  206. package/dist/accordion-group/AccordionGroup.js +0 -188
  207. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  208. package/dist/accordion-group/readme.md +0 -70
  209. package/dist/alert/Alert.js +0 -388
  210. package/dist/alert/Alert.stories.js +0 -158
  211. package/dist/alert/close.svg +0 -4
  212. package/dist/alert/error.svg +0 -4
  213. package/dist/alert/info.svg +0 -4
  214. package/dist/alert/readme.md +0 -43
  215. package/dist/alert/success.svg +0 -4
  216. package/dist/alert/warning.svg +0 -4
  217. package/dist/badge/Badge.js +0 -61
  218. package/dist/button/Button.js +0 -228
  219. package/dist/button/Button.stories.js +0 -224
  220. package/dist/button/readme.md +0 -93
  221. package/dist/checkbox/Checkbox.stories.js +0 -144
  222. package/dist/checkbox/readme.md +0 -116
  223. package/dist/common/variables.js +0 -1163
  224. package/dist/date/Date.stories.js +0 -205
  225. package/dist/date/calendar.svg +0 -1
  226. package/dist/date/calendar_dark.svg +0 -1
  227. package/dist/date/readme.md +0 -73
  228. package/dist/dialog/Dialog.stories.js +0 -217
  229. package/dist/dialog/readme.md +0 -32
  230. package/dist/dropdown/Dropdown.js +0 -498
  231. package/dist/dropdown/Dropdown.stories.js +0 -249
  232. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  233. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  234. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  235. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  236. package/dist/dropdown/readme.md +0 -69
  237. package/dist/footer/Footer.js +0 -405
  238. package/dist/footer/Footer.stories.js +0 -94
  239. package/dist/footer/dxc_logo_wht.png +0 -0
  240. package/dist/footer/readme.md +0 -41
  241. package/dist/header/Header.js +0 -431
  242. package/dist/header/Header.stories.js +0 -176
  243. package/dist/header/close_icon.svg +0 -1
  244. package/dist/header/dxc_logo_black.png +0 -0
  245. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  246. package/dist/header/dxc_logo_white.png +0 -0
  247. package/dist/header/hamb_menu_black.svg +0 -1
  248. package/dist/header/hamb_menu_white.svg +0 -1
  249. package/dist/header/readme.md +0 -33
  250. package/dist/input-text/InputText.stories.js +0 -209
  251. package/dist/input-text/error.svg +0 -1
  252. package/dist/input-text/readme.md +0 -91
  253. package/dist/layout/facebook.svg +0 -45
  254. package/dist/layout/linkedin.svg +0 -50
  255. package/dist/layout/twitter.svg +0 -53
  256. package/dist/link/Link.js +0 -212
  257. package/dist/link/readme.md +0 -51
  258. package/dist/paginator/Paginator.js +0 -283
  259. package/dist/paginator/images/next.svg +0 -3
  260. package/dist/paginator/images/nextPage.svg +0 -3
  261. package/dist/paginator/images/previous.svg +0 -3
  262. package/dist/paginator/images/previousPage.svg +0 -3
  263. package/dist/paginator/readme.md +0 -50
  264. package/dist/progress-bar/ProgressBar.js +0 -206
  265. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  266. package/dist/progress-bar/readme.md +0 -63
  267. package/dist/radio/Radio.stories.js +0 -166
  268. package/dist/radio/readme.md +0 -70
  269. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  270. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  271. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  272. package/dist/select/Select.js +0 -525
  273. package/dist/select/Select.stories.js +0 -235
  274. package/dist/select/readme.md +0 -72
  275. package/dist/sidenav/Sidenav.js +0 -183
  276. package/dist/slider/Slider.js +0 -315
  277. package/dist/slider/Slider.stories.js +0 -241
  278. package/dist/slider/readme.md +0 -64
  279. package/dist/spinner/Spinner.js +0 -214
  280. package/dist/spinner/Spinner.stories.js +0 -183
  281. package/dist/spinner/readme.md +0 -65
  282. package/dist/switch/Switch.stories.js +0 -134
  283. package/dist/switch/readme.md +0 -133
  284. package/dist/table/Table.js +0 -122
  285. package/dist/tabs/Tabs.js +0 -347
  286. package/dist/tabs/Tabs.stories.js +0 -130
  287. package/dist/tabs/readme.md +0 -78
  288. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  289. package/dist/tabs-for-sections/readme.md +0 -78
  290. package/dist/tag/Tag.js +0 -280
  291. package/dist/toggle/Toggle.stories.js +0 -297
  292. package/dist/toggle/readme.md +0 -80
  293. package/dist/toggle-group/ToggleGroup.js +0 -241
  294. package/dist/toggle-group/readme.md +0 -82
  295. package/dist/upload/Upload.stories.js +0 -72
  296. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  297. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  298. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  299. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -325
  300. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  301. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  302. package/dist/upload/file-upload/FileToUpload.js +0 -184
  303. package/dist/upload/file-upload/audio-icon.svg +0 -4
  304. package/dist/upload/file-upload/close.svg +0 -4
  305. package/dist/upload/file-upload/file-icon.svg +0 -4
  306. package/dist/upload/file-upload/video-icon.svg +0 -4
  307. package/dist/upload/readme.md +0 -37
  308. package/dist/upload/transaction/Transaction.js +0 -171
  309. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  310. package/dist/upload/transaction/audio-icon.svg +0 -4
  311. package/dist/upload/transaction/error-icon.svg +0 -4
  312. package/dist/upload/transaction/file-icon-err.svg +0 -4
  313. package/dist/upload/transaction/file-icon.svg +0 -4
  314. package/dist/upload/transaction/image-icon-err.svg +0 -4
  315. package/dist/upload/transaction/image-icon.svg +0 -4
  316. package/dist/upload/transaction/success-icon.svg +0 -4
  317. package/dist/upload/transaction/video-icon-err.svg +0 -4
  318. package/dist/upload/transaction/video-icon.svg +0 -4
  319. package/dist/upload/transactions/Transactions.js +0 -138
  320. package/dist/wizard/Wizard.js +0 -383
  321. package/dist/wizard/invalid_icon.svg +0 -6
  322. package/dist/wizard/valid_icon.svg +0 -6
  323. package/dist/wizard/validation-wrong.svg +0 -6
  324. package/test/Accordion.test.js +0 -33
  325. package/test/AccordionGroup.test.js +0 -125
  326. package/test/Alert.test.js +0 -53
  327. package/test/Box.test.js +0 -10
  328. package/test/Button.test.js +0 -18
  329. package/test/Card.test.js +0 -30
  330. package/test/Checkbox.test.js +0 -45
  331. package/test/Chip.test.js +0 -25
  332. package/test/Date.test.js +0 -393
  333. package/test/Dialog.test.js +0 -23
  334. package/test/Dropdown.test.js +0 -130
  335. package/test/Footer.test.js +0 -99
  336. package/test/Header.test.js +0 -39
  337. package/test/Heading.test.js +0 -35
  338. package/test/InputText.test.js +0 -240
  339. package/test/Link.test.js +0 -42
  340. package/test/Paginator.test.js +0 -177
  341. package/test/ProgressBar.test.js +0 -35
  342. package/test/Radio.test.js +0 -37
  343. package/test/ResultsetTable.test.js +0 -330
  344. package/test/Select.test.js +0 -192
  345. package/test/Sidenav.test.js +0 -45
  346. package/test/Slider.test.js +0 -82
  347. package/test/Spinner.test.js +0 -27
  348. package/test/Switch.test.js +0 -45
  349. package/test/Table.test.js +0 -36
  350. package/test/Tabs.test.js +0 -109
  351. package/test/TabsForSections.test.js +0 -34
  352. package/test/Tag.test.js +0 -32
  353. package/test/TextArea.test.js +0 -52
  354. package/test/ToggleGroup.test.js +0 -81
  355. package/test/Upload.test.js +0 -60
  356. package/test/Wizard.test.js +0 -130
  357. package/test/mocks/pngMock.js +0 -1
  358. 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;