@dxc-technology/halstack-react 0.0.0-3836f12 → 0.0.0-3872aa6

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