@dxc-technology/halstack-react 0.0.0-432ea3b → 0.0.0-435515

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 (603) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +171 -0
  9. package/accordion/Accordion.stories.tsx +241 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +57 -0
  12. package/accordion/types.js +5 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  14. package/accordion-group/AccordionGroup.d.ts +7 -0
  15. package/accordion-group/AccordionGroup.js +101 -0
  16. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  17. package/accordion-group/AccordionGroup.test.js +98 -0
  18. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  19. package/accordion-group/AccordionGroupAccordion.js +31 -0
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +67 -0
  23. package/accordion-group/types.js +5 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.js +64 -0
  29. package/action-icon/types.d.ts +26 -0
  30. package/action-icon/types.js +5 -0
  31. package/alert/Alert.accessibility.test.js +95 -0
  32. package/alert/Alert.d.ts +4 -0
  33. package/alert/Alert.js +203 -0
  34. package/alert/Alert.stories.tsx +198 -0
  35. package/alert/Alert.test.js +75 -0
  36. package/alert/types.d.ts +49 -0
  37. package/alert/types.js +5 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +4 -0
  40. package/badge/Badge.js +161 -0
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.js +30 -0
  43. package/badge/types.d.ts +54 -0
  44. package/badge/types.js +5 -0
  45. package/bleed/Bleed.d.ts +3 -0
  46. package/bleed/Bleed.js +43 -0
  47. package/bleed/Bleed.stories.tsx +342 -0
  48. package/bleed/types.d.ts +37 -0
  49. package/bleed/types.js +5 -0
  50. package/box/Box.accessibility.test.js +33 -0
  51. package/box/Box.d.ts +4 -0
  52. package/box/Box.js +75 -0
  53. package/box/Box.stories.tsx +119 -0
  54. package/box/Box.test.js +13 -0
  55. package/box/types.d.ts +32 -0
  56. package/box/types.js +5 -0
  57. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  58. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  59. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  60. package/breadcrumbs/Breadcrumbs.js +79 -0
  61. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  62. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  63. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  64. package/breadcrumbs/Item.d.ts +4 -0
  65. package/breadcrumbs/Item.js +52 -0
  66. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  67. package/breadcrumbs/dropdownTheme.js +62 -0
  68. package/breadcrumbs/types.d.ts +16 -0
  69. package/breadcrumbs/types.js +5 -0
  70. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  71. package/bulleted-list/BulletedList.d.ts +7 -0
  72. package/bulleted-list/BulletedList.js +92 -0
  73. package/bulleted-list/BulletedList.stories.tsx +115 -0
  74. package/bulleted-list/types.d.ts +38 -0
  75. package/bulleted-list/types.js +5 -0
  76. package/button/Button.accessibility.test.js +127 -0
  77. package/button/Button.d.ts +4 -0
  78. package/button/Button.js +121 -0
  79. package/button/Button.stories.tsx +325 -0
  80. package/button/Button.test.js +38 -0
  81. package/button/types.d.ts +57 -0
  82. package/button/types.js +5 -0
  83. package/card/Card.accessibility.test.js +36 -0
  84. package/card/Card.d.ts +4 -0
  85. package/card/Card.js +121 -0
  86. package/card/Card.stories.tsx +171 -0
  87. package/card/Card.test.js +39 -0
  88. package/card/types.d.ts +62 -0
  89. package/card/types.js +5 -0
  90. package/checkbox/Checkbox.accessibility.test.js +87 -0
  91. package/checkbox/Checkbox.d.ts +4 -0
  92. package/checkbox/Checkbox.js +215 -0
  93. package/checkbox/Checkbox.stories.tsx +222 -0
  94. package/checkbox/Checkbox.test.js +199 -0
  95. package/checkbox/types.d.ts +72 -0
  96. package/checkbox/types.js +5 -0
  97. package/chip/Chip.accessibility.test.js +67 -0
  98. package/chip/Chip.d.ts +4 -0
  99. package/chip/Chip.js +126 -0
  100. package/chip/Chip.stories.tsx +199 -0
  101. package/chip/Chip.test.js +41 -0
  102. package/chip/types.d.ts +45 -0
  103. package/chip/types.js +5 -0
  104. package/common/coreTokens.d.ts +237 -0
  105. package/common/coreTokens.js +184 -0
  106. package/common/utils.d.ts +1 -0
  107. package/{dist/common → common}/utils.js +6 -12
  108. package/common/variables.d.ts +1392 -0
  109. package/common/variables.js +1264 -0
  110. package/container/Container.d.ts +4 -0
  111. package/container/Container.js +194 -0
  112. package/container/Container.stories.tsx +214 -0
  113. package/container/types.d.ts +74 -0
  114. package/container/types.js +5 -0
  115. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  116. package/contextual-menu/ContextualMenu.d.ts +5 -0
  117. package/contextual-menu/ContextualMenu.js +88 -0
  118. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  119. package/contextual-menu/ContextualMenu.test.js +205 -0
  120. package/contextual-menu/GroupItem.d.ts +4 -0
  121. package/contextual-menu/GroupItem.js +67 -0
  122. package/contextual-menu/ItemAction.d.ts +4 -0
  123. package/contextual-menu/ItemAction.js +51 -0
  124. package/contextual-menu/MenuItem.d.ts +4 -0
  125. package/contextual-menu/MenuItem.js +29 -0
  126. package/contextual-menu/SingleItem.d.ts +4 -0
  127. package/contextual-menu/SingleItem.js +38 -0
  128. package/contextual-menu/types.d.ts +58 -0
  129. package/contextual-menu/types.js +5 -0
  130. package/date-input/Calendar.d.ts +4 -0
  131. package/date-input/Calendar.js +214 -0
  132. package/date-input/DateInput.accessibility.test.js +228 -0
  133. package/date-input/DateInput.d.ts +4 -0
  134. package/date-input/DateInput.js +222 -0
  135. package/date-input/DateInput.stories.tsx +292 -0
  136. package/date-input/DateInput.test.js +808 -0
  137. package/date-input/DatePicker.d.ts +4 -0
  138. package/date-input/DatePicker.js +121 -0
  139. package/date-input/YearPicker.d.ts +4 -0
  140. package/date-input/YearPicker.js +100 -0
  141. package/date-input/types.d.ts +164 -0
  142. package/date-input/types.js +5 -0
  143. package/dialog/Dialog.accessibility.test.js +69 -0
  144. package/dialog/Dialog.d.ts +4 -0
  145. package/dialog/Dialog.js +93 -0
  146. package/dialog/Dialog.stories.tsx +371 -0
  147. package/dialog/Dialog.test.js +307 -0
  148. package/dialog/types.d.ts +36 -0
  149. package/dialog/types.js +5 -0
  150. package/divider/Divider.accessibility.test.js +33 -0
  151. package/divider/Divider.d.ts +4 -0
  152. package/divider/Divider.js +36 -0
  153. package/divider/Divider.stories.tsx +223 -0
  154. package/divider/Divider.test.js +38 -0
  155. package/divider/types.d.ts +21 -0
  156. package/divider/types.js +5 -0
  157. package/dropdown/Dropdown.accessibility.test.js +180 -0
  158. package/dropdown/Dropdown.d.ts +4 -0
  159. package/dropdown/Dropdown.js +321 -0
  160. package/dropdown/Dropdown.stories.tsx +427 -0
  161. package/dropdown/Dropdown.test.js +599 -0
  162. package/dropdown/DropdownMenu.d.ts +4 -0
  163. package/dropdown/DropdownMenu.js +63 -0
  164. package/dropdown/DropdownMenuItem.d.ts +4 -0
  165. package/dropdown/DropdownMenuItem.js +71 -0
  166. package/dropdown/types.d.ts +96 -0
  167. package/dropdown/types.js +5 -0
  168. package/file-input/FileInput.accessibility.test.js +160 -0
  169. package/file-input/FileInput.d.ts +4 -0
  170. package/file-input/FileInput.js +443 -0
  171. package/file-input/FileInput.stories.tsx +618 -0
  172. package/file-input/FileInput.test.js +396 -0
  173. package/file-input/FileItem.d.ts +4 -0
  174. package/file-input/FileItem.js +125 -0
  175. package/file-input/types.d.ts +129 -0
  176. package/file-input/types.js +5 -0
  177. package/flex/Flex.d.ts +4 -0
  178. package/flex/Flex.js +57 -0
  179. package/flex/Flex.stories.tsx +112 -0
  180. package/flex/types.d.ts +97 -0
  181. package/flex/types.js +5 -0
  182. package/footer/Footer.accessibility.test.js +125 -0
  183. package/footer/Footer.d.ts +4 -0
  184. package/footer/Footer.js +140 -0
  185. package/footer/Footer.stories.tsx +208 -0
  186. package/footer/Footer.test.js +85 -0
  187. package/footer/Icons.d.ts +3 -0
  188. package/footer/Icons.js +108 -0
  189. package/footer/types.d.ts +64 -0
  190. package/footer/types.js +5 -0
  191. package/grid/Grid.d.ts +7 -0
  192. package/grid/Grid.js +76 -0
  193. package/grid/Grid.stories.tsx +219 -0
  194. package/grid/types.d.ts +115 -0
  195. package/grid/types.js +5 -0
  196. package/header/Header.accessibility.test.js +93 -0
  197. package/header/Header.d.ts +8 -0
  198. package/header/Header.js +210 -0
  199. package/header/Header.stories.tsx +267 -0
  200. package/header/Header.test.js +66 -0
  201. package/header/Icons.d.ts +2 -0
  202. package/header/Icons.js +24 -0
  203. package/header/types.d.ts +33 -0
  204. package/header/types.js +5 -0
  205. package/heading/Heading.accessibility.test.js +33 -0
  206. package/heading/Heading.d.ts +4 -0
  207. package/{dist/heading → heading}/Heading.js +34 -115
  208. package/heading/Heading.stories.tsx +54 -0
  209. package/heading/Heading.test.js +169 -0
  210. package/heading/types.d.ts +33 -0
  211. package/heading/types.js +5 -0
  212. package/icon/Icon.accessibility.test.js +30 -0
  213. package/icon/Icon.d.ts +4 -0
  214. package/icon/Icon.js +33 -0
  215. package/icon/Icon.stories.tsx +28 -0
  216. package/icon/types.d.ts +4 -0
  217. package/icon/types.js +5 -0
  218. package/image/Image.accessibility.test.js +56 -0
  219. package/image/Image.d.ts +4 -0
  220. package/image/Image.js +70 -0
  221. package/image/Image.stories.tsx +129 -0
  222. package/image/types.d.ts +72 -0
  223. package/image/types.js +5 -0
  224. package/inset/Inset.d.ts +3 -0
  225. package/inset/Inset.js +43 -0
  226. package/inset/Inset.stories.tsx +230 -0
  227. package/inset/types.d.ts +37 -0
  228. package/inset/types.js +5 -0
  229. package/layout/ApplicationLayout.d.ts +20 -0
  230. package/layout/ApplicationLayout.js +137 -0
  231. package/layout/ApplicationLayout.stories.tsx +162 -0
  232. package/layout/Icons.d.ts +7 -0
  233. package/layout/Icons.js +48 -0
  234. package/layout/types.d.ts +41 -0
  235. package/layout/types.js +5 -0
  236. package/link/Link.accessibility.test.js +108 -0
  237. package/link/Link.d.ts +4 -0
  238. package/link/Link.js +117 -0
  239. package/link/Link.stories.tsx +253 -0
  240. package/link/Link.test.js +63 -0
  241. package/link/types.d.ts +54 -0
  242. package/link/types.js +5 -0
  243. package/main.d.ts +50 -0
  244. package/{dist/main.js → main.js} +154 -141
  245. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  246. package/nav-tabs/NavTabs.d.ts +7 -0
  247. package/nav-tabs/NavTabs.js +93 -0
  248. package/nav-tabs/NavTabs.stories.tsx +279 -0
  249. package/nav-tabs/NavTabs.test.js +77 -0
  250. package/nav-tabs/NavTabsContext.d.ts +3 -0
  251. package/nav-tabs/NavTabsContext.js +8 -0
  252. package/nav-tabs/Tab.d.ts +4 -0
  253. package/nav-tabs/Tab.js +117 -0
  254. package/nav-tabs/types.d.ts +52 -0
  255. package/nav-tabs/types.js +5 -0
  256. package/number-input/NumberInput.accessibility.test.js +228 -0
  257. package/number-input/NumberInput.d.ts +4 -0
  258. package/number-input/NumberInput.js +86 -0
  259. package/number-input/NumberInput.stories.tsx +131 -0
  260. package/number-input/NumberInput.test.js +989 -0
  261. package/number-input/NumberInputContext.d.ts +3 -0
  262. package/number-input/NumberInputContext.js +8 -0
  263. package/number-input/types.d.ts +136 -0
  264. package/number-input/types.js +5 -0
  265. package/package.json +65 -54
  266. package/paginator/Paginator.accessibility.test.js +79 -0
  267. package/paginator/Paginator.d.ts +4 -0
  268. package/paginator/Paginator.js +138 -0
  269. package/paginator/Paginator.stories.tsx +87 -0
  270. package/paginator/Paginator.test.js +335 -0
  271. package/paginator/types.d.ts +38 -0
  272. package/paginator/types.js +5 -0
  273. package/paragraph/Paragraph.accessibility.test.js +28 -0
  274. package/paragraph/Paragraph.d.ts +5 -0
  275. package/paragraph/Paragraph.js +22 -0
  276. package/paragraph/Paragraph.stories.tsx +27 -0
  277. package/password-input/PasswordInput.accessibility.test.js +153 -0
  278. package/password-input/PasswordInput.d.ts +4 -0
  279. package/password-input/PasswordInput.js +97 -0
  280. package/password-input/PasswordInput.stories.tsx +99 -0
  281. package/password-input/PasswordInput.test.js +198 -0
  282. package/password-input/types.d.ts +111 -0
  283. package/password-input/types.js +5 -0
  284. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  285. package/progress-bar/ProgressBar.d.ts +4 -0
  286. package/progress-bar/ProgressBar.js +146 -0
  287. package/progress-bar/ProgressBar.stories.tsx +93 -0
  288. package/progress-bar/ProgressBar.test.js +93 -0
  289. package/progress-bar/types.d.ts +37 -0
  290. package/progress-bar/types.js +5 -0
  291. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  292. package/quick-nav/QuickNav.d.ts +4 -0
  293. package/quick-nav/QuickNav.js +94 -0
  294. package/quick-nav/QuickNav.stories.tsx +356 -0
  295. package/quick-nav/types.d.ts +21 -0
  296. package/quick-nav/types.js +5 -0
  297. package/radio-group/Radio.d.ts +4 -0
  298. package/radio-group/Radio.js +124 -0
  299. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  300. package/radio-group/RadioGroup.d.ts +4 -0
  301. package/radio-group/RadioGroup.js +236 -0
  302. package/radio-group/RadioGroup.stories.tsx +214 -0
  303. package/radio-group/RadioGroup.test.js +756 -0
  304. package/radio-group/types.d.ts +114 -0
  305. package/radio-group/types.js +5 -0
  306. package/resultset-table/Icons.d.ts +7 -0
  307. package/resultset-table/Icons.js +47 -0
  308. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  309. package/resultset-table/ResultsetTable.d.ts +7 -0
  310. package/resultset-table/ResultsetTable.js +171 -0
  311. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  312. package/resultset-table/ResultsetTable.test.js +381 -0
  313. package/resultset-table/types.d.ts +100 -0
  314. package/resultset-table/types.js +5 -0
  315. package/select/Listbox.d.ts +4 -0
  316. package/select/Listbox.js +155 -0
  317. package/select/Option.d.ts +4 -0
  318. package/select/Option.js +89 -0
  319. package/select/Select.accessibility.test.js +228 -0
  320. package/select/Select.d.ts +4 -0
  321. package/select/Select.js +602 -0
  322. package/select/Select.stories.tsx +919 -0
  323. package/select/Select.test.js +2265 -0
  324. package/select/types.d.ts +209 -0
  325. package/select/types.js +5 -0
  326. package/sidenav/Sidenav.accessibility.test.js +59 -0
  327. package/sidenav/Sidenav.d.ts +10 -0
  328. package/sidenav/Sidenav.js +201 -0
  329. package/sidenav/Sidenav.stories.tsx +277 -0
  330. package/sidenav/Sidenav.test.js +37 -0
  331. package/sidenav/SidenavContext.d.ts +5 -0
  332. package/sidenav/SidenavContext.js +13 -0
  333. package/sidenav/types.d.ts +76 -0
  334. package/sidenav/types.js +5 -0
  335. package/slider/Slider.accessibility.test.js +104 -0
  336. package/slider/Slider.d.ts +4 -0
  337. package/slider/Slider.js +286 -0
  338. package/slider/Slider.test.js +254 -0
  339. package/slider/types.d.ts +86 -0
  340. package/slider/types.js +5 -0
  341. package/spinner/Spinner.accessibility.test.js +96 -0
  342. package/spinner/Spinner.d.ts +4 -0
  343. package/spinner/Spinner.js +210 -0
  344. package/spinner/Spinner.stories.tsx +129 -0
  345. package/spinner/Spinner.test.js +55 -0
  346. package/spinner/types.d.ts +32 -0
  347. package/spinner/types.js +5 -0
  348. package/status-light/StatusLight.accessibility.test.js +157 -0
  349. package/status-light/StatusLight.d.ts +4 -0
  350. package/status-light/StatusLight.js +51 -0
  351. package/status-light/StatusLight.stories.tsx +74 -0
  352. package/status-light/StatusLight.test.js +25 -0
  353. package/status-light/types.d.ts +17 -0
  354. package/status-light/types.js +5 -0
  355. package/switch/Switch.accessibility.test.js +98 -0
  356. package/switch/Switch.d.ts +4 -0
  357. package/switch/Switch.js +214 -0
  358. package/switch/Switch.stories.tsx +149 -0
  359. package/switch/Switch.test.js +180 -0
  360. package/switch/types.d.ts +66 -0
  361. package/switch/types.js +5 -0
  362. package/table/DropdownTheme.js +62 -0
  363. package/table/Table.accessibility.test.js +93 -0
  364. package/table/Table.d.ts +8 -0
  365. package/table/Table.js +161 -0
  366. package/table/Table.stories.tsx +663 -0
  367. package/table/Table.test.js +113 -0
  368. package/table/types.d.ts +49 -0
  369. package/table/types.js +5 -0
  370. package/tabs/Tab.d.ts +4 -0
  371. package/tabs/Tab.js +117 -0
  372. package/tabs/Tabs.accessibility.test.js +56 -0
  373. package/tabs/Tabs.d.ts +4 -0
  374. package/tabs/Tabs.js +373 -0
  375. package/tabs/Tabs.stories.tsx +230 -0
  376. package/tabs/Tabs.test.js +276 -0
  377. package/tabs/types.d.ts +92 -0
  378. package/tabs/types.js +5 -0
  379. package/tag/Tag.accessibility.test.js +69 -0
  380. package/tag/Tag.d.ts +4 -0
  381. package/tag/Tag.js +151 -0
  382. package/tag/Tag.stories.tsx +152 -0
  383. package/tag/Tag.test.js +41 -0
  384. package/tag/types.d.ts +69 -0
  385. package/tag/types.js +5 -0
  386. package/text-input/Suggestion.d.ts +4 -0
  387. package/text-input/Suggestion.js +67 -0
  388. package/text-input/Suggestions.d.ts +4 -0
  389. package/text-input/Suggestions.js +94 -0
  390. package/text-input/TextInput.accessibility.test.js +321 -0
  391. package/text-input/TextInput.d.ts +4 -0
  392. package/text-input/TextInput.js +571 -0
  393. package/text-input/TextInput.stories.tsx +474 -0
  394. package/text-input/TextInput.test.js +1756 -0
  395. package/text-input/types.d.ts +205 -0
  396. package/text-input/types.js +5 -0
  397. package/textarea/Textarea.accessibility.test.js +155 -0
  398. package/textarea/Textarea.d.ts +4 -0
  399. package/textarea/Textarea.js +235 -0
  400. package/textarea/Textarea.stories.tsx +174 -0
  401. package/textarea/Textarea.test.js +406 -0
  402. package/textarea/types.d.ts +141 -0
  403. package/textarea/types.js +5 -0
  404. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  405. package/toggle-group/ToggleGroup.d.ts +4 -0
  406. package/toggle-group/ToggleGroup.js +202 -0
  407. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  408. package/toggle-group/ToggleGroup.test.js +137 -0
  409. package/toggle-group/types.d.ts +114 -0
  410. package/toggle-group/types.js +5 -0
  411. package/typography/Typography.accessibility.test.js +339 -0
  412. package/typography/Typography.d.ts +4 -0
  413. package/typography/Typography.js +23 -0
  414. package/typography/Typography.stories.tsx +198 -0
  415. package/typography/types.d.ts +18 -0
  416. package/typography/types.js +5 -0
  417. package/useTheme.d.ts +1145 -0
  418. package/{dist/useTheme.js → useTheme.js} +4 -11
  419. package/useTranslatedLabels.d.ts +85 -0
  420. package/useTranslatedLabels.js +14 -0
  421. package/utils/BaseTypography.d.ts +21 -0
  422. package/utils/BaseTypography.js +94 -0
  423. package/utils/FocusLock.d.ts +13 -0
  424. package/utils/FocusLock.js +124 -0
  425. package/wizard/Wizard.accessibility.test.js +55 -0
  426. package/wizard/Wizard.d.ts +4 -0
  427. package/wizard/Wizard.js +239 -0
  428. package/wizard/Wizard.stories.tsx +272 -0
  429. package/wizard/Wizard.test.js +114 -0
  430. package/wizard/types.d.ts +64 -0
  431. package/wizard/types.js +5 -0
  432. package/babel.config.js +0 -8
  433. package/dist/BackgroundColorContext.js +0 -46
  434. package/dist/ThemeContext.js +0 -240
  435. package/dist/accordion/Accordion.js +0 -353
  436. package/dist/accordion-group/AccordionGroup.js +0 -186
  437. package/dist/alert/Alert.js +0 -403
  438. package/dist/badge/Badge.js +0 -63
  439. package/dist/box/Box.js +0 -156
  440. package/dist/button/Button.js +0 -238
  441. package/dist/card/Card.js +0 -254
  442. package/dist/checkbox/Checkbox.js +0 -300
  443. package/dist/checkbox/Checkbox.stories.js +0 -144
  444. package/dist/checkbox/readme.md +0 -116
  445. package/dist/chip/Chip.js +0 -265
  446. package/dist/common/OpenSans.css +0 -81
  447. package/dist/common/RequiredComponent.js +0 -40
  448. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  449. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  450. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  451. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  452. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  453. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  454. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  455. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  456. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  457. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  458. package/dist/common/variables.js +0 -1361
  459. package/dist/date/Date.js +0 -381
  460. package/dist/date/Date.stories.js +0 -205
  461. package/dist/date/readme.md +0 -73
  462. package/dist/dialog/Dialog.js +0 -218
  463. package/dist/dropdown/Dropdown.js +0 -544
  464. package/dist/footer/Footer.js +0 -395
  465. package/dist/footer/Footer.stories.js +0 -94
  466. package/dist/footer/dxc_logo.svg +0 -15
  467. package/dist/footer/readme.md +0 -41
  468. package/dist/header/Header.js +0 -403
  469. package/dist/header/Header.stories.js +0 -176
  470. package/dist/header/close_icon.svg +0 -1
  471. package/dist/header/dxc_logo_black.svg +0 -8
  472. package/dist/header/hamb_menu_black.svg +0 -1
  473. package/dist/header/hamb_menu_white.svg +0 -1
  474. package/dist/header/readme.md +0 -33
  475. package/dist/input-text/InputText.js +0 -707
  476. package/dist/input-text/InputText.stories.js +0 -209
  477. package/dist/input-text/error.svg +0 -1
  478. package/dist/input-text/readme.md +0 -91
  479. package/dist/layout/ApplicationLayout.js +0 -331
  480. package/dist/layout/facebook.svg +0 -45
  481. package/dist/layout/linkedin.svg +0 -50
  482. package/dist/layout/twitter.svg +0 -53
  483. package/dist/link/Link.js +0 -241
  484. package/dist/link/readme.md +0 -51
  485. package/dist/new-date/NewDate.js +0 -403
  486. package/dist/new-input-text/NewInputText.js +0 -961
  487. package/dist/new-textarea/NewTextarea.js +0 -346
  488. package/dist/number/Number.js +0 -138
  489. package/dist/number/NumberContext.js +0 -16
  490. package/dist/paginator/Paginator.js +0 -289
  491. package/dist/paginator/images/next.svg +0 -3
  492. package/dist/paginator/images/nextPage.svg +0 -3
  493. package/dist/paginator/images/previous.svg +0 -3
  494. package/dist/paginator/images/previousPage.svg +0 -3
  495. package/dist/paginator/readme.md +0 -50
  496. package/dist/password/Password.js +0 -200
  497. package/dist/password/styles.css +0 -3
  498. package/dist/progress-bar/ProgressBar.js +0 -242
  499. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  500. package/dist/progress-bar/readme.md +0 -63
  501. package/dist/radio/Radio.js +0 -209
  502. package/dist/radio/Radio.stories.js +0 -166
  503. package/dist/radio/readme.md +0 -70
  504. package/dist/resultsetTable/ResultsetTable.js +0 -358
  505. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  506. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  507. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  508. package/dist/select/Select.js +0 -585
  509. package/dist/select/Select.stories.js +0 -235
  510. package/dist/select/readme.md +0 -72
  511. package/dist/sidenav/Sidenav.js +0 -177
  512. package/dist/slider/Slider.js +0 -319
  513. package/dist/slider/Slider.stories.js +0 -241
  514. package/dist/slider/readme.md +0 -64
  515. package/dist/spinner/Spinner.js +0 -379
  516. package/dist/spinner/Spinner.stories.js +0 -183
  517. package/dist/spinner/readme.md +0 -65
  518. package/dist/switch/Switch.js +0 -222
  519. package/dist/switch/Switch.stories.js +0 -134
  520. package/dist/switch/readme.md +0 -133
  521. package/dist/table/Table.js +0 -132
  522. package/dist/tabs/Tabs.js +0 -343
  523. package/dist/tabs/Tabs.stories.js +0 -130
  524. package/dist/tabs/readme.md +0 -78
  525. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  526. package/dist/tabs-for-sections/readme.md +0 -78
  527. package/dist/tag/Tag.js +0 -288
  528. package/dist/textarea/Textarea.js +0 -264
  529. package/dist/toggle/Toggle.js +0 -220
  530. package/dist/toggle/Toggle.stories.js +0 -297
  531. package/dist/toggle/readme.md +0 -80
  532. package/dist/toggle-group/ToggleGroup.js +0 -223
  533. package/dist/upload/Upload.js +0 -205
  534. package/dist/upload/Upload.stories.js +0 -72
  535. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  536. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  537. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  538. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  539. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  540. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  541. package/dist/upload/file-upload/FileToUpload.js +0 -184
  542. package/dist/upload/file-upload/audio-icon.svg +0 -4
  543. package/dist/upload/file-upload/close.svg +0 -4
  544. package/dist/upload/file-upload/file-icon.svg +0 -4
  545. package/dist/upload/file-upload/video-icon.svg +0 -4
  546. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  547. package/dist/upload/readme.md +0 -37
  548. package/dist/upload/transaction/Transaction.js +0 -175
  549. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  550. package/dist/upload/transaction/audio-icon.svg +0 -4
  551. package/dist/upload/transaction/error-icon.svg +0 -4
  552. package/dist/upload/transaction/file-icon-err.svg +0 -4
  553. package/dist/upload/transaction/file-icon.svg +0 -4
  554. package/dist/upload/transaction/image-icon-err.svg +0 -4
  555. package/dist/upload/transaction/image-icon.svg +0 -4
  556. package/dist/upload/transaction/success-icon.svg +0 -4
  557. package/dist/upload/transaction/video-icon-err.svg +0 -4
  558. package/dist/upload/transaction/video-icon.svg +0 -4
  559. package/dist/upload/transactions/Transactions.js +0 -138
  560. package/dist/wizard/Wizard.js +0 -411
  561. package/dist/wizard/invalid_icon.svg +0 -5
  562. package/dist/wizard/valid_icon.svg +0 -5
  563. package/dist/wizard/validation-wrong.svg +0 -6
  564. package/test/Accordion.test.js +0 -33
  565. package/test/AccordionGroup.test.js +0 -125
  566. package/test/Alert.test.js +0 -53
  567. package/test/Box.test.js +0 -10
  568. package/test/Button.test.js +0 -18
  569. package/test/Card.test.js +0 -30
  570. package/test/Checkbox.test.js +0 -45
  571. package/test/Chip.test.js +0 -25
  572. package/test/Date.test.js +0 -393
  573. package/test/Dialog.test.js +0 -23
  574. package/test/Dropdown.test.js +0 -145
  575. package/test/Footer.test.js +0 -99
  576. package/test/Header.test.js +0 -39
  577. package/test/Heading.test.js +0 -35
  578. package/test/InputText.test.js +0 -240
  579. package/test/Link.test.js +0 -43
  580. package/test/NewDate.test.js +0 -203
  581. package/test/NewInputText.test.js +0 -817
  582. package/test/NewTextarea.test.js +0 -201
  583. package/test/Number.test.js +0 -241
  584. package/test/Paginator.test.js +0 -177
  585. package/test/Password.test.js +0 -76
  586. package/test/ProgressBar.test.js +0 -35
  587. package/test/Radio.test.js +0 -37
  588. package/test/ResultsetTable.test.js +0 -330
  589. package/test/Select.test.js +0 -189
  590. package/test/Sidenav.test.js +0 -45
  591. package/test/Slider.test.js +0 -82
  592. package/test/Spinner.test.js +0 -27
  593. package/test/Switch.test.js +0 -45
  594. package/test/Table.test.js +0 -36
  595. package/test/Tabs.test.js +0 -109
  596. package/test/TabsForSections.test.js +0 -34
  597. package/test/Tag.test.js +0 -32
  598. package/test/TextArea.test.js +0 -52
  599. package/test/ToggleGroup.test.js +0 -81
  600. package/test/Upload.test.js +0 -60
  601. package/test/Wizard.test.js +0 -130
  602. package/test/mocks/pngMock.js +0 -1
  603. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _dayjs = _interopRequireDefault(require("dayjs"));
