@dxc-technology/halstack-react 0.0.0-de3a219 → 0.0.0-e1a279c

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