14
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
18
+ var _DatePicker = _interopRequireDefault(require("./DatePicker"));
19
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
20
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
21
+ var _uuid = require("uuid");
22
+ var _templateObject;
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
27
+ _dayjs["default"].extend(_customParseFormat["default"]);
28
+ var getValueForPicker = function getValueForPicker(value, format) {
29
+ return (0, _dayjs["default"])(value, format.toUpperCase(), true);
30
+ };
31
+ var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
32
+ if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
33
+ var newDate = getValueForPicker(value, format);
34
+ if (!lastValidYear) {
35
+ if (+newDate.format("YY") < 68) {
36
+ setLastValidYear(2000 + +newDate.format("YY"));
37
+ newDate = newDate.set("year", 2000 + +newDate.format("YY"));
38
+ } else {
39
+ setLastValidYear(1900 + +newDate.format("YY"));
40
+ newDate = newDate.set("year", 1900 + +newDate.format("YY"));
41
+ }
42
+ } else {
43
+ newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
44
+ }
45
+ return newDate;
46
+ }
47
+ };
48
+ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
49
+ var _ref2;
50
+ var label = _ref.label,
51
+ name = _ref.name,
52
+ _ref$defaultValue = _ref.defaultValue,
53
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
54
+ value = _ref.value,
55
+ _ref$format = _ref.format,
56
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
57
+ helperText = _ref.helperText,
58
+ _ref$placeholder = _ref.placeholder,
59
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
60
+ clearable = _ref.clearable,
61
+ disabled = _ref.disabled,
62
+ readOnly = _ref.readOnly,
63
+ optional = _ref.optional,
64
+ onChange = _ref.onChange,
65
+ onBlur = _ref.onBlur,
66
+ error = _ref.error,
67
+ autocomplete = _ref.autocomplete,
68
+ margin = _ref.margin,
69
+ size = _ref.size,
70
+ tabIndex = _ref.tabIndex;
71
+ var _useState = (0, _react.useState)(defaultValue),
72
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
+ innerValue = _useState2[0],
74
+ setInnerValue = _useState2[1];
75
+ var _useState3 = (0, _react.useState)(false),
76
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
+ isOpen = _useState4[0],
78
+ setIsOpen = _useState4[1];
79
+ var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
80
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
81
+ calendarId = _useState6[0];
82
+ var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
83
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
84
+ dayjsDate = _useState8[0],
85
+ setDayjsDate = _useState8[1];
86
+ var _useState9 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
87
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
88
+ lastValidYear = _useState10[0],
89
+ setLastValidYear = _useState10[1];
90
+ var colorsTheme = (0, _useTheme["default"])();
91
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
92
+ var dateRef = (0, _react.useRef)(null);
93
+ (0, _react.useEffect)(function () {
94
+ if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
95
+ }, [value, format, lastValidYear]);
96
+ (0, _react.useEffect)(function () {
97
+ if (!disabled) {
98
+ var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Select date']");
99
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
100
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
101
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
102
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
103
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
104
+ }
105
+ }, [isOpen, disabled, calendarId]);
106
+ var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
107
+ var newValue = newDate.format(format.toUpperCase());
108
+ if (!value) {
109
+ setDayjsDate(newDate);
110
+ setInnerValue(newValue);
111
+ }
112
+ setLastValidYear(newDate.get("year"));
113
+ newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
114
+ value: newValue,
115
+ date: newDate.toDate()
116
+ }) : onChange === null || onChange === void 0 ? void 0 : onChange({
117
+ value: newValue
118
+ });
119
+ };
120
+ var handleOnChange = function handleOnChange(_ref3) {
121
+ var newValue = _ref3.value,
122
+ inputError = _ref3.error;
123
+ value !== null && value !== void 0 ? value : setInnerValue(newValue);
124
+ var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
125
+ var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
126
+ var callbackParams = inputError || invalidDateMessage ? {
127
+ value: newValue,
128
+ error: inputError || invalidDateMessage
129
+ } : {
130
+ value: newValue
131
+ };
132
+ if (newDate.isValid()) {
133
+ setDayjsDate(newDate);
134
+ onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
135
+ date: newDate.toDate()
136
+ }));
137
+ } else {
138
+ onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
139
+ setLastValidYear(function (validYear) {
140
+ var _dayjsDate$get;
141
+ return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
142
+ });
143
+ setDayjsDate(null);
144
+ }
145
+ };
146
+ var handleOnBlur = function handleOnBlur(_ref4) {
147
+ var value = _ref4.value,
148
+ inputError = _ref4.error;
149
+ var date = getDate(value, format, lastValidYear, setLastValidYear);
150
+ var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
151
+ var callbackParams = inputError || invalidDateMessage ? {
152
+ value: value,
153
+ error: inputError || invalidDateMessage
154
+ } : {
155
+ value: value
156
+ };
157
+ date.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
158
+ date: date.toDate()
159
+ })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
160
+ };
161
+ var openCalendar = function openCalendar() {
162
+ setIsOpen(!isOpen);
163
+ };
164
+ var closeCalendar = function closeCalendar() {
165
+ setIsOpen(false);
166
+ };
167
+ var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
168
+ event.preventDefault();
169
+ closeCalendar();
170
+ dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
171
+ };
172
+ var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
173
+ if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
174
+ };
175
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
176
+ theme: colorsTheme
177
+ }, /*#__PURE__*/_react["default"].createElement("div", {
178
+ ref: ref
179
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
180
+ open: isOpen
181
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
182
+ asChild: true,
183
+ "aria-controls": undefined
184
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
185
+ label: label,
186
+ name: name,
187
+ defaultValue: defaultValue,
188
+ value: value !== null && value !== void 0 ? value : innerValue,
189
+ helperText: helperText,
190
+ placeholder: placeholder ? format.toUpperCase() : null,
191
+ action: {
192
+ onClick: openCalendar,
193
+ icon: "filled_calendar_today",
194
+ title: "Select date"
195
+ },
196
+ clearable: clearable,
197
+ disabled: disabled,
198
+ readOnly: readOnly,
199
+ optional: optional,
200
+ onChange: handleOnChange,
201
+ onBlur: handleOnBlur,
202
+ error: error,
203
+ autocomplete: autocomplete,
204
+ margin: margin,
205
+ size: size,
206
+ tabIndex: tabIndex,
207
+ ref: dateRef
208
+ })), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledPopoverContent, {
209
+ sideOffset: error ? -18 : 2,
210
+ align: "end",
211
+ "aria-modal": true,
212
+ onBlur: handleDatePickerOnBlur,
213
+ onEscapeKeyDown: handleDatePickerEscKeydown,
214
+ avoidCollisions: false
215
+ }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
216
+ id: calendarId,
217
+ onDateSelect: handleCalendarOnClick,
218
+ date: dayjsDate
219
+ }))))));
220
+ });
221
+ var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
222
+ var _default = exports["default"] = DxcDateInput;
@@ -0,0 +1,292 @@
1
+ import React from "react";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
3
+ import DxcDateInput from "./DateInput";
4
+ import DxcDatePicker from "./DatePicker";
5
+ import YearPicker from "./YearPicker";
6
+ import Calendar from "./Calendar";
7
+ import Title from "../../.storybook/components/Title";
8
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
9
+ import dayjs from "dayjs";
10
+ import useTheme from "../useTheme";
11
+ import { ThemeProvider } from "styled-components";
12
+ import { HalstackProvider } from "../HalstackContext";
13
+ import preview from "../../.storybook/preview";
14
+ import { disabledRules } from "../../test/accessibility/rules/specific/date-input/disabledRules";
15
+
16
+ export default {
17
+ title: "Date Input",
18
+ component: DxcDateInput,
19
+ parameters: {
20
+ // TODO: REMOVE
21
+ a11y: {
22
+ config: {
23
+ rules: [
24
+ ...disabledRules.map((ruleId) => ({ id: ruleId, reviewOnFail: true })),
25
+ ...preview?.parameters?.a11y?.config?.rules,
26
+ ],
27
+ },
28
+ },
29
+ },
30
+ };
31
+
32
+ const opinionatedTheme = {
33
+ dateInput: {
34
+ baseColor: "#5f249f",
35
+ selectedFontColor: "#ffffff",
36
+ },
37
+ };
38
+
39
+ const DateInputChromatic = () => (
40
+ <>
41
+ <ExampleContainer>
42
+ <Title title="Complete date input" theme="light" level={4} />
43
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Disabled" theme="light" level={4} />
47
+ <DxcDateInput
48
+ label="Disabled date input"
49
+ helperText="Help message"
50
+ defaultValue="06-04-2007"
51
+ clearable
52
+ disabled
53
+ />
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Read only" theme="light" level={4} />
57
+ <DxcDateInput label="Example label" helperText="Help message" defaultValue="06-04-2007" clearable readOnly />
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Invalid" theme="light" level={4} />
61
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
62
+ </ExampleContainer>
63
+ <ExampleContainer>
64
+ <Title title="Relation between icons" theme="light" level={4} />
65
+ <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2007" clearable />
66
+ </ExampleContainer>
67
+ <Title title="Margins" theme="light" level={2} />
68
+ <ExampleContainer>
69
+ <Title title="Xxsmall" theme="light" level={4} />
70
+ <DxcDateInput label="Xxsmall" margin="xxsmall" />
71
+ </ExampleContainer>
72
+ <ExampleContainer>
73
+ <Title title="Xsmall" theme="light" level={4} />
74
+ <DxcDateInput label="Xsmall" margin="xsmall" />
75
+ </ExampleContainer>
76
+ <ExampleContainer>
77
+ <Title title="Small" theme="light" level={4} />
78
+ <DxcDateInput label="Small" margin="small" />
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Medium" theme="light" level={4} />
82
+ <DxcDateInput label="Medium" margin="medium" />
83
+ </ExampleContainer>
84
+ <ExampleContainer>
85
+ <Title title="Large" theme="light" level={4} />
86
+ <DxcDateInput label="Large" margin="large" />
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Xlarge" theme="light" level={4} />
90
+ <DxcDateInput label="Xlarge" margin="xlarge" />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Xxlarge" theme="light" level={4} />
94
+ <DxcDateInput label="Xxlarge" margin="xxlarge" />
95
+ </ExampleContainer>
96
+ <Title title="Sizes" theme="light" level={2} />
97
+ <ExampleContainer>
98
+ <Title title="Medium size" theme="light" level={4} />
99
+ <DxcDateInput label="Medium" size="medium" />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="Large size" theme="light" level={4} />
103
+ <DxcDateInput label="Large" size="large" />
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="FillParent size" theme="light" level={4} />
107
+ <DxcDateInput label="FillParent" size="fillParent" />
108
+ </ExampleContainer>
109
+ <ExampleContainer expanded>
110
+ <Title title="Year picker" theme="light" level={4} />
111
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
112
+ </ExampleContainer>
113
+ </>
114
+ );
115
+
116
+ export const Chromatic = DateInputChromatic.bind({});
117
+ Chromatic.play = async ({ canvasElement }) => {
118
+ const canvas = within(canvasElement);
119
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
120
+ await fireEvent.click(screen.getByText("April 1905"));
121
+ };
122
+
123
+ const DateInputOpinionatedTheme = () => (
124
+ <>
125
+ <Title title="Opinionated theme" theme="light" level={2} />
126
+ <ExampleContainer>
127
+ <Title title="Enabled" theme="light" level={4} />
128
+ <HalstackProvider theme={opinionatedTheme}>
129
+ <DxcDateInput
130
+ label="Date input"
131
+ helperText="Help message"
132
+ format="dd/mm/yy"
133
+ placeholder
134
+ optional
135
+ defaultValue="10-10-2022"
136
+ />
137
+ </HalstackProvider>
138
+ </ExampleContainer>
139
+ <ExampleContainer>
140
+ <Title title="Disabled" theme="light" level={4} />
141
+ <HalstackProvider theme={opinionatedTheme}>
142
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
143
+ </HalstackProvider>
144
+ </ExampleContainer>
145
+ <ExampleContainer>
146
+ <Title title="Invalid" theme="light" level={4} />
147
+ <HalstackProvider theme={opinionatedTheme}>
148
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
149
+ </HalstackProvider>
150
+ </ExampleContainer>
151
+ <ExampleContainer expanded>
152
+ <Title title="Date picker" theme="light" level={4} />
153
+ <HalstackProvider theme={opinionatedTheme}>
154
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
155
+ </HalstackProvider>
156
+ </ExampleContainer>
157
+ </>
158
+ );
159
+
160
+ export const DateInputOpinionated = DateInputOpinionatedTheme.bind({});
161
+ DateInputOpinionated.play = async ({ canvasElement }) => {
162
+ const canvas = within(canvasElement);
163
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
164
+ };
165
+
166
+ const YearPickerOpinionatedTheme = () => (
167
+ <ExampleContainer expanded>
168
+ <Title title="Year picker" theme="light" level={4} />
169
+ <HalstackProvider theme={opinionatedTheme}>
170
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
171
+ </HalstackProvider>
172
+ </ExampleContainer>
173
+ );
174
+
175
+ export const YearPickerOpinionated = YearPickerOpinionatedTheme.bind({});
176
+ YearPickerOpinionated.play = async ({ canvasElement }) => {
177
+ const canvas = within(canvasElement);
178
+ await userEvent.click(canvas.getByRole("combobox"));
179
+ await fireEvent.click(screen.getByText("April 1905"));
180
+ };
181
+
182
+ const DatePickerButtonStates = () => {
183
+ const colorsTheme: any = useTheme();
184
+ return (
185
+ <>
186
+ <ExampleContainer>
187
+ <Title title="Show date picker over another element with z-index 0" theme="light" level={4} />
188
+ <div
189
+ style={{
190
+ display: "flex",
191
+ flexDirection: "column",
192
+ gap: "20px",
193
+ height: "200px",
194
+ width: "500px",
195
+ marginBottom: "250px",
196
+ padding: "20px",
197
+ border: "1px solid black",
198
+ borderRadius: "4px",
199
+ overflow: "auto",
200
+ zIndex: "1300",
201
+ position: "relative",
202
+ }}
203
+ >
204
+ <DxcDateInput label="From" defaultValue="01-12-1995" />
205
+ <DxcDateInput label="To" />
206
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
207
+ </div>
208
+ </ExampleContainer>
209
+ <ThemeProvider theme={colorsTheme}>
210
+ <ExampleContainer pseudoState="pseudo-focus">
211
+ <Title title="Isolated calendar focused" theme="light" level={4} />
212
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
213
+ </ExampleContainer>
214
+ <ExampleContainer pseudoState="pseudo-hover">
215
+ <Title title="Isolated calendar hovered" theme="light" level={4} />
216
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
217
+ </ExampleContainer>
218
+ <ExampleContainer pseudoState="pseudo-active">
219
+ <Title title="Isolated calendar actived" theme="light" level={4} />
220
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
221
+ </ExampleContainer>
222
+ </ThemeProvider>
223
+ </>
224
+ );
225
+ };
226
+
227
+ export const DatePickerStates = DatePickerButtonStates.bind({});
228
+ DatePickerStates.play = async ({ canvasElement }) => {
229
+ const canvas = within(canvasElement);
230
+ const dateBtn = canvas.getAllByTitle("Select date")[0];
231
+ await userEvent.click(dateBtn);
232
+ };
233
+
234
+ export const YearPickerStates = () => {
235
+ const colorsTheme: any = useTheme();
236
+ return (
237
+ <>
238
+ <ThemeProvider theme={colorsTheme}>
239
+ <ExampleContainer pseudoState="pseudo-focus">
240
+ <Title title="Isolated year picker focused" theme="light" level={4} />
241
+ <YearPicker
242
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
243
+ onYearSelect={() => {}}
244
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
245
+ />
246
+ </ExampleContainer>
247
+ <ExampleContainer pseudoState="pseudo-hover">
248
+ <Title title="Isolated year picker hovered" theme="light" level={4} />
249
+ <YearPicker
250
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
251
+ onYearSelect={() => {}}
252
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
253
+ />
254
+ </ExampleContainer>
255
+ <ExampleContainer pseudoState="pseudo-active">
256
+ <Title title="Isolated year picker actived" theme="light" level={4} />
257
+ <YearPicker
258
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
259
+ onYearSelect={() => {}}
260
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
261
+ />
262
+ </ExampleContainer>
263
+ </ThemeProvider>
264
+ </>
265
+ );
266
+ };
267
+
268
+ export const DatePickerWithToday = () => {
269
+ const colorsTheme: any = useTheme();
270
+ return (
271
+ <ThemeProvider theme={colorsTheme}>
272
+ <ExampleContainer>
273
+ <Title title="Isolated calendar with today" theme="light" level={4} />
274
+ <Calendar
275
+ selectedDate={dayjs("06-04-1904", "DD-MM-YYYY")}
276
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
277
+ onInnerDateChange={() => {}}
278
+ onDaySelect={() => {}}
279
+ innerDate={dayjs("06-04-1904", "DD-MM-YYYY")}
280
+ />
281
+ </ExampleContainer>
282
+ <ExampleContainer>
283
+ <Title title="Isolated year picker with today" theme="light" level={4} />
284
+ <YearPicker
285
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
286
+ onYearSelect={() => {}}
287
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
288
+ />
289
+ </ExampleContainer>
290
+ </ThemeProvider>
291
+ );
292
+ };